Mercurial > emacs
comparison lisp/progmodes/etags.el @ 7284:87be9630459d
(tags-find-table-in-list): Only recurse if (tags-included-tables) returns
non-nil (avoid infinite recursion).
author | Roland McGrath <roland@gnu.org> |
---|---|
date | Mon, 02 May 1994 21:41:43 +0000 |
parents | b2485e94101a |
children | 0e89007c19c6 |
comparison
equal
deleted
inserted
replaced
7283:3dc9a9e95d32 | 7284:87be9630459d |
---|---|
292 ;; its included tables. | 292 ;; its included tables. |
293 (save-excursion | 293 (save-excursion |
294 (let ((tags-file-name this-file) | 294 (let ((tags-file-name this-file) |
295 found) | 295 found) |
296 (visit-tags-table-buffer 'same) | 296 (visit-tags-table-buffer 'same) |
297 (if (tags-find-table-in-list file recursing-move-to | 297 (and (tags-included-tables) |
298 (tags-included-tables)) | 298 ;; We have some included tables; check them. |
299 (progn | 299 (tags-find-table-in-list file recursing-move-to |
300 ;; We found FILE in the included table. | 300 tags-included-tables) |
301 (if move-to | 301 (progn |
302 (progn | 302 ;; We found FILE in the included table. |
303 ;; The recursive call has already frobbed the list | 303 (if move-to |
304 ;; pointers. It set tags-table-parent-pointer-list | 304 (progn |
305 ;; to a list including RECURSING-MOVE-TO. Now we | 305 ;; The recursive call has already frobbed the list |
306 ;; must mutate that cons so its list pointers show | 306 ;; pointers. It set tags-table-parent-pointer-list |
307 ;; the position where we found this included table. | 307 ;; to a list including RECURSING-MOVE-TO. Now we |
308 (setcar (cdr (car recursing-move-to)) list) | 308 ;; must mutate that cons so its list pointers show |
309 (setcar (cdr (cdr (car recursing-move-to))) list) | 309 ;; the position where we found this included table. |
310 ;; Don't do further list frobnication below. | 310 (setcar (cdr (car recursing-move-to)) list) |
311 (setq move-to nil))) | 311 (setcar (cdr (cdr (car recursing-move-to))) list) |
312 (setq list t)))))) | 312 ;; Don't do further list frobnication below. |
313 (setq move-to nil))) | |
314 (setq list t)))))) | |
313 (if (consp list) | 315 (if (consp list) |
314 (setq list (cdr list)))) | 316 (setq list (cdr list)))) |
315 (and list move-to | 317 (and list move-to |
316 (progn | 318 (progn |
317 ;; We have located FILE in the list. | 319 ;; We have located FILE in the list. |