diff options
| author | Karoly Lorentey <lorentey@elte.hu> | 2005-11-19 19:17:56 +0000 |
|---|---|---|
| committer | Karoly Lorentey <lorentey@elte.hu> | 2005-11-19 19:17:56 +0000 |
| commit | 59e085e04d44b0331620b55a64eb94bf99cf81b1 (patch) | |
| tree | d6c04a67e99ec5ef0229e23b6303596cb1c555b6 /lib-src/emacsclient.c | |
| parent | e3362cebc3485806379cac1986b901f3da20d59d (diff) | |
| download | emacs-59e085e04d44b0331620b55a64eb94bf99cf81b1.tar.gz | |
Store client's environment in terminal parameters, not server parameters.
* lisp/loadup.el: Don't load server.
* lisp/ldefs-boot.el: Update.
* lib-src/emacsclient.c (main): Send environment only when a new display
is created.
* lisp/server.el (server-save-buffers-kill-display): Add autoload
cookie. Move stuff not specific to server into `save-buffers-kill-display'.
* lisp/files.el (save-buffers-kill-display): New function.
(ctl-x-map): Bind it to C-x C-c.
* lisp/frame.el (terminal-getenv): New function.
* lisp/international/mule-cmds.el (set-locale-environment): Use it.
* lisp/frame.el (with-terminal-environment): New macro.
* lisp/server.el (server-getenv, server-with-client-environment): Remove.
(server-getenv-from, server-with-environment): New functions.
(server-process-filter): Change syntax of environment
variables. Put environment into terminal parameters, not client parameters.
* lisp/term/rxvt.el: Don't require server.
(rxvt-set-background-mode): Use terminal-getenv, not server-getenv.
* lisp/term/x-win.el (x-initialize-window-system): Ditto.
* lisp/term/xterm.el (terminal-init-xterm): Ditto.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-443
Diffstat (limited to 'lib-src/emacsclient.c')
| -rw-r--r-- | lib-src/emacsclient.c | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index 85415eba44a..b6d33c9c2c2 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c @@ -695,26 +695,19 @@ To start the server in Emacs, type \"M-x server-start\".\n", fprintf (out, "-version %s ", VERSION); /* Send over our environment. */ - { - extern char **environ; - int i; - for (i = 0; environ[i]; i++) - { - char *name = xstrdup (environ[i]); - char *value = strchr (name, '='); - if (value && strlen (value) > 1) - { - *value++ = 0; - fprintf (out, "-env "); - quote_argument (name, out); - fprintf (out, " "); - quote_argument (value, out); - fprintf (out, " "); - fflush (out); - } - free (name); - } - } + if (!current_frame) + { + extern char **environ; + int i; + for (i = 0; environ[i]; i++) + { + char *name = xstrdup (environ[i]); + char *value = strchr (name, '='); + fprintf (out, "-env "); + quote_argument (environ[i], out); + fprintf (out, " "); + } + } retry: if (nowait) |
