]> git.eshelyaron.com Git - emacs.git/commitdiff
Update to Org 9.6-81-g563a43
authorKyle Meyer <kyle@kyleam.com>
Mon, 2 Jan 2023 03:24:28 +0000 (22:24 -0500)
committerKyle Meyer <kyle@kyleam.com>
Mon, 2 Jan 2023 03:24:28 +0000 (22:24 -0500)
etc/ORG-NEWS
lisp/org/ob-core.el
lisp/org/org-agenda.el
lisp/org/org-cycle.el
lisp/org/org-fold-core.el
lisp/org/org-fold.el
lisp/org/org-macs.el
lisp/org/org-persist.el
lisp/org/org-src.el
lisp/org/org-version.el

index 62c918564d29a0178f68bedd8b0aaf057d009ab2..d610a63b09de7be5f97ea11acaa35199ac21a049 100644 (file)
@@ -24,7 +24,7 @@ the time being.  It will be removed in the next release.
 
 See https://orgmode.org/list/87r0yk7bx8.fsf@localhost for more details.
 
-*** Element cache is enabled by default and work for headings
+*** Element cache is enabled by default and works for headings
 
 The old element cache code has been refactored.  Emacs does not hang
 anymore when the cache is enabled.
index dacf420bd1c79573c0467dd46261f00f6317e543..9bb77f7920b4a9bf2040efa6f9e85629ce967de3 100644 (file)
@@ -2461,13 +2461,18 @@ INFO may provide the values of these header arguments (in the
                    (insert
                     (org-trim
                      (org-list-to-org
+                       ;; We arbitrarily choose to format non-strings
+                       ;; as %S.
                       (cons 'unordered
                             (mapcar
                              (lambda (e)
                                 (cond
                                  ((stringp e) (list e))
                                  ((listp e)
-                                  (mapcar (lambda (x) (format "%S" x)) e))
+                                  (mapcar
+                                   (lambda (x)
+                                     (if (stringp x) x (format "%S" x)))
+                                   e))
                                  (t (list (format "%S" e)))))
                              (if (listp result) result
                                (split-string result "\n" t))))
index 3376dbc11400da080dbefba016be7febb323234e..66b08adf535b9e7dca708cd7451d0e720ccd4320 100644 (file)
@@ -3477,14 +3477,14 @@ This ensures the export commands can easily use it."
       (setq props (plist-put props 'tags (mapconcat #'identity tmp ":"))))
     (when (setq tmp (plist-get props 'date))
       (when (integerp tmp) (setq tmp (calendar-gregorian-from-absolute tmp)))
-      (let ((calendar-date-display-form '(year "-" month "-" day)))
-       '((format "%4d, %9s %2s, %4s" dayname monthname day year))
-
+      (let ((calendar-date-display-form
+             '(year "-" (string-pad month 2 ?0 'left) "-" (string-pad day 2 ?0 'left))))
        (setq tmp (calendar-date-string tmp)))
       (setq props (plist-put props 'date tmp)))
     (when (setq tmp (plist-get props 'day))
       (when (integerp tmp) (setq tmp (calendar-gregorian-from-absolute tmp)))
-      (let ((calendar-date-display-form '(year "-" month "-" day)))
+      (let ((calendar-date-display-form
+             '(year "-" (string-pad month 2 ?0 'left) "-" (string-pad day 2 ?0 'left))))
        (setq tmp (calendar-date-string tmp)))
       (setq props (plist-put props 'day tmp))
       (setq props (plist-put props 'agenda-day tmp)))
@@ -4678,7 +4678,7 @@ is active."
         (org-agenda-text-search-extra-files org-agenda-text-search-extra-files)
         regexp rtn rtnall files file pos inherited-tags
         marker category level tags c neg re boolean
-        ee txt beg end words regexps+ regexps- hdl-only buffer beg1 str)
+        ee txt beg end last-search-end words regexps+ regexps- hdl-only buffer beg1 str)
     (unless (and (not edit-at)
                 (stringp string)
                 (string-match "\\S-" string))
@@ -4817,6 +4817,7 @@ is active."
                      (throw 'nextfile t))
                    (goto-char (max (point-min) (1- (point))))
                    (while (re-search-forward regexp nil t)
+                      (setq last-search-end (point))
                      (org-back-to-heading t)
                      (while (and (not (zerop org-agenda-search-view-max-outline-level))
                                  (> (org-reduced-level (org-outline-level))
@@ -4878,7 +4879,7 @@ is active."
                          'priority 1000
                          'type "search")
                        (push txt ee)
-                       (goto-char (1- end))))))))))
+                       (goto-char (max (1- end) last-search-end))))))))))
        (setq rtn (nreverse ee))
        (setq rtnall (append rtnall rtn)))
       (org-agenda--insert-overriding-header
index f4d84f5058f9424888eed37d02008714fb1355f9..828c84cd0ac9ac5d7a0833aa256027b1773ebc5c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; org-cycle.el --- Visibility cycling of Org entries -*- lexical-binding: t; -*-
 ;;
-;; Copyright (C) 2020, 2023-2020 Free Software Foundation, Inc.
+;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
 ;;
 ;; Maintainer: Ihor Radchenko <yantar92 at gmail dot com>
 ;; Keywords: folding, visibility cycling, invisible text
index 4f737af4ef5f3a033c7518de7da4e9d4124b3917..0855e6f39cedc32d3a26db012a722075b3bdd3bc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; org-fold-core.el --- Folding buffer text -*- lexical-binding: t; -*-
 ;;
-;; Copyright (C) 2020, 2023-2020 Free Software Foundation, Inc.
+;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
 ;;
 ;; Author: Ihor Radchenko <yantar92 at gmail dot com>
 ;; Keywords: folding, invisible text
index 93429bb3025dd11bf166b631422315bfcfe22933..1b7ca22b04462b2ff7152debf08e10c53d774b40 100644 (file)
@@ -1,6 +1,6 @@
 ;;; org-fold.el --- Folding of Org entries -*- lexical-binding: t; -*-
 ;;
-;; Copyright (C) 2020, 2023-2020 Free Software Foundation, Inc.
+;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
 ;;
 ;; Author: Ihor Radchenko <yantar92 at gmail dot com>
 ;; Keywords: folding, invisible text
index b09be05b7c33e4f8ec419292ccba82af17ac331b..72929cdd26c12f56d7e1a070022418ba2b8f13aa 100644 (file)
@@ -74,11 +74,15 @@ Version mismatch is commonly encountered in the following situations:
    loading of the newer Org version.
 
    It is recommended to put
-    (straight-use-package 'org)
+
+    %s
+
    early in the config.  Ideally, right after the straight.el
    bootstrap.  Moving `use-package' :straight declaration may not be
    sufficient if the corresponding `use-package' statement is
-   deferring the loading.")
+   deferring the loading."
+           ;; Avoid `warn' replacing "'" with "’" (see `format-message').
+           "(straight-use-package 'org)")
      (error "Org version mismatch.  Make sure that correct `load-path' is set early in init.el")))
 
 ;; We rely on org-macs when generating Org version.  Checking Org
index 8acf678d427d1eecdfd24870762eb634707db971..c3650c167e26cda20108e1d51509b72e01359d7f 100644 (file)
 (declare-function org-at-heading-p "org" (&optional invisible-not-ok))
 
 
-(defconst org-persist--storage-version "2.7"
+(defconst org-persist--storage-version "3.1"
   "Persistent storage layout version.")
 
 (defgroup org-persist nil
@@ -431,25 +431,27 @@ Return PLIST."
           (when key (remhash (cons cont (list :key key)) org-persist--index-hash))))
       (setq org-persist--index (delq existing org-persist--index)))))
 
-(defun org-persist--get-collection (container &optional associated &rest misc)
+(defun org-persist--get-collection (container &optional associated misc)
   "Return or create collection used to store CONTAINER for ASSOCIATED.
 When ASSOCIATED is nil, it is a global CONTAINER.
 ASSOCIATED can also be a (:buffer buffer) or buffer, (:file file-path)
 or file-path, (:inode inode), (:hash hash), or or (:key key).
-MISC, if non-nil will be appended to the collection."
+MISC, if non-nil will be appended to the collection.  It must be a plist."
   (unless (and (listp container) (listp (car container)))
     (setq container (list container)))
   (setq associated (org-persist--normalize-associated associated))
-  (unless (equal misc '(nil))
-    (setq associated (append associated misc)))
+  (when (and misc (or (not (listp misc)) (= 1 (% (length misc) 2))))
+    (error "org-persist: Not a plist: %S" misc))
   (or (org-persist--find-index
        `( :container ,(org-persist--normalize-container container)
           :associated ,associated))
       (org-persist--add-to-index
-       (list :container (org-persist--normalize-container container)
-             :persist-file
-             (replace-regexp-in-string "^.." "\\&/" (org-id-uuid))
-             :associated associated))))
+       (nconc
+        (list :container (org-persist--normalize-container container)
+              :persist-file
+              (replace-regexp-in-string "^.." "\\&/" (org-id-uuid))
+              :associated associated)
+        misc))))
 
 ;;;; Reading container data.
 
@@ -650,9 +652,10 @@ COLLECTION is the plist holding data collection."
              (file-copy (org-file-name-concat
                          org-persist-directory
                          (format "%s-%s.%s" persist-file (md5 path) ext))))
-        (unless (file-exists-p (file-name-directory file-copy))
-          (make-directory (file-name-directory file-copy) t))
-        (copy-file path file-copy 'overwrite)
+        (unless (file-exists-p file-copy)
+          (unless (file-exists-p (file-name-directory file-copy))
+            (make-directory (file-name-directory file-copy) t))
+          (copy-file path file-copy 'overwrite))
         (format "%s-%s.%s" persist-file (md5 path) ext)))))
 
 (defun org-persist-write:url (c collection)
@@ -719,7 +722,8 @@ last access, or a function accepting a single argument - collection.
 EXPIRY key has no effect when INHERIT is non-nil.
 Optional key WRITE-IMMEDIATELY controls whether to save the container
 data immediately.
-MISC will be appended to CONTAINER.
+MISC will be appended to the collection.  It must be alternating :KEY
+VALUE pairs.
 When WRITE-IMMEDIATELY is non-nil, the return value will be the same
 with `org-persist-write'."
   (unless org-persist--index (org-persist--load-index))
index fd0adadb7a97d7df96d24f5fcb271003d8b19a5c..9e4392811187b1eef9272351d91b8a0a1c1ae0ea 100644 (file)
@@ -629,83 +629,83 @@ Leave point in edit buffer."
   "Fontify code block between START and END using LANG's syntax.
 This function is called by Emacs' automatic fontification, as long
 as `org-src-fontify-natively' is non-nil."
-  (let ((lang-mode (org-src-get-lang-mode lang)))
-    (when (fboundp lang-mode)
-      (let ((string (buffer-substring-no-properties start end))
-           (modified (buffer-modified-p))
-           (org-buffer (current-buffer)))
-       (remove-text-properties start end '(face nil))
-       (with-current-buffer
-           (get-buffer-create
-            (format " *org-src-fontification:%s*" lang-mode))
-         (let ((inhibit-modification-hooks nil))
-           (erase-buffer)
-           ;; Add string and a final space to ensure property change.
-           (insert string " "))
-         (unless (eq major-mode lang-mode) (funcall lang-mode))
-          (font-lock-ensure)
-         (let ((pos (point-min)) next)
-           (while (setq next (next-property-change pos))
-             ;; Handle additional properties from font-lock, so as to
-             ;; preserve, e.g., composition.
-              ;; FIXME: We copy 'font-lock-face property explicitly because
-              ;; `font-lock-mode' is not enabled in the buffers starting from
-              ;; space and the remapping between 'font-lock-face and 'face
-              ;; text properties may thus not be set.  See commit
-              ;; 453d634bc.
-             (dolist (prop (append '(font-lock-face face) font-lock-extra-managed-props))
-               (let ((new-prop (get-text-property pos prop)))
-                  (when new-prop
-                    (if (not (eq prop 'invisible))
-                       (put-text-property
-                        (+ start (1- pos)) (1- (+ start next)) prop new-prop
-                        org-buffer)
-                      ;; Special case.  `invisible' text property may
-                      ;; clash with Org folding.  Do not assign
-                      ;; `invisible' text property directly.  Use
-                      ;; property alias instead.
-                      (let ((invisibility-spec
-                             (or
-                              ;; ATOM spec.
-                              (and (memq new-prop buffer-invisibility-spec)
-                                   new-prop)
-                              ;; (ATOM . ELLIPSIS) spec.
-                              (assq new-prop buffer-invisibility-spec))))
-                        (with-current-buffer org-buffer
-                          ;; Add new property alias.
-                          (unless (memq 'org-src-invisible
-                                        (cdr (assq 'invisible char-property-alias-alist)))
-                            (setq-local
-                             char-property-alias-alist
-                             (cons (cons 'invisible
-                                        (nconc (cdr (assq 'invisible char-property-alias-alist))
-                                                '(org-src-invisible)))
-                                  (remove (assq 'invisible char-property-alias-alist)
-                                          char-property-alias-alist))))
-                          ;; Carry over the invisibility spec, unless
-                          ;; already present.  Note that there might
-                          ;; be conflicting invisibility specs from
-                          ;; different major modes.  We cannot do much
-                          ;; about this then.
-                          (when invisibility-spec
-                            (add-to-invisibility-spec invisibility-spec))
-                          (put-text-property
-                          (+ start (1- pos)) (1- (+ start next))
-                           'org-src-invisible new-prop
-                          org-buffer)))))))
-             (setq pos next)))
-          (set-buffer-modified-p nil))
-       ;; Add Org faces.
-       (let ((src-face (nth 1 (assoc-string lang org-src-block-faces t))))
-          (when (or (facep src-face) (listp src-face))
-            (font-lock-append-text-property start end 'face src-face))
-         (font-lock-append-text-property start end 'face 'org-block))
-        ;; Clear abbreviated link folding.
-        (org-fold-region start end nil 'org-link)
-       (add-text-properties
-        start end
-        '(font-lock-fontified t fontified t font-lock-multiline t))
-       (set-buffer-modified-p modified)))))
+  (let ((modified (buffer-modified-p)))
+    (remove-text-properties start end '(face nil))
+    (let ((lang-mode (org-src-get-lang-mode lang)))
+      (when (fboundp lang-mode)
+        (let ((string (buffer-substring-no-properties start end))
+             (org-buffer (current-buffer)))
+         (with-current-buffer
+             (get-buffer-create
+              (format " *org-src-fontification:%s*" lang-mode))
+           (let ((inhibit-modification-hooks nil))
+             (erase-buffer)
+             ;; Add string and a final space to ensure property change.
+             (insert string " "))
+           (unless (eq major-mode lang-mode) (funcall lang-mode))
+            (font-lock-ensure)
+           (let ((pos (point-min)) next)
+             (while (setq next (next-property-change pos))
+               ;; Handle additional properties from font-lock, so as to
+               ;; preserve, e.g., composition.
+                ;; FIXME: We copy 'font-lock-face property explicitly because
+                ;; `font-lock-mode' is not enabled in the buffers starting from
+                ;; space and the remapping between 'font-lock-face and 'face
+                ;; text properties may thus not be set.  See commit
+                ;; 453d634bc.
+               (dolist (prop (append '(font-lock-face face) font-lock-extra-managed-props))
+                 (let ((new-prop (get-text-property pos prop)))
+                    (when new-prop
+                      (if (not (eq prop 'invisible))
+                         (put-text-property
+                          (+ start (1- pos)) (1- (+ start next)) prop new-prop
+                          org-buffer)
+                        ;; Special case.  `invisible' text property may
+                        ;; clash with Org folding.  Do not assign
+                        ;; `invisible' text property directly.  Use
+                        ;; property alias instead.
+                        (let ((invisibility-spec
+                               (or
+                                ;; ATOM spec.
+                                (and (memq new-prop buffer-invisibility-spec)
+                                     new-prop)
+                                ;; (ATOM . ELLIPSIS) spec.
+                                (assq new-prop buffer-invisibility-spec))))
+                          (with-current-buffer org-buffer
+                            ;; Add new property alias.
+                            (unless (memq 'org-src-invisible
+                                          (cdr (assq 'invisible char-property-alias-alist)))
+                              (setq-local
+                               char-property-alias-alist
+                               (cons (cons 'invisible
+                                          (nconc (cdr (assq 'invisible char-property-alias-alist))
+                                                  '(org-src-invisible)))
+                                    (remove (assq 'invisible char-property-alias-alist)
+                                            char-property-alias-alist))))
+                            ;; Carry over the invisibility spec, unless
+                            ;; already present.  Note that there might
+                            ;; be conflicting invisibility specs from
+                            ;; different major modes.  We cannot do much
+                            ;; about this then.
+                            (when invisibility-spec
+                              (add-to-invisibility-spec invisibility-spec))
+                            (put-text-property
+                            (+ start (1- pos)) (1- (+ start next))
+                             'org-src-invisible new-prop
+                            org-buffer)))))))
+               (setq pos next)))
+            (set-buffer-modified-p nil)))))
+    ;; Add Org faces.
+    (let ((src-face (nth 1 (assoc-string lang org-src-block-faces t))))
+      (when (or (facep src-face) (listp src-face))
+        (font-lock-append-text-property start end 'face src-face))
+      (font-lock-append-text-property start end 'face 'org-block))
+    ;; Clear abbreviated link folding.
+    (org-fold-region start end nil 'org-link)
+    (add-text-properties
+     start end
+     '(font-lock-fontified t fontified t font-lock-multiline t))
+    (set-buffer-modified-p modified)))
 
 (defun org-fontify-inline-src-blocks (limit)
   "Try to apply `org-fontify-inline-src-blocks-1'."
index a0016265f029f3746a10b3f9aaebdb20b59853c5..dd6d92d8e586be742ea11f0e5545024d65cc0ec4 100644 (file)
@@ -11,7 +11,7 @@ Inserted by installing Org mode or when a release is made."
 (defun org-git-version ()
   "The Git version of Org mode.
 Inserted by installing Org or when a release is made."
-   (let ((org-git-version "release_9.6-61-g63e073f"))
+   (let ((org-git-version "release_9.6-81-g563a43"))
      org-git-version))
 \f
 (provide 'org-version)