/[emacs]/emacs/lisp/progmodes/ebrowse.el
ViewVC logotype

Diff of /emacs/lisp/progmodes/ebrowse.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.18 by monnier, Sat Jul 13 20:17:00 2002 UTC revision 1.19 by lektu, Thu Oct 17 16:57:37 2002 UTC
# Line 31  Line 31 
31  ;; - A complete set of tags-like functions working on class trees  ;; - A complete set of tags-like functions working on class trees
32  ;; - An electric buffer list showing class browser buffers only  ;; - An electric buffer list showing class browser buffers only
33    
34  ;; Documentation is found in a separate Info file.  ;; Documentation is found in a separate Info file.
35    
36  ;;; Code:  ;;; Code:
37    
# Line 375  otherwise use the current frame's width. Line 375  otherwise use the current frame's width.
375    ;; they are defined.    ;; they are defined.
376    member-table)    member-table)
377    
378        
379  (defstruct (ebrowse-ts (:type vector) :named)  (defstruct (ebrowse-ts (:type vector) :named)
380    "Tree structure.    "Tree structure.
381  Following the header structure, an BROWSE file contains a number  Following the header structure, a BROWSE file contains a number
382  of `ebrowse-ts' structures, each one describing one root class of  of `ebrowse-ts' structures, each one describing one root class of
383  the class hierarchy with all its subclasses."  the class hierarchy with all its subclasses."
384    ;; A `ebrowse-cs' structure describing the root class.    ;; A `ebrowse-cs' structure describing the root class.
# Line 551  Buffer-local in Ebrowse buffers.") Line 551  Buffer-local in Ebrowse buffers.")
551  (defvar ebrowse--frozen-flag nil  (defvar ebrowse--frozen-flag nil
552    "Non-nil means an Ebrowse buffer won't be reused.    "Non-nil means an Ebrowse buffer won't be reused.
553  Buffer-local in Ebrowse buffers.")  Buffer-local in Ebrowse buffers.")
554      
555    
556  (defvar ebrowse--show-file-names-flag nil  (defvar ebrowse--show-file-names-flag nil
557    "Non-nil means show file names in a tree buffer.    "Non-nil means show file names in a tree buffer.
# Line 572  Buffer-local in Ebrowse member buffers." Line 572  Buffer-local in Ebrowse member buffers."
572    "Width of a columns to display for short member display form.    "Width of a columns to display for short member display form.
573  Buffer-local in Ebrowse member buffers.")  Buffer-local in Ebrowse member buffers.")
574    
575      
576  (defvar ebrowse--virtual-display-flag nil  (defvar ebrowse--virtual-display-flag nil
577    "Non-nil means display virtual members in a member buffer.    "Non-nil means display virtual members in a member buffer.
578  Buffer-local in Ebrowse member buffers.")  Buffer-local in Ebrowse member buffers.")
# Line 796  information." Line 796  information."
796    
797  (defun ebrowse-base-classes (tree)  (defun ebrowse-base-classes (tree)
798    "Return list of base-classes of TREE by searching subclass lists.    "Return list of base-classes of TREE by searching subclass lists.
799  This function must be used instead of the struct slot  This function must be used instead of the struct slot
800  `base-classes' to access the base-class list directly because it  `base-classes' to access the base-class list directly because it
801  computes this information lazily."  computes this information lazily."
802    (or (ebrowse-ts-base-classes tree)    (or (ebrowse-ts-base-classes tree)
# Line 885  this is the first progress message displ Line 885  this is the first progress message displ
885  ;;; Reading a tree from disk  ;;; Reading a tree from disk
886    
887  (defun ebrowse-read ()  (defun ebrowse-read ()
888    "Read `ebrowse-hs' and `ebrowse-ts' structures in the current buffer.      "Read `ebrowse-hs' and `ebrowse-ts' structures in the current buffer.
889  Return a list (HEADER TREE) where HEADER is the file header read  Return a list (HEADER TREE) where HEADER is the file header read
890  and TREE is a list of `ebrowse-ts' structures forming the class tree."  and TREE is a list of `ebrowse-ts' structures forming the class tree."
891    (let ((header (condition-case nil    (let ((header (condition-case nil
# Line 924  NOCONFIRM." Line 924  NOCONFIRM."
924      (ebrowse-tree-mode)      (ebrowse-tree-mode)
925      (current-buffer)))      (current-buffer)))
926    
927        
928  (defun ebrowse-create-tree-buffer (tree tags-file header obarray pop)  (defun ebrowse-create-tree-buffer (tree tags-file header obarray pop)
929    "Create a new tree buffer for tree TREE.    "Create a new tree buffer for tree TREE.
930  The tree was loaded from file TAGS-FILE.  The tree was loaded from file TAGS-FILE.
# Line 1060  if for some reason a circle is in the in Line 1060  if for some reason a circle is in the in
1060        (define-key map [down-mouse-3] 'ebrowse-mouse-3-in-tree-buffer)        (define-key map [down-mouse-3] 'ebrowse-mouse-3-in-tree-buffer)
1061        (define-key map [mouse-2] 'ebrowse-mouse-2-in-tree-buffer)        (define-key map [mouse-2] 'ebrowse-mouse-2-in-tree-buffer)
1062        (define-key map [down-mouse-1] 'ebrowse-mouse-1-in-tree-buffer))        (define-key map [down-mouse-1] 'ebrowse-mouse-1-in-tree-buffer))
1063      
1064      (let ((map1 (make-sparse-keymap)))      (let ((map1 (make-sparse-keymap)))
1065        (suppress-keymap map1 t)        (suppress-keymap map1 t)
1066        (define-key map "L" map1)        (define-key map "L" map1)
# Line 1115  Tree mode key bindings: Line 1115  Tree mode key bindings:
1115    (interactive)    (interactive)
1116    (let* ((ident (propertized-buffer-identification "C++ Tree"))    (let* ((ident (propertized-buffer-identification "C++ Tree"))
1117           header tree buffer-read-only)           header tree buffer-read-only)
1118        
1119      (kill-all-local-variables)      (kill-all-local-variables)
1120      (use-local-map ebrowse-tree-mode-map)      (use-local-map ebrowse-tree-mode-map)
1121        
1122      (unless (zerop (buffer-size))      (unless (zerop (buffer-size))
1123        (goto-char (point-min))        (goto-char (point-min))
1124        (multiple-value-setq (header tree) (ebrowse-read))        (multiple-value-setq (header tree) (ebrowse-read))
# Line 1126  Tree mode key bindings: Line 1126  Tree mode key bindings:
1126        (setq tree (ebrowse-sort-tree-list tree))        (setq tree (ebrowse-sort-tree-list tree))
1127        (erase-buffer)        (erase-buffer)
1128        (message nil))        (message nil))
1129        
1130      (mapcar 'make-local-variable      (mapcar 'make-local-variable
1131              '(ebrowse--tags-file-name              '(ebrowse--tags-file-name
1132                ebrowse--indentation                ebrowse--indentation
# Line 1136  Tree mode key bindings: Line 1136  Tree mode key bindings:
1136                ebrowse--frozen-flag                ebrowse--frozen-flag
1137                ebrowse--tree-obarray                ebrowse--tree-obarray
1138                revert-buffer-function))                revert-buffer-function))
1139        
1140      (setf ebrowse--show-file-names-flag nil      (setf ebrowse--show-file-names-flag nil
1141            ebrowse--tree-obarray (make-vector 127 0)            ebrowse--tree-obarray (make-vector 127 0)
1142            ebrowse--frozen-flag nil            ebrowse--frozen-flag nil
# Line 1159  Tree mode key bindings: Line 1159  Tree mode key bindings:
1159        (ebrowse-redraw-tree)        (ebrowse-redraw-tree)
1160        (set-buffer-modified-p nil))        (set-buffer-modified-p nil))
1161      (run-hooks 'ebrowse-tree-mode-hook)))      (run-hooks 'ebrowse-tree-mode-hook)))
1162        
1163    
1164    
1165  (defun ebrowse-update-tree-buffer-mode-line ()  (defun ebrowse-update-tree-buffer-mode-line ()
# Line 1222  If given a numeric N-TIMES argument, mar Line 1222  If given a numeric N-TIMES argument, mar
1222      (condition-case error      (condition-case error
1223          (loop repeat (or n-times 1)          (loop repeat (or n-times 1)
1224                as tree = (ebrowse-tree-at-point)                as tree = (ebrowse-tree-at-point)
1225                do (progn                do (progn
1226                     (setf (ebrowse-ts-mark tree) (not (ebrowse-ts-mark tree)))                     (setf (ebrowse-ts-mark tree) (not (ebrowse-ts-mark tree)))
1227                     (forward-line 1)                     (forward-line 1)
1228                     (push tree to-change)))                     (push tree to-change)))
# Line 1426  If no member buffer exists, make one." Line 1426  If no member buffer exists, make one."
1426    "Pop to a browser buffer from any other buffer.    "Pop to a browser buffer from any other buffer.
1427  Pop to member buffer if no prefix ARG, to tree buffer otherwise."  Pop to member buffer if no prefix ARG, to tree buffer otherwise."
1428    (interactive "P")    (interactive "P")
1429    (let ((buffer (get-buffer (if arg    (let ((buffer (get-buffer (if arg
1430                                  ebrowse-tree-buffer-name                                  ebrowse-tree-buffer-name
1431                                ebrowse-member-buffer-name))))                                ebrowse-member-buffer-name))))
1432      (unless buffer      (unless buffer
1433        (setq buffer        (setq buffer
1434              (get-buffer (if arg              (get-buffer (if arg
1435                              ebrowse-member-buffer-name                              ebrowse-member-buffer-name
1436                            ebrowse-tree-buffer-name))))                            ebrowse-tree-buffer-name))))
# Line 1536  VIEW non-nil means view it.  WHERE is ad Line 1536  VIEW non-nil means view it.  WHERE is ad
1536                           :file (ebrowse-cs-file class)                           :file (ebrowse-cs-file class)
1537                           :point (ebrowse-cs-point class))))                           :point (ebrowse-cs-point class))))
1538      (ebrowse-view/find-file-and-search-pattern      (ebrowse-view/find-file-and-search-pattern
1539       browse-struct       browse-struct
1540       (list ebrowse--header class nil)       (list ebrowse--header class nil)
1541       file       file
1542       ebrowse--tags-file-name       ebrowse--tags-file-name
# Line 1638  The new frame is deleted when it is no l Line 1638  The new frame is deleted when it is no l
1638      (make-local-variable 'ebrowse--frame-configuration)      (make-local-variable 'ebrowse--frame-configuration)
1639      (setq ebrowse--frame-configuration old-frame-configuration)      (setq ebrowse--frame-configuration old-frame-configuration)
1640      (make-local-variable 'ebrowse--view-exit-action)      (make-local-variable 'ebrowse--view-exit-action)
1641      (setq ebrowse--view-exit-action      (setq ebrowse--view-exit-action
1642            (and (not had-a-buf)            (and (not had-a-buf)
1643                 (not (buffer-modified-p buf-to-view))                 (not (buffer-modified-p buf-to-view))
1644                 'kill-buffer))                 'kill-buffer))
# Line 1653  describing what to search. Line 1653  describing what to search.
1653  INFO is a list (HEADER MEMBER-OR-CLASS ACCESSOR).  HEADER is the  INFO is a list (HEADER MEMBER-OR-CLASS ACCESSOR).  HEADER is the
1654  header structure of a class tree.  MEMBER-OR-CLASS is either an  header structure of a class tree.  MEMBER-OR-CLASS is either an
1655  `ebrowse-ms' or `ebrowse-cs' structure depending on what is searched.  `ebrowse-ms' or `ebrowse-cs' structure depending on what is searched.
1656  ACCESSOR is an accessor function for the member list of an member  ACCESSOR is an accessor function for the member list of a member
1657  if MEMBER-OR-CLASS is an `ebrowse-ms'.  if MEMBER-OR-CLASS is an `ebrowse-ms'.
1658  FILE is the file to search the member in.  FILE is the file to search the member in.
1659  FILE is not taken out of STRUC here because the filename in STRUC  FILE is not taken out of STRUC here because the filename in STRUC
# Line 1706  expression matching any number of whites Line 1706  expression matching any number of whites
1706    
1707    
1708  (defun ebrowse-class-declaration-regexp (name)  (defun ebrowse-class-declaration-regexp (name)
1709    "Construct a regexp for a declaration of class NAME."    "Construct a regexp for a declaration of class NAME."
1710    (concat "^[ \t]*\\(template[ \t\n]*<.*>\\)?"    (concat "^[ \t]*\\(template[ \t\n]*<.*>\\)?"
1711            "[ \t\n]*\\(class\\|struct\\|union\\).*\\S_"            "[ \t\n]*\\(class\\|struct\\|union\\).*\\S_"
1712            (ebrowse-symbol-regexp name)            (ebrowse-symbol-regexp name)
# Line 1841  This function may look weird, but this i Line 1841  This function may look weird, but this i
1841                start-of-class-name end-of-class-name)                start-of-class-name end-of-class-name)
1842            ;; Insert mark            ;; Insert mark
1843            (insert (if (ebrowse-ts-mark tree) ">" " "))            (insert (if (ebrowse-ts-mark tree) ">" " "))
1844              
1845            ;; Indent and insert class name            ;; Indent and insert class name
1846            (indent-to (+ (* level ebrowse--indentation)            (indent-to (+ (* level ebrowse--indentation)
1847                          ebrowse-tree-left-margin))                          ebrowse-tree-left-margin))
1848            (setq start (point))            (setq start (point))
1849            (insert (ebrowse-qualified-class-name class))            (insert (ebrowse-qualified-class-name class))
1850              
1851            ;; If template class, add <>            ;; If template class, add <>
1852            (when (ebrowse-template-p class)            (when (ebrowse-template-p class)
1853              (insert "<>"))              (insert "<>"))
# Line 2168  See 'Electric-command-loop' for a descri Line 2168  See 'Electric-command-loop' for a descri
2168      (define-key map1 "d" 'ebrowse-switch-member-buffer-to-derived-class)      (define-key map1 "d" 'ebrowse-switch-member-buffer-to-derived-class)
2169      (define-key map1 "n" 'ebrowse-switch-member-buffer-to-next-sibling-class)      (define-key map1 "n" 'ebrowse-switch-member-buffer-to-next-sibling-class)
2170      (define-key map1 "p" 'ebrowse-switch-member-buffer-to-previous-sibling-class))      (define-key map1 "p" 'ebrowse-switch-member-buffer-to-previous-sibling-class))
2171        
2172    (let ((map1 (make-sparse-keymap)))    (let ((map1 (make-sparse-keymap)))
2173      (suppress-keymap map1 t)      (suppress-keymap map1 t)
2174      (define-key map "D" map1)      (define-key map "D" map1)
# Line 2178  See 'Electric-command-loop' for a descri Line 2178  See 'Electric-command-loop' for a descri
2178      (define-key map1 "l" 'ebrowse-toggle-long-short-display)      (define-key map1 "l" 'ebrowse-toggle-long-short-display)
2179      (define-key map1 "r" 'ebrowse-toggle-regexp-display)      (define-key map1 "r" 'ebrowse-toggle-regexp-display)
2180      (define-key map1 "w" 'ebrowse-set-member-buffer-column-width))      (define-key map1 "w" 'ebrowse-set-member-buffer-column-width))
2181        
2182    (let ((map1 (make-sparse-keymap)))    (let ((map1 (make-sparse-keymap)))
2183      (suppress-keymap map1 t)      (suppress-keymap map1 t)
2184      (define-key map "F" map1)      (define-key map "F" map1)
# Line 2193  See 'Electric-command-loop' for a descri Line 2193  See 'Electric-command-loop' for a descri
2193      (define-key map1 "p" 'ebrowse-toggle-pure-member-filter)      (define-key map1 "p" 'ebrowse-toggle-pure-member-filter)
2194      (define-key map1 "r" 'ebrowse-remove-all-member-filters)      (define-key map1 "r" 'ebrowse-remove-all-member-filters)
2195      (define-key map1 "v" 'ebrowse-toggle-virtual-member-filter))      (define-key map1 "v" 'ebrowse-toggle-virtual-member-filter))
2196        
2197    (let ((map1 (make-sparse-keymap)))    (let ((map1 (make-sparse-keymap)))
2198      (suppress-keymap map1 t)      (suppress-keymap map1 t)
2199      (define-key map "L" map1)      (define-key map "L" map1)
# Line 2205  See 'Electric-command-loop' for a descri Line 2205  See 'Electric-command-loop' for a descri
2205      (define-key map1 "t" 'ebrowse-display-types-member-list)      (define-key map1 "t" 'ebrowse-display-types-member-list)
2206      (define-key map1 "v" 'ebrowse-display-variables-member-list)      (define-key map1 "v" 'ebrowse-display-variables-member-list)
2207      (define-key map1 "V" 'ebrowse-display-static-variables-member-list))      (define-key map1 "V" 'ebrowse-display-static-variables-member-list))
2208        
2209    (let ((map1 (make-sparse-keymap)))    (let ((map1 (make-sparse-keymap)))
2210      (suppress-keymap map1 t)      (suppress-keymap map1 t)
2211      (define-key map "G" map1)      (define-key map "G" map1)
2212      (define-key map1 "m" 'ebrowse-goto-visible-member/all-member-lists)      (define-key map1 "m" 'ebrowse-goto-visible-member/all-member-lists)
2213      (define-key map1 "n" 'ebrowse-repeat-member-search)      (define-key map1 "n" 'ebrowse-repeat-member-search)
2214      (define-key map1 "v" 'ebrowse-goto-visible-member))      (define-key map1 "v" 'ebrowse-goto-visible-member))
2215        
2216    (define-key map "f" 'ebrowse-find-member-declaration)    (define-key map "f" 'ebrowse-find-member-declaration)
2217    (define-key map "m" 'ebrowse-switch-to-next-member-buffer)    (define-key map "m" 'ebrowse-switch-to-next-member-buffer)
2218    (define-key map "q" 'bury-buffer)    (define-key map "q" 'bury-buffer)
# Line 2682  CLASS non-nil means display that class' Line 2682  CLASS non-nil means display that class'
2682  the class cursor is on."  the class cursor is on."
2683    (let ((start (point))    (let ((start (point))
2684          (tree  (or class ebrowse--displayed-class))          (tree  (or class ebrowse--displayed-class))
2685          class-name-start          class-name-start
2686          class-name-end)          class-name-end)
2687      (insert "class ")      (insert "class ")
2688      (setq class-name-start (point))      (setq class-name-start (point))
# Line 2832  TREE is the class tree in which the memb Line 2832  TREE is the class tree in which the memb
2832            (indent-to (* i column-width))            (indent-to (* i column-width))
2833            (put-text-property start-of-column (point) 'mouse-face nil)            (put-text-property start-of-column (point) 'mouse-face nil)
2834            (setq start-of-entry (point))            (setq start-of-entry (point))
2835            ;; Show various attributes            ;; Show various attributes
2836            (when ebrowse--attributes-flag            (when ebrowse--attributes-flag
2837              (insert "<")              (insert "<")
2838              (ebrowse-draw-member-attributes member)              (ebrowse-draw-member-attributes member)
# Line 3035  Prefix arg INC specifies which one." Line 3035  Prefix arg INC specifies which one."
3035  Prefix arg ARG says which class should be displayed.  Default is  Prefix arg ARG says which class should be displayed.  Default is
3036  the first derived class."  the first derived class."
3037    (interactive "P")    (interactive "P")
3038    (flet ((ebrowse-tree-obarray-as-alist ()    (flet ((ebrowse-tree-obarray-as-alist ()
3039                                          (loop for s in (ebrowse-ts-subclasses                                          (loop for s in (ebrowse-ts-subclasses
3040                                                          ebrowse--displayed-class)                                                          ebrowse--displayed-class)
3041                                                collect (cons (ebrowse-cs-name                                                collect (cons (ebrowse-cs-name
# Line 3125  the first derived class." Line 3125  the first derived class."
3125      ["Find in Tree" ebrowse-goto-visible-member/all-member-lists      ["Find in Tree" ebrowse-goto-visible-member/all-member-lists
3126       :help "Search for a member in any class"       :help "Search for a member in any class"
3127       :active t])       :active t])
3128     ("Display"     ("Display"
3129      ["Inherited" ebrowse-toggle-base-class-display      ["Inherited" ebrowse-toggle-base-class-display
3130       :help "Toggle display of inherited members"       :help "Toggle display of inherited members"
3131       :style toggle       :style toggle
# Line 3218  the first derived class." Line 3218  the first derived class."
3218      :active (eq (get-text-property (point) 'ebrowse-what) 'class-name)]))      :active (eq (get-text-property (point) 'ebrowse-what) 'class-name)]))
3219    
3220    
3221  (easy-menu-define  (easy-menu-define
3222   ebrowse-member-name-object-menu ebrowse-member-mode-map   ebrowse-member-name-object-menu ebrowse-member-mode-map
3223   "Object menu for member names"   "Object menu for member names"
3224   '("Ebrowse"   '("Ebrowse"
# Line 3275  TREE-HEADER is the header structure of t Line 3275  TREE-HEADER is the header structure of t
3275  NAME is the name of the member.  NAME is the name of the member.
3276  Value is an alist of elements (CLASS-NAME . (CLASS LIST NAME)),  Value is an alist of elements (CLASS-NAME . (CLASS LIST NAME)),
3277  where each element describes one occurrence of member NAME in the tree.  where each element describes one occurrence of member NAME in the tree.
3278  CLASS-NAME is the qualified name of the class in which the  CLASS-NAME is the qualified name of the class in which the
3279  member was found.  The CDR of the acons is described in function  member was found.  The CDR of the acons is described in function
3280  `ebrowse-class/index/member-for-member'."  `ebrowse-class/index/member-for-member'."
3281    (let ((table (ebrowse-member-table tree-header))    (let ((table (ebrowse-member-table tree-header))
# Line 3321  from point as default.  Value is a list Line 3321  from point as default.  Value is a list
3321                ;; matches!  It returns the name as a string.                ;; matches!  It returns the name as a string.
3322                (unless (setq member-info (gethash name members))                (unless (setq member-info (gethash name members))
3323                  (if (y-or-n-p "No exact match found.  Try substrings? ")                  (if (y-or-n-p "No exact match found.  Try substrings? ")
3324                      (setq name                      (setq name
3325                            (or (first (ebrowse-list-of-matching-members                            (or (first (ebrowse-list-of-matching-members
3326                                        members (regexp-quote name) name))                                        members (regexp-quote name) name))
3327                                (error "Sorry, nothing found")))                                (error "Sorry, nothing found")))
3328                    (error "Canceled")))                    (error "Canceled")))
# Line 3583  INFO describes the member.  It has the f Line 3583  INFO describes the member.  It has the f
3583  TREE is the class of the member to display.  TREE is the class of the member to display.
3584  ACCESSOR is the accessor symbol of its member list.  ACCESSOR is the accessor symbol of its member list.
3585  MEMBER is the member structure.  MEMBER is the member structure.
3586  KIND is a an additional string printed in the buffer."  KIND is an additional string printed in the buffer."
3587    (let* ((tree (first info))    (let* ((tree (first info))
3588           (globals-p (ebrowse-globals-tree-p tree)))           (globals-p (ebrowse-globals-tree-p tree)))
3589      (unless globals-p      (unless globals-p
# Line 3650  If STRING is the last element, return th Line 3650  If STRING is the last element, return th
3650  ;;;###autoload  ;;;###autoload
3651  (defun* ebrowse-tags-complete-symbol (prefix)  (defun* ebrowse-tags-complete-symbol (prefix)
3652    "Perform completion on the C++ symbol preceding point.    "Perform completion on the C++ symbol preceding point.
3653  A second call of this function without changing point inserts the next match.  A second call of this function without changing point inserts the next match.
3654  A call with prefix PREFIX reads the symbol to insert from the minibuffer with  A call with prefix PREFIX reads the symbol to insert from the minibuffer with
3655  completion."  completion."
3656    (interactive "P")    (interactive "P")
# Line 3695  completion." Line 3695  completion."
3695                (t                (t
3696                 (delete-region begin end)                 (delete-region begin end)
3697                 (insert completion)                 (insert completion)
3698                  
3699                 (setf ebrowse-last-completion-location (point)                 (setf ebrowse-last-completion-location (point)
3700                       ebrowse-last-completion-start pattern                       ebrowse-last-completion-start pattern
3701                       ebrowse-last-completion completion                       ebrowse-last-completion completion
# Line 3797  If regular expression is nil, repeat las Line 3797  If regular expression is nil, repeat las
3797  (defun ebrowse-tags-query-replace (from to)  (defun ebrowse-tags-query-replace (from to)
3798    "Query replace FROM with TO in all files of a class tree.    "Query replace FROM with TO in all files of a class tree.
3799  With prefix arg, process files of marked classes only."  With prefix arg, process files of marked classes only."
3800    (interactive    (interactive
3801     "sTree query replace (regexp): \nsTree query replace %s by: ")     "sTree query replace (regexp): \nsTree query replace %s by: ")
3802    (setq ebrowse-tags-loop-form    (setq ebrowse-tags-loop-form
3803          (list 'and (list 'save-excursion          (list 'and (list 'save-excursion
# Line 3868  If VIEW is non-nil, view the position, o Line 3868  If VIEW is non-nil, view the position, o
3868          (t          (t
3869           (unwind-protect           (unwind-protect
3870               (progn               (progn
3871                 (push (function                 (push (function
3872                        (lambda ()                        (lambda ()
3873                          (goto-char (ebrowse-position-point position))))                          (goto-char (ebrowse-position-point position))))
3874                       view-mode-hook)                       view-mode-hook)
# Line 3894  Positions in buffers that have no file n Line 3894  Positions in buffers that have no file n
3894               :file-name (buffer-file-name (marker-buffer marker))               :file-name (buffer-file-name (marker-buffer marker))
3895               :point (marker-position marker)               :point (marker-position marker)
3896               :target target               :target target
3897               :info info)               :info info)
3898              ebrowse-position-stack))))              ebrowse-position-stack))))
3899    
3900    
# Line 4367  EVENT is the mouse event." Line 4367  EVENT is the mouse event."
4367    
4368    
4369  (easy-menu-define  (easy-menu-define
4370   ebrowse-tree-buffer-class-object-menu ebrowse-tree-mode-map   ebrowse-tree-buffer-class-object-menu ebrowse-tree-mode-map
4371   "Object menu for classes in the tree buffer"   "Object menu for classes in the tree buffer"
4372   '("Class"   '("Class"
4373     ["Functions" ebrowse-tree-command:show-member-functions     ["Functions" ebrowse-tree-command:show-member-functions
# Line 4409  EVENT is the mouse event." Line 4409  EVENT is the mouse event."
4409    
4410    
4411  (easy-menu-define  (easy-menu-define
4412   ebrowse-tree-buffer-object-menu ebrowse-tree-mode-map   ebrowse-tree-buffer-object-menu ebrowse-tree-mode-map
4413   "Object menu for tree buffers"   "Object menu for tree buffers"
4414   '("Ebrowse"   '("Ebrowse"
4415     ["Filename Display" ebrowse-toggle-file-name-display     ["Filename Display" ebrowse-toggle-file-name-display

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26