From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrea Corallo via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: About the new frame title Date: Fri, 13 Nov 2020 23:51:54 +0000 Message-ID: References: <963461223.1300042.1600072070148@mail1.libero.it> <83sgbk9ylm.fsf@gnu.org> <152448855.1272757.1600098758378@mail1.libero.it> <83imc93k5d.fsf@gnu.org> <83sgb7tepo.fsf@gnu.org> Reply-To: Andrea Corallo Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4509"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Eli Zaretskii , angelo.g0@libero.it, emacs-devel@gnu.org To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 14 00:52:33 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kdirp-00014x-9n for ged-emacs-devel@m.gmane-mx.org; Sat, 14 Nov 2020 00:52:33 +0100 Original-Received: from localhost ([::1]:37484 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kdiro-00083o-6u for ged-emacs-devel@m.gmane-mx.org; Fri, 13 Nov 2020 18:52:32 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:32822) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kdirI-0007eG-6P for emacs-devel@gnu.org; Fri, 13 Nov 2020 18:52:00 -0500 Original-Received: from mx.sdf.org ([205.166.94.24]:59669) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kdirG-0006u3-20; Fri, 13 Nov 2020 18:51:59 -0500 Original-Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTP id 0ADNptST014605; Fri, 13 Nov 2020 23:51:55 GMT In-Reply-To: (Stefan Kangas's message of "Fri, 13 Nov 2020 15:10:27 -0800") Received-SPF: pass client-ip=205.166.94.24; envelope-from=akrl@sdf.org; helo=mx.sdf.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/13 18:51:56 X-ACL-Warn: Detected OS = ??? X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:259159 Archived-At: Stefan Kangas writes: [...] Hi Stefan, > From b373d79630bc6b419c46d782f13c4c4bfb625f0c Mon Sep 17 00:00:00 2001 > From: Stefan Kangas > Date: Sat, 19 Sep 2020 14:13:52 +0200 > Subject: [PATCH] Make initial frame 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 | 13 ++++++++----- > src/xterm.c | 24 ++++++++++++++---------- > 2 files changed, 22 insertions(+), 15 deletions(-) > > diff --git a/src/w32term.c b/src/w32term.c > index e0618e4f52..89fa26ed9f 100644 > --- a/src/w32term.c > +++ b/src/w32term.c > @@ -7167,13 +7167,16 @@ 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)); > + static char const title[] = "GNU Emacs at "; > + dpyinfo->w32_id_name = xmalloc (sizeof title + SCHARS (Vsystem_name)); I believe `sizeof (title)` is more conventional nowdays as safer. > + sprintf (dpyinfo->w32_id_name, "%s%s", title, SDATA (Vsystem_name)); > } > else > - dpyinfo->w32_id_name = xlispstrdup (Vinvocation_name); > + { > + static char const title[] = "GNU Emacs"; > + dpyinfo->w32_id_name = xmalloc (sizeof title); Same > + sprintf (dpyinfo->w32_id_name, "%s", title); I think a strcpy here would be sufficent as the format string is only "%s". > + } > > /* 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 98bb0ea891..c65588cfda 100644 > --- a/src/xterm.c > +++ b/src/xterm.c > @@ -12928,19 +12928,23 @@ #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); > + static char const title[] = "GNU Emacs at "; > + ptrdiff_t nbytes = sizeof title; Same > + if (INT_ADD_WRAPV (nbytes, SBYTES (system_name), &nbytes)) > + memory_full (SIZE_MAX); > + dpyinfo->x_id_name = xmalloc (nbytes); > + sprintf (dpyinfo->x_id_name, "%s%s", title, SDATA (system_name)); > } > + else > + { > + static char const title[] = "GNU Emacs"; > + dpyinfo->x_id_name = xmalloc (sizeof title); > + sprintf (dpyinfo->x_id_name, "%s", title); Same > + } > + > + dpyinfo->x_id = ++x_display_id; > > /* Figure out which modifier bits mean what. */ > x_find_modifier_meanings (dpyinfo); Hope it helps Andrea