aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaroly Lorentey2004-04-18 02:24:18 +0000
committerKaroly Lorentey2004-04-18 02:24:18 +0000
commit540216761e8c9105486b902c8eab89ffe6a09731 (patch)
tree0776536d2a95125a7cd35fea98acdb0899ab7299
parentf2e45864d10657552bbc5cda8f10a5dcf1bfe511 (diff)
downloademacs-540216761e8c9105486b902c8eab89ffe6a09731.tar.gz
emacs-540216761e8c9105486b902c8eab89ffe6a09731.zip
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
-rw-r--r--README.multi-tty11
-rw-r--r--lisp/server.el7
2 files changed, 15 insertions, 3 deletions
diff --git a/README.multi-tty b/README.multi-tty
index e925145bcb2..f060f3f6aef 100644
--- a/README.multi-tty
+++ b/README.multi-tty
@@ -187,6 +187,17 @@ See arch logs.
187THINGS TO DO 187THINGS TO DO
188------------ 188------------
189 189
190** frame-creation-function was removed, which might be a bad idea.
191 Think up a compatible solution.
192
193** make-frame does not correctly handle extra parameters in its
194 argument:
195
196 (frame-parameter (make-frame (list (cons 'foobar 42))) 'foobar)
197 => nil
198
199 (This is likely an error in the CVS trunk.)
200
190** Fix set-input-mode for multi-tty. It's a truly horrible interface; 201** Fix set-input-mode for multi-tty. It's a truly horrible interface;
191 what if we'd blow it up into several separate functions (with a 202 what if we'd blow it up into several separate functions (with a
192 compatibility definition)? 203 compatibility definition)?
diff --git a/lisp/server.el b/lisp/server.el
index fd91f8cc0f6..e26272df011 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -468,8 +468,8 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"."
468 (or display 468 (or display
469 (frame-parameter nil 'display) 469 (frame-parameter nil 'display)
470 (getenv "DISPLAY") 470 (getenv "DISPLAY")
471 (error "Please specify display")) 471 (error "Please specify display"))))
472 (list (cons 'client proc)))) 472 (modify-frame-parameters frame (list (cons 'client proc)))
473 (select-frame frame) 473 (select-frame frame)
474 (server-client-set client 'frame frame) 474 (server-client-set client 'frame frame)
475 (setq dontkill t)) 475 (setq dontkill t))
@@ -501,7 +501,8 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"."
501 (setq request (substring request (match-end 0))) 501 (setq request (substring request (match-end 0)))
502 (unless (server-client-get client 'version) 502 (unless (server-client-get client 'version)
503 (error "Protocol error; make sure you use the correct version of emacsclient")) 503 (error "Protocol error; make sure you use the correct version of emacsclient"))
504 (setq frame (make-frame-on-tty tty type (list (cons 'client proc)))) 504 (setq frame (make-frame-on-tty tty type))
505 (modify-frame-parameters frame (list (cons 'client proc)))
505 (select-frame frame) 506 (select-frame frame)
506 (server-client-set client 'frame frame) 507 (server-client-set client 'frame frame)
507 (server-client-set client 'tty (frame-tty-name frame)) 508 (server-client-set client 'tty (frame-tty-name frame))