/[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.10.4.3 by eliz, Thu May 16 16:05:05 2002 UTC revision 1.10.4.4 by lektu, Mon Oct 21 09:05:50 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 380  otherwise use the current frame's width. Line 380  otherwise use the current frame's width.
380    ;; they are defined.    ;; they are defined.
381    member-table)    member-table)
382    
383        
384  (defstruct (ebrowse-ts (:type vector) :named)  (defstruct (ebrowse-ts (:type vector) :named)
385    "Tree structure.    "Tree structure.
386  Following the header structure, an BROWSE file contains a number  Following the header structure, a BROWSE file contains a number
387  of `ebrowse-ts' structures, each one describing one root class of  of `ebrowse-ts' structures, each one describing one root class of
388  the class hierarchy with all its subclasses."  the class hierarchy with all its subclasses."
389    ;; A `ebrowse-cs' structure describing the root class.    ;; A `ebrowse-cs' structure describing the root class.
# Line 557  Buffer-local in Ebrowse buffers.") Line 557  Buffer-local in Ebrowse buffers.")
557  (defvar ebrowse--frozen-flag nil  (defvar ebrowse--frozen-flag nil
558    "Non-nil means an Ebrowse buffer won't be reused.    "Non-nil means an Ebrowse buffer won't be reused.
559  Buffer-local in Ebrowse buffers.")  Buffer-local in Ebrowse buffers.")
560      
561    
562  (defvar ebrowse--show-file-names-flag nil  (defvar ebrowse--show-file-names-flag nil
563    "Non-nil means show file names in a tree buffer.    "Non-nil means show file names in a tree buffer.
# Line 578  Buffer-local in Ebrowse member buffers." Line 578  Buffer-local in Ebrowse member buffers."
578    "Width of a columns to display for short member display form.    "Width of a columns to display for short member display form.
579  Buffer-local in Ebrowse member buffers.")  Buffer-local in Ebrowse member buffers.")
580    
581      
582  (defvar ebrowse--virtual-display-flag nil  (defvar ebrowse--virtual-display-flag nil
583    "Non-nil means display virtual members in a member buffer.    "Non-nil means display virtual members in a member buffer.
584  Buffer-local in Ebrowse member buffers.")  Buffer-local in Ebrowse member buffers.")
# Line 802  information." Line 802  information."
802    
803  (defun ebrowse-base-classes (tree)  (defun ebrowse-base-classes (tree)
804    "Return list of base-classes of TREE by searching subclass lists.    "Return list of base-classes of TREE by searching subclass lists.
805  This function must be used instead of the struct slot  This function must be used instead of the struct slot
806  `base-classes' to access the base-class list directly because it  `base-classes' to access the base-class list directly because it
807  computes this information lazily."  computes this information lazily."
808    (or (ebrowse-ts-base-classes tree)    (or (ebrowse-ts-base-classes tree)
# Line 891  this is the first progress message displ Line 891  this is the first progress message displ
891  ;;; Reading a tree from disk  ;;; Reading a tree from disk
892    
893  (defun ebrowse-read ()  (defun ebrowse-read ()
894    "Read `ebrowse-hs' and `ebrowse-ts' structures in the current buffer.      "Read `ebrowse-hs' and `ebrowse-ts' structures in the current buffer.
895  Return a list (HEADER TREE) where HEADER is the file header read  Return a list (HEADER TREE) where HEADER is the file header read
896  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."
897    (let ((header (condition-case nil    (let ((header (condition-case nil
# Line 930  NOCONFIRM." Line 930  NOCONFIRM."
930      (ebrowse-tree-mode)      (ebrowse-tree-mode)
931      (current-buffer)))      (current-buffer)))
932    
933        
934  (defun ebrowse-create-tree-buffer (tree tags-file header obarray pop)  (defun ebrowse-create-tree-buffer (tree tags-file header obarray pop)
935    "Create a new tree buffer for tree TREE.    "Create a new tree buffer for tree TREE.
936  The tree was loaded from file TAGS-FILE.  The tree was loaded from file TAGS-FILE.
# Line 1066  if for some reason a circle is in the in Line 1066  if for some reason a circle is in the in
1066        (define-key map [down-mouse-3] 'ebrowse-mouse-3-in-tree-buffer)        (define-key map [down-mouse-3] 'ebrowse-mouse-3-in-tree-buffer)
1067        (define-key map [mouse-2] 'ebrowse-mouse-2-in-tree-buffer)        (define-key map [mouse-2] 'ebrowse-mouse-2-in-tree-buffer)
1068        (define-key map [down-mouse-1] 'ebrowse-mouse-1-in-tree-buffer))        (define-key map [down-mouse-1] 'ebrowse-mouse-1-in-tree-buffer))
1069      
1070      (let ((map1 (make-sparse-keymap)))      (let ((map1 (make-sparse-keymap)))
1071        (suppress-keymap map1 t)        (suppress-keymap map1 t)
1072        (define-key map "L" map1)        (define-key map "L" map1)
# Line 1121  Tree mode key bindings: Line 1121  Tree mode key bindings:
1121    (interactive)    (interactive)
1122    (let* ((ident (propertized-buffer-identification "C++ Tree"))    (let* ((ident (propertized-buffer-identification "C++ Tree"))
1123           header tree buffer-read-only)           header tree buffer-read-only)
1124        
1125      (kill-all-local-variables)      (kill-all-local-variables)
1126      (use-local-map ebrowse-tree-mode-map)      (use-local-map ebrowse-tree-mode-map)
1127        
1128      (unless (zerop (buffer-size))      (unless (zerop (buffer-size))
1129        (goto-char (point-min))        (goto-char (point-min))
1130        (multiple-value-setq (header tree) (ebrowse-read))        (multiple-value-setq (header tree) (ebrowse-read))
# Line 1132  Tree mode key bindings: Line 1132  Tree mode key bindings:
1132        (setq tree (ebrowse-sort-tree-list tree))        (setq tree (ebrowse-sort-tree-list tree))
1133        (erase-buffer)        (erase-buffer)
1134        (message nil))        (message nil))
1135        
1136      (mapcar 'make-local-variable      (mapcar 'make-local-variable
1137              '(ebrowse--tags-file-name              '(ebrowse--tags-file-name
1138                ebrowse--indentation                ebrowse--indentation
# Line 1142  Tree mode key bindings: Line 1142  Tree mode key bindings:
1142                ebrowse--frozen-flag                ebrowse--frozen-flag
1143                ebrowse--tree-obarray                ebrowse--tree-obarray
1144                revert-buffer-function))                revert-buffer-function))
1145        
1146      (setf ebrowse--show-file-names-flag nil      (setf ebrowse--show-file-names-flag nil
1147            ebrowse--tree-obarray (make-vector 127 0)            ebrowse--tree-obarray (make-vector 127 0)
1148            ebrowse--frozen-flag nil            ebrowse--frozen-flag nil
# Line 1165  Tree mode key bindings: Line 1165  Tree mode key bindings:
1165        (ebrowse-redraw-tree)        (ebrowse-redraw-tree)
1166        (set-buffer-modified-p nil))        (set-buffer-modified-p nil))
1167      (run-hooks 'ebrowse-tree-mode-hook)))      (run-hooks 'ebrowse-tree-mode-hook)))
1168        
1169    
1170    
1171  (defun ebrowse-update-tree-buffer-mode-line ()  (defun ebrowse-update-tree-buffer-mode-line ()
# Line 1228  If given a numeric N-TIMES argument, mar Line 1228  If given a numeric N-TIMES argument, mar
1228      (condition-case error      (condition-case error
1229          (loop repeat (or n-times 1)          (loop repeat (or n-times 1)
1230                as tree = (ebrowse-tree-at-point)                as tree = (ebrowse-tree-at-point)
1231                do (progn                do (progn
1232                     (setf (ebrowse-ts-mark tree) (not (ebrowse-ts-mark tree)))                     (setf (ebrowse-ts-mark tree) (not (ebrowse-ts-mark tree)))
1233                     (forward-line 1)                     (forward-line 1)
1234                     (push tree to-change)))                     (push tree to-change)))
# Line 1432  If no member buffer exists, make one." Line 1432  If no member buffer exists, make one."
1432    "Pop to a browser buffer from any other buffer.    "Pop to a browser buffer from any other buffer.
1433  Pop to member buffer if no prefix ARG, to tree buffer otherwise."  Pop to member buffer if no prefix ARG, to tree buffer otherwise."
1434    (interactive "P")    (interactive "P")
1435    (let ((buffer (get-buffer (if arg    (let ((buffer (get-buffer (if arg
1436                                  ebrowse-tree-buffer-name                                  ebrowse-tree-buffer-name
1437                                ebrowse-member-buffer-name))))                                ebrowse-member-buffer-name))))
1438      (unless buffer      (unless buffer
1439        (setq buffer        (setq buffer
1440              (get-buffer (if arg              (get-buffer (if arg
1441                              ebrowse-member-buffer-name                              ebrowse-member-buffer-name
1442                            ebrowse-tree-buffer-name))))                            ebrowse-tree-buffer-name))))
# Line 1542  VIEW non-nil means view it.  WHERE is ad Line 1542  VIEW non-nil means view it.  WHERE is ad
1542                           :file (ebrowse-cs-file class)                           :file (ebrowse-cs-file class)
1543                           :point (ebrowse-cs-point class))))                           :point (ebrowse-cs-point class))))
1544      (ebrowse-view/find-file-and-search-pattern      (ebrowse-view/find-file-and-search-pattern
1545       browse-struct       browse-struct
1546       (list ebrowse--header class nil)       (list ebrowse--header class nil)
1547       file       file
1548       ebrowse--tags-file-name       ebrowse--tags-file-name
# Line 1644  The new frame is deleted when it is no l Line 1644  The new frame is deleted when it is no l
1644      (make-local-variable 'ebrowse--frame-configuration)      (make-local-variable 'ebrowse--frame-configuration)
1645      (setq ebrowse--frame-configuration old-frame-configuration)      (setq ebrowse--frame-configuration old-frame-configuration)
1646      (make-local-variable 'ebrowse--view-exit-action)      (make-local-variable 'ebrowse--view-exit-action)
1647      (setq ebrowse--view-exit-action      (setq ebrowse--view-exit-action
1648            (and (not had-a-buf)            (and (not had-a-buf)
1649                 (not (buffer-modified-p buf-to-view))                 (not (buffer-modified-p buf-to-view))
1650                 'kill-buffer))                 'kill-buffer))
# Line 1659  describing what to search. Line 1659  describing what to search.
1659  INFO is a list (HEADER MEMBER-OR-CLASS ACCESSOR).  HEADER is the  INFO is a list (HEADER MEMBER-OR-CLASS ACCESSOR).  HEADER is the
1660  header structure of a class tree.  MEMBER-OR-CLASS is either an  header structure of a class tree.  MEMBER-OR-CLASS is either an
1661  `ebrowse-ms' or `ebrowse-cs' structure depending on what is searched.  `ebrowse-ms' or `ebrowse-cs' structure depending on what is searched.
1662  ACCESSOR is an accessor function for the member list of an member  ACCESSOR is an accessor function for the member list of a member
1663  if MEMBER-OR-CLASS is an `ebrowse-ms'.  if MEMBER-OR-CLASS is an `ebrowse-ms'.
1664  FILE is the file to search the member in.  FILE is the file to search the member in.
1665  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 1711  expression matching any number of whites Line 1711  expression matching any number of whites
1711    
1712    
1713  (defun ebrowse-class-declaration-regexp (name)  (defun ebrowse-class-declaration-regexp (name)
1714    "Construct a regexp for a declaration of class NAME."    "Construct a regexp for a declaration of class NAME."
1715    (concat "^[ \t]*\\(template[ \t\n]*<.*>\\)?"    (concat "^[ \t]*\\(template[ \t\n]*<.*>\\)?"
1716            "[ \t\n]*\\(class\\|struct\\|union\\).*\\S_"            "[ \t\n]*\\(class\\|struct\\|union\\).*\\S_"
1717            (ebrowse-symbol-regexp name)            (ebrowse-symbol-regexp name)
# Line 1846  This function may look weird, but this i Line 1846  This function may look weird, but this i
1846                start-of-class-name end-of-class-name)                start-of-class-name end-of-class-name)
1847            ;; Insert mark            ;; Insert mark
1848            (insert (if (ebrowse-ts-mark tree) ">" " "))            (insert (if (ebrowse-ts-mark tree) ">" " "))
1849              
1850            ;; Indent and insert class name            ;; Indent and insert class name
1851            (indent-to (+ (* level ebrowse--indentation)            (indent-to (+ (* level ebrowse--indentation)
1852                          ebrowse-tree-left-margin))                          ebrowse-tree-left-margin))
1853            (setq start (point))            (setq start (point))
1854            (insert (ebrowse-qualified-class-name class))            (insert (ebrowse-qualified-class-name class))
1855              
1856            ;; If template class, add <>            ;; If template class, add <>
1857            (when (ebrowse-template-p class)            (when (ebrowse-template-p class)
1858              (insert "<>"))              (insert "<>"))
# Line 2173  See 'Electric-command-loop' for a descri Line 2173  See 'Electric-command-loop' for a descri
2173      (define-key map1 "d" 'ebrowse-switch-member-buffer-to-derived-class)      (define-key map1 "d" 'ebrowse-switch-member-buffer-to-derived-class)
2174      (define-key map1 "n" 'ebrowse-switch-member-buffer-to-next-sibling-class)      (define-key map1 "n" 'ebrowse-switch-member-buffer-to-next-sibling-class)
2175      (define-key map1 "p" 'ebrowse-switch-member-buffer-to-previous-sibling-class))      (define-key map1 "p" 'ebrowse-switch-member-buffer-to-previous-sibling-class))
2176        
2177    (let ((map1 (make-sparse-keymap)))    (let ((map1 (make-sparse-keymap)))
2178      (suppress-keymap map1 t)      (suppress-keymap map1 t)
2179      (define-key map "D" map1)      (define-key map "D" map1)
# Line 2183  See 'Electric-command-loop' for a descri Line 2183  See 'Electric-command-loop' for a descri
2183      (define-key map1 "l" 'ebrowse-toggle-long-short-display)      (define-key map1 "l" 'ebrowse-toggle-long-short-display)
2184      (define-key map1 "r" 'ebrowse-toggle-regexp-display)      (define-key map1 "r" 'ebrowse-toggle-regexp-display)
2185      (define-key map1 "w" 'ebrowse-set-member-buffer-column-width))      (define-key map1 "w" 'ebrowse-set-member-buffer-column-width))
2186        
2187    (let ((map1 (make-sparse-keymap)))    (let ((map1 (make-sparse-keymap)))
2188      (suppress-keymap map1 t)      (suppress-keymap map1 t)
2189      (define-key map "F" map1)      (define-key map "F" map1)
# Line 2198  See 'Electric-command-loop' for a descri Line 2198  See 'Electric-command-loop' for a descri
2198      (define-key map1 "p" 'ebrowse-toggle-pure-member-filter)      (define-key map1 "p" 'ebrowse-toggle-pure-member-filter)
2199      (define-key map1 "r" 'ebrowse-remove-all-member-filters)      (define-key map1 "r" 'ebrowse-remove-all-member-filters)
2200      (define-key map1 "v" 'ebrowse-toggle-virtual-member-filter))      (define-key map1 "v" 'ebrowse-toggle-virtual-member-filter))
2201        
2202    (let ((map1 (make-sparse-keymap)))    (let ((map1 (make-sparse-keymap)))
2203      (suppress-keymap map1 t)      (suppress-keymap map1 t)
2204      (define-key map "L" map1)      (define-key map "L" map1)
# Line 2210  See 'Electric-command-loop' for a descri Line 2210  See 'Electric-command-loop' for a descri
2210      (define-key map1 "t" 'ebrowse-display-types-member-list)      (define-key map1 "t" 'ebrowse-display-types-member-list)
2211      (define-key map1 "v" 'ebrowse-display-variables-member-list)      (define-key map1 "v" 'ebrowse-display-variables-member-list)
2212      (define-key map1 "V" 'ebrowse-display-static-variables-member-list))      (define-key map1 "V" 'ebrowse-display-static-variables-member-list))
2213        
2214    (let ((map1 (make-sparse-keymap)))    (let ((map1 (make-sparse-keymap)))
2215      (suppress-keymap map1 t)      (suppress-keymap map1 t)
2216      (define-key map "G" map1)      (define-key map "G" map1)
2217      (define-key map1 "m" 'ebrowse-goto-visible-member/all-member-lists)      (define-key map1 "m" 'ebrowse-goto-visible-member/all-member-lists)
2218      (define-key map1 "n" 'ebrowse-repeat-member-search)      (define-key map1 "n" 'ebrowse-repeat-member-search)
2219      (define-key map1 "v" 'ebrowse-goto-visible-member))      (define-key map1 "v" 'ebrowse-goto-visible-member))
2220        
2221    (define-key map "f" 'ebrowse-find-member-declaration)    (define-key map "f" 'ebrowse-find-member-declaration)
2222    (define-key map "m" 'ebrowse-switch-to-next-member-buffer)    (define-key map "m" 'ebrowse-switch-to-next-member-buffer)
2223    (define-key map "q" 'bury-buffer)    (define-key map "q" 'bury-buffer)
# Line 2687  CLASS non-nil means display that class' Line 2687  CLASS non-nil means display that class'
2687  the class cursor is on."  the class cursor is on."
2688    (let ((start (point))    (let ((start (point))
2689          (tree  (or class ebrowse--displayed-class))          (tree  (or class ebrowse--displayed-class))
2690          class-name-start          class-name-start
2691          class-name-end)          class-name-end)
2692      (insert "class ")      (insert "class ")
2693      (setq class-name-start (point))      (setq class-name-start (point))
# Line 2837  TREE is the class tree in which the memb Line 2837  TREE is the class tree in which the memb
2837            (indent-to (* i column-width))            (indent-to (* i column-width))
2838            (put-text-property start-of-column (point) 'mouse-face nil)            (put-text-property start-of-column (point) 'mouse-face nil)
2839            (setq start-of-entry (point))            (setq start-of-entry (point))
2840            ;; Show various attributes            ;; Show various attributes
2841            (when ebrowse--attributes-flag            (when ebrowse--attributes-flag
2842              (insert "<")              (insert "<")
2843              (ebrowse-draw-member-attributes member)              (ebrowse-draw-member-attributes member)
# Line 3040  Prefix arg INC specifies which one." Line 3040  Prefix arg INC specifies which one."
3040  Prefix arg ARG says which class should be displayed.  Default is  Prefix arg ARG says which class should be displayed.  Default is
3041  the first derived class."  the first derived class."
3042    (interactive "P")    (interactive "P")
3043    (flet ((ebrowse-tree-obarray-as-alist ()    (flet ((ebrowse-tree-obarray-as-alist ()
3044                                          (loop for s in (ebrowse-ts-subclasses                                          (loop for s in (ebrowse-ts-subclasses
3045                                                          ebrowse--displayed-class)                                                          ebrowse--displayed-class)
3046                                                collect (cons (ebrowse-cs-name                                                collect (cons (ebrowse-cs-name
# Line 3130  the first derived class." Line 3130  the first derived class."
3130      ["Find in Tree" ebrowse-goto-visible-member/all-member-lists      ["Find in Tree" ebrowse-goto-visible-member/all-member-lists
3131       :help "Search for a member in any class"       :help "Search for a member in any class"
3132       :active t])       :active t])
3133     ("Display"     ("Display"
3134      ["Inherited" ebrowse-toggle-base-class-display      ["Inherited" ebrowse-toggle-base-class-display
3135       :help "Toggle display of inherited members"       :help "Toggle display of inherited members"
3136       :style toggle       :style toggle
# Line 3223  the first derived class." Line 3223  the first derived class."
3223      :active (eq (get-text-property (point) 'ebrowse-what) 'class-name)]))      :active (eq (get-text-property (point) 'ebrowse-what) 'class-name)]))
3224    
3225    
3226  (easy-menu-define  (easy-menu-define
3227   ebrowse-member-name-object-menu ebrowse-member-mode-map   ebrowse-member-name-object-menu ebrowse-member-mode-map
3228   "Object menu for member names"   "Object menu for member names"
3229   '("Ebrowse"   '("Ebrowse"
# Line 3280  TREE-HEADER is the header structure of t Line 3280  TREE-HEADER is the header structure of t
3280  NAME is the name of the member.  NAME is the name of the member.
3281  Value is an alist of elements (CLASS-NAME . (CLASS LIST NAME)),  Value is an alist of elements (CLASS-NAME . (CLASS LIST NAME)),
3282  where each element describes one occurrence of member NAME in the tree.  where each element describes one occurrence of member NAME in the tree.
3283  CLASS-NAME is the qualified name of the class in which the  CLASS-NAME is the qualified name of the class in which the
3284  member was found.  The CDR of the acons is described in function  member was found.  The CDR of the acons is described in function
3285  `ebrowse-class/index/member-for-member'."  `ebrowse-class/index/member-for-member'."
3286    (let ((table (ebrowse-member-table tree-header))    (let ((table (ebrowse-member-table tree-header))
# Line 3327  from point as default.  Value is a list Line 3327  from point as default.  Value is a list
3327                ;; matches!  it returns the name as a string.                ;; matches!  it returns the name as a string.
3328                (unless (setq member-info (gethash name members))                (unless (setq member-info (gethash name members))
3329                  (if (y-or-n-p "No exact match found.  Try substrings? ")                  (if (y-or-n-p "No exact match found.  Try substrings? ")
3330                      (setq name                      (setq name
3331                            (or (first (ebrowse-list-of-matching-members                            (or (first (ebrowse-list-of-matching-members
3332                                        members (regexp-quote name) name))                                        members (regexp-quote name) name))
3333                                (error "Sorry, nothing found")))                                (error "Sorry, nothing found")))
3334                    (error "Canceled")))                    (error "Canceled")))
# Line 3652  use choose a tree." Line 3652  use choose a tree."
3652                   (setq list (cons (cons key value) list)))                   (setq list (cons (cons key value) list)))
3653               table)               table)
3654      list))      list))
3655      
3656    
3657  (defun ebrowse-cyclic-successor-in-string-list (string list)  (defun ebrowse-cyclic-successor-in-string-list (string list)
3658    "Return the item following STRING in LIST.    "Return the item following STRING in LIST.
# Line 3666  If STRING is the last element, return th Line 3666  If STRING is the last element, return th
3666  ;;;###autoload  ;;;###autoload
3667  (defun* ebrowse-tags-complete-symbol (prefix)  (defun* ebrowse-tags-complete-symbol (prefix)
3668    "Perform completion on the C++ symbol preceding point.    "Perform completion on the C++ symbol preceding point.
3669  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.
3670  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
3671  completion."  completion."
3672    (interactive "P")    (interactive "P")
# Line 3712  completion." Line 3712  completion."
3712                (t                (t
3713                 (delete-region begin end)                 (delete-region begin end)
3714                 (insert completion)                 (insert completion)
3715                  
3716                 (setf ebrowse-last-completion-location (point)                 (setf ebrowse-last-completion-location (point)
3717                       ebrowse-last-completion-start pattern                       ebrowse-last-completion-start pattern
3718                       ebrowse-last-completion completion                       ebrowse-last-completion completion
# Line 3814  If regular expression is nil, repeat las Line 3814  If regular expression is nil, repeat las
3814  (defun ebrowse-tags-query-replace (from to)  (defun ebrowse-tags-query-replace (from to)
3815    "Query replace FROM with TO in all files of a class tree.    "Query replace FROM with TO in all files of a class tree.
3816  With prefix arg, process files of marked classes only."  With prefix arg, process files of marked classes only."
3817    (interactive    (interactive
3818     "sTree query replace (regexp): \nsTree query replace %s by: ")     "sTree query replace (regexp): \nsTree query replace %s by: ")
3819    (setq ebrowse-tags-loop-form    (setq ebrowse-tags-loop-form
3820          (list 'and (list 'save-excursion          (list 'and (list 'save-excursion
# Line 3885  If VIEW is non-nil, view the position, o Line 3885  If VIEW is non-nil, view the position, o
3885          (t          (t
3886           (unwind-protect           (unwind-protect
3887               (progn               (progn
3888                 (push (function                 (push (function
3889                        (lambda ()                        (lambda ()
3890                          (goto-char (ebrowse-position-point position))))                          (goto-char (ebrowse-position-point position))))
3891                       view-mode-hook)                       view-mode-hook)
# Line 3911  Positions in buffers that have no file n Line 3911  Positions in buffers that have no file n
3911               :file-name (buffer-file-name (marker-buffer marker))               :file-name (buffer-file-name (marker-buffer marker))
3912               :point (marker-position marker)               :point (marker-position marker)
3913               :target target               :target target
3914               :info info)               :info info)
3915              ebrowse-position-stack))))              ebrowse-position-stack))))
3916    
3917    
# Line 4384  EVENT is the mouse event." Line 4384  EVENT is the mouse event."
4384    
4385    
4386  (easy-menu-define  (easy-menu-define
4387   ebrowse-tree-buffer-class-object-menu ebrowse-tree-mode-map   ebrowse-tree-buffer-class-object-menu ebrowse-tree-mode-map
4388   "Object menu for classes in the tree buffer"   "Object menu for classes in the tree buffer"
4389   '("Class"   '("Class"
4390     ["Functions" ebrowse-tree-command:show-member-functions     ["Functions" ebrowse-tree-command:show-member-functions
# Line 4426  EVENT is the mouse event." Line 4426  EVENT is the mouse event."
4426    
4427    
4428  (easy-menu-define  (easy-menu-define
4429   ebrowse-tree-buffer-object-menu ebrowse-tree-mode-map   ebrowse-tree-buffer-object-menu ebrowse-tree-mode-map
4430   "Object menu for tree buffers"   "Object menu for tree buffers"
4431   '("Ebrowse"   '("Ebrowse"
4432     ["Filename Display" ebrowse-toggle-file-name-display     ["Filename Display" ebrowse-toggle-file-name-display

Legend:
Removed from v.1.10.4.3  
changed lines
  Added in v.1.10.4.4

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