]> git.eshelyaron.com Git - emacs.git/commitdiff
Make `yank-transform-functions` a proper hook
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 24 May 2022 16:29:54 +0000 (12:29 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 24 May 2022 16:29:54 +0000 (12:29 -0400)
* lisp/subr.el (insert-for-yank): Use `run-hook-wrapped` to run
`yank-transform-functions`.
* lisp/simple.el (yank-transform-functions): Adjust accordingly.

lisp/emacs-lisp/package.el
lisp/simple.el
lisp/subr.el

index 3a05005fb5701cb5a3009ef93cc5aeb0da1c5473..8ddaa9f41d373b868d4070d8a91f7fba0dacb7e7 100644 (file)
@@ -4284,7 +4284,7 @@ activations need to be changed, such as when `package-load-list' is modified."
                   (locate-library (package--autoloads-file-name pkg))))
                (pfile (prin1-to-string file)))
           (insert "(let ((load-true-file-name " pfile ")\
-(load-file-name " pfile "))\n")
+\(load-file-name " pfile "))\n")
           (insert-file-contents file)
           ;; Fixup the special #$ reader form and throw away comments.
           (while (re-search-forward "#\\$\\|^;\\(.*\n\\)" nil 'move)
index 1efd900030e19904889fd14280b8998b5e3bf470..3318ac4731c7529206477a3b7977ed50286dcbb2 100644 (file)
@@ -5947,14 +5947,14 @@ See also `yank-handled-properties'."
   :version "24.3")
 
 (defcustom yank-transform-functions nil
-  "List of functions to run on strings to be yanked.
+  "Hook run on strings to be yanked.
 Each function in this list will be called (in order) with the
 string to be yanked as the sole argument, and should return the (possibly)
 transformed string.
 
 The functions will be called with the destination buffer as the current
 buffer, and with point at the place where the string is to be inserted."
-  :type '(repeat function)
+  :type 'hook
   :version "29.1"
   :group 'killing)
 
index adcbd94744edbeaeff8e0b2c8195b0e0af4a9288..0b415d8b2c5deba52130d2849e6416cab480058e 100644 (file)
@@ -4083,8 +4083,8 @@ This function is like `insert', except it honors the variables
 
 It also runs the string through `yank-transform-functions'."
   ;; Allow altering the yank string.
-  (dolist (func yank-transform-functions)
-    (setq string (funcall func string)))
+  (run-hook-wrapped 'yank-transform-functions
+                    (lambda (f) (setq string (funcall f string))))
   (let (to)
     (while (setq to (next-single-property-change 0 'yank-handler string))
       (insert-for-yank-1 (substring string 0 to))