[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Nano-devel] Spell check marked text
From: |
Rocco Corsi |
Subject: |
Re: [Nano-devel] Spell check marked text |
Date: |
Thu, 14 Oct 2004 22:36:24 -0400 |
Hi David
Now that I have CVS working, I was able to test the change.
Using the same test case, I still have the problem.
If I "Edit a replacement" for the wrong word, the prompting starts on
the first line and stops on the highlighted line. I does not continue
past the highlighted line.
Rocco
On Mon, 2004-10-11 at 11:54, David Lawrence Ramsey wrote:
> --- Rocco Corsi <address@hidden> wrote:
> > Actually, maybe I don't understand how to use the Mark feature. See
> >if I am doing this right.
> >
> >1) create a file with one line with some spelling mistake
> >2) make four copies of this same line
> >3) go to the beginning of the third line
> >4) hit CTRL-^
> >5) move to the end of the line (it will highlight the line)
> >6) spell check (i.e. CTRL-t)
> >7) Nano will prompt to "Edit a replacement: badword" on the first line.
>
> I've been able to reproduce this, and yes, you're doing it right.
> Thanks for the clarification.
>
> >Is this what how the feature was supposed to be implemented or a bug?
> >I am just asking because someone could make a case for either way.
> >
> >I mean:
> >
> >1) only send the marked text to "spell", but correct entire document
> >2) only send the marked text to "spell", but correct marked text only
>
> What it's doing here is not what it's supposed to be doing. 2) is what
> it should be doing, IMO. If the mark is on, only the marked text should
> be changed.
>
> I think I've fixed this in CVS. (Please let me know if it works
> properly.) Now, if the mark is on, do_replace_loop() skips over all
> matches not inside the mark. I considered following the approach in
> write_marked() (temporarily setting fileage, filebot, current, etc. so
> that nano thinks the file contains only the marked text), but that would
> have caused a lot of problems if the user resizes the window while the
> replace prompt is being shown. Incidentally, this also means that
> replacing in general now only works on marked text when the mark is on,
> a feature that Joseph Birthisel suggested in April 2003.
>
> While I was testing this, I found another bug. Type "tesssting" into a
> blank buffer, do a regular expression search for "te?", and then try
> running the internal spell checker. nano will flag the word as
> misspelled, but then, since the internal spell checker doesn't turn
> regular expression searches off, it'll call regexec() in an attempt to
> match subexpressions, etc. and end up segfaulting. To fix this, the
> regular expression search flag is now turned off when the internal spell
> checker is running. Also, the reverse search flag is turned off when
> NANO_SMALL is defined, in which case the flag is never used. Both of
> these fixes are in CVS. nano 1.2.4 is also vulnerable to this, so
> there's a patch against 1.2.4-cvs here:
>
> http://pooka_regent.tripod.com/patches/nano/nano124intspell-patch.txt
>
> One last note: at the moment, marked spell check only partially works
> with the alternate spell checker. Apparently when I put it in, I forgot
> to add code to properly merge the changed text back into the file.
> (It'll have to go in eventually, as the same technique will be needed to
> undo things like multiple justify operations when undo/redo is
> implemented.) The TODO list item is updated accordingly.