changeset 103002:61ab76316844

* textmodes/flyspell.el (flyspell-correct-word-before-point): Don't create markers. (tex-mode-flyspell-verify): Don't create markers. Use line-end-position. (sgml-mode-flyspell-verify): Don't create markers. Simplify code using looking-at and looking-back.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 16 Apr 2009 18:45:20 +0000
parents 6b3176775d00
children bf88e5d2f4af
files lisp/ChangeLog lisp/textmodes/flyspell.el
diffstat 2 files changed, 19 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Apr 16 16:01:14 2009 +0000
+++ b/lisp/ChangeLog	Thu Apr 16 18:45:20 2009 +0000
@@ -1,3 +1,12 @@
+2009-04-16  Chong Yidong  <cyd@stupidchicken.com>
+
+	* textmodes/flyspell.el (flyspell-correct-word-before-point):
+	Don't create markers.
+	(tex-mode-flyspell-verify): Don't create markers.  Use
+	line-end-position.
+	(sgml-mode-flyspell-verify): Don't create markers.  Simplify code
+	using looking-at and looking-back.
+
 2009-04-16  Robert Brown  <brown@google.com>  (tiny change)
 
 	* emacs-lisp/lisp-mode.el: Give `deftype' a doc-string-elt
--- a/lisp/textmodes/flyspell.el	Thu Apr 16 16:01:14 2009 +0000
+++ b/lisp/textmodes/flyspell.el	Thu Apr 16 18:45:20 2009 +0000
@@ -347,12 +347,12 @@
    (not (save-excursion
 	  (re-search-backward "^[ \t]*%%%[ \t]+Local" nil t)))
    (not (save-excursion
-	  (let ((this (point-marker))
-		(e (progn (end-of-line) (point-marker))))
+	  (let ((this (point)))
 	    (beginning-of-line)
-	    (if (re-search-forward "\\\\\\(cite\\|label\\|ref\\){[^}]*}" e t)
-		(and (>= this (match-beginning 0))
-		     (<= this (match-end 0)) )))))))
+	    (and (re-search-forward "\\\\\\(cite\\|label\\|ref\\){[^}]*}"
+				    (line-end-position) t)
+		 (>= this (match-beginning 0))
+		 (<= this (match-end 0))))))))
 
 ;;*--- sgml mode -------------------------------------------------------*/
 (put 'sgml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify)
@@ -362,25 +362,10 @@
 (defun sgml-mode-flyspell-verify ()
   "Function used for `flyspell-generic-check-word-predicate' in SGML mode."
   (not (save-excursion
-	 (let ((this (point-marker))
-	       (s (progn (beginning-of-line) (point-marker)))
-	       (e (progn (end-of-line) (point-marker))))
-	   (or (progn
-		 (goto-char this)
-		 (and (re-search-forward  "[^<]*>" e t)
-		      (= (match-beginning 0) this)))
-	       (progn
-		 (goto-char this)
-		 (and (re-search-backward "<[^>]*" s t)
-		      (= (match-end 0) this)))
-	       (and (progn
-		      (goto-char this)
-		      (and (re-search-forward  "[^&]*;" e t)
-			   (= (match-beginning 0) this)))
-		    (progn
-		      (goto-char this)
-		      (and (re-search-backward "&[^;]*" s t)
-			   (= (match-end 0) this)))))))))
+	 (or (looking-at "[^<\n]*>")
+	     (looking-back "<[^>\n]*")
+	     (and (looking-at "[^&\n]*;")
+		  (looking-back "&[^;\n]*"))))))
 
 ;;*---------------------------------------------------------------------*/
 ;;*    Programming mode                                                 */
@@ -2063,7 +2048,7 @@
     (error "Pop-up menus do not work on this terminal"))
   ;; use the correct dictionary
   (flyspell-accept-buffer-local-defs)
-  (or opoint (setq opoint (point-marker)))
+  (or opoint (setq opoint (point)))
   (let ((cursor-location (point))
 	(word (flyspell-get-word nil)))
     (if (consp word)