emacs-orgmode
[Top][All Lists]
Advanced

[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
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]