unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Alan Mackenzie <acm@muc.de>
Cc: emacs-devel@gnu.org
Subject: Re: Making Emacs Lisp easier to debug
Date: Sat, 11 Nov 2023 15:47:51 +0200	[thread overview]
Message-ID: <83edgwwge0.fsf@gnu.org> (raw)
In-Reply-To: <ZU9vOQqlpf6-TQKE@ACM> (message from Alan Mackenzie on Sat, 11 Nov 2023 12:10:33 +0000)

> Date: Sat, 11 Nov 2023 12:10:33 +0000
> Cc: emacs-devel@gnu.org
> From: Alan Mackenzie <acm@muc.de>
> 
> > (I also don't understand why you think this will help with font-lock,
> > nor even how it would work in general, should it be possible.
> 
> With font lock, or any other Lisp hook called from redisplay, it should
> be possible, in a recursive-edit loop, to run edebug, displaying on a
> different frame.  That different frame would be running in the inner
> redisplay while the outer redisplay would be suspended.

Why do you need an inner redisplay for that?

And what will that frame show, given that the outer redisplay is
halfway through fontifying the text? what do you expect to see there,
and why?

> > Re-entering redisplay in the middle of a redisplay cycle means that
> > the outer redisplay didn't finish preparing the glyph matrices, and
> > what do you want the inner redisplay to do in such a case?
> 
> Work with the glyph matrices belonging to the inner redisplay whilst the
> outer one is suspended.

But that will immediately get you into the same problem, since the
offending window will get redisplayed by the inner redisplay, and will
again cause Edebug, etc., ad nauseam.

> As I say, it is not clear whether or not this is possible or
> practicable.  If it were, we could enhance edebug such that a function
> in a font lock pattern, or on, say, window-scroll-functions could be
> edebugged by doing nothing more than instrumenting it with C-u C-M-x.
> Thus Lisp called from redisplay would cease to be an awkward special
> case as far as debugging is concerned.

I think we should start by having a clear idea of what should such an
"inner redisplay" show and how, before we are talking about
implementing it.  My impression from what you wrote is that the idea
is way too vague to discuss the details, and what you call "inner
redisplay" is not what you want at all.



  reply	other threads:[~2023-11-11 13:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-10 20:56 Making Emacs Lisp easier to debug Alan Mackenzie
2023-11-11  6:52 ` Eli Zaretskii
2023-11-11  9:01   ` Ihor Radchenko
2023-11-11 11:04   ` Alan Mackenzie
2023-11-11 11:10     ` Eli Zaretskii
2023-11-11 12:10       ` Alan Mackenzie
2023-11-11 13:47         ` Eli Zaretskii [this message]
2023-11-11 14:56           ` Alan Mackenzie
2023-11-11 16:01             ` Eli Zaretskii
2023-11-11 17:23               ` Alan Mackenzie
2023-11-11 17:54                 ` Eli Zaretskii
2023-11-11 19:55                   ` Alan Mackenzie
2023-11-12  7:17                     ` Eli Zaretskii
2023-11-12 12:08                       ` Alan Mackenzie
2023-11-12 12:28                         ` Eli Zaretskii
2023-11-13 18:20                       ` XY Problems (tangent, related to common discussion issue here) chad

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=83edgwwge0.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.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).