[BUG] emacs-lisp source blocks do not implement :prologue and :epilogue [9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)]

2023-10-18 Thread Jeff Trull
The manual page "Environment of a Code Block" describes :prologue and
:epilogue header arguments, which are useful for applications like unit
tests and boilerplate code. No suggestion is made that these arguments
are only available for some languages.

In fact, any language that provides its own org-babel-expand-body needs
special code to handle these arguments - and emacs-lisp lacks it.

It seems to me that either:

1) these arguments should be added to each backend that lacks them
(emacs-lisp in particular), or
2) The documentation should indicate that they may not be supported in
every language.

At the moment I have the following workaround:

(advice-add #'org-babel-expand-body:emacs-lisp :around
(lambda (oldfn body params)
  (let ((pro (cdr (assq :prologue params)))
(epi (cdr (assq :epilogue params
(concat
 (if pro (concat pro "\n") "")
 (funcall oldfn body params)
 (if epi (concat epi "\n") ""
'((name . pe-advice)))


Emacs  : GNU Emacs 29.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.33, cairo version 1.16.0)
 of 2023-07-30
Package: Org mode version 9.6.9 ( @ /home/jet/.config/emacs/elpa/org-9.6.9/)

current state:
==
(setq
 org-link-elisp-confirm-function 'yes-or-no-p
 org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar"
 org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3
"\n\n(fn ENTRY)"]
 org-persist-after-read-hook '(org-element--cache-persist-after-read)
 org-re-reveal-root "https://cdn.jsdelivr.net/npm/reveal.js@3.6.0;
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-cycle-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-ascii-format-drawer-function #[771 " \207" [] 4 "\n\n(fn NAME CONTENTS
WIDTH)"]
 org-cycle-hook '(org-cycle-hide-archived-subtrees
org-cycle-show-empty-lines org-cycle-optimize-window-after-visibility-change
  org-cycle-display-inline-images)
 org-latex-listings-options '(("basicstyle" "\\footnotesize\\ttfamily")
("showstringspaces" "false") ("breaklines" "true"))
 org-persist-before-read-hook '(org-element--cache-persist-before-read)
 org-mode-hook '(#[0 "\301\211 \207" [imenu-create-index-function
org-imenu-get-tree] 2] org-superstar-mode org-tempo-setup
 (lambda nil (electric-indent-local-mode -1))
 #[0 "\300\301\302\303\304$\207" [add-hook
change-major-mode-hook org-fold-show-all append local] 5]
 #[0 "\300\301\302\303\304$\207" [add-hook
change-major-mode-hook org-babel-show-result-all append local] 5]
org-babel-result-hide-spec
 org-babel-hide-all-hashes org-eldoc-load)
 org-babel-load-languages '((emacs-lisp . t) (dot . t) (ditaa . t) (shell .
t))
 org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
 org-latex-format-headline-function
'org-latex-format-headline-default-function
 org-confirm-shell-link-function 'yes-or-no-p
 org-html-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
 outline-isearch-open-invisible-function 'outline-isearch-open-invisible
 org-latex-classes '(("beamer"
  "\\documentclass[11pt,aspectratio=169]{beamer}\n
 \\usenavigationsymbolstemplate{} % no navigation bar\n
 \\beamertemplateballitem % items have little balls"
  ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))
 ("article" "\\documentclass[11pt]{article}"
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}")
  ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
  ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
 ("report" "\\documentclass[11pt]{report}"
("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
  ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))
 ("book" "\\documentclass[11pt]{book}" ("\\part{%s}" .
"\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
  ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))
 )
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-latex-packages-alist '(("" "moresize") ("" "fancyvrb") (""
"inconsolata") ("" "tikz") ("" "color") ("" "listings"))
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
org-src-mode-configure-edit-buffer)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-latex-src-block-backend t
 org-ditaa-eps-jar-path
"/home/jet/.config/emacs/elpa/contrib/scripts/DitaaEps.jar"
 org-structure-template-alist '(("n" 

Re: Incorrect quantity of en-spaces

2023-10-18 Thread Tom Alexander
> This appears to be a special case, not documented on org-syntax page.

Sounds good, thanks! 

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



[PATCH] org-fold: (org-fold-hide-drawer-all): Make interactive

2023-10-18 Thread Ivan Necas
Hi,

