# HG changeset patch # User Roland McGrath # Date 784867083 0 # Node ID d49a23c098df1e01c4e54212899fd4ec62e29c0f # Parent 05aa745fc82921b36444a1f61dbc2b8e405e51d2 (tags-table-including): Don't gratuitously cons (what was I thinking?). Properly skip t elements of tags-table-computed-list. diff -r 05aa745fc829 -r d49a23c098df lisp/progmodes/etags.el --- 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.