Charles G Waldman <cgw(a)alum.mit.edu> writes:
Enrico Scholz writes:
> When a TAGS file includes another one, `find-tag' (M-.) fails with
Would you like to try an experimental version of etags.el with INCLUDE
support?
Thanks, I have tried it but got the error
| Signaling: (wrong-type-argument sequencep find-tag-history)
| concat("\\_" find-tag-history "\\_")
| (setq exact-tagname (concat "\\_" tagname "\\_"))
| (let ((next ...) (tmpnext ...) (exact ...) (normal-syntax-table ...)
(exact-syntax-table ...) tag-table-currently-matching-exact tag-target exact-tagname
tag-tables tag-table-point file linebeg startpos buf offset found pat syn-tab) (when
(consp tagname) (setq tagname ...)) (cond (next ... ...) (t ...)) (setq exact-tagname
(concat "\\_" tagname "\\_")) (while (string-match "\\\\_"
exact-tagname) (aset exact-tagname ... ?b)) (save-excursion (catch ... ... ...)
(search-forward "") (setq file ...) (setq linebeg ...) (search-forward
",") (setq startpos ...) (setq last-tag-data ...) (setq buf ...)
(with-current-buffer buf ...) (cons buf startpos)))
| find-tag-internal(find-tag-history)
| (let* ((local-find-tag-hook find-tag-hook) (next ...) (result ...) (tag-buf ...)
(tag-point ...)) (if (or ... ...) (push-tag-mark)) (if other-window (pop-to-buffer
tag-buf) (switch-to-buffer tag-buf)) (widen) (push-mark) (goto-char tag-point) (if
find-tag-hook (funcall find-tag-hook) (if local-find-tag-hook ...)))
| (lambda (tagname &optional other-window) "*Find tag whose name contains
TAGNAME.\n Selects the buffer that the tag is contained in\nand puts point at its
definition.\n If TAGNAME is a null string, the expression in the buffer\naround or before
point is used as the tag name.\n If called interactively with a numeric argument, searches
for the next tag\nin the tag table that matches the tagname used in the previous
find-tag.\n If second arg OTHER-WINDOW is non-nil, uses another window to display\nthe
tag.\n\nThis version of this function supports multiple active tags tables,\nand
completion.\n\nVariables of note:\n\n tag-table-alist controls which tables apply to
which buffers\n tags-file-name a default tags table\n tags-build-completion-table
controls completion behavior\n buffer-tag-table another way of specifying a buffer-local
table\n make-tags-files-invisible whether tags tables should be very hidden\n
tag-mark-stack-max how many tags-based hops to remember" (interactive (if
current-prefix-arg ... ...)) (let* (... ... ... ... ...) (if ... ...) (if other-window ...
...) (widen) (push-mark) (goto-char tag-point) (if find-tag-hook ... ...)) (setq
tags-loop-scan (list ... nil nil) tags-loop-operate nil) t)(find-tag-history nil)
| call-interactively(find-tag)
at my example.
`find-tag-history' is ("site" "get_from_dig") in the concat
statement. Is
it possible that something goes wrong in the new `find-tag-tag'?
Your version seems to remove a part handling windoze-paths (these with
'\\' instead of '/') also (search for `windows-nt' in the original
etags.el).
Enrico