changeset 83105:efc02a84dfbb

Fix frame parameter handling in server.el. lisp/server.el (server-process-filter): Work around make-frame frame parameter bogosity by using modify-frame-parameters. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-145
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 18 Apr 2004 02:24:18 +0000
parents 625059157bad
children 8f4a3987f4a8
files README.multi-tty lisp/server.el
diffstat 2 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/README.multi-tty	Sun Apr 18 01:40:02 2004 +0000
+++ b/README.multi-tty	Sun Apr 18 02:24:18 2004 +0000
@@ -187,6 +187,17 @@
 THINGS TO DO
 ------------
 
+** frame-creation-function was removed, which might be a bad idea.
+   Think up a compatible solution.
+
+** make-frame does not correctly handle extra parameters in its
+   argument:
+
+	(frame-parameter (make-frame (list (cons 'foobar 42))) 'foobar)
+		=> nil
+
+   (This is likely an error in the CVS trunk.)
+
 ** Fix set-input-mode for multi-tty.  It's a truly horrible interface;
    what if we'd blow it up into several separate functions (with a
    compatibility definition)?
--- a/lisp/server.el	Sun Apr 18 01:40:02 2004 +0000
+++ b/lisp/server.el	Sun Apr 18 02:24:18 2004 +0000
@@ -468,8 +468,8 @@
 			       (or display
 				   (frame-parameter nil 'display)
 				   (getenv "DISPLAY")
-				   (error "Please specify display"))
-			       (list (cons 'client proc))))
+				   (error "Please specify display"))))
+		  (modify-frame-parameters frame (list (cons 'client proc)))
 		  (select-frame frame)
 		  (server-client-set client 'frame frame)
 		  (setq dontkill t))
@@ -501,7 +501,8 @@
 		    (setq request (substring request (match-end 0)))
 		    (unless (server-client-get client 'version)
 		      (error "Protocol error; make sure you use the correct version of emacsclient"))
-		    (setq frame (make-frame-on-tty tty type (list (cons 'client proc))))
+		    (setq frame (make-frame-on-tty tty type))
+		    (modify-frame-parameters frame (list (cons 'client proc)))
 		    (select-frame frame)
 		    (server-client-set client 'frame frame)
 		    (server-client-set client 'tty (frame-tty-name frame))