diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2014-12-29 12:37:53 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2014-12-29 12:38:58 -0800 |
commit | f9acac751d4cd22480e62cc63936b1208ca9fe48 (patch) | |
tree | 49f37d577e63a00042dc990ec92651d19be8870a /src/xterm.c | |
parent | ce1ebdf1ba8acc75e8f959f414652cdc87e76401 (diff) | |
download | emacs-f9acac751d4cd22480e62cc63936b1208ca9fe48.tar.gz |
system-name's returned value can vary
Also, the system-name variable is now obsolete.
Fixes Bug#19438.
* doc/lispref/os.texi (System Environment):
* etc/NEWS: Document this.
* doc/misc/efaq.texi:
(Displaying the current file name in the titlebar):
* lisp/desktop.el (desktop-save-frameset):
* lisp/dnd.el (dnd-get-local-file-uri):
* lisp/gnus/message.el (message-make-fqdn):
* lisp/gnus/nnvirtual.el (nnvirtual-retrieve-headers)
(nnvirtual-update-xref-header):
* lisp/nxml/rng-uri.el (rng-uri-file-name-1):
* lisp/org/org-clock.el (org-clock-save):
* src/filelock.c (current_lock_owner):
* src/xrdb.c (get_environ_db):
* src/xterm.c (same_x_server):
* src/xterm.c (x_term_init):
Prefer (system-name) to system-name, and avoid naming
locals 'system-name'.
* doc/misc/smtpmail.texi (Server workarounds): Fix grammar.
* lisp/startup.el (system-name): Now an obsolete variable.
* src/editfns.c (cached_system_name): New static var.
(init_and_cache_system_name): New function.
(init_editfns, Fsystem_name): Use it.
(syms_of_editfns): Initialize it and Vsystem_name to the same value.
* src/sysdep.c [HAVE_SOCKETS]: Don't include <sys/socket.h>, <netdb.h>.
(h_errno) [TRY_AGAIN && !HAVE_H_ERRNO]: Remove decl.
(init_system_name) [HAVE_SOCKETS]: Don't canonicalize the name.
Don't create a new string if the current value is already correct.
Diffstat (limited to 'src/xterm.c')
-rw-r--r-- | src/xterm.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/xterm.c b/src/xterm.c index 130174dff19..892562bd612 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10497,8 +10497,9 @@ static bool same_x_server (const char *name1, const char *name2) { bool seen_colon = false; - const char *system_name = SSDATA (Vsystem_name); - ptrdiff_t system_name_length = SBYTES (Vsystem_name); + Lisp_Object sysname = Fsystem_name (); + const char *system_name = SSDATA (sysname); + ptrdiff_t system_name_length = SBYTES (sysname); ptrdiff_t length_until_period = 0; while (system_name[length_until_period] != 0 @@ -10890,14 +10891,15 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) #endif lim = min (PTRDIFF_MAX, SIZE_MAX) - sizeof "@"; - if (lim - SBYTES (Vinvocation_name) < SBYTES (Vsystem_name)) + Lisp_Object system_name = Fsystem_name (); + if (lim - SBYTES (Vinvocation_name) < SBYTES (system_name)) memory_full (SIZE_MAX); dpyinfo->x_id = ++x_display_id; dpyinfo->x_id_name = xmalloc (SBYTES (Vinvocation_name) - + SBYTES (Vsystem_name) + 2); + + SBYTES (system_name) + 2); char *nametail = lispstpcpy (dpyinfo->x_id_name, Vinvocation_name); *nametail++ = '@'; - lispstpcpy (nametail, Vsystem_name); + lispstpcpy (nametail, system_name); /* Figure out which modifier bits mean what. */ x_find_modifier_meanings (dpyinfo); |