Hi,

Currently code and verbatim snippets, and LaTeX fragments are spell
checked by `flyspell` if they're in a headline.

The attached patch fixes that.

--
Sébastien Miquel
>From b4291ce0ea455af499e75d3c9313183a0e8f46ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Miquel?= <sebastien.miq...@posteo.eu>
Date: Sun, 7 Mar 2021 17:06:34 +0100
Subject: [PATCH] org-compat.el (org-mode-flyspell-verify): Do not check code
 in headline

* lisp/org-compat.el (org-mode-flyspell-verify): Do not spell check
code, verbatim and LaTeX fragments in headline title.
---
 lisp/org-compat.el | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lisp/org-compat.el b/lisp/org-compat.el
index 8cbf33137..3d45bed7f 100644
--- a/lisp/org-compat.el
+++ b/lisp/org-compat.el
@@ -1025,8 +1025,7 @@ ELEMENT is the element at point."
 (defun org-mode-flyspell-verify ()
   "Function used for `flyspell-generic-check-word-predicate'."
   (if (org-at-heading-p)
-      ;; At a headline or an inlinetask, check title only.  This is
-      ;; faster than relying on `org-element-at-point'.
+      ;; At a headline or an inlinetask, check title only.
       (and (save-excursion (beginning-of-line)
 			   (and (let ((case-fold-search t))
 				  (not (looking-at-p "\\*+ END[ \t]*$")))
@@ -1035,7 +1034,9 @@ ELEMENT is the element at point."
 	   (match-beginning 4)
 	   (>= (point) (match-beginning 4))
 	   (or (not (match-beginning 5))
-	       (< (point) (match-beginning 5))))
+	       (< (point) (match-beginning 5)))
+           ;; Ignore checks in code, verbatim and others.
+           (org--flyspell-object-check-p (org-element-at-point)))
     (let* ((element (org-element-at-point))
 	   (post-affiliated (org-element-property :post-affiliated element)))
       (cond
-- 
2.30.1

Reply via email to