[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org f90322377c 4/4: ox: Fix exporting code blocks with
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org f90322377c 4/4: ox: Fix exporting code blocks with missing language specifier |
Date: |
Sat, 24 Feb 2024 06:58:46 -0500 (EST) |
branch: externals/org
commit f90322377c162aa3b8c3e0008e299f958e96083b
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
ox: Fix exporting code blocks with missing language specifier
* lisp/ox-latex.el (org-latex-inline-src-block): Export code blocks
without language as verbatim.
* lisp/ox-man.el (org-man-inline-src-block):
(org-man-src-block): Do not try to call source-highlight executable
when code block language is missing.
* lisp/ox-odt.el (org-odt-do-format-code):
* lisp/ox-texinfo.el (org-texinfo-src-block): Do not throw error when
code block language is missing.
Reproducer (not available on the list):
To reproduce my problem you can write create an org-mode buffer (C-x b
1.org M-x org-mode) with the following content:
#+begin_src lua :tangle yes :noweb yes
aaa
<<second>>
#+end_src
#+name: second
#+begin_src
bbb
#+end_src
Then enable exporting to texinfo and export the buffer:
M-: (require 'ox-texinfo)
C-c C-e i t
The folllowing backtrace appears (providing you already enabled
debugging on errors):
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
apply(debug error (wrong-type-argument stringp nil))
edebug(error (wrong-type-argument stringp nil))
signal(wrong-type-argument (stringp nil))
edebug-signal(wrong-type-argument (stringp nil))
string-match("lisp" nil nil t)
string-match-p("lisp" nil)
(edebug-after (edebug-before 1) 5 (string-match-p "lisp" (edebug-after
(edebug-before 2) 4
(org-element-property :language (edebug-after 0 3 src-block)))))
Reported-by: pva-outdoor@yandex.ru
Link: https://list.orgmode.org/orgmode/87jzn7oz1u.fsf@yandex.ru/
---
lisp/ox-latex.el | 2 +-
lisp/ox-man.el | 10 ++++++----
lisp/ox-odt.el | 2 +-
lisp/ox-texinfo.el | 5 +++--
4 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index d30467aab2..1b0fcb7c44 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -2451,7 +2451,7 @@ contextual information."
(let ((code (org-element-property :value inline-src-block))
(lang (org-element-property :language inline-src-block)))
(pcase (plist-get info :latex-src-block-backend)
- (`verbatim (org-latex--text-markup code 'code info))
+ ((or `verbatim (guard (not lang))) (org-latex--text-markup code 'code
info))
(`minted (org-latex-inline-src-block--minted info code lang))
(`engraved (org-latex-inline-src-block--engraved info code lang))
(`listings (org-latex-inline-src-block--listings info code lang))
diff --git a/lisp/ox-man.el b/lisp/ox-man.el
index 1f296baeb7..5ef4dc63ff 100644
--- a/lisp/ox-man.el
+++ b/lisp/ox-man.el
@@ -510,8 +510,9 @@ contextual information."
(expand-file-name "reshilite" tmpdir)))
(org-lang (org-element-property :language inline-src-block))
(lst-lang
- (cadr (assq (intern org-lang)
- (plist-get info :man-source-highlight-langs))))
+ (and org-lang
+ (cadr (assq (intern org-lang)
+ (plist-get info :man-source-highlight-langs)))))
(cmd (concat (expand-file-name "source-highlight")
" -s " lst-lang
@@ -757,8 +758,9 @@ contextual information."
(code (org-element-property :value src-block))
(org-lang (org-element-property :language src-block))
(lst-lang
- (cadr (assq (intern org-lang)
- (plist-get info :man-source-highlight-langs))))
+ (and org-lang
+ (cadr (assq (intern org-lang)
+ (plist-get info :man-source-highlight-langs)))))
(cmd (concat "source-highlight"
" -s " lst-lang
" -f groff_man "
diff --git a/lisp/ox-odt.el b/lisp/ox-odt.el
index f180660ded..a7323c657c 100644
--- a/lisp/ox-odt.el
+++ b/lisp/ox-odt.el
@@ -3111,7 +3111,7 @@ and prefix with \"OrgSrc\". For example,
(defun org-odt-do-format-code
(code info &optional lang refs retain-labels num-start)
(let* ((lang (or (assoc-default lang org-src-lang-modes) lang))
- (lang-mode (and lang (intern (format "%s-mode" lang))))
+ (lang-mode (if lang (intern (format "%s-mode" lang)) #'ignore))
(code-lines (org-split-string code "\n"))
(code-length (length code-lines))
(use-htmlfontify-p (and (functionp lang-mode)
diff --git a/lisp/ox-texinfo.el b/lisp/ox-texinfo.el
index ed2c3102ee..bd01effaa6 100644
--- a/lisp/ox-texinfo.el
+++ b/lisp/ox-texinfo.el
@@ -1681,8 +1681,9 @@ as a communication channel."
"Transcode a SRC-BLOCK element from Org to Texinfo.
CONTENTS holds the contents of the item. INFO is a plist holding
contextual information."
- (let* ((lisp (string-match-p "lisp"
- (org-element-property :language src-block)))
+ (let* ((lisp (string-match-p
+ "lisp"
+ (or (org-element-property :language src-block) "")))
(code (org-texinfo--sanitize-content
(org-export-format-code-default src-block info)))
(value (format