emacs-devel
[Top][All Lists]
Advanced

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

Re: emacsclient -n problems


From: Stefan Monnier
Subject: Re: emacsclient -n problems
Date: Sun, 23 Dec 2007 17:46:23 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux)

> emacs -Q --eval '(server-start)'
> emacsclient -nc
> evaluate '(save-buffers-kill-terminal)' in the client

> Debugger entered--Lisp error: (wrong-type-argument processp nowait)

I've just installed the patch below which should fix this problem.


        Stefan


Index: lisp/server.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/server.el,v
retrieving revision 1.154
diff -u -r1.154 server.el
--- lisp/server.el      10 Dec 2007 03:51:25 -0000      1.154
+++ lisp/server.el      23 Dec 2007 22:43:44 -0000
@@ -1260,12 +1260,16 @@
 
 ;;;###autoload
 (defun server-save-buffers-kill-terminal (proc &optional arg)
+  ;; Called from save-buffers-kill-terminal in files.el.
   "Offer to save each buffer, then kill PROC.
 
 With prefix arg, silently save all file-visiting buffers, then kill.
 
 If emacsclient was started with a list of filenames to edit, then
 only these files will be asked to be saved."
+  ;; save-buffers-kill-terminal occasionally calls us with proc set
+  ;; to `nowait' (comes from the value of the `client' frame parameter).
+  (when (processp proc)
   (let ((buffers (process-get proc 'buffers)))
     ;; If client is bufferless, emulate a normal Emacs session
     ;; exit and offer to save all buffers.  Otherwise, offer to
@@ -1274,7 +1278,7 @@
                       (if buffers
                           (lambda () (memq (current-buffer) buffers))
                         t))
-    (server-delete-client proc)))
+      (server-delete-client proc))))
 
 (define-key ctl-x-map "#" 'server-edit)
 




reply via email to

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