:group 'info)
(defface info-xref-visited
- '((t :inherit info-xref)
+ '((default :inherit info-xref)
(((class color) (background light)) :foreground "magenta4")
(((class color) (background dark)) :foreground "magenta3")) ;"violet"?
"Face for visited Info cross-references."
:type 'boolean
:group 'info)
-(defcustom Info-search-whitespace-regexp "\\(?:\\s-+\\)"
+(defcustom Info-search-whitespace-regexp "\\s-+"
"*If non-nil, regular expression to match a sequence of whitespace chars.
This applies to Info search for regular expressions.
You might want to use something like \"[ \\t\\r\\n]+\" instead.
(equal old-nodename Info-current-node))
(progn
;; note goto-line is no good, we want to measure from point-min
- (beginning-of-buffer)
+ (goto-char (point-min))
(forward-line wline)
(set-window-start (selected-window) (point))
- (beginning-of-buffer)
+ (goto-char (point-min))
(forward-line pline)
(move-to-column pcolumn))
;; only add to the history when coming from a different file+node
(opoint-max (point-max))
(ostart (window-start))
(osubfile Info-current-subfile))
- (when Info-search-whitespace-regexp
- (setq regexp
- (mapconcat 'identity (split-string regexp "[ \t\n]+")
- Info-search-whitespace-regexp)))
(setq Info-search-case-fold case-fold-search)
(save-excursion
(save-restriction
(1- (point)))
(point-max)))
(while (and (not give-up)
- (or (null found)
- (if backward
- (isearch-range-invisible found beg-found)
- (isearch-range-invisible beg-found found))
- ;; Skip node header line
- (save-excursion (forward-line -1)
- (looking-at "\^_"))))
- (if (if backward
- (re-search-backward regexp bound t)
- (re-search-forward regexp bound t))
- (setq found (point) beg-found (if backward (match-end 0)
- (match-beginning 0)))
- (setq give-up t)))))
+ (save-match-data
+ (or (null found)
+ (if backward
+ (isearch-range-invisible found beg-found)
+ (isearch-range-invisible beg-found found))
+ ;; Skip node header line
+ (and (save-excursion (forward-line -1)
+ (looking-at "\^_"))
+ (forward-line 1))
+ ;; Skip Tag Table node
+ (save-excursion
+ (and (search-backward "\^_" nil t)
+ (looking-at "\^_\nTag Table"))))))
+ (let ((search-spaces-regexp Info-search-whitespace-regexp))
+ (if (if backward
+ (re-search-backward regexp bound t)
+ (re-search-forward regexp bound t))
+ (setq found (point) beg-found (if backward (match-end 0)
+ (match-beginning 0)))
+ (setq give-up t))))))
;; If no subfiles, give error now.
(if give-up
(if (null Info-current-subfile)
- (if backward
- (re-search-backward regexp)
- (re-search-forward regexp))
+ (let ((search-spaces-regexp Info-search-whitespace-regexp))
+ (if backward
+ (re-search-backward regexp)
+ (re-search-forward regexp)))
(setq found nil)))
(unless (or found bound)
(setq list (cdr list))
(setq give-up nil found nil)
(while (and (not give-up)
- (or (null found)
- (if backward
- (isearch-range-invisible found beg-found)
- (isearch-range-invisible beg-found found))
- ;; Skip node header line
- (save-excursion (forward-line -1)
- (looking-at "\^_"))))
- (if (if backward
- (re-search-backward regexp nil t)
- (re-search-forward regexp nil t))
- (setq found (point) beg-found (if backward (match-end 0)
- (match-beginning 0)))
- (setq give-up t)))
+ (save-match-data
+ (or (null found)
+ (if backward
+ (isearch-range-invisible found beg-found)
+ (isearch-range-invisible beg-found found))
+ ;; Skip node header line
+ (and (save-excursion (forward-line -1)
+ (looking-at "\^_"))
+ (forward-line 1))
+ ;; Skip Tag Table node
+ (save-excursion
+ (and (search-backward "\^_" nil t)
+ (looking-at "\^_\nTag Table"))))))
+ (let ((search-spaces-regexp Info-search-whitespace-regexp))
+ (if (if backward
+ (re-search-backward regexp nil t)
+ (re-search-forward regexp nil t))
+ (setq found (point) beg-found (if backward (match-end 0)
+ (match-beginning 0)))
+ (setq give-up t))))
(if give-up
(setq found nil))
(if found
"Follow a node reference near point. Return non-nil if successful."
(let (node)
(cond
- ((and (Info-get-token (point) "[hf]t?tp://" "[hf]t?tp://\\([^ \t\n\"`({<>})']+\\)")
- (or (featurep 'browse-url) (require 'browse-url nil t)))
+ ((Info-get-token (point) "[hf]t?tp://" "[hf]t?tp://\\([^ \t\n\"`({<>})']+\\)")
(setq node t)
(browse-url (browse-url-url-at-point)))
((setq node (Info-get-token (point) "\\*note[ \n\t]+"