unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Drew Adams <drew.adams@oracle.com>, Lars Ingebrigtsen <larsi@gnus.org>
Cc: "13336@debbugs.gnu.org" <13336@debbugs.gnu.org>
Subject: bug#13336: [External] : Re: bug#13336: `next-frame' should not choose the *Backtrace* frame while debugging
Date: Tue, 24 Aug 2021 19:41:18 +0200	[thread overview]
Message-ID: <98917a3e-e465-6cfb-ffe6-d977673bf185@gmx.at> (raw)
In-Reply-To: <SJ0PR10MB54882091F0D7EF324CA81731F3C59@SJ0PR10MB5488.namprd10.prod.outlook.com>

 > I did this:
 >
 > (when (if (fboundp 'display-graphic-p)
 >            (display-graphic-p)
 >          window-system)
 >    (defconst special-display-regexps '("[ ]?[*][^*]+[*]"))

If you insist on using the obsolete `special-display-regexps', then why
on earth don't you use a buffer name with it and why on earth don't you
use the FRAME-PARAMETERS idiom?

 >    (when (> emacs-major-version 25)
 >      (defun backtrace-no-other-frame (frame)
 >        (when (equal (frame-parameter frame 'name)
 >                     "*Backtrace*")
 >          (set-frame-parameter frame 'no-other-frame t)))
 >      (add-hook 'after-make-frame-functions
 >                'backtrace-no-other-frame)))
 >
 > Debugging a bit shows that frame parameter `name' for
 > the *Backtrace* frame is indeed "*Backtrace*",

Not at the time `after-make-frame-functions' gets called (unless you
specified a name for it).

 > but
 > parameter `no-other-frame' is nil (doesn't get set to
 > `t').  What's more, it looks like (?) function
 > `backtrace-no-other-frame' doesn't even get invoked.
 >
 > What should I be doing instead?  I don't explicitly
 > create frame *Backtrace* myself.  I presumably need
 > to somehow have its `no-other-frame' frame parameter
 > set to `t' whenever it's created.

If you insist on using `after-make-frame-functions', the following
should work.

(defconst special-display-regexps '("[ ]?[*][^*]+[*]"))

(defun backtrace-no-other-frame (frame)
   (when (equal (buffer-name
		(window-buffer (frame-selected-window frame)))
                "*Backtrace*")
     (set-frame-parameter frame 'no-other-frame t)))

(add-hook 'after-make-frame-functions
           'backtrace-no-other-frame)

 > Beyond finding a solution for myself: I guess you too
 > consider that this should not be fixed generally, i.e.,
 > that frame *Backtrace* should be allowed to be another
 > frame's `next-frame'.  If so, I'm curious as to why.

I see no general rule here.  When debugging window management problems,
a separate frame comes in handy.  OTOH when debugging frame management
problems, a window on an existing frame might be preferable.

martin





  reply	other threads:[~2021-08-24 17:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-02 18:13 bug#13336: 24.3.50; `next-frame' should not choose a frame (e.g. *Backtrace*) that did not exist when it was invoked Drew Adams
2017-01-30  6:33 ` npostavs
2017-01-30 14:32   ` Drew Adams
2017-01-31  3:22     ` npostavs
2021-08-23 14:37 ` bug#13336: `next-frame' should not choose the *Backtrace* frame while debugging Lars Ingebrigtsen
2021-08-23 15:20   ` bug#13336: [External] : " Drew Adams
2021-08-23 16:06     ` martin rudalics
2021-08-23 17:41       ` Drew Adams
2021-08-24  9:41         ` martin rudalics
2021-08-24 15:49           ` Drew Adams
2021-08-24 17:41             ` martin rudalics [this message]
2021-08-24 20:02               ` Drew Adams
2021-08-25  7:48                 ` martin rudalics
2021-08-25 15:27                   ` Drew Adams
2021-08-25 19:41                     ` martin rudalics
2021-08-25 20:23                       ` Drew Adams
2021-08-26  7:53                         ` martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=98917a3e-e465-6cfb-ffe6-d977673bf185@gmx.at \
    --to=rudalics@gmx.at \
    --cc=13336@debbugs.gnu.org \
    --cc=drew.adams@oracle.com \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).