;ELC ;;; compiled by roland@churchy.gnu.ai.mit.edu on Wed Aug 24 21:50:50 1994 ;;; from file /gd/gnu/emacs/19.0/lisp/etags.el ;;; emacs version 19.25.94.1. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`/gd/gnu/emacs/19.0/lisp/etags.el' was compiled for Emacs 19")) (defvar tags-file-name nil "\ *File name of tags table. To switch to a new tags table, setting this variable is sufficient. If you set this variable, do not also set `tags-table-list'. Use the `etags' program to make a tags table file.") (defvar tags-table-list nil "\ *List of file names of tags tables to search. An element that is a directory means the file \"TAGS\" in that directory. To switch to a new list of tags tables, setting this variable is sufficient. If you set this variable, do not also set `tags-file-name'. Use the `etags' program to make a tags table file.") (defvar tags-add-tables (quote ask-user) "\ *Control whether to add a new tags table to the current list. t means do; nil means don't (always start a new list). Any other value means ask the user whether to add a new tags table to the current list (as opposed to starting a new list).") (defvar tags-table-computed-list nil "\ List of tags tables to search, computed from `tags-table-list'. This includes tables implicitly included by other tables. The list is not always complete: the included tables of a table are not known until that table is read into core. An element that is `t' is a placeholder indicating that the preceding element is a table that has not been read into core and might contain included tables to search. See `tags-table-check-computed-list'.") (defvar tags-table-computed-list-for nil "\ Value of `tags-table-list' that `tags-table-computed-list' corresponds to. If `tags-table-list' changes, `tags-table-computed-list' is thrown away and recomputed; see `tags-table-check-computed-list'.") (defvar tags-table-list-pointer nil "\ Pointer into `tags-table-computed-list' for the current state of searching. Use `visit-tags-table-buffer' to cycle through tags tables in this list.") (defvar tags-table-list-started-at nil "\ Pointer into `tags-table-computed-list', where the current search started.") (defvar tags-table-set-list nil "\ List of sets of tags table which have been used together in the past. Each element is a list of strings which are file names.") (defvar find-tag-hook nil "\ *Hook to be run by \\[find-tag] after finding a tag. See `run-hooks'. The value in the buffer in which \\[find-tag] is done is used, not the value in the buffer \\[find-tag] goes to.") (defvar find-tag-default-function nil "\ *A function of no arguments used by \\[find-tag] to pick a default tag. If nil, and the symbol that is the value of `major-mode' has a `find-tag-default-function' property (see `put'), that is used. Otherwise, `find-tag-default' is used.") (defvar default-tags-table-function nil "\ If non-nil, a function to choose a default tags file for a buffer. This function receives no arguments and should return the default tags table file to use for the current buffer.") (defvar tags-location-stack nil "\ List of markers which are locations visited by \\[find-tag]. Pop back to the last location with \\[negative-argument] \\[find-tag].") (defvar tag-lines-already-matched nil "\ List of positions of beginnings of lines within the tags table that are already matched.") (defvar tags-table-files nil "\ List of file names covered by current tags table. nil means it has not yet been computed; use `tags-table-files' to do so.") (defvar tags-completion-table nil "\ Alist of tag names defined in current tags table.") (defvar tags-included-tables nil "\ List of tags tables included by the current tags table.") (defvar next-file-list nil "\ List of files for \\[next-file] to process.") (defvar tags-table-format-hooks (quote (etags-recognize-tags-table recognize-empty-tags-table)) "\ List of functions to be called in a tags table buffer to identify the type of tags table. The functions are called in order, with no arguments, until one returns non-nil. The function should make buffer-local bindings of the format-parsing tags function variables if successful.") (defvar file-of-tag-function nil "\ Function to do the work of `file-of-tag' (which see).") (defvar tags-table-files-function nil "\ Function to do the work of `tags-table-files' (which see).") (defvar tags-completion-table-function nil "\ Function to build the tags-completion-table.") (defvar snarf-tag-function nil "\ Function to get info about a matched tag for `goto-tag-location-function'.") (defvar goto-tag-location-function nil "\ Function of to go to the location in the buffer specified by a tag. One argument, the tag info returned by `snarf-tag-function'.") (defvar find-tag-regexp-search-function nil "\ Search function passed to `find-tag-in-order' for finding a regexp tag.") (defvar find-tag-regexp-tag-order nil "\ Tag order passed to `find-tag-in-order' for finding a regexp tag.") (defvar find-tag-regexp-next-line-after-failure-p nil "\ Flag passed to `find-tag-in-order' for finding a regexp tag.") (defvar find-tag-search-function nil "\ Search function passed to `find-tag-in-order' for finding a tag.") (defvar find-tag-tag-order nil "\ Tag order passed to `find-tag-in-order' for finding a tag.") (defvar find-tag-next-line-after-failure-p nil "\ Flag passed to `find-tag-in-order' for finding a tag.") (defvar list-tags-function nil "\ Function to do the work of `list-tags' (which see).") (defvar tags-apropos-function nil "\ Function to do the work of `tags-apropos' (which see).") (defvar tags-included-tables-function nil "\ Function to do the work of `tags-included-tables' (which see).") (defvar verify-tags-table-function nil "\ Function to return t iff the current buffer contains a valid (already initialized) tags file.") (defalias (quote initialize-new-tags-table) #[nil "!L!L!L!L0@ 0A )" [make-local-variable tag-lines-already-matched nil tags-table-files tags-completion-table tags-included-tables tags-table-format-hooks hooks] 3]) (defalias 'visit-tags-table #[(file &optional local) ";\fD\"!E\"\f* +!L\"" [file signal wrong-type-argument stringp tags-file-name visit-tags-table-buffer file-error "Visiting tags table" "file does not exist" local make-local-variable set-default] 5 "\ Tell tags commands to use tags table file FILE. FILE should be the name of a file created with the `etags' program. A directory name is ok too; it means file TAGS in that directory. Normally \\[visit-tags-table] sets the global value of `tags-file-name'. With a prefix arg, set the buffer-local value instead. When you find a tag with \\[find-tag], the buffer it finds the tag in is given a local value of this variable which is the name of the tags file the tag was in." (list (read-file-name "Visit tags table: (default TAGS) " default-directory (expand-file-name "TAGS" default-directory) t) current-prefix-arg)]) (defalias 'tags-table-check-computed-list #[nil "\n\"\f g \"! \n]@ B @!\nN\nq J A\")T B A\" ,)" [mapcar tags-expand-table-name tags-table-list expanded-list tags-table-computed-list-for copy-sequence compute-for tables nil computed table-buffer get-file-buffer tags-included-tables append t tags-table-computed-list] 5 "\ Compute `tags-table-computed-list' from `tags-table-list' if necessary."]) (byte-code "\"\"\"" [defalias tags-table-extend-computed-list #[nil "A@= A @!r ʼna@B@!Rq N \")XBA'  AA+w AA*" [tags-table-computed-list list t tags-verify-table tags-included-tables nil table-buffer computed tables get-file-buffer append] 5] tags-expand-table-name #[(file) " ! ! \" " [expand-file-name file file-directory-p "TAGS"] 3] tags-table-list-member #[(file list) " !\n\n@= \n@!\nA\n" [tags-expand-table-name file list t] 4]] 3) (defalias 'tags-verify-table #[(file) " !5 !q\f p!# \"!, 3\f 3ˉ\" ) !e !q c W =b) " [get-file-buffer file nil win verify-tags-table-function initialize-new-tags-table verify-visited-file-modtime yes-or-no-p format "Tags file %s has changed, read new contents? " revert-buffer t file-exists-p find-file-noselect buffer-file-name tags-table-list tail tags-file-name] 5 "\ Read FILE into a buffer and verify that it is a valid tags table. Sets the current buffer to one visiting FILE (if it exists). Returns non-nil iff it is a valid table."]) (byte-code "\"\"" [defalias tags-table-including #[(this-file core-only) "\nH H\f A@=+ AA A@=+ B @!\n A ) A\ny\f \f\nA=u\f@\"l\f@ B \fA\fT @**" [tags-table-computed-list nil found tables core-only t tags-table-extend-computed-list tags-file-name visit-tags-table-buffer same this-file tags-table-files elt could-be tags-table-list-member tags-table-list] 4] tags-next-table #[nil "A@= A \f=!ʼn@" [tags-table-list-pointer t tags-table-extend-computed-list tags-table-computed-list tags-table-list-started-at nil tags-file-name] 3]] 3) (defalias 'visit-tags-table-buffer #[(&optional cont) "=\nP!!=4 \n!\n! ;B AU j\"\"\nz\n\"z\n@!!!A@*$!\n!=??p\n!}p!y\"!!!\"x#$$@\"$A$$,#>$#B#$@lO%=E%OP!OBl!g#>g#B#C \"))ǂq!\n=\"*" [cont same tags-file-name error substitute-command-keys "No tags table in use! " "Use \\[visit-tags-table] to select one." t tags-next-table get-file-buffer file-exists-p tags-table-check-computed-list nil buffer-local-variables default-tags-table-function buffer-file-name tags-table-including tags-table-list-member tags-table-computed-list tags-table-list file list tags-expand-table-name expand-file-name read-file-name "Visit tags table: (default TAGS) " default-directory "TAGS" tags-table-list-pointer local-tags-file-name curbuf tags-verify-table bury-buffer found tags-table-list-started-at tags-table-set-list sets tags-add-tables y-or-n-p "Keep current list of " "tags tables also? " message "Starting a new list of tags tables" kill-local-variable "File %s is not a valid tags table"] 7 "\ Select the buffer containing the current tags table. If optional arg is a string, visit that file as a tags table. If optional arg is t, visit the next table in `tags-table-list'. If optional arg is the atom `same', don't look for a new table; just select the buffer visiting `tags-file-name'. If arg is nil or absent, choose a first buffer from information in `tags-file-name', `tags-table-list', `tags-table-list-pointer'. Returns t if it visits a tags table, or nil if there are no more in the list."]) (defalias 'file-of-tag #[nil " " [file-of-tag-function] 1 "\ Return the file name of the file whose tags point is within. Assumes the tags table is the current buffer. File name returned is relative to tags table file's directory."]) (defalias 'tags-table-files #[nil " " [tags-table-files tags-table-files-function] 2 "\ Return a list of files in the current tags table. Assumes the tags table is the current buffer. File names returned are absolute."]) (defalias 'tags-included-tables #[nil " " [tags-included-tables tags-included-tables-function] 2 "\ Return a list of tags tables included by the current table. Assumes the tags table is the current buffer."]) (byte-code "\"\"\"\"" [defalias tags-completion-table #[nil "Ï" [tags-completion-table nil (byte-code "\n\" \f 0@!) '\n\"A) \n*\n\"" [message "Making tags completion table for %s..." buffer-file-name tags-included-tables tags-completion-table-function table included tags-file-name visit-tags-table-buffer same tags-completion-table mapatoms #[(sym) "\n! \"" [intern symbol-name sym table] 3] "Making tags completion table for %s...done"] 5) ((quit (byte-code "!‰" [message "Tags completion table construction aborted." nil tags-completion-table] 2)))] 3] tags-complete-tag #[(string predicate what) " ) = # #)" [t enable-recursive-minibuffers visit-tags-table-buffer what all-completions string tags-completion-table predicate try-completion] 4] find-tag-default #[nil "! uy`)#'NJ`)#>ĕb`!!<u0`{)" [looking-at "\\sw\\|\\s_" 1 re-search-backward 0 t re-search-forward "\\(\\sw\\|\\s_\\)+" nil forward-sexp -1 "\\s'"] 4] find-tag-tag #[(string) " N   #\" ʚ1 3!3 *" [find-tag-default-function major-mode find-tag-default default completing-read format "%s(default %s) " string tags-complete-tag spec "" error "There is no default tag"] 6]] 3) (defvar last-tag nil "\ Last tag found by \\[find-tag].") (byte-code "\"! Ň" [defalias find-tag-interactive #[(prompt &optional no-default) "!WĂD !$!C" [current-prefix-arg nil prefix-numeric-value 0 - t no-default read-string prompt find-tag-tag] 3] boundp find-tag-history nil] 3) (defalias 'find-tag-noselect #[(tagname &optional next-p regexp-p) " B\n\f=:!@ A !q !b ̉!)\fE!K   \f[\\fhrt~ڂ\f?&q `̓*B@!!)" [tagname find-tag-history find-tag-hook local-find-tag-hook next-p - tags-location-stack error "No previous tag locations" marker marker-buffer marker-position nil run-hooks visit-tags-table-buffer same last-tag make-marker find-tag-in-order regexp-p find-tag-regexp-search-function find-tag-search-function find-tag-regexp-tag-order find-tag-tag-order find-tag-regexp-next-line-after-failure-p find-tag-next-line-after-failure-p "matching" "containing"] 8 "\ Find tag (in current tags table) whose name contains TAGNAME. Returns the buffer containing the tag's definition and moves its point there, but does not select the buffer. The default for TAGNAME is the expression in the buffer near point. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is the atom `-' (interactively, with prefix arg that is a negative number or just \\[negative-argument]), pop back to the previous tag gone to. If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp. See documentation of variable `tags-file-name'." (find-tag-interactive "Find tag: ")]) (defalias 'find-tag #[(tagname &optional next-p regexp-p) "\n \f#!" [switch-to-buffer find-tag-noselect tagname next-p regexp-p] 5 "\ Find tag (in current tags table) whose name contains TAGNAME. Select the buffer containing the tag's definition, and move point there. The default for TAGNAME is the expression in the buffer around or before point. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is the atom `-' (interactively, with prefix arg that is a negative number or just \\[negative-argument]), pop back to the previous tag gone to. See documentation of variable `tags-file-name'." (find-tag-interactive "Find tag: ")]) (defalias 'find-tag-other-window #[(tagname &optional next-p regexp-p) " ! \f #q` ! \"\"+" [window-point selected-window find-tag-noselect tagname next-p regexp-p tagbuf tagpoint set-window-point switch-to-buffer-other-window] 6 "\ Find tag (in current tags table) whose name contains TAGNAME. Select the buffer containing the tag's definition in another window, and move point there. The default for TAGNAME is the expression in the buffer around or before point. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is negative (interactively, with prefix arg that is a negative number or just \\[negative-argument]), pop back to the previous tag gone to. See documentation of variable `tags-file-name'." (find-tag-interactive "Find tag other window: ")]) (defalias 'find-tag-other-frame #[(tagname &optional next-p) " \f\")" [t pop-up-frames find-tag-other-window tagname next-p] 3 "\ Find tag (in current tags table) whose name contains TAGNAME. Select the buffer containing the tag's definition in another frame, and move point there. The default for TAGNAME is the expression in the buffer around or before point. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is negative (interactively, with prefix arg that is a negative number or just \\[negative-argument]), pop back to the previous tag gone to. See documentation of variable `tags-file-name'." (find-tag-interactive "Find tag other frame: ")]) (defalias 'find-tag-regexp #[(regexp &optional next-p other-window) " \f#" [other-window find-tag-other-window find-tag regexp next-p t] 4 "\ Find tag (in current tags table) whose name matches REGEXP. Select the buffer containing the tag's definition and move point there. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is negative (interactively, with prefix arg that is a negative number or just \\[negative-argument]), pop back to the previous tag gone to. If third arg OTHER-WINDOW is non-nil, select the buffer in another window. See documentation of variable `tags-file-name'." (find-tag-interactive "Find tag regexp: " t)]) (byte-code "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" [defalias find-tag-in-order #[(pattern search-forward-func order next-line-after-failure-p matching first-search) "\n !͍y`B ! !q~ !!p." [nil t order goto-func tag-order first-table tags-table-file tag-info file first-search visit-tags-table-buffer same qualified-match-found (byte-code "\n!f  eb_ \n#T@\n!Iy`) >I\"&y&Aeb! pӂq\n$" [first-table visit-tags-table-buffer t first-search nil tag-lines-already-matched buffer-file-name tags-table-file order search-forward-func pattern 0 throw qualified-match-found next-line-after-failure-p 1 tag-order error "No %stags %s %s" "" "more " matching] 5) 0 tag-lines-already-matched expand-file-name file-of-tag snarf-tag-function goto-tag-location-function find-file-noselect push-mark make-local-variable tags-file-name] 6] etags-recognize-tags-table #[nil " \"" [etags-verify-tags-table mapcar #[(elt) " @! AL" [make-local-variable elt] 2] ((file-of-tag-function . etags-file-of-tag) (tags-table-files-function . etags-tags-table-files) (tags-completion-table-function . etags-tags-completion-table) (snarf-tag-function . etags-snarf-tag) (goto-tag-location-function . etags-goto-tag-location) (find-tag-regexp-search-function . re-search-forward) (find-tag-regexp-tag-order tag-re-match-p) (find-tag-regexp-next-line-after-failure-p . t) (find-tag-search-function . search-forward) (find-tag-tag-order tag-exact-match-p tag-word-match-p tag-any-match-p) (find-tag-next-line-after-failure-p) (list-tags-function . etags-list-tags) (tags-apropos-function . etags-tags-apropos) (tags-included-tables-function . etags-tags-included-tables) (verify-tags-table-function . etags-verify-tags-table))] 3] etags-verify-tags-table #[nil "f=" [1 12] 2] etags-file-of-tag #[nil "!u`w`{)" [search-backward "\f\n" 2 "^," nil] 3] etags-tags-completion-table #[nil "\"eb#*ɔɔɕ{$ʔʕ{ \" ) )" [make-vector 511 0 table re-search-forward "^\\(\\(.+[^-a-zA-Z0-9_$]+\\)?\\([-a-zA-Z0-9_$]+\\)[^-a-zA-Z0-9_$]*\\)\\(\\([^\n]+\\)\\)?\\([0-9]+\\)?,\\([0-9]+\\)?\n" nil t intern 5 3] 4] etags-snarf-tag #[nil "!`Sy`){NJy`)#!/`w`{!!!C`w`{!y \n +BB" [nil startpos line tag-text search-forward "" 0 "" 1 t looking-at "[0-9]" string-to-int "0-9" ","] 4] etags-goto-tag-location #[(tag-info) "AA =ł@!P \n 0A@0A@!`  8e  b!  g \nZbog \n\\# \n_\nB }#}#, =!uy‡" [tag-info 1000 nil selective-display t "\\(^\\| \\)" "^" regexp-quote pat found offset startpos goto-line looking-at re-search-forward 3 error "Rerun etags: `%s' not found in %s" buffer-file-name " " 1 0] 7] etags-list-tags #[(file) "b Q#??FymE!E`w`{\n!7`w`{9\n!) yƇ" [1 search-forward "\f\n" file "," nil t looking-at "\f" "^" tag princ "[^\n]+" "^" terpri] 4] etags-tags-apropos #[(string) "b\n#!y`w`{! y" [1 re-search-forward string nil t 0 princ "^" terpri] 4] etags-tags-table-files #[nil "eb#&`w! `{!\nB\n*" [nil beg files search-forward "\f\n" t "^,\n" looking-at ",include$" expand-file-name] 4] etags-tags-included-tables #[nil "eb#&`w! `{!\nB\n*" [nil beg files search-forward "\f\n" t "^,\n" looking-at ",include$" expand-file-name] 4] recognize-empty-tags-table #[nil " U\"!L" [buffer-size 0 mapcar #[(sym) " !L" [make-local-variable sym ignore] 2] (tags-table-files-function tags-completion-table-function find-tag-regexp-search-function find-tag-search-function tags-apropos-function tags-included-tables-function) make-local-variable verify-tags-table-function #[nil " U" [buffer-size 0] 2]] 3] tag-exact-match-p #[(tag) "`f=` GZZf=; !Q!;!;!; GT!!:!)" [1 tag 127 looking-at "[^\n]*" regexp-quote "" "\\Sw.*" "\\S_.*" backward-char "\\Sw" "\\S_"] 4] tag-word-match-p #[(tag) "! GT!!)" [looking-at "\\b.*" backward-char tag "\\b"] 2] tag-any-match-p #[(tag) "!" [looking-at ".*"] 2] tag-re-match-p #[(re) "y`Ê`)# #*" [0 bol search-forward "" nil t re-search-backward re] 4]] 3) (defalias 'next-file #[(&optional initialize novisit) "= )!\fD!0!0 C?!?!!)\f@!?T_\f@\"qt!q \f@\"\fA)" [initialize t visit-tags-table-buffer tags-table-files next-file-list eval same novisit get-buffer " *next-file*" kill-buffer error "All files processed." get-file-buffer new find-file-noselect get-buffer-create kill-all-local-variables erase-buffer insert-file-contents nil] 4 "\ Select next file among files in current tags table. A first argument of t (prefix arg, if interactive) initializes to the beginning of the list of files in the tags table. If the argument is neither nil nor t, it is evalled to initialize the list of files. Non-nil second argument NOVISIT means use a temporary buffer to save time and avoid uninteresting warnings. Value is nil if the file was already visited; if the file was newly read in, the value is the filename." "P"]) (defvar tags-loop-operate nil "\ Form for `tags-loop-continue' to eval to change one file.") (defvar tags-loop-scan (quote (error (substitute-command-keys "No \\[tags-search] or \\[tags-query-replace] in progress."))) "\ Form for `tags-loop-continue' to eval to scan one file. If it returns non-nil, this file needs processing by evalling `tags-loop-operate'. Otherwise, move on to the next file.") (defalias 'tags-loop-continue #[(&optional first-time) " ~ !)? \" - 7 V7lj7\n5\f\"eb\nU` \n!q~ b)p!! o?o\f\"*" [nil messaged new first-time eval tags-loop-scan next-file t baud-rate search-slow-speed message "Scanning file %s..." buffer-file-name pos erase-buffer find-file-noselect switch-to-buffer tags-loop-operate "Scanning file %s...found"] 3 "\ Continue last \\[tags-search] or \\[tags-query-replace] command. Used noninteractively with non-nil argument to begin such a command (the argument is passed to `next-file', which see). Two variables control the processing we do on each file: the value of `tags-loop-scan' is a form to be executed on each file to see if it is interesting (it returns non-nil if so) and `tags-loop-operate' is a form to execute to operate on an interesting file If the latter returns non-nil, we exit; otherwise we scan the next file." nil]) (defalias 'tags-search #[(regexp &optional file-list-form) "\n@=\f!F$!" [regexp "" tags-loop-scan re-search-forward tags-loop-operate tags-loop-continue nil t file-list-form] 4 "\ Search through all files listed in tags table for match for REGEXP. Stops when a match is found. To continue searching for next match, use command \\[tags-loop-continue]. See documentation of variable `tags-file-name'." "sTags search (regexp): "]) (defalias 'tags-query-replace #[(from to &optional delimited file-list-form) " FED  ʼn\n  !" [prog1 if re-search-forward from nil t (goto-char (match-beginning 0)) tags-loop-scan perform-replace to delimited tags-loop-operate tags-loop-continue file-list-form] 6 "\ Query-replace-regexp FROM with TO through all files listed in tags table. Third arg DELIMITED (prefix arg) means replace only word-delimited matches. If you exit (\\[keyboard-quit] or ESC), you can resume the query-replace with the command \\[tags-loop-continue]. See documentation of variable `tags-file-name'." "sTags query replace (regexp): \nsTags query replace %s by: \nP"]) (defalias 'list-tags #[(file) "! ! ?!,\n !5 \"+" ["*Tags List*" princ "Tags in file " file terpri t nil gotany first-time visit-tags-table-buffer list-tags-function error "File %s not in current tags tables"] 4 "\ Display list of tags in file FILE. FILE should not contain a directory specification." (list (completing-read "List tags in file: " (save-excursion (visit-tags-table-buffer) (mapcar (quote list) (mapcar (quote file-name-nondirectory) (tags-table-files)))) nil t nil))]) (defalias 'tags-apropos #[(regexp) "!\f! ?!$\n\f!*" ["*Tags List*" princ "Tags matching regexp " prin1 regexp terpri t first-time visit-tags-table-buffer nil tags-apropos-function] 3 "\ Display list of all tags in tags table REGEXP matches." "sTags apropos (regexp): "]) (defalias 'select-tags-table #[nil "! + p\"c@p\"cW@=N@p\"c@@p\"cA0te ˱p\"c \"B\"\"@˱@p\"c@\"b!b #*! " [pop-to-buffer "*Tags Table List*" nil buffer-read-only erase-buffer tags-table-set-list desired-point set-list tags-table-list point-marker princ " " prin1 "\n" tags-file-name delete apply nconc mapcar copy-sequence 1 insert-before-markers "Type `t' to select a tags table or set of tags tables:\n\n" set-window-start selected-window t set-buffer-modified-p select-tags-table-mode] 9 "\ Select a tags table file from a menu of those you have already used. The list of tags tables to select from is stored in `tags-table-set-list'; see the doc of that variable if you want to add names to the list." nil]) (byte-code "  # # # # # #  )" [make-sparse-keymap map define-key "t" select-tags-table-select " " next-line "" previous-line "n" "p" "q" select-tags-table-quit select-tags-table-mode-map] 4) (defalias 'select-tags-table-mode #[nil " ! ʉ " [kill-all-local-variables t buffer-read-only select-tags-table-mode major-mode "Select Tags Table" mode-name use-local-map select-tags-table-mode-map selective-display nil selective-display-ellipses] 2 "\ Major mode for choosing a current tags table among those already loaded. \\{select-tags-table-mode-map}" nil]) (defalias 'select-tags-table-select #[nil "!p! ! \")" [search-forward " " read name visit-tags-table select-tags-table-quit message "Tags table now %s"] 3 "\ Select the tags table named on this line." nil]) (defalias 'select-tags-table-quit #[nil "p! " [kill-buffer one-window-p delete-window] 2 "\ Kill the buffer and delete the selected window." nil]) (defalias 'complete-tag #[nil " !! N ȉ \n +! !`\n Gu # =} V \" }  i\n`| c}!Ր #!\"+" [tags-table-list tags-file-name error substitute-command-keys "No tags table loaded. Try \\[visit-tags-table]." find-tag-default-function major-mode find-tag-default nil completion beg pattern "Nothing to complete" search-backward try-completion tags-complete-tag t message "Can't find completion for \"%s\"" ding "Making completion list..." "*Completions*" display-completion-list all-completions "Making completion list...%s" "done"] 7 "\ Perform tags completion on the text around point. Completes to the set of names listed in the current tags table. The string to complete is chosen in the same way as the default for \\[find-tag] (which see)." nil]) (provide (quote etags))