[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug] org-in-src-block-p returns t when not in source block
From: |
No Wayman |
Subject: |
Re: [Bug] org-in-src-block-p returns t when not in source block |
Date: |
Mon, 27 Nov 2023 15:14:41 -0500 |
[Apologies for the duplicate message, Ihor. mu4e recently changed it's default
reply behavior without my noticing]
Ihor Radchenko <yantar92@posteo.net> writes:
> This is very different from LAX argument in `org-at-timestamp-p' -
> timestamp-like text may not be proper syntactically correct Org markup
> element, but is still considered by agenda for historical and practical
> reasons.
Fair enough.
> What about the attached patch?
That is much clearer. Thank you.
> If you want to check if point is inside source block code, use INSIDE
> argument.
Using the INSIDE argument still appears to fail in some cases:
Yodel[1] Report 2023-11-27 14:55:05
===================================
--8<---------------cut here---------------start------------->8---
(yodel
:post*
(require 'org)
(org-version nil 'full 'message)
(message "(org-in-source-block-p 'inside)")
(yodel-file "before.org" :point "|"
:with* "|\n#+begin_src text\ntest\n#+end_src\n"
:then* (message "point on preceding blank line: %s"
(if (org-in-src-block-p 'inside) "FAIL" "PASS")))
(yodel-file "begin.org" :point "|"
:with* "\n#+begin|_src text\ntest\n#+end_src\n"
:then* (message "point on begin_src: %s"
(if (org-in-src-block-p 'inside) "FAIL" "PASS")))
(yodel-file "in.org" :point "|"
:with* "\n#+begin_src text\nte|st\n#+end_src\n"
:then* (message "point between begin_src end_src: %s"
(if (org-in-src-block-p 'inside) "PASS" "FAIL")))
(yodel-file "end-non-blank.org" :point "|"
:with* "\n#+begin_src text\ntest\n#+end|_src\ntest"
:then* (message "point on end_src (non-blank line after): %s"
(if (org-in-src-block-p 'inside) "FAIL" "PASS")))
(yodel-file "end.org" :point "|"
:with* "\n#+begin_src text\ntest\n#+end|_src\n"
:then* (message "point on end_src (blank line after): %s"
(if (org-in-src-block-p 'inside) "FAIL" "PASS")))
(yodel-file "end-eobp.org" :point "|"
:with* "\n#+begin_src text\ntest\n#+end|_src"
:then* (message "point on end_src (no line after): %s"
(if (org-in-src-block-p 'inside) "FAIL" "PASS")))
(yodel-file "after.org" :point "|"
:with* "\n#+begin_src text\ntest\n#+end_src\n|"
:then* (message "point on trailing blank line: %s"
(if (org-in-src-block-p 'inside) "FAIL" "PASS"))))
--8<---------------cut here---------------end--------------->8---
STDOUT
======
> Org mode version 9.6.11 (release_9.6.11 @ /usr/share/emacs/30.0.50/lisp/org/)
> (org-in-source-block-p ’inside)
> point on preceding blank line: PASS
> point on begin_src: PASS
> point between begin_src end_src: PASS
> point on end_src (non-blank line after): PASS
> point on end_src (blank line after): PASS
> point on end_src (no line after): FAIL
> point on trailing blank line: FAIL
Environment
===========
- emacs version: GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.18.0)
of 2023-11-16
- system type: gnu/linux
[1] https://www.github.com/progfolio/yodel
- Re: [Bug] org-in-src-block-p returns t when not in source block,
No Wayman <=