Index: grammar24/python.jjt
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar24/python.jjt,v
retrieving revision 1.3
diff -u -r1.3 python.jjt
--- grammar24/python.jjt	14 Jan 2007 10:54:47 -0000	1.3
+++ grammar24/python.jjt	19 Jan 2007 19:28:38 -0000
@@ -79,6 +79,7 @@
                 throw new RuntimeException("Error, expecting another class.");
             }
         }
+        t = convertStringToSpecialStr(t);
         peeked.addSpecial(t, after);
     }
 
@@ -159,9 +160,20 @@
     }
 
     private void addSpecialToken(Object o, int strategy) {
+        o = convertStringToSpecialStr(o);    
         token_source.specialTokens.add(new Object[]{o, strategy});
     }
     
+	private Object convertStringToSpecialStr(Object o) {
+		if (o instanceof String) {
+			try {
+				o = createSpecialStr((String) o);
+			} catch (ParseException e) {
+			}
+		}
+		return o;
+	}    
+    
     private void addSpecialToken(Object o) {
         //the default is adding after the previous token
         token_source.specialTokens.add(new Object[]{o, STRATEGY_ADD_AFTER_PREV});
@@ -1082,7 +1094,7 @@
 }
 
 void begin_elif_stmt(): {}
-{ <ELIF> {this.addToPeek("elif ",false);}
+{ <ELIF> {this.addToPeek("elif",false);}
 }
 
 
Index: grammar25/python.jjt
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev.parser/src/org/python/pydev/parser/grammar25/python.jjt,v
retrieving revision 1.14
diff -u -r1.14 python.jjt
--- grammar25/python.jjt	14 Jan 2007 10:54:48 -0000	1.14
+++ grammar25/python.jjt	19 Jan 2007 19:28:38 -0000
@@ -88,6 +88,7 @@
                 throw new RuntimeException("Error, expecting class:"+class_+" received class:"+peeked.getClass()+" Representation:"+peeked);
             }
         }
+        t = convertStringToSpecialStr(t);
         peeked.addSpecial(t, after);
     }
 
@@ -168,9 +169,20 @@
     }
 
     private void addSpecialToken(Object o, int strategy) {
+		o = convertStringToSpecialStr(o);
         token_source.specialTokens.add(new Object[]{o, strategy});
     }
     
+	private Object convertStringToSpecialStr(Object o) {
+		if (o instanceof String) {
+			try {
+				o = createSpecialStr((String) o);
+			} catch (ParseException e) {
+			}
+		}
+		return o;
+	}
+    
     private void addSpecialToken(Object o) {
         //the default is adding after the previous token
         token_source.specialTokens.add(new Object[]{o, STRATEGY_ADD_AFTER_PREV});
@@ -1107,7 +1119,7 @@
 }
 
 void begin_elif_stmt(): {}
-{ <ELIF> {this.addToPeek("elif ",false);}
+{ <ELIF> {this.addToPeek("elif",false);}
 }
 
 
@@ -1549,4 +1561,4 @@
 |   ( t = <EXEC> { jjtThis.setImage(t.image); return t; } {} )#Name
 |   ( t = <ASSERT> { jjtThis.setImage(t.image); return t; } {} )#Name
 |   ( t = <AS> { jjtThis.setImage(t.image); return t; } {} )#Name
-}
+}
\ No newline at end of file
