[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
server-save-buffers-kill-terminal: Invalid client frame
From: |
Matthias Pfeifer |
Subject: |
server-save-buffers-kill-terminal: Invalid client frame |
Date: |
Fri, 28 Apr 2017 08:11:17 +0200 |
Hello,
I must have broken something in my emacs init and cannot exactly recall how
I did it...
Emacs tells me "server-save-buffers-kill-terminal: Invalid client frame"
when i want to call save-buffers-kill-terminal. I don't know about this
function and have tried to find something similar using some search engine
with no luck. I have also edebugged the function
server-save-buffers-kill-terminal which looks like this:
(defun server-save-buffers-kill-terminal (arg)
;; Called from save-buffers-kill-terminal in files.el.
"Offer to save each buffer, then kill the current client.
With ARG non-nil, 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."
(let ((proc (frame-parameter nil 'client)))
(cond ((eq proc 'nowait)
;; Nowait frames have no client buffer list.
(if (cdr (frame-list))
(progn (save-some-buffers arg)
(delete-frame))
;; If we're the last frame standing, kill Emacs.
(save-buffers-kill-emacs arg)))
((processp proc)
(let ((buffers (process-get proc 'buffers)))
;; If client is bufferless, emulate a normal Emacs exit
;; and offer to save all buffers. Otherwise, offer to
;; save only the buffers belonging to the client.
(save-some-buffers
arg (if buffers
(lambda () (memq (current-buffer) buffers))
t))
(server-delete-client proc)))
(t (error "Invalid client frame")))))
In this function (frame-parameter nil 'client) evaluates into "Unprintable
entity". So the cond form goes into the default case and signals an error
"Invalid client frame".
Question is: How can I fix it...
Matthias
- server-save-buffers-kill-terminal: Invalid client frame,
Matthias Pfeifer <=