Subject: Re: bug#23507: 24.3; Mac OS X proxy icon disappears when frame-title-format is set in .emacs

From: Alan Third <[email-masked]>
Date: Mon, 16 May 2016 22:43:04 +0100

On Tue, May 10, 2016 at 09:24:22AM -0400, Christopher Crawford wrote:
> 
> Using the following one-line .emacs file:
> 
> (setq frame-title-format '("%b @ " system-name))
> 
> removes the proxy icon from the mode line when opening ~/.emacs, for example.
> After emacs is running, if I evaluate the two lines:
> 
> (setq frame-title-format t)
> (setq frame-title-format '("%b @ " system-name))
> 
> the proxy icon reappears with the rest of the title format specified.

It looks like this is just plain not supported in the NS port.
x_implicitly_set_name in nsfns.m has this bit of code:

    /* Deal with NS specific format t.  */
    if (FRAME_NS_P (f) && ((FRAME_ICONIFIED_P (f) && EQ (icon_title, Qt))
                           || EQ (frame_title, Qt)))
      ns_set_name_as_filename (f);
    else
      ns_set_name (f, arg, 0);

Where ns_set_name sets the title without the icon, and
ns_set_name_as_filename with. Note that it's comparing frame_title,
which is a C copy of frame-title-format, with true. I think that means
that if frame_title is a format string it will skip the icon.

AND the comment references "NS specific format t".

Of course, if you fiddle about with setting the variables, it does
eventually work, so I don't really understand what's going on here.

> This bug appeared some time after version 'GNU Emacs 22.3.1
> (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on
> gs674-seijiz.local'

I believe that was the Mac Port, which was replaced in the official
GNU release by the NextStep port some time ago. The Mac Port is still
under development by Yamamoto Mitsuharu, but I'm unsure of the link to
it.
-- 
Alan Third