comparison lisp/etags.el @ 5473:ac37a5f7e5be

Merge with trunk.
author Mats Lidell <matsl@xemacs.org>
date Thu, 17 Mar 2011 23:42:59 +0100
parents 308d34e9f07d 4141aeddc55b
children 4dee0387b9de
comparison
equal deleted inserted replaced
5472:e79980ee5efe 5473:ac37a5f7e5be
239 (eval (cdr item)))) 239 (eval (cdr item))))
240 (if (stringp expression) 240 (if (stringp expression)
241 (push expression result) 241 (push expression result)
242 (error "Expression in tag-table-alist evaluated to non-string"))))) 242 (error "Expression in tag-table-alist evaluated to non-string")))))
243 (setq result 243 (setq result
244 (mapcar 244 (mapcan
245 (lambda (name) 245 (lambda (name)
246 (when (file-directory-p name) 246 (when (file-directory-p name)
247 (setq name (concat (file-name-as-directory name) "TAGS"))) 247 (setq name (concat (file-name-as-directory name) "TAGS")))
248 (and (file-readable-p name) 248 (and (file-readable-p name)
249 ;; get-tag-table-buffer has side-effects 249 ;; get-tag-table-buffer has side-effects
250 (symbol-value-in-buffer 'buffer-file-name 250 (list (symbol-value-in-buffer 'buffer-file-name
251 (get-tag-table-buffer name)))) 251 (get-tag-table-buffer name)))))
252 result)) 252 result))
253 (setq result (delq nil result))
254 ;; If no TAGS file has been found, ask the user explicitly. 253 ;; If no TAGS file has been found, ask the user explicitly.
255 ;; #### tags-file-name is *evil*. 254 ;; #### tags-file-name is *evil*.
256 (or result tags-file-name 255 (or result tags-file-name
257 (call-interactively 'visit-tags-table)) 256 (call-interactively 'visit-tags-table))
258 (when tags-file-name 257 (when tags-file-name