Eduardo Ochs <eduardoo...@gmail.com> writes: > On Mon, 7 Feb 2022 at 10:55, Ihor Radchenko <yanta...@gmail.com> wrote: > >> > What are the recommended ways to abort org-export-dispatch without >> > letting it destroy the "*Org Export Dispatcher*" window and its >> > buffer? >> >> You cannot. That window acts similarly to transient, but simpler. You >> can think of *Org Export Disipatcher* as an extended help for >> read-char-exclusive. > What do you mean by "you cannot"?
Sorry if I was not clear. I was answering specifically the question you asking. Elaborating: you cannot abort org-export-dispatch without letting it destroy the "*Org Export Dispatcher*" buffer. This is because "*Org Export Dispatcher*" is created inside unwind-protect form like: (unwind-protect <call to org-export--dispatch-ui that creates the buffer and reads user input directly intercepting Emacs even loop via read-char-exclusive> (and (get-buffer "*Org Export Dispatcher*") (kill-buffer "*Org Export Dispatcher*"))) Any time you abort org-export-dispatch, the unwind-protect is going to kill the buffer. > I was expecting an answer like this: > > That's difficult to do, but the temporary buffer is generated by the > function `org-foo-bar'... you can try to make a copy of > `org-foo-bar' called `org-foo-bar-hacked-version', add your own > debugging functions to that copy - suggestion: the lines 42 and 99 > are good places for that - and then you can change the function > `org-plic-ploc', that is called by `org-export-dispatch', to make it > call `org-foo-bar-hacked-version' instead of `org-foo-bar'... If your question is about debugging, feel free to M-x debug-on-entry org-export--dispatch-action. That will suspend execution of org-export--dispatch-ui called by org-export-dispatch right after the buffer is created but before Emacs even loop is blocked to read user input. Reading the source code of org-export--dispatch-ui might also help. > One possible meaning of "you cannot" is: > > Org is NOT MEANT to be explored in that way, and this "is not meant > to" is in a very strong sense. The last time that a person gave > technical information of that kind in the mailing list was 4 or 5 > years ago, and we banished her from the community and excommunicated > her. Her name shall not be mentioned. In my reply, "you cannot" referred to you cannot because of technical reasons, as I tried to explain above. You appear to interpret the wording in a strongly negative sense. Note that I was not trying to attack you in any way and I am always trying my best to follow GNU Kind Communication Guidelines [1] in my emails. Also note that my wording might not be ideal. Either because English is not my native language or because I may misinterpret the message I am replying to. [1] https://www.gnu.org/philosophy/kind-communication.html Best, Ihor