* lisp/info.el (Info-fontify-node): Don't stop at the non-title underline.
(Bug#21433)
This commit is contained in:
parent
f201dfd377
commit
39dca94701
1 changed files with 22 additions and 22 deletions
44
lisp/info.el
44
lisp/info.el
|
@ -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))
|
||||
|
|
Loading…
Add table
Reference in a new issue