stumpwm-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[STUMP] need help about defun "gnus" command


From: Feng Shu
Subject: [STUMP] need help about defun "gnus" command
Date: Fri, 28 Feb 2014 08:10:00 +0800
User-agent: Gnus/5.13001 (Ma Gnus v0.10) Emacs/24.3.50 (gnu/linux)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]