[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals-release/org 18577a495b: org-persist-register: Fix MISC
From: |
ELPA Syncer |
Subject: |
[elpa] externals-release/org 18577a495b: org-persist-register: Fix MISC argument handling |
Date: |
Sat, 31 Dec 2022 04:58:00 -0500 (EST) |
branch: externals-release/org
commit 18577a495b11f0d7a29ed80124316cc06317d96c
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-persist-register: Fix MISC argument handling
* lisp/org-persist.el (org-persist-register): Document that MISC must
be a plist.
(org-persist--get-collection): Throw an error when MISC is not a
plist. Fix arglist - MISC is now passed explicitly as a single
object.
(org-persist--storage-version): Bump version to avoid obsolete
malformed containers with improperly included MISC.
---
lisp/org-persist.el | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/lisp/org-persist.el b/lisp/org-persist.el
index 0d4f425834..23f678077d 100644
--- a/lisp/org-persist.el
+++ b/lisp/org-persist.el
@@ -161,7 +161,7 @@
(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.
@@ -720,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))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals-release/org 18577a495b: org-persist-register: Fix MISC argument handling,
ELPA Syncer <=