]> git.eshelyaron.com Git - emacs.git/commitdiff
* textmodes/flyspell.el (sgml-mode-flyspell-verify): Use
authorKevin Ryde <user42@zip.com.au>
Mon, 16 Nov 2009 22:53:21 +0000 (22:53 +0000)
committerKevin Ryde <user42@zip.com.au>
Mon, 16 Nov 2009 22:53:21 +0000 (22:53 +0000)
`sgml-lexical-context' instead of own parse for tag.  (Further to
Bug#4511).

lisp/ChangeLog
lisp/textmodes/flyspell.el

index 67a56445aff39afe644cc767f8957634e26b43df..cfe1492a962df0e49dc6603ae40a3b4d93b7e9a6 100644 (file)
@@ -1,3 +1,9 @@
+2009-11-16  Kevin Ryde  <user42@zip.com.au>
+
+       * textmodes/flyspell.el (sgml-mode-flyspell-verify): Use
+       `sgml-lexical-context' instead of own parse for tag.  (Further to
+       Bug#4511).
+
 2009-11-16  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * vc.el (vc-log-show-limit): Default to 2000.
index bffbbbc3cc18eaa45534cfa904403901c60c0411..9aaf466f0ed3e2cf07dd87e63a6c8a946dc785f0 100644 (file)
@@ -360,13 +360,14 @@ property of the major mode name.")
 (put 'nxml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify)
 
 (defun sgml-mode-flyspell-verify ()
-  "Function used for `flyspell-generic-check-word-predicate' in SGML mode."
-  (not (save-excursion
-        (or (looking-at "[^<\n]*>")
-            (ispell-looking-back "<[^>\n]*" (line-beginning-position))
-            (and (looking-at "[^&\n]*;")
-                 (ispell-looking-back "&[^;\n]*"
-                                       (line-beginning-position)))))))
+  "Function used for `flyspell-generic-check-word-predicate' in SGML mode.
+Tag and attribute names are not spell checked, everything else is.
+
+String values of attributes are checked because they can be text
+like <img alt=\"Some thing.\">."
+
+  (not (memq (car (sgml-lexical-context))
+            '(tag pi))))
 
 ;;*---------------------------------------------------------------------*/
 ;;*    Programming mode                                                 */