Mercurial > emacs
changeset 9928:d49a23c098df
(tags-table-including): Don't gratuitously cons (what was I thinking?).
Properly skip t elements of tags-table-computed-list.
author | Roland McGrath <roland@gnu.org> |
---|---|
date | Tue, 15 Nov 1994 02:38:03 +0000 |
parents | 05aa745fc829 |
children | 72dc1c5b3939 |
files | lisp/progmodes/etags.el |
diffstat | 1 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/etags.el Tue Nov 15 02:05:04 1994 +0000 +++ b/lisp/progmodes/etags.el Tue Nov 15 02:38:03 1994 +0000 @@ -365,20 +365,25 @@ (setq tables (cdr tables))) (if found ;; Now determine if the table we found was one included by another - ;; table, not explicitly listed. + ;; table, not explicitly listed. We do this by checking each + ;; element of the computed list to see if it appears in the user's + ;; explicit list; the last element we will check is FOUND itself. + ;; Then we return the last one which did in fact appear in + ;; tags-table-list. (let ((could-be nil) (elt tags-table-computed-list)) (while (not (eq elt (cdr found))) (if (tags-table-list-member (car elt) tags-table-list) ;; This table appears in the user's list, so it could be ;; the one which includes the table we found. - (setq could-be (cons (car elt) could-be))) - (setq elt (cdr elt))) + (setq could-be (car elt))) + (setq elt (cdr elt)) + (if (eq t (car elt)) + (setq elt (cdr elt)))) ;; The last element we found in the computed list before FOUND ;; that appears in the user's list will be the table that - ;; included the one we found. This will be the head of the - ;; COULD-BE list. - (car could-be))))) + ;; included the one we found. + could-be)))) ;; Subroutine of visit-tags-table-buffer. Move tags-table-list-pointer ;; along and set tags-file-name. Returns nil when out of tables.