emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org 0227e12605 1/2: org-babel-read: Read quotes strings


From: ELPA Syncer
Subject: [elpa] externals/org 0227e12605 1/2: org-babel-read: Read quotes strings ignoring leading/trailing newlines
Date: Sat, 4 May 2024 15:58:31 -0400 (EDT)

branch: externals/org
commit 0227e12605ef377698d38dc614f8697d382b973c
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    org-babel-read: Read quotes strings ignoring leading/trailing newlines
    
    * lisp/ob-core.el (org-babel-read): When reading "string", ignore
    leading/trailing newlines in addition to spaces.
    * testing/lisp/test-ob.el (test-ob/org-babel-read): Add more tests.
    
    Reported-by: Max Nikulin <manikulin@gmail.com>
    Link: https://orgmode.org/list/v15lva$hhl$1@ciao.gmane.io
---
 lisp/ob-core.el         | 4 ++--
 testing/lisp/test-ob.el | 6 +++++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 082e9bd9e9..3d975bec24 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -3363,9 +3363,9 @@ situations in which is it not appropriate."
        ((let (read-val)
            (save-match-data
              (and (string-match
-                   (rx bos (0+ space)
+                   (rx bos (0+ (any space ?\n))
                        ?\" (0+ anychar) ?\"
-                       (0+ space) eos)
+                       (0+ (any space ?\n)) eos)
                    cell)
                   ;; CELL is a single string
                   (with-temp-buffer
diff --git a/testing/lisp/test-ob.el b/testing/lisp/test-ob.el
index 30ce2875c6..544e68267c 100644
--- a/testing/lisp/test-ob.el
+++ b/testing/lisp/test-ob.el
@@ -2554,6 +2554,7 @@ abc
     (should (equal 1.2 (org-babel-read "1.2" inhibit)))
     ;; Allow whitespace
     (should (equal 1 (org-babel-read " 1 " inhibit)))
+    (should (equal 1 (org-babel-read " 1\n" inhibit)))
     ;; Not a number
     (should-not (equal 1 (org-babel-read "1foo" inhibit)))
     ;; Empty string
@@ -2598,12 +2599,15 @@ abc
         (org-babel-read "*this*" inhibit))))
     ;; Special case: data inside quotes
     (should (equal "foo" (org-babel-read " \"foo\" " inhibit)))
+    (should (equal "foo" (org-babel-read " \"foo\"\n" inhibit)))
     (should (equal "foo with\" inside" (org-babel-read " \"foo with\\\" 
inside\" " inhibit)))
     (should (equal "abc\nsdf" (org-babel-read "\"abc\nsdf\"" inhibit)))
     (should (equal "foo" (org-babel-read "\"foo\"" inhibit)))
     (should (equal "\"foo\"(\"bar\"" (org-babel-read "\"foo\"(\"bar\"" 
inhibit)))
     ;; Unpaired quotes
-    (should (equal "\"foo\"\"bar\"" (org-babel-read "\"foo\"\"bar\"" 
inhibit)))))
+    (should (equal "\"foo\"\"bar\"" (org-babel-read "\"foo\"\"bar\"" inhibit)))
+    ;; Recover from `read' parsing errors.
+    (org-babel-read "\"Quoted closing quote:\\\"" inhibit)))
 
 (ert-deftest test-ob/demarcate-block-split-duplication ()
   "Test duplication of language, body, switches, and headers in splitting."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]