* lisp/info.el (Info-fontify-node): Don't stop at the non-title underline.

(Bug#21433)
This commit is contained in:
Juri Linkov 2015-09-09 00:51:32 +03:00
parent f201dfd377
commit 39dca94701

View file

@ -4720,28 +4720,28 @@ first line or header line, and for breadcrumb links.")
;; Fontify titles
(goto-char (point-min))
(when (and font-lock-mode not-fontified-p)
(while (and (re-search-forward "\n\\([^ \t\n].+\\)\n\\(\\*\\*+\\|==+\\|--+\\|\\.\\.+\\)$"
nil t)
;; Only consider it as an underlined title if the ASCII
;; underline has the same size as the text. A typical
;; counter example is when a continuation "..." is alone
;; on a line.
(= (string-width (match-string 1))
(string-width (match-string 2))))
(let* ((c (preceding-char))
(face
(cond ((= c ?*) 'info-title-1)
((= c ?=) 'info-title-2)
((= c ?-) 'info-title-3)
(t 'info-title-4))))
(put-text-property (match-beginning 1) (match-end 1)
'font-lock-face face))
;; This is a serious problem for trying to handle multiple
;; frame types at once. We want this text to be invisible
;; on frames that can display the font above.
(when (memq (framep (selected-frame)) '(x pc w32 ns))
(add-text-properties (1- (match-beginning 2)) (match-end 2)
'(invisible t front-sticky nil rear-nonsticky t)))))
(while (re-search-forward "\n\\([^ \t\n].+\\)\n\\(\\*\\*+\\|==+\\|--+\\|\\.\\.+\\)$"
nil t)
;; Only consider it as an underlined title if the ASCII
;; underline has the same size as the text. A typical
;; counter example is when a continuation "..." is alone
;; on a line.
(when (= (string-width (match-string 1))
(string-width (match-string 2)))
(let* ((c (preceding-char))
(face
(cond ((= c ?*) 'info-title-1)
((= c ?=) 'info-title-2)
((= c ?-) 'info-title-3)
(t 'info-title-4))))
(put-text-property (match-beginning 1) (match-end 1)
'font-lock-face face))
;; This is a serious problem for trying to handle multiple
;; frame types at once. We want this text to be invisible
;; on frames that can display the font above.
(when (memq (framep (selected-frame)) '(x pc w32 ns))
(add-text-properties (1- (match-beginning 2)) (match-end 2)
'(invisible t front-sticky nil rear-nonsticky t))))))
;; Fontify cross references
(goto-char (point-min))