;-*- Mode:LISP; Package:ZWEI; Readtable:ZL; Base:10 -*- (DEFCOM COM-TAGS-SEARCH-LIST-SECTIONS "List sections of files in the tag table containing specified string. Reads a string in the minibuffer (extended search characters allowed) and searches the files in the tag table, recording the sections that contain the string as a list of possibilities to visit." () (LET ((*MINI-BUFFER-DEFAULT-STRING* *ZMACS-TAGS-SEARCH-KEY-STRING*)) (MULTIPLE-VALUE (*ZMACS-TAGS-SEARCH-FUNCTION* *ZMACS-TAGS-SEARCH-KEY*) (GET-EXTENDED-STRING-SEARCH-STRINGS NIL "Tags search (list sections):" *SEARCH-MINI-BUFFER-COMTAB*))) (SETQ *ZMACS-TAGS-SEARCH-KEY-STRING* (STRING-INTERVAL (WINDOW-INTERVAL (GET-SEARCH-MINI-BUFFER-WINDOW)))) (LET (NODES) (DOLIST (*INTERVAL* (TAG-TABLE-BUFFERS nil)) (DO ((BP (INTERVAL-FIRST-BP *INTERVAL*))) (()) (SETQ BP (FUNCALL *ZMACS-TAGS-SEARCH-FUNCTION* BP *ZMACS-TAGS-SEARCH-KEY*)) (UNLESS BP (RETURN)) (LET ((NODE (BP-NODE BP))) (PUSH NODE NODES) (SETQ BP (INTERVAL-LAST-BP NODE))))) (EDIT-SECTIONS-DISPLAY NODES "~A ~A:" "No ~A ~A found." "Sections containing" *ZMACS-TAGS-SEARCH-KEY-STRING*)) DIS-NONE)