[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 777c1c3 27/85: Merge branch 'bugfix'
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 777c1c3 27/85: Merge branch 'bugfix' |
Date: |
Mon, 27 Sep 2021 15:57:43 -0400 (EDT) |
branch: externals/org
commit 777c1c3cb5a4a3732c7a1a6b3d731944e39f2aab
Merge: a3c912c ec7c16a
Author: Bastien <bzg@gnu.org>
Commit: Bastien <bzg@gnu.org>
Merge branch 'bugfix'
---
lisp/ox-latex.el | 30 +++++++--------
testing/lisp/test-ox.el | 97 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 111 insertions(+), 16 deletions(-)
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index a049284..3b03c66 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -2994,22 +2994,20 @@ contextual information."
(cond
;; Case 1. No source fontification.
((or (not lang) (not listings))
- (let* ((caption-str (org-latex--caption/label-string src-block info))
- (float-env
- (cond ((string= "multicolumn" float)
- (format "\\begin{figure*}[%s]\n%s%%s\n%s\\end{figure*}"
- (plist-get info :latex-default-figure-position)
- (if caption-above-p caption-str "")
- (if caption-above-p "" caption-str)))
- (caption (concat
- (if caption-above-p caption-str "")
- "%s"
- (if caption-above-p "" (concat "\n"
caption-str))))
- (t "%s"))))
- (format
- float-env
- (concat (format "\\begin{verbatim}\n%s\\end{verbatim}"
- (org-export-format-code-default src-block info))))))
+ (let ((caption-str (org-latex--caption/label-string src-block info))
+ (verbatim (format "\\begin{verbatim}\n%s\\end{verbatim}"
+ (org-export-format-code-default src-block
info))))
+ (cond ((string= "multicolumn" float)
+ (format "\\begin{figure*}[%s]\n%s%s\n%s\\end{figure*}"
+ (plist-get info :latex-default-figure-position)
+ (if caption-above-p caption-str "")
+ verbatim
+ (if caption-above-p "" caption-str)))
+ (caption (concat
+ (if caption-above-p caption-str "")
+ verbatim
+ (if caption-above-p "" (concat "\n" caption-str))))
+ (t verbatim))))
;; Case 2. Custom environment.
(custom-env
(let ((caption-str (org-latex--caption/label-string src-block info))
diff --git a/testing/lisp/test-ox.el b/testing/lisp/test-ox.el
index 3f39645..5455804 100644
--- a/testing/lisp/test-ox.el
+++ b/testing/lisp/test-ox.el
@@ -3907,6 +3907,103 @@ Another text. (ref:text)
(org-export-format-code-default
(org-element-map tree 'src-block #'identity info t) info))))))
+(ert-deftest test-org-export/latex-src-block-verbatim-caption ()
+ "Test `org-latex-src-block' caption for verbatim environment.
+Check that percent sign does not become a part of format.
+This test does not cover listings and custom environments."
+ (let ((export
+ (lambda (buffer-text)
+ (org-test-with-parsed-data
+ buffer-text
+ (let* ((backend (org-export-get-backend 'latex))
+ (info (org-combine-plists
+ (org-export--get-export-attributes backend)
+ (org-export-get-environment backend)))
+ (result (org-latex-src-block
+ (org-element-map tree 'src-block #'identity info t)
+ t info)))
+ ;; Remove properties to make failure reports more clear.
+ (set-text-properties 0 (length result) nil result)
+ result)))))
+
+ (should (equal
+ "\
+\\begin{verbatim}
+\"No float, no listings, 20%S\"
+\\end{verbatim}
+\\captionof{figure}{Caption of verbatim is below, 20\\%s}
+"
+ (funcall export
+ "\
+#+CAPTION: Caption of verbatim is below, 20%s
+#+BEGIN_SRC emacs-lisp
+ \"No float, no listings, 20%S\"
+#+END_SRC")))
+
+ ;; `org-latex-caption-above' has no associated property or keyword.
+ (should (equal
+ "\
+\\captionof{figure}{Caption of verbatim is above, 40\\%s}
+\\begin{verbatim}
+\"No float, no listings, 40%S\"
+\\end{verbatim}"
+ (let ((org-latex-caption-above t))
+ (funcall export
+ "\
+#+CAPTION: Caption of verbatim is above, 40%s
+#+BEGIN_SRC emacs-lisp
+ \"No float, no listings, 40%S\"
+#+END_SRC"))))
+
+ (should (equal
+ "\
+\\begin{figure*}[tp]
+\\caption{Caption is above, 60\\%s}
+\\begin{verbatim}
+\"Float, no listings, 60%S\"
+\\end{verbatim}
+\\end{figure*}"
+ (let ((org-latex-caption-above t)
+ (org-latex-default-figure-position "tp"))
+ (funcall export
+ "\
+#+CAPTION: Caption is above, 60%s
+#+ATTR_LATEX: :float multicolumn
+#+BEGIN_SRC emacs-lisp
+ \"Float, no listings, 60%S\"
+#+END_SRC"))))
+
+ (should (equal
+ "\
+\\begin{figure*}[tp]
+\\begin{verbatim}
+\"Float, no lang, listings, 80%S\"
+\\end{verbatim}
+\\caption{Caption is below, 60\\%s}
+\\end{figure*}"
+ (let ((org-latex-listings 'minted) ; inactive due to missing lang
+ (org-latex-default-figure-position "tp"))
+ ;; Namely "multicolumn" value to get just figure environment
+ ;; looks like a bug.
+ (funcall export
+ "\
+#+CAPTION: Caption is below, 60%s
+#+ATTR_LATEX: :float multicolumn
+#+BEGIN_SRC
+ \"Float, no lang, listings, 80%S\"
+#+END_SRC"))))
+
+ (should (equal
+ "\
+\\begin{verbatim}
+\"No caption, no float, no listings, 100%S\"
+\\end{verbatim}"
+ (funcall export
+ "\
+#+BEGIN_SRC emacs-lisp
+ \"No caption, no float, no listings, 100%S\"
+#+END_SRC")))))
+
;;; Smart Quotes
- [elpa] externals/org 3a77e59 05/85: ox-ascii: Justify correctly with indent-tabs-mode, (continued)
- [elpa] externals/org 3a77e59 05/85: ox-ascii: Justify correctly with indent-tabs-mode, ELPA Syncer, 2021/09/27
- [elpa] externals/org 4271f22 10/85: org-manual: Undo the last change in Shakespeare's verse, ELPA Syncer, 2021/09/27
- [elpa] externals/org 7aeadf2 02/85: Backport commit 3f9f3ba43 from Emacs, ELPA Syncer, 2021/09/27
- [elpa] externals/org ef31364 03/85: ob-tangle: Fix incorrect buff name in org-src edit, ELPA Syncer, 2021/09/27
- [elpa] externals/org c9dc660 11/85: Fix org-babel-header-args:haskell not being an alist, ELPA Syncer, 2021/09/27
- [elpa] externals/org 527da79 18/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27
- [elpa] externals/org e626185 23/85: org-table.el: Fix usage of user-error, ELPA Syncer, 2021/09/27
- [elpa] externals/org 179ae6b 25/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27
- [elpa] externals/org a3c912c 26/85: Fix duplicate logbook entry for repeated tasks, ELPA Syncer, 2021/09/27
- [elpa] externals/org 769a557 28/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27
- [elpa] externals/org 777c1c3 27/85: Merge branch 'bugfix',
ELPA Syncer <=
- [elpa] externals/org 74a5af6 31/85: Fix byte-comp function warnings, ELPA Syncer, 2021/09/27
- [elpa] externals/org 4d1a77a 32/85: org-attach: Fix byte-comp function warning, ELPA Syncer, 2021/09/27
- [elpa] externals/org 18f6ef8 33/85: ox.el: add smart quotes for greek, ELPA Syncer, 2021/09/27
- [elpa] externals/org 1c83f6f 47/85: Allow sexps with nested parenthesis in org-agenda-prefix-format, ELPA Syncer, 2021/09/27
- [elpa] externals/org d3d80c5 46/85: Add test checking org-log-done specs, ELPA Syncer, 2021/09/27
- [elpa] externals/org df51e93 53/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27
- [elpa] externals/org 72c9f1b 43/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27
- [elpa] externals/org acc49d5 41/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27
- [elpa] externals/org 1f3722c 65/85: Backport commit c78e16962 from Emacs, ELPA Syncer, 2021/09/27
- [elpa] externals/org c305bb7 69/85: org-agenda: Allow org-agenda-overriding-header to be a function, ELPA Syncer, 2021/09/27