Hi: I defun a emacsclient-eval function like this
#+begin_src lisp (defun escape-instance-name (str) (let (buf) (map nil #'(lambda (ch) (if (or (char= ch #\() (char= ch #\)) (char= ch #\") (char= ch #\ )) (push #\_ buf) (push ch buf))) str) (coerce (reverse buf) 'string))) (defun emacsclient-eval (&optional expression create-frame frame-name file) (let* ((expr-string (string-downcase (prin1-to-string expression))) (name (or frame-name (escape-instance-name expression)))) (run-or-raise (concat "emacsclient --server-file=default " (when create-frame (concat "-c -F '((name . \"" name "\"))' ")) (when expr-string (concat " --eval '" expr-string "'")) file) (list :instance name)))) #+end_src this can work, #+begin_src (emacsclient-eval '(gnus)) #+end_src but the follow command defun can't work, someone can help me? thanks! #+begin_src (defcommand gnus () () (emacsclient-eval '(gnus))) #+end_src -- feng shu _______________________________________________ Stumpwm-devel mailing list Stumpwm-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/stumpwm-devel