Sometimes, I want to unfold all the drawers using `org-fold-show-all',
and then I want to hide them all back. I've noticed, there is a function
`org-fold-hide-drawer-all' does just that, but it's not marked
as a command, so the patch is as simple as adding `(interactive)` there,
as I don't see a reason it shouldn't be one.

-- Ivan
From b059c1def1df57921b08b5a350f8b67148dfbc67 Mon Sep 17 00:00:00 2001
From: Ivan Necas 
Date: Wed, 18 Oct 2023 14:51:33 +0200
Subject: [PATCH] * lisp/org-fold.el (org-fold-hide-drawer-all): Make
 interactive

TINYCHANGE
---
 lisp/org-fold.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lisp/org-fold.el b/lisp/org-fold.el
index 18ccbf0bb..67a2a25a6 100644
--- a/lisp/org-fold.el
+++ b/lisp/org-fold.el
@@ -594,6 +594,7 @@ (defun org-fold-hide-block-all ()
   (org-block-map (apply-partially #'org-fold-hide-block-toggle 'hide)))
 
 (defun org-fold-hide-drawer-all ()
+  (interactive)
   "Fold all drawers in the current buffer."
   (let ((begin (point-min))
 (end (point-max)))
-- 
2.41.0



Re: Consider removing newlines from org-insert-link help message

2023-10-18 Thread Ihor Radchenko
Salih Muhammed  writes:

>> I am not sure. Your variant will be worse  on smaller screens
>> or terminals, when the line wrap may look more ugly for longer line.
>
> What about replacing it with shorter description?

 (Insert a link. Use TAB to complete link prefixes, then RET for type-specific 
completion support)

> "Insert a link. Use TAB for prefixes completion, RET for type-specific 
> completion"
>
> This is only 80 characters, should be suitable for small terminals.

"then" was important in the original formulation.

I personally do not mind having a shorter variant, but we should not
make it obfuscated just for the sake of being short.

Also, if you really want to save screen space, you may consider hiding
the whole *Org Links* window by customizing `display-buffer-alist'.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [FR] org-num-mode inverse defaults

2023-10-18 Thread Ihor Radchenko
Maske  writes:

> I added: (setq org-global-properties '(("UNNUMBERED" . "t")))
>
> But it doesn't work, every headline is numbered. (Not tried in emacs -q).

Yeah. Inheritance was explicitly disabled, actually.
I now changed that, but you need to add UNNUMBERED to
`org-use-property-inheritance' to make things work.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=b223a3cc7

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: Incorrect quantity of en-spaces

2023-10-18 Thread Ihor Radchenko
"Tom Alexander"  writes:

> The org-mode syntax document describes entities as:
>> \NAME POST
>> \NAME{}
>> Where NAME and POST are not separated by a whitespace character.
>
> and POST is defined as:
>> Either the end of line or a non-alphabetic character.
>
> So using the test document:
> ```
> \_   Foo
> ```
> (a backslash, underscore, three spaces, and then the word Foo)
>
> I would expect to get only 2 en-spaces but I am getting 3. Looking at
> org-entities, an underscore with 2 spaces gets 2 en-spaces, whereas an
> underscore with 3 spaces gets 3 en-spaces, but if we match all 3
> spaces as NAME then POST becomes invalid because "F" is neither the
> end of the line nor a non-alphabetic character, so we can only match
> the first two spaces as NAME.

This appears to be a special case, not documented on org-syntax page.

When users want to add non-standard space\_ , it should not be
treated as\_{} - with extra space after the entity. Otherwise, users
might get unexpected results during export, with additional normal space
after user-defined.

Does it make sense to you?

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [BUG] Parser error: Invalid search bound (wrong side of point) [9.7 (9.7-??-e90a8a69a @ /home/user/.emacs.d/.local/straight/build-29.1/org/)]

2023-10-18 Thread Ihor Radchenko
lorenzohess--- via "General discussions about Org-mode."
 writes:

> Hello,
> I ran `C-c C-x C-l` to create a LaTeX preview of the following inline 
> fragment in an Org document: $\text{CaCo}_3$, and this bug happened. This is 
> my first bug report so let me know if anything else is necessary.
> - Lorenzo
>
> 
>
> Emacs  : GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, 
> cairo version 1.16.0)
>  of 2023-08-24
> Package: Org mode version 9.7 (9.7-??-e90a8a69a @ 
> /home/user/.emacs.d/.local/straight/build-29.1/org/)

This sounds like a bug that has been already fixed.
Does the problem persist if you update Org to the latest main?

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at