From 20162f5a5c93eed62620e04da92edceefd2445e2 Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Tue, 12 Sep 2023 11:15:17 +0300 Subject: [PATCH] org-element-dynamic-block-open-re-nogroup: Demand block name * lisp/org-element.el (org-element-dynamic-block-open-re-nogroup): Fix inconsistency with `org-element-dynamic-block-open-re' - block name is mandatory. * testing/lisp/test-org-element.el (test-org-element/dynamic-block-parser): Add test. --- lisp/org-element.el | 2 +- testing/lisp/test-org-element.el | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/org-element.el b/lisp/org-element.el index dd39c5092..40bb29479 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -189,7 +189,7 @@ Parameters are in match group 2.") (defconst org-element-dynamic-block-open-re-nogroup (rx line-start (0+ (any ?\s ?\t)) - "#+BEGIN:" (0+ (any ?\s ?\t))) + "#+BEGIN:" (0+ (any ?\s ?\t)) word) "Regexp matching the opening line of a dynamic block.") (defconst org-element-headline-re diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el index 8b3b5aebd..3b11d496f 100644 --- a/testing/lisp/test-org-element.el +++ b/testing/lisp/test-org-element.el @@ -1282,7 +1282,11 @@ Some other text ;; Handle non-empty blank line at the end of buffer. (should (org-test-with-temp-text "#+BEGIN: myblock :param val1\nC\n#+END:\n " - (= (org-element-property :end (org-element-at-point)) (point-max))))) + (= (org-element-property :end (org-element-at-point)) (point-max)))) + ;; Block name is mandatory. + (should-not + (org-test-with-temp-text "#+BEGIN:\n\n#+END:\n" + (org-element-type-p (org-element-at-point) 'dynamic-block)))) ;;;; Entity