summaryrefslogtreecommitdiff
path: root/lisp/server.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2006-11-27 20:58:37 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2006-11-27 20:58:37 +0000
commitff348fba8b3b38333492aef7ddcd5e17299e5cd9 (patch)
treec93cd32bc6c032b500ae3e5d6cb2f5cde1f4e703 /lisp/server.el
parentc8aab130e99b4fcb5ff9608bbdd867e22f305450 (diff)
downloademacs-ff348fba8b3b38333492aef7ddcd5e17299e5cd9.tar.gz
Remove spurious * in docstrings.
(server-process-filter): Exit from recursive editing before processing a new request.
Diffstat (limited to 'lisp/server.el')
-rw-r--r--lisp/server.el24
1 files changed, 17 insertions, 7 deletions
diff --git a/lisp/server.el b/lisp/server.el
index bcb79d6b9ac..3ae585e9bc4 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -113,23 +113,23 @@ If set, the server accepts remote connections; otherwise it is local."
(put 'server-auth-dir 'risky-local-variable t)
(defcustom server-raise-frame t
- "*If non-nil, raise frame when switching to a buffer."
+ "If non-nil, raise frame when switching to a buffer."
:group 'server
:type 'boolean
:version "22.1")
(defcustom server-visit-hook nil
- "*Hook run when visiting a file for the Emacs server."
+ "Hook run when visiting a file for the Emacs server."
:group 'server
:type 'hook)
(defcustom server-switch-hook nil
- "*Hook run when switching to a buffer for the Emacs server."
+ "Hook run when switching to a buffer for the Emacs server."
:group 'server
:type 'hook)
(defcustom server-done-hook nil
- "*Hook run when done editing a buffer for the Emacs server."
+ "Hook run when done editing a buffer for the Emacs server."
:group 'server
:type 'hook)
@@ -149,7 +149,7 @@ When a buffer is marked as \"done\", it is removed from this list.")
(put 'server-buffer-clients 'permanent-local t)
(defcustom server-window nil
- "*Specification of the window to use for selecting Emacs server buffers.
+ "Specification of the window to use for selecting Emacs server buffers.
If nil, use the selected window.
If it is a function, it should take one argument (a buffer) and
display and select it. A common value is `pop-to-buffer'.
@@ -168,14 +168,14 @@ Only programs can do so."
(function :tag "Other function")))
(defcustom server-temp-file-regexp "^/tmp/Re\\|/draft$"
- "*Regexp matching names of temporary files.
+ "Regexp matching names of temporary files.
These are deleted and reused after each edit by the programs that
invoke the Emacs server."
:group 'server
:type 'regexp)
(defcustom server-kill-new-buffers t
- "*Whether to kill buffers when done with them.
+ "Whether to kill buffers when done with them.
If non-nil, kill a buffer unless it already existed before editing
it with Emacs server. If nil, kill only buffers as specified by
`server-temp-file-regexp'.
@@ -403,6 +403,16 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"."
(when prev
(setq string (concat prev string))
(process-put proc :previous-string nil)))
+ (when (> (recursion-depth) 0)
+ ;; We're inside a minibuffer already, so if the emacs-client is trying
+ ;; to open a frame on a new display, we might end up with an unusable
+ ;; frame because input from that display will be blocked (until exiting
+ ;; the minibuffer). Better exit this minibuffer right away.
+ ;; Similarly with recursive-edits such as the splash screen.
+ (process-put proc :previous-string string)
+ (run-with-timer 0 nil (lexical-let ((proc proc))
+ (lambda () (server-process-filter proc ""))))
+ (top-level))
;; If the input is multiple lines,
;; process each line individually.
(while (string-match "\n" string)