From: Tino Calancha Date: Tue, 23 Feb 2016 09:12:59 +0000 (+1100) Subject: Completely ignore buffers with no name when copying file names X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/b8dfc7beeb49d3fe673966f630126a38397e8d78 Completely ignore buffers with no name when copying file names * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely ignore buffers with no file name. (bug#21577). --- diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 1d6182596e..aa3ccbd40f 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -1412,20 +1412,23 @@ You can then feed the file name(s) to other commands with \\[yank]." (ibuffer-map-marked-lines #'(lambda (buf _mark) (setq ibuffer-copy-filename-as-kill-result - (concat ibuffer-copy-filename-as-kill-result - (let ((name (buffer-file-name buf))) - (if name - (pcase type - (`full - name) - (`relative - (file-relative-name - name (or ibuffer-default-directory - default-directory))) - (_ - (file-name-nondirectory name))) - "")) - " ")))) + (concat ibuffer-copy-filename-as-kill-result + (let ((name (buffer-file-name buf))) + (cond (name + (concat + (pcase type + (`full + name) + (`relative + (file-relative-name + name (or ibuffer-default-directory + default-directory))) + (_ + (file-name-nondirectory name))) " ")) + (t ""))))))) + (when (not (zerop (length ibuffer-copy-filename-as-kill-result))) + (setq ibuffer-copy-filename-as-kill-result + (substring ibuffer-copy-filename-as-kill-result 0 -1))) (kill-new ibuffer-copy-filename-as-kill-result)))) (defun ibuffer-mark-on-buffer (func &optional ibuffer-mark-on-buffer-mark group)