(opoint (point)))
(unwind-protect
(progn
+ (widen)
(goto-char (point-min))
(if (search-forward "\^_\nIndirect:\n" nil t)
(message
"\\|"
"\\("
- "\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]"
"\\)"
;; 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))
(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))
(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)))))
\f
;;;###autoload
(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)