javascript-generic-mode: Added C style block comment as used in ECMA-262
[bpt/emacs.git] / lisp / ebuff-menu.el
index 730f7f4..3d2f87b 100644 (file)
@@ -3,6 +3,8 @@
 ;; Copyright (C) 1985, 1986, 1994 Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik <mly@ai.mit.edu>
+;; Maintainer: FSF
+;; Keywords: convenience
 
 ;; This file is part of GNU Emacs.
 
@@ -56,12 +58,13 @@ Calls value of `electric-buffer-menu-mode-hook' on entry if non-nil.
   (interactive "P")
   (let (select buffer)
     (save-window-excursion
-      (save-window-excursion (list-buffers arg))
-      (setq buffer (window-buffer (Electric-pop-up-window "*Buffer List*")))
+      (setq buffer (list-buffers-noselect arg))
+      (Electric-pop-up-window buffer)
       (unwind-protect
          (progn
            (set-buffer buffer)
            (Electric-buffer-menu-mode)
+           (electric-buffer-update-highlight)
            (setq select
                  (catch 'electric-buffer-menu-select
                    (message "<<< Press Return to bury the buffer list >>>")
@@ -114,7 +117,8 @@ Calls value of `electric-buffer-menu-mode-hook' on entry if non-nil.
         (goto-char (point-max))
         (forward-line -1)
         (if (pos-visible-in-window-p (point-max))
-            (recenter -1)))))
+            (recenter -1))))
+  (electric-buffer-update-highlight))
 
 (put 'Electric-buffer-menu-mode 'mode-class 'special)
 (defun Electric-buffer-menu-mode ()
@@ -158,10 +162,9 @@ electric-buffer-menu-mode-hook if it is non-nil."
 (put 'Electric-buffer-menu-undefined 'suppress-keymap t)
 (if electric-buffer-menu-mode-map
     nil
-  (let ((map (make-keymap)) (submap (make-keymap)))
+  (let ((map (make-keymap)))
     (fillarray (car (cdr map)) 'Electric-buffer-menu-undefined)
-    (define-key map "\e" submap)
-    (fillarray (car (cdr submap)) 'Electric-buffer-menu-undefined)
+    (define-key map "\e" nil)
     (define-key map "\C-z" 'suspend-emacs)
     (define-key map "v" 'Electric-buffer-menu-mode-view-buffer)
     (define-key map (char-to-string help-char) 'Helper-help)
@@ -262,6 +265,18 @@ Returns to Electric Buffer Menu when done."
       (message "Buffer %s does not exist!" bufnam)
       (sit-for 4))))
 
+(defvar electric-buffer-overlay nil)
+(defun electric-buffer-update-highlight ()
+  ;; Make sure we have an overlay to use.
+  (or electric-buffer-overlay
+      (progn
+        (make-local-variable 'electric-buffer-overlay)
+        (setq electric-buffer-overlay (make-overlay (point) (point)))))
+  (move-overlay electric-buffer-overlay
+                (save-excursion (beginning-of-line) (point))
+                (save-excursion (end-of-line) (point)))
+  (overlay-put electric-buffer-overlay 'face 'highlight))
+
 (provide 'ebuff-menu)
 
 ;;; ebuff-menu.el ends here