aboutsummaryrefslogtreecommitdiff
path: root/working/lint-org-example-block
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-24 17:42:54 -0500
committerCraig Jennings <c@cjennings.net>2026-07-24 17:42:54 -0500
commitb19d420b11af77e991b4bf14ef5a312c70cbfa3e (patch)
treecbda5af7f2afd1d1523a65b002f4a1aaa48c5ad6 /working/lint-org-example-block
parentf0c1bc40708615d5b423922c08c1f27e6cf96259 (diff)
downloadrulesets-b19d420b11af77e991b4bf14ef5a312c70cbfa3e.tar.gz
rulesets-b19d420b11af77e991b4bf14ef5a312c70cbfa3e.zip
chore(inbox): park lint-org and telegram fixes from home and .emacs.d
Diffstat (limited to 'working/lint-org-example-block')
-rw-r--r--working/lint-org-example-block/report-from-home.org21
1 files changed, 21 insertions, 0 deletions
diff --git a/working/lint-org-example-block/report-from-home.org b/working/lint-org-example-block/report-from-home.org
new file mode 100644
index 0000000..0b9f4d3
--- /dev/null
+++ b/working/lint-org-example-block/report-from-home.org
@@ -0,0 +1,21 @@
+#+TITLE: lint-org.el bug: invalid-block false positive on an example
+#+SOURCE: from home
+#+DATE: 2026-07-24 12:48:05 -0500
+
+lint-org.el bug: invalid-block false positive on an example block containing a heading line.
+
+Repro: an org file with
+
+ #+begin_example
+ ** Feature Name or Topic
+ #+end_example
+
+reports BOTH delimiters as judgment findings — 'Possible incomplete block "#+begin_example"' on the begin line and 'Possible incomplete block "#+end_example"' on the end line — even though the block is correctly paired. The trigger is the literal '** ' heading line inside the block body; the checker appears to treat it as a structural break rather than block content, so it loses track of the open block.
+
+Seen in home's .ai/notes.org (the PENDING DECISIONS section documents its own task format inside an example block, which is a legitimate and common shape for a docs file). These are the only 2 findings left in that file after I cleaned up the real defects, so they're pure noise now and they'll recur on any org file that documents org syntax inside an example block.
+
+Suggested fix: while inside a begin_example/begin_src block, skip structural parsing of the body entirely until the matching #+end_ line. Example and src blocks are verbatim by definition, so nothing inside them should be read as a heading, a timestamp, or a block delimiter.
+
+Worth noting the same class of bug would hit a src block containing '#+end_example' or similar as literal text.
+
+Context on what surfaced it: home's notes.org had 17 lint findings that had been dismissed as false positives across several sessions. 15 were real — the file used markdown '**bold**' where org wants single asterisks, so it rendered as literal asterisks and looked heading-shaped to the checker. Fixing the markup cleared those. That left these 2, which are the genuine checker bug. The lesson for the checker's credibility: a persistent block of 'known false positives' hid 15 real defects, because nobody re-examined the pile once it got labeled.