diff options
| author | Karoly Lorentey | 2004-04-18 02:24:18 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-04-18 02:24:18 +0000 |
| commit | 540216761e8c9105486b902c8eab89ffe6a09731 (patch) | |
| tree | 0776536d2a95125a7cd35fea98acdb0899ab7299 | |
| parent | f2e45864d10657552bbc5cda8f10a5dcf1bfe511 (diff) | |
| download | emacs-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-tty | 11 | ||||
| -rw-r--r-- | lisp/server.el | 7 |
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. | |||
| 187 | THINGS TO DO | 187 | THINGS 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)) |