]> code.delx.au - gnu-emacs/blobdiff - lisp/progmodes/ebrowse.el
Merge from emacs--rel--22
[gnu-emacs] / lisp / progmodes / ebrowse.el
index 29f1036b1bb371161b8e033d2ea057bd78316e9a..3fe83d9ead589589a56282d2883804af8df8c3c8 100644 (file)
@@ -1,7 +1,7 @@
 ;;; ebrowse.el --- Emacs C++ class browser & tags facility
 
 ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-;; 2002, 2003, 2004, 2005, 2006
+;; 2002, 2003, 2004, 2005, 2006, 2007
 ;; Free Software Foundation Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
@@ -12,7 +12,7 @@
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
@@ -896,10 +896,10 @@ this is the first progress message displayed."
   (let (message-log-max)
     (when start (setq ebrowse-n-boxes 0))
     (setq ebrowse-n-boxes (mod (1+ ebrowse-n-boxes) ebrowse-max-boxes))
-    (message (concat title ": "
-                    (propertize (make-string ebrowse-n-boxes
-                                             (if (display-color-p) ?\  ?+))
-                                'face 'ebrowse-progress)))))
+    (message "%s: %s" title
+            (propertize (make-string ebrowse-n-boxes
+                                     (if (display-color-p) ?\  ?+))
+                        'face 'ebrowse-progress))))
 
 \f
 ;;; Reading a tree from disk
