# HG changeset patch # User Chong Yidong # Date 1239907520 0 # Node ID 61ab76316844534b4a4aea7fbc0e99a808a27e79 # Parent 6b3176775d009401d5fde2fe4150ef0bdf5bb01a * 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. diff -r 6b3176775d00 -r 61ab76316844 lisp/ChangeLog --- 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 + + * 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 (tiny change) * emacs-lisp/lisp-mode.el: Give `deftype' a doc-string-elt diff -r 6b3176775d00 -r 61ab76316844 lisp/textmodes/flyspell.el --- 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)