diff lisp/packages/gnuserv.el @ 12:bcdc7deadc19 r19-15b7

Import from CVS: tag r19-15b7
author cvs
date Mon, 13 Aug 2007 08:48:16 +0200
parents ac2d302a0011
children ec9a17fef872
line wrap: on
line diff
--- a/lisp/packages/gnuserv.el	Mon Aug 13 08:47:56 2007 +0200
+++ b/lisp/packages/gnuserv.el	Mon Aug 13 08:48:16 2007 +0200
@@ -66,6 +66,7 @@
 	 (not (featurep 'gnuserv)))
     (error "Can't run gnuserv because server.el appears to be loaded already"))
 
+;;;###autoload
 (defvar gnuserv-frame nil
   "*If non-nil, the frame to be used to display all edited files.
 If nil, then a new frame is created for each file edited.
@@ -84,6 +85,9 @@
 (defvar server-string ""
   "The last input string from the server")
 
+(defvar server-kill-last-frame nil
+  "set to t to kill last frame")
+
 (defvar current-client nil
   "The client we are currently talking to")
 
@@ -490,7 +494,9 @@
 When all of a client's buffers are marked as \"done\", the client is notified.
 
 If invoked with a prefix argument, or if there is no server process running, 
-starts server process and that is all.  Invoked by \\[server-edit]."
+starts server process and that is all.  Invoked by \\[server-edit].
+
+If `server-kill-last-frame' is t, then the final frame will be killed."
   (interactive "P")
   (if (or arg
 	  (not server-process)
@@ -503,7 +509,8 @@
 			       gnuserv-frame
 			       (frame-live-p gnuserv-frame))
 			  (condition-case ()
-			      (delete-frame (selected-frame) nil)
+			      (delete-frame (selected-frame)
+					    server-kill-last-frame)
 			    (error 
 			     (message "Not deleting last visible frame...")))))
 		     ((or (not window-system) 
@@ -544,3 +551,4 @@
 
 (provide 'gnuserv)
 
+;;; gnuserv.el ends here