@@ -1003,7 +1003,7 @@ type `ebrowse-hs' is set to the resulting obarray."
 
 
 (defun ebrowse-member-table (header)
-  "Return the member obarray.  Build it it hasn't been set up yet.
+  "Return the member obarray.  Build it if it hasn't been set up yet.
 HEADER is the tree header structure of the class tree."
   (when (null (ebrowse-hs-member-table header))
     (loop for buffer in (ebrowse-browser-buffer-list)
@@ -1139,6 +1139,7 @@ Tree mode key bindings:
 
     (kill-all-local-variables)
     (use-local-map ebrowse-tree-mode-map)
+    (buffer-disable-undo)
 
     (unless (zerop (buffer-size))
       (goto-char (point-min))
@@ -1148,15 +1149,15 @@ Tree mode key bindings:
       (erase-buffer)
       (message nil))
 
-    (mapcar 'make-local-variable
-           '(ebrowse--tags-file-name
-             ebrowse--indentation
-             ebrowse--tree
-             ebrowse--header
-             ebrowse--show-file-names-flag
-             ebrowse--frozen-flag
-             ebrowse--tree-obarray
-             revert-buffer-function))
+    (mapc 'make-local-variable
+         '(ebrowse--tags-file-name
+           ebrowse--indentation
+           ebrowse--tree
+           ebrowse--header
+           ebrowse--show-file-names-flag
+           ebrowse--frozen-flag
+           ebrowse--tree-obarray
+           revert-buffer-function))
 
     (setf ebrowse--show-file-names-flag nil
          ebrowse--tree-obarray (make-vector 127 0)
@@ -1638,10 +1639,10 @@ and possibly kill the viewed buffer."
       (setq original-frame-configuration ebrowse--frame-configuration
            exit-action ebrowse--view-exit-action))
     ;; Delete the frame in which we viewed.
-    (mapcar 'delete-frame
-           (loop for frame in (frame-list)
-                 when (not (assq frame original-frame-configuration))
-                 collect frame))
+    (mapc 'delete-frame
+         (loop for frame in (frame-list)
+            when (not (assq frame original-frame-configuration))
+            collect frame))
     (when exit-action
       (funcall exit-action buffer))))
 
@@ -2256,28 +2257,28 @@ See 'Electric-command-loop' for a description of STATE and CONDITION."
   (kill-all-local-variables)
   (use-local-map ebrowse-member-mode-map)
   (setq major-mode 'ebrowse-member-mode)
-  (mapcar 'make-local-variable
-         '(ebrowse--decl-column        ;display column
-           ebrowse--n-columns          ;number of short columns
-           ebrowse--column-width       ;width of columns above
-           ebrowse--show-inherited-flag ;include inherited members?
-           ebrowse--filters            ;public, protected, private
-           ebrowse--accessor           ;vars, functions, friends
-           ebrowse--displayed-class    ;class displayed
-           ebrowse--long-display-flag  ;display with regexps?
-           ebrowse--source-regexp-flag ;show source regexp?
-           ebrowse--attributes-flag    ;show `virtual' and `inline'
-           ebrowse--member-list        ;list of members displayed
-           ebrowse--tree               ;the class tree
-           ebrowse--member-mode-strings ;part of mode line
-           ebrowse--tags-file-name     ;
-           ebrowse--header
-           ebrowse--tree-obarray
-           ebrowse--virtual-display-flag
-           ebrowse--inline-display-flag
-           ebrowse--const-display-flag
-           ebrowse--pure-display-flag
-           ebrowse--frozen-flag))      ;buffer not automagically reused
+  (mapc 'make-local-variable
+       '(ebrowse--decl-column          ;display column
+         ebrowse--n-columns            ;number of short columns
+         ebrowse--column-width         ;width of columns above
+         ebrowse--show-inherited-flag  ;include inherited members?
+         ebrowse--filters              ;public, protected, private
+         ebrowse--accessor             ;vars, functions, friends
+         ebrowse--displayed-class      ;class displayed
+         ebrowse--long-display-flag    ;display with regexps?
+         ebrowse--source-regexp-flag   ;show source regexp?
+         ebrowse--attributes-flag      ;show `virtual' and `inline'
+         ebrowse--member-list          ;list of members displayed
+         ebrowse--tree                 ;the class tree
+         ebrowse--member-mode-strings  ;part of mode line
+         ebrowse--tags-file-name       ;
+         ebrowse--header
+         ebrowse--tree-obarray
+         ebrowse--virtual-display-flag
+         ebrowse--inline-display-flag
+         ebrowse--const-display-flag
+         ebrowse--pure-display-flag
+         ebrowse--frozen-flag))        ;buffer not automagically reused
   (setq mode-name "Ebrowse-Members"
        mode-line-buffer-identification
        (propertized-buffer-identification "C++ Members")
@@ -2734,24 +2735,24 @@ means the member buffer is standalone.  CLASS is its class."
     ;; is on if not specified as an argument.
     (unless class
       (setq class (ebrowse-tree-at-point)))
-    (with-output-to-temp-buffer ebrowse-member-buffer-name
-      (save-excursion
-       (set-buffer standard-output)
+    (save-selected-window
+      (if temp-buffer
+         (pop-to-buffer temp-buffer)
+       (pop-to-buffer (get-buffer-create ebrowse-member-buffer-name))
        ;; If new buffer, set the mode and initial values of locals
-       (unless temp-buffer
-         (ebrowse-member-mode))
-       ;; Set local variables
-       (setq ebrowse--member-list (funcall list class)
-             ebrowse--displayed-class class
-             ebrowse--accessor list
-             ebrowse--tree-obarray classes
-             ebrowse--frozen-flag stand-alone
-             ebrowse--tags-file-name tags-file-name
-             ebrowse--header header
-             ebrowse--tree tree
-             buffer-read-only t)
-       (ebrowse-redisplay-member-buffer)
-       (current-buffer)))))
+       (ebrowse-member-mode))
+      ;; Set local variables
+      (setq ebrowse--member-list (funcall list class)
+           ebrowse--displayed-class class
+           ebrowse--accessor list
+           ebrowse--tree-obarray classes
+           ebrowse--frozen-flag stand-alone
+           ebrowse--tags-file-name tags-file-name
+           ebrowse--header header
+           ebrowse--tree tree
+           buffer-read-only t)
+      (ebrowse-redisplay-member-buffer)
+      (current-buffer))))
 
 
 (defun ebrowse-member-display-p (member)
@@ -3598,7 +3599,7 @@ The file name is read from the minibuffer."
 
 
 (defun* ebrowse-draw-file-member-info (info &optional (kind ""))
-  "Display a line in an the members per file info buffer.
+  "Display a line in the members info buffer.
 INFO describes the member.  It has the form (TREE ACCESSOR MEMBER).
 TREE is the class of the member to display.
 ACCESSOR is the accessor symbol of its member list.
@@ -4148,7 +4149,7 @@ Otherwise, FILE-NAME specifies the file to save the tree in."
          (erase-buffer)
          (setf (ebrowse-hs-member-table header) nil)
          (insert (prin1-to-string header) " ")
-         (mapcar 'ebrowse-save-class tree)
+         (mapc 'ebrowse-save-class tree)
          (write-file file-name)
          (message "Tree written to file `%s'" file-name))
       (kill-buffer temp-buffer)
@@ -4163,7 +4164,7 @@ Otherwise, FILE-NAME specifies the file to save the tree in."
   (insert "[ebrowse-ts ")
   (prin1 (ebrowse-ts-class class))     ;class name
   (insert "(")                         ;list of subclasses
-  (mapcar 'ebrowse-save-class (ebrowse-ts-subclasses class))
+  (mapc 'ebrowse-save-class (ebrowse-ts-subclasses class))
   (insert ")")
   (dolist (func ebrowse-member-list-accessors)
     (prin1 (funcall func class))
@@ -4230,13 +4231,13 @@ NUMBER-OF-STATIC-VARIABLES:"
 ;;; Global key bindings
 
 ;;; The following can be used to bind key sequences starting with
-;;; prefix `\C-cb' to browse commands.
+;;; prefix `\C-c\C-m' to browse commands.
 
 (defvar ebrowse-global-map nil
   "*Keymap for Ebrowse commands.")
 
 
-(defvar ebrowse-global-prefix-key "\C-cC-m"
+(defvar ebrowse-global-prefix-key "\C-c\C-m"
   "Prefix key for Ebrowse commands.")