# HG changeset patch # User Richard M. Stallman # Date 935954340 0 # Node ID dde5fcbfa2af5786fcfe02cd9aa197b6a17a1ae7 # Parent a08bfd06443994cbc9e08cfbfee25eb24e0bf8e4 (Info-tagify): Don't insert more than one newline before the tag table. (Info-tagify): Start by widening. Match node headers that don't list the file name, and more kinds of page separations. Strip properties during tagification. Use start of node header line as tag's position. Fix the "done" message. (Info-validate): Save and restore match data around narrowing down. diff -r a08bfd064439 -r dde5fcbfa2af lisp/informat.el --- a/lisp/informat.el Sun Aug 29 19:07:33 1999 +0000 +++ b/lisp/informat.el Sun Aug 29 19:19:00 1999 +0000 @@ -49,6 +49,7 @@ (opoint (point))) (unwind-protect (progn + (widen) (goto-char (point-min)) (if (search-forward "\^_\nIndirect:\n" nil t) (message @@ -82,14 +83,14 @@ "\\|" "\\(" - "\n\^_" + "\n\^_\\(\^L\\)?" "\\)" "\\(" - "\nFile:[ \t]*\\([^,\n\t]*\\)[,\t\n]+[ \t\n]*" + "\n\\(File:[ \t]*\\([^,\n\t]*\\)[,\t\n]+[ \t\n]*\\)?" "Node:[ \t]*" "\\(" - "[^,\n\t]*" ; match-string 11 matches arg to node name + "[^,\n\t]*" ; match-string 13 matches arg to node name "\\)" "[,\t\n]" "\\)" @@ -116,8 +117,8 @@ ;; else this is a Node (setq tag-list (cons (list - (concat "Node: " (match-string 11)) - (match-beginning 0)) + (concat "Node: " (match-string-no-properties 13)) + (1+ (match-beginning 10))) tag-list)))) (goto-char (point-max)) @@ -129,7 +130,9 @@ (beginning-of-line) (delete-region (point) end))) (goto-char (point-max)) - (insert "\n\^_\f\nTag table:\n") + (or (bolp) + (newline)) + (insert "\^_\f\nTag table:\n") (if (eq major-mode 'info-mode) (move-marker Info-tag-table-marker (point))) (setq tag-list (nreverse tag-list)) @@ -143,9 +146,9 @@ (narrow-to-region omin (if nomax (1+ (buffer-size)) (min omax (point-max)))))) (if input-buffer-name - (message "Tagifying region in %s ..." input-buffer-name) + (message "Tagifying region in %s done" input-buffer-name) (message - "Tagifying %s ..." (file-name-nondirectory (buffer-file-name))))) + "Tagifying %s done" (file-name-nondirectory (buffer-file-name))))) ;;;###autoload @@ -274,8 +277,10 @@ (forward-line 1) (if (re-search-backward regexp beg t) (save-restriction - (search-forward "\n\^_" nil 'move) - (narrow-to-region beg (point)) + (let ((md (match-data))) + (search-forward "\n\^_" nil 'move) + (narrow-to-region beg (point)) + (set-match-data md)) (setq Info-validate-thisnode (downcase (buffer-substring-no-properties (match-beginning 1)