branch: externals/org
commit 73485aa06340109b10cb97be034689a2bce06c03
Author: Ihor Radchenko <yanta...@posteo.net>
Commit: Ihor Radchenko <yanta...@posteo.net>

    org-element-parse-secondary-string: Fix Emacs 27 compatibility
    
    * lisp/org-compat.el (org-get-buffer-create): Add compatibility
    function.
    * lisp/org-element.el (org-element-parse-secondary-string):
    * lisp/org-id.el (org-id-find-id-in-file): Use it.
    
    Reported-by: Yasushi SHOJI <yasushi.sh...@gmail.com>
    Link: 
https://orgmode.org/list/CAELBRWJUQ=kupubyev_w9dqemyknn3400t+w4_q69ehnp-k...@mail.gmail.com
---
 lisp/org-compat.el  | 8 ++++++++
 lisp/org-element.el | 2 +-
 lisp/org-id.el      | 5 +----
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/lisp/org-compat.el b/lisp/org-compat.el
index 1158baf7d8..0c10c67224 100644
--- a/lisp/org-compat.el
+++ b/lisp/org-compat.el
@@ -161,6 +161,14 @@ back to `window-text-pixel-size' otherwise."
 
 ;;; Emacs < 28.1 compatibility
 
+(if (= 2 (cdr (subr-arity (symbol-function 'get-buffer-create))))
+    ;; Emacs >27.
+    (defalias 'org-get-buffer-create #'get-buffer-create)
+  (defun org-get-buffer-create (buffer-or-name &optional _)
+    "Call `get-buffer-create' with BUFFER-OR-NAME argument.
+Ignore optional argument."
+    (get-buffer-create buffer-or-name)))
+
 (if (fboundp 'file-name-concat)
     (defalias 'org-file-name-concat #'file-name-concat)
   (defun org-file-name-concat (directory &rest components)
diff --git a/lisp/org-element.el b/lisp/org-element.el
index c6f96b89db..5fd5b5d271 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -4900,7 +4900,7 @@ If STRING is the empty string or nil, return nil."
    ((equal string "") nil)
    (t (let (rtn)
        (org-element-with-buffer-copy
-         :to-buffer (get-buffer-create " *Org parse*" t)
+         :to-buffer (org-get-buffer-create " *Org parse*" t)
          :drop-contents t
          :drop-visibility t
          :drop-narrowing t
diff --git a/lisp/org-id.el b/lisp/org-id.el
index 463bd831cb..fbe6a0ed0f 100644
--- a/lisp/org-id.el
+++ b/lisp/org-id.el
@@ -677,10 +677,7 @@ optional argument MARKERP, return the position as a new 
marker."
     (let* ((visiting (find-buffer-visiting file))
           (buffer (or visiting
                        (if markerp (find-file-noselect file)
-                         (if (<= 2 (cdr (func-arity #'get-buffer-create)))
-                             (with-no-warnings (get-buffer-create " *Org ID 
temp*" t))
-                           ;; FIXME: Emacs 27 does not yet have second 
argument.
-                           (get-buffer-create " *Org ID temp*"))))))
+                         (org-get-buffer-create " *Org ID temp*" t)))))
       (unwind-protect
          (with-current-buffer buffer
             (unless (derived-mode-p 'org-mode) (org-mode))

Reply via email to