branch: externals/embark commit e8e412f301577fe7302a9f23f0545bf416afdd4c Merge: e1bec660d1 69cb685a07 Author: Omar AntolĂn Camarena <omar.anto...@gmail.com> Commit: GitHub <nore...@github.com>
Merge pull request #765 from minad/uniquify-orig-buffer Add `embark--uniquify-orig-buffer` --- embark.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/embark.el b/embark.el index 380f6a4131..22984ea9ca 100644 --- a/embark.el +++ b/embark.el @@ -207,6 +207,7 @@ Each function should take no arguments and return one of: (project-file . embark--project-file-full-path) (package . embark--remove-package-version) (multi-category . embark--refine-multi-category) + (buffer . embark--uniquify-orig-buffer) (file . embark--simplify-path)) "Alist associating type to functions for transforming targets. Each function should take a type and a target string and return a @@ -2160,6 +2161,14 @@ minibuffer before executing the action." (setq prefix-arg nil) (if quit (embark--quit-and-run run-action) (funcall run-action))))) +(defun embark--uniquify-orig-buffer (_type target) + "Return `uniquify-orig-buffer' property of TARGET. +Used by `project--read-project-buffer' on Emacs 31." + (cons 'buffer + (if-let ((buf (get-text-property 0 'uniquify-orig-buffer target))) + (buffer-name buf) + target))) + (defun embark--refine-multi-category (_type target) "Refine `multi-category' TARGET to its actual type." (or (let ((mc (get-text-property 0 'multi-category target)))