From 6a6179492c50f54dff0fe6d7d45d0318477ee86d Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sat, 19 Sep 2020 14:13:52 +0200 Subject: [PATCH] Make initial frame title match frame-title-format * src/xterm.c (x_term_init): * src/w32term.c (w32_initialize_display_info): Sync initial frame title with new value of Vframe_title_format. Problem reported by Angelo Graziosi . --- src/w32term.c | 11 ++++++----- src/xterm.c | 22 ++++++++++++---------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/w32term.c b/src/w32term.c index 2669f29b56..9fbc054688 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -7167,13 +7167,14 @@ w32_initialize_display_info (Lisp_Object display_name) dpyinfo->name_list_element = Fcons (display_name, Qnil); if (STRINGP (Vsystem_name)) { - dpyinfo->w32_id_name = xmalloc (SCHARS (Vinvocation_name) - + SCHARS (Vsystem_name) + 2); - sprintf (dpyinfo->w32_id_name, "%s@%s", - SDATA (Vinvocation_name), SDATA (Vsystem_name)); + dpyinfo->w32_id_name = xmalloc (14 + SCHARS (Vsystem_name)); + sprintf (dpyinfo->w32_id_name, "GNU Emacs at %s", SDATA (Vsystem_name)); } else - dpyinfo->w32_id_name = xlispstrdup (Vinvocation_name); + { + dpyinfo->w32_id_name = xmalloc (10); + sprintf (dpyinfo->w32_id_name, "GNU Emacs"); + } /* Default Console mode values - overridden when running in GUI mode with values obtained from system metrics. */ diff --git a/src/xterm.c b/src/xterm.c index 2e0407aff4..c30de05a59 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -12927,19 +12927,21 @@ #define NUM_ARGV 10 #endif Lisp_Object system_name = Fsystem_name (); - - ptrdiff_t nbytes = SBYTES (Vinvocation_name) + 1; - if (STRINGP (system_name) - && INT_ADD_WRAPV (nbytes, SBYTES (system_name) + 1, &nbytes)) - memory_full (SIZE_MAX); - dpyinfo->x_id = ++x_display_id; - dpyinfo->x_id_name = xmalloc (nbytes); - char *nametail = lispstpcpy (dpyinfo->x_id_name, Vinvocation_name); if (STRINGP (system_name)) { - *nametail++ = '@'; - lispstpcpy (nametail, system_name); + ptrdiff_t nbytes = 14; + if (INT_ADD_WRAPV (nbytes, SBYTES (system_name), &nbytes)) + memory_full (SIZE_MAX); + dpyinfo->x_id_name = xmalloc (nbytes); + sprintf(dpyinfo->x_id_name, "GNU Emacs at %s", SDATA (system_name)); } + else + { + dpyinfo->x_id_name = xmalloc (10); + sprintf (dpyinfo->x_id_name, "GNU Emacs"); + } + + dpyinfo->x_id = ++x_display_id; /* Figure out which modifier bits mean what. */ x_find_modifier_meanings (dpyinfo); -- 2.28.0