From Michael's bug list:
- The spellchecker should ignore ERTs
The patch attached achieves this by modifying LyXText::selectNextWord. A word
is not selected if it is inside an ERT inset.
It's a one-line fix, but I don't know if it's the "right" fix. Perhaps
someone with some knowledge of this part of the code would cast their beady
eyes over it.
Many thanks,
Angus
Index: src/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/ChangeLog,v
retrieving revision 1.335
diff -u -p -r1.335 ChangeLog
--- src/ChangeLog 2001/09/21 12:11:24 1.335
+++ src/ChangeLog 2001/09/21 13:54:26
@@ -1,3 +1,8 @@
+2001-09-21 Angus Leeming <[EMAIL PROTECTED]>
+
+ * text.C (selectNextWord): do not select words inside an ERT
+ inset.
+
2001-09-21 Jean-Marc Lasgouttes <[EMAIL PROTECTED]>
* sp_base.h: include <sys/types.h>
Index: src/text.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text.C,v
retrieving revision 1.187
diff -u -p -r1.187 text.C
--- src/text.C 2001/09/09 22:02:13 1.187
+++ src/text.C 2001/09/21 13:54:26
@@ -2306,10 +2306,12 @@ string const LyXText::selectNextWord(Buf
while ((cursor.par()->size() > cursor.pos()
&& (!cursor.par()->isLetter(cursor.pos()))
&& (!cursor.par()->isInset(cursor.pos()) ||
- !cursor.par()->getInset(cursor.pos())->isTextInset()))
+ !(cursor.par()->getInset(cursor.pos())->isTextInset() &&
+ cursor.par()->getInset(cursor.pos())->lyxCode() !=
+ Inset::ERT_CODE)))
|| (cursor.par()->size() == cursor.pos()
&& cursor.par()->next()))
- {
+ {
if (cursor.pos() == cursor.par()->size()) {
cursor.par(cursor.par()->next());
cursor.pos(0);
@@ -2319,7 +2321,7 @@ string const LyXText::selectNextWord(Buf
// now check if we hit an inset so it has to be a inset containing text!
if (cursor.pos() < cursor.par()->size() &&
- cursor.par()->isInset(cursor.pos()))
+ cursor.par()->isInset(cursor.pos()))
{
// lock the inset!
cursor.par()->getInset(cursor.pos())->edit(bview);