Subject: Re: bug#16661: 24.3.50; standalone minibuffer frame gets renamed with name of aother frame

From: Eli Zaretskii <[email-masked]>
Date: Sat, 22 Feb 2014 10:55:56 +0200

> Date: Fri, 21 Feb 2014 20:23:47 -0800 (PST)
> From: Drew Adams <[email-masked]>
> Cc: [email-masked]
> 
> > How about adding a Lisp backtrace to the info you already put there?
> 
> OK, I have some more info about this.  This is the backtrace:
> 
> 000 this-cmd: nil, last-cmd: nil
> 	(name . "drews-lisp-20")
>   backtrace()
>   ad-Advice-modify-frame-parameters(#<subr modify-frame-parameters> #<frame Emacs minibuffer                         show/hide: hold CTRL + click in window 03bec000> ((name . "drews-lisp-20")))
>   apply(ad-Advice-modify-frame-parameters #<subr modify-frame-parameters> (#<frame Emacs minibuffer                         show/hide: hold CTRL + click in window 03bec000> ((name . "drews-lisp-20"))))
>   modify-frame-parameters(#<frame Emacs minibuffer                         show/hide: hold CTRL + click in window 03bec000> ((name . "drews-lisp-20")))
>   rename-frame()
>   run-hooks(window-setup-hook)
> 
> I do this in my init file:
> 
> (when (and (if (fboundp 'display-graphic-p) (display-graphic-p) window-system)
>            (eq system-type 'windows-nt) (fboundp 'rename-frame))
>   (add-hook 'window-setup-hook 'rename-frame))

I'm confused: window-setup-hook is called only once, as part of Emacs
startup.  Are you saying that all these cases of renaming happened
during Emacs startup, and only at that time?  I somehow decided,
probably erroneously, that the renaming randomly happened during a
running session.

> Why should the `buffer-name' of the minibuffer frame be
> different from the frame name, for the minibuffer frame?

AFAIK, buffer-name in the minibuffer always returns the name of the
buffer which caused minibuffer to be entered.  Anything else would be
highly confusing, e.g. "M-: (buffer-name) RET" surely must return the
name of the invoking buffer.

IOW, I think that buffer-name in the minibuffer is unreliable, if you
want to get the name of the minibuffer itself.