changeset 74268:3de22dfd43f8

Remove spurious * in docstrings. (server-process-filter): Exit from recursive editing before processing a new request.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 27 Nov 2006 20:58:37 +0000
parents 8823864c534b
children fa6583f5269e
files lisp/ChangeLog lisp/server.el
diffstat 2 files changed, 25 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Nov 27 18:08:51 2006 +0000
+++ b/lisp/ChangeLog	Mon Nov 27 20:58:37 2006 +0000
@@ -1,3 +1,9 @@
+2006-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* server.el: Remove spurious * in docstrings.
+	(server-process-filter): Exit from recursive editing before processing
+	a new request.
+
 2006-11-27  J.D. Smith  <jdsmith@as.arizona.edu>
 
 	* progmodes/hideshow.el (hs-already-hidden-p): Move to end of
@@ -97,8 +103,8 @@
 
 2006-11-25  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
-	* progmodes/cc-vars.el (c-backslash-column): Mention
-	c-backslash-max-column in documentation for c-backslash-column.
+	* progmodes/cc-vars.el (c-backslash-column):
+	Mention c-backslash-max-column in documentation for c-backslash-column.
 
 2006-11-24  Lars Hansen  <larsh@soem.dk>
 
--- a/lisp/server.el	Mon Nov 27 18:08:51 2006 +0000
+++ b/lisp/server.el	Mon Nov 27 20:58:37 2006 +0000
@@ -113,23 +113,23 @@
 (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 @@
 (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 @@
 		 (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 @@
     (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)