[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Redisplay hook error backtraces
From: |
Alan Mackenzie |
Subject: |
Re: Redisplay hook error backtraces |
Date: |
Thu, 14 Jul 2022 16:07:33 +0000 |
Hello, Eli.
On Thu, Jul 14, 2022 at 16:59:57 +0300, Eli Zaretskii wrote:
> > Date: Thu, 14 Jul 2022 13:42:18 +0000
> > Cc: larsi@gnus.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org
> > From: Alan Mackenzie <acm@muc.de>
> > > > > You want to distinguish errors inside condition-case?
> > > > More, distinguish the different condition-cases in which errors
> > > > might occur.
> > > What else is exposed to Lisp?
> > I don't understand this question.
> There's just one condition-case available to Lisp code, AFAICT, so why
> isn't it enough to distinguish condition-case from any other callers of
> internal_condition_case* ?
I think I understand what you're saying, now. That a condition-case
called from Lisp will not use any of the internal_condition_case*
functions. So we could just assume that if i_c_case* triggers, it must be
one of the hooks we're interested in that called it.
I don't think that's right. It might well be that Lisp code calls a C
primitive function that itself uses an internal_condition_case. In this
scenario, we would not want to generate a backtrace for that nested
internal_condition_case.
[ .... ]
> > > > OK, I have an idea. I restore the variable redisplay_lisping
> > > > back into the code (I took it out last night), binding it to true
> > > > (or Qt?) at every place in xdisp.c where redisplay calls a Lisp
> > > > hook.
> > > These all go through a single function, so there's just one place to
> > > do that.
> > I disagree. There are seven places, for the seven different Lisp hooks
> > currently called from redisplay.
> Aren't they all go through safe_call?
They do, yes, but so do other things that we don't want to engage the
backtrace mechanism for.
> Which seven places are you talking about?
1. handle_fontified_prop;
2. set_message;
3. clear_message;
4. prepare_menu_bars (near the top);
5. update_menu_bar (line ~54);
6. run_window_scroll_functions;
7. redisplay_window (line ~415).
--
Alan Mackenzie (Nuremberg, Germany).
- Re: Redisplay hook error bactraces [Was: Fontification error backtrace], (continued)
- Re: Redisplay hook error bactraces [Was: Fontification error backtrace], Eli Zaretskii, 2022/07/13
- Re: Redisplay hook error backtraces, Alan Mackenzie, 2022/07/13
- Re: Redisplay hook error backtraces, Eli Zaretskii, 2022/07/13
- Re: Redisplay hook error backtraces, Alan Mackenzie, 2022/07/13
- Re: Redisplay hook error backtraces, Stefan Monnier, 2022/07/13
- Re: Redisplay hook error backtraces, Eli Zaretskii, 2022/07/14
- Re: Redisplay hook error backtraces, Alan Mackenzie, 2022/07/14
- Re: Redisplay hook error backtraces, Eli Zaretskii, 2022/07/14
- Re: Redisplay hook error backtraces, Alan Mackenzie, 2022/07/14
- Re: Redisplay hook error backtraces, Eli Zaretskii, 2022/07/14
- Re: Redisplay hook error backtraces,
Alan Mackenzie <=
- Re: Redisplay hook error backtraces, Stefan Monnier, 2022/07/14
- Re: Redisplay hook error backtraces, Alan Mackenzie, 2022/07/14
- Re: Redisplay hook error backtraces, Stefan Monnier, 2022/07/14
- Re: Redisplay hook error backtraces, Eli Zaretskii, 2022/07/15
- Re: Redisplay hook error backtraces, Alan Mackenzie, 2022/07/15
- Re: Redisplay hook error backtraces, Eli Zaretskii, 2022/07/16
- Re: Redisplay hook error backtraces, Eli Zaretskii, 2022/07/14
- Re: Redisplay hook error backtraces, Alan Mackenzie, 2022/07/14
- Re: Redisplay hook error backtraces, Eli Zaretskii, 2022/07/16
- Re: Redisplay hook error backtraces, Alan Mackenzie, 2022/07/16