Fix compatibility with Emacs 27

* lisp/org-compat.el: Remove `length>' alias
* lisp/org-element.el (org-element-cache-map): Suppress compiler
warning.
* lisp/org-persist.el (org-persist-register): Do not `push' into
`plist-get'.  Not supported yet in Emacs 27.
(org-persist-unregister): Do not use `length>'.  Use
`org-directory-empty-p'.
(org-persist-gc): Use `org-directory-empty-p'.
This commit is contained in:
Ihor Radchenko 2021-10-17 11:44:02 +08:00
parent abe7222ed8
commit 07ca988bb4
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
3 changed files with 7 additions and 10 deletions

View File

@ -75,12 +75,6 @@
;;; Emacs < 28.1 compatibility
(if (fboundp 'length>)
(defalias 'org-length> #'length>)
(defun org-length> (sequence length)
"Return non-nil if SEQUENCE is longer than LENGTH."
(> (length sequence) length)))
(if (fboundp 'file-name-concat)
(defalias 'org-file-name-concat #'file-name-concat)
(defun org-file-name-concat (directory &rest components)

View File

@ -7058,6 +7058,7 @@ of FUNC. Changes to elements made in FUNC will also alter the cache."
(inhibit-message t))
(condition-case nil
(if (and (fboundp 'native-comp-available-p)
(fboundp 'native-compile)
(native-comp-available-p))
;; Use native compilation to even better
;; performance.

View File

@ -110,7 +110,9 @@ dependency means that data shared between variables will be preserved
(when inherit
(let ((inherited-index (org-persist--get-index inherit buffer)))
(unless (memq var (plist-get inherited-index :variable))
(push var (plist-get inherited-index :variable)))))
(setq inherited-index
(plist-put inherited-index :variable
(cons var (plist-get inherited-index :variable)))))))
(org-persist--get-index var buffer)
(when buffer
(add-hook 'kill-buffer-hook #'org-persist-write-all-buffer 1000 'local)))
@ -128,7 +130,7 @@ When BUFFER is `all', unregister VAR in all buffers."
(or (buffer-base-buffer buffer)
buffer))
(plist-get plist :path))))
(if (length> (plist-get plist :variable) 1)
(if (> (length (plist-get plist :variable)) 1)
(progn
(setq plist
(plist-put plist :variable
@ -137,7 +139,7 @@ When BUFFER is `all', unregister VAR in all buffers."
nil)
(let ((persist-file (org-file-name-concat org-persist-path (plist-get plist :persist-file))))
(delete-file persist-file)
(when (directory-empty-p (file-name-directory persist-file))
(when (org-directory-empty-p (file-name-directory persist-file))
(delete-directory (file-name-directory persist-file))))
'delete-from-index)))
org-persist--index))
@ -249,7 +251,7 @@ When BUFFER is `all', unregister VAR in all buffers."
(push index new-index)
(when (file-exists-p persist-file)
(delete-file persist-file)
(when (directory-empty-p (file-name-directory persist-file))
(when (org-directory-empty-p (file-name-directory persist-file))
(delete-directory (file-name-directory persist-file)))))))
(setq org-persist--index (nreverse new-index))))