diff lisp/buff-menu.el @ 3162:6e11554a16aa

[xemacs-hg @ 2005-12-23 11:40:32 by stephent] Add rename function to buffer mode. <87hd902gcp.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Fri, 23 Dec 2005 11:40:39 +0000
parents 79940b592197
children f00192e1cd49 308d34e9f07d
line wrap: on
line diff
--- a/lisp/buff-menu.el	Fri Dec 23 11:33:39 2005 +0000
+++ b/lisp/buff-menu.el	Fri Dec 23 11:40:39 2005 +0000
@@ -91,6 +91,7 @@
   (define-key Buffer-menu-mode-map "k" 'Buffer-menu-delete)
   (define-key Buffer-menu-mode-map "\C-d" 'Buffer-menu-delete-backwards)
   (define-key Buffer-menu-mode-map "\C-k" 'Buffer-menu-delete)
+  (define-key Buffer-menu-mode-map "r" 'Buffer-menu-rename)
   (define-key Buffer-menu-mode-map "x" 'Buffer-menu-execute)
   (define-key Buffer-menu-mode-map " " 'next-line)
   (define-key Buffer-menu-mode-map "n" 'next-line)
@@ -261,6 +262,18 @@
   (while (looking-at " [-M]")
     (forward-line 1)))
 
+(defun Buffer-menu-rename (newname unique)
+  "Rename buffer on this line to NEWNAME, immediately.
+If given a prefix argument, automatically uniquify.  See `rename-buffer'."
+  (interactive "sNew name for buffer: \np")
+  (beginning-of-line)
+  (if (looking-at " [-M]")		;header lines
+      (ding)
+    (save-excursion
+      (set-buffer (Buffer-menu-buffer t))
+      (rename-buffer newname unique))
+    (revert-buffer)))
+
 (defun Buffer-menu-save ()
   "Mark buffer on this line to be saved by \\<Buffer-menu-mode-map>\\[Buffer-menu-execute] command."
   (interactive)