emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Tom Alexander" <tom@fizz.buzz>
To: emacs-orgmode@gnu.org
Subject: Lesser blocks allowing unescaped lines
Date: Sat, 30 Sep 2023 01:06:49 -0400	[thread overview]
Message-ID: <dafba8bc-bbb8-4110-a4f5-b1d673d3d295@app.fastmail.com> (raw)

This happens in worg at: https://git.sr.ht/~bzg/worg/tree/ba6cda890f200d428a5d68e819eef15b5306055f/exporters/ox-docstrings.org#L2490

The documentation for lesser blocks[1] states:
> Lines beginning with an asterisk or `#+` must be quoted by a comma (`,*`, `,#+`).

However, the following test document parses as a lesser block despite containing a line starting with an unescaped #+:
```
#+CATEGORY: foo
#+begin_src text
#+CATEGORY: bar
#+end_src
```

which parses as:
```
(org-data
(:standard-properties
  [1 1 1 60 60 0 nil org-data nil nil nil 3 60 nil #<buffer *scratch*> nil nil nil]
  :path nil :CATEGORY "foo")
(section
  (:standard-properties
   [1 1 1 60 60 0 nil first-section nil nil nil 1 60 nil #<buffer *scratch*> nil nil #0])
  (keyword
   (:standard-properties
    [1 1 nil nil 17 0 nil top-comment nil nil nil nil nil nil #<buffer *scratch*> nil nil #1]
    :key "CATEGORY" :value "foo"))
  (src-block
   (:standard-properties
    [17 17 nil nil 60 0 nil nil nil nil nil nil nil nil #<buffer *scratch*> nil nil #1]
    :language "text" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "#+CATEGORY: bar\n"))))
```

whereas I would expect this to be
```
(section
  (keyword :key "CATEGORY" :value "foo")
  (paragraph "#+begin_src text")
  (keyword :key "CATEGORY" :value "bar")
  (paragraph "#+end_src")
)
```

This test document shows that lines with an unescaped "*" do break up the lesser block:
```
* foo
#+begin_src text
* bar
#+end_src
```


[1] https://orgmode.org/worg/org-syntax.html#Blocks

--
Tom Alexander
pgp: https://fizz.buzz/pgp.asc


             reply	other threads:[~2023-09-30  5:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-30  5:06 Tom Alexander [this message]
2023-10-01 15:30 ` Lesser blocks allowing unescaped lines Max Nikulin
2023-10-05 10:29 ` Ihor Radchenko
2023-10-07  1:18   ` Tom Alexander

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dafba8bc-bbb8-4110-a4f5-b1d673d3d295@app.fastmail.com \
    --to=tom@fizz.buzz \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).