On Thu, 5 Jan 2023 at 08:06, Ihor Radchenko <[email protected]> wrote:
>
> Eduardo Ochs <[email protected]> writes:
>
> > sorry, I thought that that would be something like a 5-line change... =(
> >
> > A few messages again I mentioned that one of my plans for these holidays
> > was to learn several techniques for debugging elisp that I've postponing
> > learning for ages. I'll do that and then I'll try solving this problem
> > again.
>
> One way could be M-x debug-on-entry <RET> read-char-exclusive <RET> and
> then running the dispatcher. This will pause Elisp execution and leave
> the export menu buffer actionable.
>
> However, I doubt that you can make much use of the buffer itself - it is
> nothing but text. You need to read the source to understand the logic.
> You can use the source code links Jean provided.
Hi Ihor,
thanks, good idea! A few days ago I had a similar idea, but mine
was worse... I found, by running this,
(find-orggrep "grep --color=auto -nH --null -e read-char-exclusive *.el")
that `read-char-exclusive' appears in 29 places in the Org
source, and I was thinking of replacing some of them by a
`my-read-char-exclusive', and then set a breakpoint in
`my-read-char-exclusive'...
I have just tried running this in an Org file,
(debug-on-entry 'read-char-exclusive)
(eek "C-c C-e")
(cancel-debug-on-entry 'read-char-exclusive)
and after running the first two sexps above with my favorite
variant of `C-x C-e' the backtrace showed me that this
(find-efunction 'org-export--dispatch-action "read-char-exclusive")
is the occurrence that matters - the one inside
`org-export--dispatch-action'. I'll play more with that
soon!
Cheers =),
Eduardo Ochs
http://angg.twu.net/#eev