Function: server-done
server-done is a byte-compiled function defined in server.el.gz.
Signature
(server-done)
Documentation
Offer to save current buffer, mark it as "done" for clients.
This kills or buries the buffer, then returns a list of the form (NEXT-BUFFER KILLED). NEXT-BUFFER is another server buffer, as a suggestion for what to select next, or nil. KILLED is t if we killed BUFFER, which happens if it was created specifically for the clients and did not exist before their request for it.
Source Code
;; Defined in /usr/src/emacs/lisp/server.el.gz
(defun server-done ()
"Offer to save current buffer, mark it as \"done\" for clients.
This kills or buries the buffer, then returns a list
of the form (NEXT-BUFFER KILLED). NEXT-BUFFER is another server buffer,
as a suggestion for what to select next, or nil.
KILLED is t if we killed BUFFER, which happens if it was created
specifically for the clients and did not exist before their request for it."
(when server-buffer-clients
(if (server-temp-file-p)
;; For a temp file, save, and do make a non-numeric backup
;; (unless make-backup-files is nil).
(let ((version-control nil)
(buffer-backed-up nil))
(save-buffer))
(when (and (buffer-modified-p)
buffer-file-name
(y-or-n-p (concat "Save file " buffer-file-name "? ")))
(save-buffer)))
(server-buffer-done (current-buffer))))