From 205d9528b3a9a2f49f13bd9689ccd625a26c0818 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 22 Jan 2026 00:45:30 -0800 Subject: [PATCH] [Emacs] Make hydra-yank work with non-file buffers Add imalison:buffer-file-name-or-directory helper that falls back to default-directory when buffer-file-name is nil. This allows the yank hydra to work with magit buffers and other buffers associated with a directory but not visiting a file. Co-Authored-By: Claude Opus 4.5 --- dotfiles/emacs.d/README.org | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index 125e98f6..12d60284 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -776,8 +776,14 @@ A macro for composing functions together to build an interactive command to copy #+END_SRC *** Copy portions of the buffer file name #+BEGIN_SRC emacs-lisp +(defun imalison:buffer-file-name-or-directory () + "Return `buffer-file-name' if available, otherwise `default-directory'. +This allows copy functions to work with buffers like magit that +aren't visiting a file but are associated with a directory." + (or buffer-file-name default-directory)) + (defmacro imalison:copy-buffer-file-path-builder (&rest args) - `(imalison:compose-copy-builder ,@args buffer-file-name)) + `(imalison:compose-copy-builder ,@args imalison:buffer-file-name-or-directory)) (imalison:copy-buffer-file-path-builder imalison:copy-buffer-file-path-full) (imalison:copy-buffer-file-path-builder imalison:copy-buffer-file-name