mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-29 21:07:54 +00:00
Prevent invisible characters in keywords
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Forbid invisible characters (e.g. bracket links) in all keywords but TITLE, DATE, AUTHOR, CAPTION and EMAIL. Also remove back-end specific keywords, which are treated just like any other regular keyword. Reported-by: Rasmus <rasmus@gmx.us> <http://permalink.gmane.org/gmane.emacs.orgmode/95415>
This commit is contained in:
parent
50a0e712cc
commit
37d2a2d1cf
38
lisp/org.el
38
lisp/org.el
|
@ -5881,17 +5881,6 @@ by a #."
|
|||
(dc3 (downcase (match-string 3)))
|
||||
end end1 quoting block-type ovl)
|
||||
(cond
|
||||
((member dc1 '("+html:" "+ascii:" "+latex:"))
|
||||
;; a single line of backend-specific content
|
||||
(org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0))
|
||||
(remove-text-properties (match-beginning 0) (match-end 0)
|
||||
'(display t invisible t intangible t))
|
||||
(add-text-properties (match-beginning 1) (match-end 3)
|
||||
'(font-lock-fontified t face org-meta-line))
|
||||
(add-text-properties (match-beginning 6) (+ (match-end 6) 1)
|
||||
'(font-lock-fontified t face org-block))
|
||||
; for backend-specific code
|
||||
t)
|
||||
((and (match-end 4) (equal dc3 "+begin"))
|
||||
;; Truly a block
|
||||
(setq block-type (downcase (match-string 5))
|
||||
|
@ -5943,18 +5932,14 @@ by a #."
|
|||
(if (string-equal dc1 "+title:")
|
||||
'(font-lock-fontified t face org-document-title)
|
||||
'(font-lock-fontified t face org-document-info))))
|
||||
((or (equal dc1 "+results")
|
||||
(member dc1 '("+begin:" "+end:" "+caption:" "+label:"
|
||||
"+orgtbl:" "+tblfm:" "+tblname:" "+results:"
|
||||
"+call:" "+header:" "+headers:" "+name:"))
|
||||
(and (match-end 4) (equal dc3 "+attr")))
|
||||
(org-remove-flyspell-overlays-in
|
||||
(match-beginning 0)
|
||||
(if (equal "+caption:" dc1) (match-end 2) (match-end 0)))
|
||||
(add-text-properties
|
||||
beg (match-end 0)
|
||||
'(font-lock-fontified t face org-meta-line))
|
||||
t)
|
||||
((equal dc1 "+caption:")
|
||||
(org-remove-flyspell-overlays-in (match-end 2) (match-end 0))
|
||||
(remove-text-properties (match-beginning 0) (match-end 0)
|
||||
'(display t invisible t intangible t))
|
||||
(add-text-properties (match-beginning 1) (match-end 3)
|
||||
'(font-lock-fontified t face org-meta-line))
|
||||
(add-text-properties (match-beginning 6) (+ (match-end 6) 1)
|
||||
'(font-lock-fontified t face org-block)))
|
||||
((member dc3 '(" " ""))
|
||||
(org-remove-flyspell-overlays-in beg (match-end 0))
|
||||
(add-text-properties
|
||||
|
@ -5962,9 +5947,10 @@ by a #."
|
|||
'(font-lock-fontified t face font-lock-comment-face)))
|
||||
(t ;; just any other in-buffer setting, but not indented
|
||||
(org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0))
|
||||
(add-text-properties
|
||||
beg (match-end 0)
|
||||
'(font-lock-fontified t face org-meta-line))
|
||||
(remove-text-properties (match-beginning 0) (match-end 0)
|
||||
'(display t invisible t intangible t))
|
||||
(add-text-properties beg (match-end 0)
|
||||
'(font-lock-fontified t face org-meta-line))
|
||||
t))))))
|
||||
|
||||
(defun org-fontify-drawers (limit)
|
||||
|
|
Loading…
Reference in a new issue