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

    lisp/ol.el: Make `org-link-get-parameter' a valid PLACE for `setf'
    
    * lisp/ol.el (org-link-get-parameter): Define setter.  This allows
    modifying link parameters with `setf' and altering them via
    `add-function'.
    
    Link: 
https://orgmode.org/list/a123389c-8f86-4836-a4fe-1e3f4281d...@app.fastmail.com
---
 lisp/ol.el | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lisp/ol.el b/lisp/ol.el
index fa16b59200..1a6a844475 100644
--- a/lisp/ol.el
+++ b/lisp/ol.el
@@ -923,6 +923,13 @@ PARAMETERS should be keyword value pairs.  See
       (org-link-make-regexps)
       (when (featurep 'org-element) (org-element-update-syntax)))))
 
+;; This way, one can add multiple functions as, say, :follow parameter.
+;; For example,
+;; (add-function :before-until (org-link-get-parameter "id" :follow) 
#'my-function)
+;; See 
https://orgmode.org/list/a123389c-8f86-4836-a4fe-1e3f4281d...@app.fastmail.com
+(gv-define-setter org-link-get-parameter (value type key)
+  `(org-link-set-parameters ,type ,key ,value))
+
 (defun org-link-make-regexps ()
   "Update the link regular expressions.
 This should be called after the variable `org-link-parameters' has changed."

Reply via email to