diff lisp/gnuserv.el @ 398:74fd4e045ea6 r21-2-29

Import from CVS: tag r21-2-29
author cvs
date Mon, 13 Aug 2007 11:13:30 +0200
parents 8626e4521993
children 697ef44129c6
line wrap: on
line diff
--- a/lisp/gnuserv.el	Mon Aug 13 11:12:06 2007 +0200
+++ b/lisp/gnuserv.el	Mon Aug 13 11:13:30 2007 +0200
@@ -3,9 +3,9 @@
 
 ;; Version: 3.11
 ;; Author: Andy Norman (ange@hplb.hpl.hp.com), originally based on server.el
-;;         Hrvoje Niksic <hniksic@srce.hr>
+;;         Hrvoje Niksic <hniksic@xemacs.org>
 ;; Maintainer: Jan Vroonhof <vroonhof@math.ethz.ch>,
-;;             Hrvoje Niksic <hniksic@srce.hr>
+;;             Hrvoje Niksic <hniksic@xemacs.org>
 ;; Keywords: environment, processes, terminals
 
 ;; This file is part of XEmacs.
@@ -73,7 +73,7 @@
 ;; Jan Vroonhof
 ;;     Customized.
 ;;
-;; Hrvoje Niksic <hniksic@srce.hr> May/1997
+;; Hrvoje Niksic <hniksic@xemacs.org> May/1997
 ;;     Completely rewritten.  Now uses `defstruct' and other CL stuff
 ;;     to define clients cleanly.  Many thanks to Dave Gillespie!
 ;;
@@ -348,11 +348,13 @@
 	       ;; In case of an error, write the description to the
 	       ;; client, and then signal it.
 	       (error (setq gnuserv-string "")
-		      (gnuserv-write-to-client gnuserv-current-client oops)
+		      (when gnuserv-current-client
+			(gnuserv-write-to-client gnuserv-current-client oops))
 		      (setq gnuserv-current-client nil)
 		      (signal (car oops) (cdr oops)))
 	       (quit (setq gnuserv-string "")
-		     (gnuserv-write-to-client gnuserv-current-client oops)
+		     (when gnuserv-current-client
+		       (gnuserv-write-to-client gnuserv-current-client oops))
 		     (setq gnuserv-current-client nil)
 		     (signal 'quit nil)))
 	     (setq gnuserv-string "")))
@@ -440,6 +442,7 @@
 	   (client (make-gnuclient :id gnuserv-current-client
 				   :device device
 				   :frame new-frame)))
+      (select-frame frame)
       (setq gnuserv-current-client nil)
       ;; If the device was created by this client, push it to the list.
       (and (/= old-device-num (length (device-list)))