changeset 1700:0a85daf64258

[xemacs-hg @ 2003-09-19 17:07:05 by youngs] 2002-09-20 James LewisMoss <dres@lewismoss.org> * gnuserv.el (gnuserv-edit-files): fallback to gtk if x device fails. Fixes problem where gnuclient fails for gtk instances when gnuclient was built with X configure.
author youngs
date Fri, 19 Sep 2003 17:07:07 +0000
parents 68169b2a743e
children a1e328407366
files lisp/ChangeLog lisp/gnuserv.el
diffstat 2 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Sep 19 16:39:43 2003 +0000
+++ b/lisp/ChangeLog	Fri Sep 19 17:07:07 2003 +0000
@@ -1,3 +1,9 @@
+2002-09-20  James LewisMoss  <dres@lewismoss.org>
+
+	* gnuserv.el (gnuserv-edit-files): fallback to gtk if x device
+	fails.  Fixes problem where gnuclient fails for gtk instances when
+	gnuclient was built with X configure.
+
 2003-09-20  Mike Alexander  <mta@arbortext.com>
 
 	* code-init.el (eol-detection-enabled-p): eval the initialization
--- a/lisp/gnuserv.el	Fri Sep 19 16:39:43 2003 +0000
+++ b/lisp/gnuserv.el	Fri Sep 19 17:07:07 2003 +0000
@@ -408,6 +408,13 @@
   (eval form))
 
 
+
+(defun make-x-device-with-gtk-fallback (device)
+  (or (condition-case ()
+          (make-x-device device)
+        (error nil))
+      (make-gtk-device)))
+
 ;; "Execute" a client connection, called by gnuclient.  This is the
 ;; backbone of gnuserv.el.
 (defun gnuserv-edit-files (type list &rest flags)
@@ -440,7 +447,7 @@
 			  (case (car type)
 			    (tty (apply 'make-tty-device (cdr type)))
 			    (gtk (make-gtk-device))
-			    (x   (make-x-device (cadr type)))
+			    (x   (make-x-device-with-gtk-fallback (cadr type)))
 			    (mswindows   (make-mswindows-device))
 			    (t   (error "Invalid device type"))))
 			 (t