浏览代码

Do not run flyspell-checks on {todo,all-time,additional-option-like}-keywords

* org.el (org-mode-flyspell-verify): This is useful when using
  flyspell with a non-English dictionary, or if some of your
  keywords are in another language.

Signed-off-by: Julien Danjou <julien@danjou.info>
Sébastien Delafond 14 年之前
父节点
当前提交
1afcef3007
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. 9 3
      lisp/org.el

+ 9 - 3
lisp/org.el

@@ -20208,9 +20208,15 @@ To get rid of the restriction, use \\[org-agenda-remove-restriction-lock]."
 
 ;; Make flyspell not check words in links, to not mess up our keymap
 (defun org-mode-flyspell-verify ()
-  "Don't let flyspell put overlays at active buttons."
-  (and (not (get-text-property (max (1- (point)) (point-min)) 'keymap))
-       (not (get-text-property (max (1- (point)) (point-min)) 'org-no-flyspell))))
+  "Don't let flyspell put overlays at active buttons, or on
+   {todo,all-time,additional-option-like}-keywords."
+  (let ((pos (max (1- (point)) (point-min)))
+	(word (thing-at-point 'word)))
+    (and (not (get-text-property pos 'keymap))
+	 (not (get-text-property pos 'org-no-flyspell))
+	 (not (member word org-todo-keywords-1))
+	 (not (member word org-all-time-keywords))
+	 (not (member word org-additional-option-like-keywords)))))
 
 (defun org-remove-flyspell-overlays-in (beg end)
   "Remove flyspell overlays in region."