[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [BUG] Prompted to submit (unsure what happened) [9.5.2 (9.5.2-g07252
From: |
Alejandro Pérez Carballo |
Subject: |
Re: [BUG] Prompted to submit (unsure what happened) [9.5.2 (9.5.2-g072523 @ /Users/apc/.emacs.d/straight/build/org/)] |
Date: |
Thu, 24 Feb 2022 14:48:28 -0800 |
One more question: wouldn't replacing `org-in-src-block-p' with a function that
calls `org-in-src-block-p' only when in org-mode and returns `nil' elsewhere
suffice to make something that's like `org-in-src-block-p' but that will work
outside org-mode? E.g.:
(defun my/org-in-src-block-p (&optional arg)
(if (derived-mode-p 'org-mode)
(org-in-src-block-p)
nil))
I'm using this for now as a replacement and it seems to do the trick, at least
for my present purposes.
Best,
Alejandro
> On Feb 24, 2022, at 11:27 AM, Alejandro Pérez Carballo <apcarballo@gmail.com>
> wrote:
>
> I found the source of the problem. I was trying to disable
> `electric-quote-mode' when in a src block, and found this snippet somewhere:
>
> ```
> (add-hook 'electric-quote-inhibit-functions #'org-in-src-block-p)
> ```
>
> Any thoughts on alternative ways of achieving similar behavior? Presumably
> I'd need to find a way to make `electric-quote-inhibit-functions` vary
> depending on whether I am in org-mode. But I'm very much an Elisp illiterate,
> so I'd appreciate any suggestions here.
>
> Best,
>
> Alejandro
>
>> On Feb 24, 2022, at 5:39 AM, Ihor Radchenko <yantar92@gmail.com> wrote:
>>
>> Alejandro Pérez Carballo <apcarballo@gmail.com> writes:
>>
>>> Sorry about the unclear report. I was indeed _not_ in an org buffer. I do
>>> not think I was using minibuffer completion, but I cannot remember. I now
>>> just got a similar error message, this time when working on an Elisp
>>> buffer. The error message says:
>>>
>>> Warning (org-element-cache): org-element--cache: Org parser error in
>>> setup-biblio.el::5918. Resetting.
>>> The error was: (error "rx ‘**’ range error")
>>> Backtrace:
>>> " backtrace-to-string(nil)
>>> org-element-at-point()
>>> org-in-src-block-p()
>>> run-hook-with-args-until-success(org-in-src-block-p)
>>> electric-quote-post-self-insert-function()
>>> self-insert-command(1 34)
>>> funcall-interactively(self-insert-command 1 34)
>>> call-interactively(self-insert-command nil nil)
>>> command-execute(self-insert-command)
>>> "
>>
>> Thanks for the backtrace! It is very clear that something in
>> electric-quote-mode-hook (or maybe in electric-quote-inhibit-functions)
>> is calling org-in-src-block-p.
>>
>> org-in-src-block-p does not work outside Org mode. It used to (at least,
>> it did not throw an error), but it is not the case anymore and it was
>> never guaranteed that Org functions can reliably work outside Org mode.
>>
>> I do not see explicit customisation adding org-in-src-block-p in your
>> config from the first email. I presume that some third-party package is
>> adding org-in-src-block-p to electric-quote-mode. I would first try to
>> check the values of electric-quote-inhibit-functions and
>> electric-quote-mode-hook and check if they contain org-* staff. Then, I
>> would bisect the config to find out which package is doing it. What you
>> are seeing is a bug in that package and should be reported.
>>
>> Best,
>> Ihor
>