* bug#728: 23.0.60; flyspell checking is sometimes silently disabled
@ 2008-08-15 22:20 ` Markus Triska
2008-08-16 4:12 ` Stefan Monnier
2008-09-17 1:05 ` bug#728: marked as done (23.0.60; flyspell checking is sometimes silently disabled) Emacs bug Tracking System
0 siblings, 2 replies; 7+ messages in thread
From: Markus Triska @ 2008-08-15 22:20 UTC (permalink / raw)
To: emacs-pretest-bug
Sometimes in flyspell-mode, the mode line still says "Fly", but no
more flychecking is actually performed. I cannot yet reproduce it
reliably; however, if you add the following to your .emacs:
(defun my-flyspell-check ()
(when flyspell-mode
(unless (memq 'flyspell-post-command-hook post-command-hook)
(with-current-buffer (get-buffer-create "flywarn")
(insert "flychecking inactive despite flyspell-mode!\n"))
(display-buffer "flywarn"))))
(setq flycheck-timer (run-with-timer 0 0.5 'my-flyspell-check))
you will be informed when flyspell mode is superficially active, but
no checking is actually performed. I only encountered the problem once
since I have the above code in my .emacs, and then I also saw:
"Invalid search bound (wrong side of point)" in *Messages*, which I
previously probably missed. Thus I think this could for example happen
when switching buffers or using the minibuffer at the wrong time.
It is clear that flyspell-post-command-hook must be removed from
post-command-hook in case of errors; if the error is hard to catch in
the hook, I would already find it an improvement if flyspell mode were
cleanly disabled (existing underlines, mode line, ...) in such cases.
In GNU Emacs 23.0.60.1 (i386-apple-darwin8.11.1, GTK+ Version 2.12.9)
of 2008-08-15 on mt-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: nil
default-enable-multibyte-characters: t
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#728: 23.0.60; flyspell checking is sometimes silently disabled
2008-08-15 22:20 ` bug#728: 23.0.60; flyspell checking is sometimes silently disabled Markus Triska
@ 2008-08-16 4:12 ` Stefan Monnier
2008-09-17 1:05 ` bug#728: marked as done (23.0.60; flyspell checking is sometimes silently disabled) Emacs bug Tracking System
1 sibling, 0 replies; 7+ messages in thread
From: Stefan Monnier @ 2008-08-16 4:12 UTC (permalink / raw)
To: Markus Triska; +Cc: emacs-pretest-bug, 728
> no checking is actually performed. I only encountered the problem once
> since I have the above code in my .emacs, and then I also saw:
> "Invalid search bound (wrong side of point)" in *Messages*, which I
You need to try and track down the porigian of this message. It may
be due to flyspell but it can also be due to something else: if there's
a bug in one of the post-command-hooks, post-command-hook is set to nil
(hence *all* post-command-hooks are disabled).
Stefan
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#728: 23.0.60; flyspell checking is sometimes silently disabled
@ 2008-08-21 23:25 Chong Yidong
2008-08-22 2:15 ` Markus Triska
0 siblings, 1 reply; 7+ messages in thread
From: Chong Yidong @ 2008-08-21 23:25 UTC (permalink / raw)
To: Markus Triska; +Cc: 728
> Sometimes in flyspell-mode, the mode line still says "Fly", but no
> more flychecking is actually performed. I cannot yet reproduce it
> reliably
Hi Markus,
Have you found a way to track down the problem causing this bug?
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#728: 23.0.60; flyspell checking is sometimes silently disabled
2008-08-21 23:25 bug#728: 23.0.60; flyspell checking is sometimes silently disabled Chong Yidong
@ 2008-08-22 2:15 ` Markus Triska
2008-09-08 23:18 ` Markus Triska
0 siblings, 1 reply; 7+ messages in thread
From: Markus Triska @ 2008-08-22 2:15 UTC (permalink / raw)
To: Chong Yidong; +Cc: 728
Chong Yidong <cyd@stupidchicken.com> writes:
> Have you found a way to track down the problem causing this bug?
I have set debug-on-error to t, so the next time I see this problem, I
hope to catch which function raises the error. I already know that it is
either preview-move-point (from AUCTeX) or flyspell-post-command-hook.
Thus, especially if an AUCTeX user reads this: If you want to help to
debug this problem, please add the following to your .emacs:
(defun my-flyspell-check ()
(when flyspell-mode
(unless (memq 'flyspell-post-command-hook post-command-hook)
(with-current-buffer (get-buffer-create "flywarn")
(insert "flychecking inactive despite flyspell-mode!\n"))
(display-buffer "flywarn"))))
(setq flycheck-timer (run-with-timer 0 0.5 'my-flyspell-check))
and it will warn you when Flyspell is no longer really active.
Also, as I mentioned: I find it fair enough that Flyspell is disabled
when there are errors; I only wish that there were a general mechanism
to disable it in a cleaner way in case of errors, i.e., existing
underlines should be removed, the mode line should reflect that it is no
longer active etc. In short, when flyspell-post-command-hook must be
removed from post-command-hook, also (flyspell-mode 0) or anything
equivalent should be done. Analogously for some other modes (linum.el is
another example, where errors in a custom linum-format function should
make Emacs disable the minor mode completely, thus removing it from
other hooks as well).
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#728: 23.0.60; flyspell checking is sometimes silently disabled
2008-08-22 2:15 ` Markus Triska
@ 2008-09-08 23:18 ` Markus Triska
2008-09-14 18:33 ` Markus Triska
0 siblings, 1 reply; 7+ messages in thread
From: Markus Triska @ 2008-09-08 23:18 UTC (permalink / raw)
To: Chong Yidong; +Cc: 728
The error occurs in flyspell-post-command-hook. To reproduce:
1) Install the latest AUCTeX (11.85), and let .emacs consist only of:
(load "auctex.el" nil t t)
2) Let sat.tex ( http://www.logic.at/prolog/sat.tex ) consist of:
\maketitle
\includegraphics[scale=0.8]
% \hline
% \begin{itemize}
% \hspace{1cm}\hbox{\begin{tabular}
% $a$ & $b$ & $c$ & $d$ \\
without leading or trailing whitespace.
3) When you now do:
$ emacs sat.tex -f flyspell-mode
and press:
M-g M-g 3 RET C-s $
you get:
Error in post-command-hook: (error Invalid search bound (wrong side
of point))
Alternatively, you can also press for example:
C-n C-n C-p C-n C-n C-n C-n C-n C-n C-p
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#728: 23.0.60; flyspell checking is sometimes silently disabled
2008-09-08 23:18 ` Markus Triska
@ 2008-09-14 18:33 ` Markus Triska
0 siblings, 0 replies; 7+ messages in thread
From: Markus Triska @ 2008-09-14 18:33 UTC (permalink / raw)
To: Chong Yidong; +Cc: 728
The following patch fixes this problem for me:
2008-09-14 Markus Triska <markus.triska@gmx.at>
* textmodes/flyspell.el (flyspell-math-tex-command-p): Always
catch errors raised in `texmathp'.
(flyspell-tex-math-initialized): Remove.
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 47297c9..4296861 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -1166,35 +1166,19 @@ Mostly we check word delimiters."
res))))))))
;;*---------------------------------------------------------------------*/
-;;* flyspell-tex-math-initialized ... */
-;;*---------------------------------------------------------------------*/
-(defvar flyspell-tex-math-initialized nil)
-
-;;*---------------------------------------------------------------------*/
;;* flyspell-math-tex-command-p ... */
;;* ------------------------------------------------------------- */
-;;* This function uses the texmathp package to check if (point) */
-;;* is within a tex command. In order to avoid using */
-;;* condition-case each time we use the variable */
-;;* flyspell-tex-math-initialized to make a special case the first */
-;;* time that function is called. */
+;;* This function uses the texmathp package to check if point */
+;;* is within a TeX math environment. `texmathp' can yield errors */
+;;* if the document is currently not valid TeX syntax. */
;;*---------------------------------------------------------------------*/
(defun flyspell-math-tex-command-p ()
(when (fboundp 'texmathp)
- (cond
- (flyspell-check-tex-math-command
- nil)
- ((eq flyspell-tex-math-initialized t)
- (texmathp))
- ((eq flyspell-tex-math-initialized 'error)
- nil)
- (t
- (setq flyspell-tex-math-initialized t)
+ (if flyspell-check-tex-math-command
+ nil
(condition-case nil
(texmathp)
- (error (progn
- (setq flyspell-tex-math-initialized 'error)
- nil)))))))
+ (error nil)))))
;;*---------------------------------------------------------------------*/
;;* flyspell-tex-command-p ... */
^ permalink raw reply related [flat|nested] 7+ messages in thread
* bug#728: marked as done (23.0.60; flyspell checking is sometimes silently disabled)
2008-08-15 22:20 ` bug#728: 23.0.60; flyspell checking is sometimes silently disabled Markus Triska
2008-08-16 4:12 ` Stefan Monnier
@ 2008-09-17 1:05 ` Emacs bug Tracking System
1 sibling, 0 replies; 7+ messages in thread
From: Emacs bug Tracking System @ 2008-09-17 1:05 UTC (permalink / raw)
To: Chong Yidong
[-- Attachment #1: Type: text/plain, Size: 873 bytes --]
Your message dated Tue, 16 Sep 2008 20:59:57 -0400
with message-id <87fxnzr3hu.fsf@cyd.mit.edu>
and subject line Re: 23.0.60; flyspell checking is sometimes silently disabled
has caused the Emacs bug report #728,
regarding 23.0.60; flyspell checking is sometimes silently disabled
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don@donarmstrong.com
immediately.)
--
728: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=728
Emacs Bug Tracking System
Contact don@donarmstrong.com with problems
[-- Attachment #2: Type: message/rfc822, Size: 3778 bytes --]
From: Markus Triska <markus.triska@gmx.at>
To: emacs-pretest-bug@gnu.org
Subject: 23.0.60; flyspell checking is sometimes silently disabled
Date: Sat, 16 Aug 2008 00:20:22 +0200 (CEST)
Message-ID: <20080815222022.E7882A30C89@mt-computer.local>
Sometimes in flyspell-mode, the mode line still says "Fly", but no
more flychecking is actually performed. I cannot yet reproduce it
reliably; however, if you add the following to your .emacs:
(defun my-flyspell-check ()
(when flyspell-mode
(unless (memq 'flyspell-post-command-hook post-command-hook)
(with-current-buffer (get-buffer-create "flywarn")
(insert "flychecking inactive despite flyspell-mode!\n"))
(display-buffer "flywarn"))))
(setq flycheck-timer (run-with-timer 0 0.5 'my-flyspell-check))
you will be informed when flyspell mode is superficially active, but
no checking is actually performed. I only encountered the problem once
since I have the above code in my .emacs, and then I also saw:
"Invalid search bound (wrong side of point)" in *Messages*, which I
previously probably missed. Thus I think this could for example happen
when switching buffers or using the minibuffer at the wrong time.
It is clear that flyspell-post-command-hook must be removed from
post-command-hook in case of errors; if the error is hard to catch in
the hook, I would already find it an improvement if flyspell mode were
cleanly disabled (existing underlines, mode line, ...) in such cases.
In GNU Emacs 23.0.60.1 (i386-apple-darwin8.11.1, GTK+ Version 2.12.9)
of 2008-08-15 on mt-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: nil
default-enable-multibyte-characters: t
[-- Attachment #3: Type: message/rfc822, Size: 1341 bytes --]
From: Chong Yidong <cyd@stupidchicken.com>
To: Markus Triska <markus.triska@gmx.at>
Cc: 728-done@emacsbugs.donarmstrong.com
Subject: Re: 23.0.60; flyspell checking is sometimes silently disabled
Date: Tue, 16 Sep 2008 20:59:57 -0400
Message-ID: <87fxnzr3hu.fsf@cyd.mit.edu>
> The following patch fixes this problem for me:
Checked in, thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-09-17 1:05 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <87fxnzr3hu.fsf@cyd.mit.edu>
2008-08-15 22:20 ` bug#728: 23.0.60; flyspell checking is sometimes silently disabled Markus Triska
2008-08-16 4:12 ` Stefan Monnier
2008-09-17 1:05 ` bug#728: marked as done (23.0.60; flyspell checking is sometimes silently disabled) Emacs bug Tracking System
2008-08-21 23:25 bug#728: 23.0.60; flyspell checking is sometimes silently disabled Chong Yidong
2008-08-22 2:15 ` Markus Triska
2008-09-08 23:18 ` Markus Triska
2008-09-14 18:33 ` Markus Triska
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).