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

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

[elpa] externals/org 1c83f6f 47/85: Allow sexps with nested parenthesis


From: ELPA Syncer
Subject: [elpa] externals/org 1c83f6f 47/85: Allow sexps with nested parenthesis in org-agenda-prefix-format
Date: Mon, 27 Sep 2021 15:57:47 -0400 (EDT)

branch: externals/org
commit 1c83f6fa02eac3ce95e99583210a315afc579710
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Bastien <bzg@gnu.org>

    Allow sexps with nested parenthesis in org-agenda-prefix-format
    
    * lisp/org-agenda.el (org-compile-prefix-format): Use `read' instead
    of pure regexp matching to determine bounds of %(sexp) expressions in
    `org-agenda-prefix-format'.
    
    Fixes https://orgmode.org/list/87fsy8yi1e.fsf@localhost/
---
 lisp/org-agenda.el | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 4ee3623..02c13ff 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -6947,7 +6947,7 @@ and stored in the variable `org-prefix-format-compiled'."
                  (and (string-match "\\.[0-9]+" x)
                       (string-to-number (substring (match-string 0 x) 1)))))))
       (if (eq var 'eval)
-         (setq varform `(format ,f (org-eval ,(read (match-string 4 s)))))
+         (setq varform `(format ,f (org-eval ,(read (substring s 
(match-beginning 4))))))
        (if opt
            (setq varform
                  `(if (member ,var '("" nil))
@@ -6956,7 +6956,12 @@ and stored in the variable `org-prefix-format-compiled'."
          (setq varform
                `(format ,f (if (member ,var '("" nil)) ""
                              (concat ,var ,c (get-text-property 0 'extra-space 
,var)))))))
-      (setq s (replace-match "%s" t nil s))
+      (if (eq var 'eval)
+          (setf (substring s (match-beginning 0)
+                           (+ (match-beginning 4)
+                              (length (format "%S" (read (substring s 
(match-beginning 4)))))))
+                "%s")
+        (setq s (replace-match "%s" t nil s)))
       (push varform vars))
     (setq vars (nreverse vars))
     (with-current-buffer (or org-agenda-buffer (current-buffer))



reply via email to

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