From 9c9fa52b934390b9b07648fdf3a31c4baebac551 Mon Sep 17 00:00:00 2001 Message-Id: <9c9fa52b934390b9b07648fdf3a31c4baebac551.1676636352.git.yantar92@posteo.net> From: Ihor Radchenko Date: Fri, 17 Feb 2023 15:17:04 +0300 Subject: [PATCH] org-fontify-meta-lines-and-blocks-1: Fontify src blocks without lang * lisp/org.el (org-fontify-meta-lines-and-blocks-1): Allow fontifying src blocks with language specification missing. * lisp/org-src.el (org-src-block-faces): Clarify in the docstring that "" language name referes to src blocks with no language. Remove redundant :version tag. * etc/ORG-NEWS (~org-src-block-faces~ now accepts empty string ~""~ as language name): Announce the change. Link: https://orgmode.org/list/99388ff3711696091f0312a5c3f0bcbd@kragelund.me --- etc/ORG-NEWS | 15 +++++++++++++++ lisp/org-src.el | 4 ++-- lisp/org.el | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index 87ecd77cd..5ab8d62c7 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -24,6 +24,21 @@ consider [[https://gitlab.com/jackkamm/ob-python-mode-mode][ob-python-mode-mode] has been ported to. ** New and changed options +*** ~org-src-block-faces~ now accepts empty string ~""~ as language name + +It is now possible to customize face of source blocks without language specifier. + +: #+begin_src +: Source block with no language +: #+end_src + +For example, to set ~highlight~ face, use + +#+begin_src emacs-lisp +(setq org-src-fontify-natively t) +(add-to-list 'org-src-block-faces '(("" highlight)) +#+end_src + *** New escape in ~org-beamer-environments-extra~ for labels in Beamer export The escape =%l= in ~org-beamer-environments-extra~ inserts the label obtained from ~org-beamer--get-label~. This is added to the default diff --git a/lisp/org-src.el b/lisp/org-src.el index 9e4392811..2fab4020d 100644 --- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -233,7 +233,8 @@ (defcustom org-src-block-faces nil (\"language\" FACE) -Where FACE is either a defined face or an anonymous face. +Where FACE is either a defined face or an anonymous face. Empty +language string refers to source blocks without specified language. For instance, the following would color the background of emacs-lisp source blocks and python source blocks in purple and @@ -247,7 +248,6 @@ (defcustom org-src-block-faces nil (choice (face :tag "Face") (sexp :tag "Anonymous face")))) - :version "26.1" :package-version '(Org . "9.0")) (defcustom org-src-tab-acts-natively t diff --git a/lisp/org.el b/lisp/org.el index 4d12084d9..777626dce 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -5409,7 +5409,7 @@ (defun org-fontify-meta-lines-and-blocks-1 (limit) (org-remove-flyspell-overlays-in beg bol-after-beginline) (org-remove-flyspell-overlays-in nl-before-endline end-of-endline) (cond - ((and lang (not (string= lang "")) org-src-fontify-natively) + (org-src-fontify-natively (save-match-data (org-src-font-lock-fontify-block lang block-start block-end)) (add-text-properties bol-after-beginline block-end '(src-block t))) -- 2.39.1