hjk
ca151d07fa
CPlusPlus: Use QVector<Token> instead of QList
...
Better suited to avoid the indirection (sizeof(Token) > sizeof(void *))
Change-Id: Ia5f42781e720ef6aa8161f8f81ae8ddd8e58c837
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2014-11-06 16:13:58 +01:00
Eike Ziller
ea27143239
Merge remote-tracking branch 'origin/3.2'
...
Conflicts:
src/libs/utils/ipaddresslineedit.cpp
src/libs/utils/logging.h
src/plugins/analyzerbase/AnalyzerBase.pluginspec.in
src/plugins/android/Android.pluginspec.in
src/plugins/android/androiddeploystep.cpp
src/plugins/android/androiddeploystep.h
src/plugins/android/androiddeploystepfactory.cpp
src/plugins/android/androiddeploystepwidget.cpp
src/plugins/android/androidpackagecreationfactory.cpp
src/plugins/android/androidpackagecreationstep.cpp
src/plugins/android/androidpackagecreationstep.h
src/plugins/android/androidpackagecreationwidget.cpp
src/plugins/android/androidpackagecreationwidget.h
src/plugins/android/javafilewizard.cpp
src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
src/plugins/baremetal/BareMetal.pluginspec.in
src/plugins/bazaar/Bazaar.pluginspec.in
src/plugins/beautifier/Beautifier.pluginspec.in
src/plugins/bineditor/BinEditor.pluginspec.in
src/plugins/bookmarks/Bookmarks.pluginspec.in
src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in
src/plugins/clangcodemodel/clanghighlightingsupport.cpp
src/plugins/clangcodemodel/clangsymbolsearcher.cpp
src/plugins/classview/ClassView.pluginspec.in
src/plugins/clearcase/ClearCase.pluginspec.in
src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in
src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp
src/plugins/cmakeprojectmanager/cmakehighlighter.cpp
src/plugins/coreplugin/Core.pluginspec.in
src/plugins/cpaster/CodePaster.pluginspec.in
src/plugins/cppeditor/CppEditor.pluginspec.in
src/plugins/cppeditor/cppfilewizard.cpp
src/plugins/cpptools/CppTools.pluginspec.in
src/plugins/cpptools/cpphighlightingsupportinternal.cpp
src/plugins/cpptools/cppmodelmanagerinterface.cpp
src/plugins/cpptools/cppmodelmanagerinterface.h
src/plugins/cvs/CVS.pluginspec.in
src/plugins/debugger/Debugger.pluginspec.in
src/plugins/designer/Designer.pluginspec.in
src/plugins/diffeditor/DiffEditor.pluginspec.in
src/plugins/emacskeys/EmacsKeys.pluginspec.in
src/plugins/fakevim/FakeVim.pluginspec.in
src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in
src/plugins/git/Git.pluginspec.in
src/plugins/git/gitorious/gitorious.cpp
src/plugins/git/gitorious/gitorious.h
src/plugins/git/gitorious/gitoriousclonewizard.cpp
src/plugins/git/gitorious/gitorioushostwidget.cpp
src/plugins/git/gitorious/gitorioushostwidget.h
src/plugins/git/gitorious/gitorioushostwizardpage.cpp
src/plugins/git/gitorious/gitoriousprojectwidget.cpp
src/plugins/git/gitorious/gitoriousprojectwidget.h
src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp
src/plugins/git/gitorious/gitoriousprojectwizardpage.h
src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
src/plugins/glsleditor/GLSLEditor.pluginspec.in
src/plugins/glsleditor/glsleditorfactory.cpp
src/plugins/glsleditor/glslfilewizard.cpp
src/plugins/helloworld/HelloWorld.pluginspec.in
src/plugins/help/Help.pluginspec.in
src/plugins/imageviewer/ImageViewer.pluginspec.in
src/plugins/ios/Ios.pluginspec.in
src/plugins/macros/Macros.pluginspec.in
src/plugins/mercurial/Mercurial.pluginspec.in
src/plugins/perforce/Perforce.pluginspec.in
src/plugins/projectexplorer/ProjectExplorer.pluginspec.in
src/plugins/pythoneditor/PythonEditor.pluginspec.in
src/plugins/pythoneditor/pythoneditorwidget.cpp
src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in
src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in
src/plugins/qmakeprojectmanager/profileeditorfactory.cpp
src/plugins/qmldesigner/QmlDesigner.pluginspec.in
src/plugins/qmljseditor/QmlJSEditor.pluginspec.in
src/plugins/qmljseditor/qmljseditorfactory.cpp
src/plugins/qmljstools/QmlJSTools.pluginspec.in
src/plugins/qmlprofiler/QmlProfiler.pluginspec.in
src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in
src/plugins/qnx/Qnx.pluginspec.in
src/plugins/qtsupport/QtSupport.pluginspec.in
src/plugins/remotelinux/RemoteLinux.pluginspec.in
src/plugins/resourceeditor/ResourceEditor.pluginspec.in
src/plugins/resourceeditor/resourcewizard.h
src/plugins/subversion/Subversion.pluginspec.in
src/plugins/tasklist/TaskList.pluginspec.in
src/plugins/texteditor/TextEditor.pluginspec.in
src/plugins/texteditor/basetexteditor_p.h
src/plugins/texteditor/basetextmark.cpp
src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h
src/plugins/texteditor/codeassist/defaultassistinterface.h
src/plugins/texteditor/codeassist/iassistproposalitem.cpp
src/plugins/texteditor/itexteditor.cpp
src/plugins/texteditor/itexteditor.h
src/plugins/texteditor/itextmark.cpp
src/plugins/texteditor/plaintexteditor.cpp
src/plugins/texteditor/plaintexteditor.h
src/plugins/texteditor/texteditoractionhandler.cpp
src/plugins/todo/Todo.pluginspec.in
src/plugins/updateinfo/UpdateInfo.pluginspec.in
src/plugins/valgrind/Valgrind.pluginspec.in
src/plugins/vcsbase/VcsBase.pluginspec.in
src/plugins/welcome/Welcome.pluginspec.in
src/plugins/winrt/WinRt.pluginspec.in
tests/auto/debugger/temporarydir.h
Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
2014-10-14 15:36:16 +02:00
Eike Ziller
8295b503be
License update
...
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com >
2014-10-09 11:41:44 +02:00
hjk
953cdb971f
TextEditor: More BaseText* -> Text* renamings
...
*Document* and *Layout* classes, all basetext* files
Change-Id: I1c6e376733a434fcb5c7f19c6210dfa031eeafde
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
2014-09-26 10:12:51 +02:00
Anton Kalmykov
496cfdd21d
Add syntax highlight for primitive data types
...
Syntax highlight rules for keywords are changed to highlight control
keywords and primitive data types separately.
Change-Id: Ifb25be7a97b92589030aa190641320c233dc7f2d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-06-24 15:44:13 +02:00
Wang Hoi
c56b999fff
C: Parser: Support parsing of c99 designated initializers
...
In case:
int a[6] = { [4] = 29, [2] = 15 };
struct point { int x, y; };
struct point p = { .y = 3, .x = 2 };
Grammar change when c99 language feature is enabled:
old grammar:
braced-init-list :: '{' initializer-list '}'
new grammar:
braced-init-list :: '{' designated-initializer-list '}'
designated-initializer-list :: designated-initializer (',' designated-initializer )*
designated-initializer :: designator* initializer-clause
designator :: '.' identifier
| '[' constant-expression ']'
Task-number: QTCREATORBUG-1902
Change-Id: Ib99d6f553f8d0f50ba3eff86f3a2e86d73372426
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-06-17 16:23:23 +02:00
Nikolai Kosjar
bb7da966b8
Cpp{Tools,Editor}: Respect multi-QChar code points when handling identifiers
...
* Consolidate code dealing with C++ identifiers into cpptoolsreuse.h
* Handle code points that are represented with two QChars
Change-Id: I4fb4435aa539f65d88598cac0b50629f33f32440
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-05-23 14:33:34 +02:00
Nikolai Kosjar
41aa2cb3bd
C++: Use Token::utf16chars{Begin,End} where appropriate
...
...especially in CppTools/CppEditor where the offsets are used with a
QString/QTextDocument.
Change-Id: Ic6d18fbc01fb9cc899a9bd2d7424cd2edae487f1
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-05-23 14:23:51 +02:00
Nikolai Kosjar
126e69137a
C++: Clarify units of a Token
...
This will avoid confusion when later more length and indices methods are
added.
In Token:
length() --> bytes()
begin() --> bytesBegin()
end() --> bytesEnd()
Change-Id: I244c69b022e239ee762b4114559e707f93ff344f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-05-15 15:55:38 +02:00
Orgad Shaneh
474065c5c7
CppEditor: Do not "highlight parentheses" for multiline C++ comments
...
Change-Id: I6c84a2653a1e9c13e1c776b49b4e51cb4de772f3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-03-03 14:09:32 +01:00
Nikolai Kosjar
d6d233f51f
CppEditor: Clarify different states in CppHighlighter::highlightBlock
...
...by giving the variables better names.
Change-Id: I0f98dfc958c3dd478a070526a4ca454b22cf495a
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2014-02-26 18:18:32 +01:00
Nikolai Kosjar
453389e9d2
CppEditor: Fix folding
...
The brace depth wasn't explicitly saved as block state and thus got
reset to 0.
Task-number: QTCREATORBUG-11566
Change-Id: I6c4f3c3392c01d65d7037c4723701ca8935ff70e
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2014-02-26 18:17:39 +01:00
Orgad Shaneh
e600424648
C++: Fix support for incremental input with \n
...
Also fix false positive line continuation on blank line
e.g.
"foo \
bar"
Change-Id: Ic6d345a4b578c955411d119b8438c8dc5065c072
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-02-04 11:33:54 +01:00
Orgad Shaneh
0f4e3c356a
C++: Support multiline strings and comments
...
Task-number: QTCREATORBUG-662
Change-Id: I0997fe2afaba71998d5da549b7141df0c023ff12
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-01-21 10:54:56 +01:00
Orgad Shaneh
a309b3cfe6
C++: Store token kind as lexer state
...
... when needed
Change-Id: I32a1649c87e1fa42da80eff5003b2f5714062064
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-01-20 14:11:18 +01:00
Robert Loehning
746c5d8863
Incremented year in copyright info
...
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com >
Reviewed-by: Kai Koehne <kai.koehne@digia.com >
2014-01-08 08:29:47 +01:00
hjk
2b532c73ee
CPlusPlus: Make (sub-)languague selection more generic
...
Change-Id: I4e2df6992b446adec662ab07671acd41715e41fd
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-10-15 16:22:28 +02:00
jkobus
e8801167aa
Add common interface for text formats inside syntax highlighter
...
Change-Id: I87f64446161a57aea0896f68e4eafacef791969b
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-08-26 13:39:40 +02:00
Nikolai Kosjar
6aceadac27
CppEditor: Fix "! condition" coding style
...
Change-Id: I216b74933f5e94c49be7f05f0b09ac01b3319d8c
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com >
2013-07-25 12:10:30 +02:00
Orgad Shaneh
ad9e7ccab6
Fix coding style for else statements
...
Change-Id: I1309db70e98d678e150388c76ce665e988fdf081
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
2013-07-17 11:11:25 +02:00
Friedemann Kleint
d61bc4fcec
Clean headers in CppEditor.
...
Ran script to remove inludes on a trial-and-error basis and
manually corrected it.
Change-Id: I61a5c2fff02616f6883ddf3923e4361fca6bf92b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-04-10 11:04:22 +02:00
Oswald Buddenhagen
7923032022
fix include style relating to cplusplus libraries
...
... and adjust INCLUDEPATH accordingly.
while i'm at messing with include statements, also re-order the include
blocks according to policy and sort them within bigger blocks.
Change-Id: I7762abfd7c4ecf59432b99db2f424e4fa25733a5
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com >
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
2013-04-03 13:40:39 +02:00
Oswald Buddenhagen
1fda2111d4
Merge remote-tracking branch 'origin/2.6'
...
Conflicts:
src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
src/plugins/debugger/qtmessageloghandler.cpp
src/plugins/debugger/qtmessagelogwindow.cpp
src/plugins/madde/maemodeployconfigurationwidget.cpp
src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
src/plugins/qmldesigner/designercore/include/widgetqueryview.h
src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
src/plugins/qnx/bardescriptormagicmatcher.h
src/plugins/qt4projectmanager/profilekeywords.cpp
src/plugins/remotelinux/deployablefilesperprofile.cpp
src/plugins/remotelinux/deployablefilesperprofile.h
src/plugins/remotelinux/deploymentinfo.cpp
src/plugins/remotelinux/deploymentsettingsassistant.cpp
src/plugins/remotelinux/profilesupdatedialog.cpp
tests/auto/icheckbuild/ichecklib.cpp
tests/auto/icheckbuild/parsemanager.cpp
tests/auto/icheckbuild/parsemanager.h
Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370
Incremented year in copyright info
...
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com >
2013-01-29 16:27:03 +01:00
Eike Ziller
6fd252b0a5
Merge remote-tracking branch 'origin/2.6'
...
Conflicts:
share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp
share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h
src/plugins/debugger/qtmessageloghandler.cpp
src/plugins/debugger/qtmessageloghandler.h
src/plugins/debugger/qtmessagelogwindow.cpp
src/plugins/madde/maemodeployconfigurationwidget.cpp
src/plugins/madde/maemodeployconfigurationwidget.h
src/plugins/remotelinux/deployablefilesperprofile.cpp
src/plugins/remotelinux/deployablefilesperprofile.h
src/plugins/remotelinux/deploymentinfo.cpp
src/plugins/remotelinux/deploymentinfo.h
src/plugins/remotelinux/deploymentsettingsassistant.cpp
src/plugins/remotelinux/profilesupdatedialog.cpp
src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h
tests/auto/icheckbuild/ichecklib.cpp
tests/auto/icheckbuild/ichecklib_global.h
tests/auto/icheckbuild/parsemanager.cpp
tests/auto/icheckbuild/parsemanager.h
tests/manual/ssh/tunnel/tunnel.h
Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
2012-10-05 21:20:50 +02:00
hjk
386ca7c8dd
Adjust license headers
...
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
2012-10-05 17:12:56 +02:00
David Schulz
a92694596e
Editor: Fix visual whitespace highlighting
...
in comments and strings
Change-Id: I94cb478419afde77299b3be1ec252a21c17a1658
Reviewed-by: Leandro Melo <leandro.melo@nokia.com >
2012-08-29 11:24:42 +02:00
Eike Ziller
e0e8cf3ada
Contact -> qt-project.org
...
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com >
2012-07-19 13:23:21 +02:00
Leandro Melo
23c637c4f6
C++: Introduce unicode char/strings support
...
Those are the types char16_t and char32_t along with the new
char/string literals u'', U'', u"", u8"", and U"".
This is particularly important for the use of QStringLiteral
since in some platforms it relies on expansion such as above.
Note: The string literals quickfixes still need some tunning.
Task-number: QTCREATORBUG-7449
Change-Id: Iebcfea15677dc8e0ebb6143def89a5477e1be7d4
Reviewed-by: hjk <qthjk@ovi.com >
2012-06-06 14:55:07 +02:00
Francois Ferrand
85609aff8e
CppHighlighter: highlight macro references.
...
Change-Id: I7c90957aa67e03a109af0a722160d4e1c759d716
Reviewed-by: Leandro Melo <leandro.melo@nokia.com >
2012-04-13 02:07:37 +02:00
Erik Verbruggen
3fa55b7ab9
Removed module names from #include directives.
...
Getting the #include directives ready for Qt5. This includes the
new-project wizards.
Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com >
2012-02-15 16:24:46 +01:00
David Schulz
0d24e8427d
Editor: Background color is now displayed correct for comments and strings
...
Task-number: QTCREATORBUG-5802
Change-Id: Ib3de439d6a6cfcf2f8c9cf0ce4ab90c6a6338a82
Reviewed-by: Leandro Melo <leandro.melo@nokia.com >
2012-02-08 17:44:53 +01:00
David Schulz
6d85b53f9c
Revert "Editor: Highlight background for whitespaces in strings and comments"
...
The change brokes the Lexer.
This reverts commit e46a5579d3 .
Change-Id: I3363c6eff74b53a7f2d9f417941cde07aaa92619
Reviewed-by: Leandro Melo <leandro.melo@nokia.com >
2012-02-03 11:52:01 +01:00
David Schulz
e46a5579d3
Editor: Highlight background for whitespaces in strings and comments
...
The whitespaces are now highlighted with the same backgroundcolor as the characters.
Also added a test for the Lexer.
Task-number: QTCREATORBUG-5802
Change-Id: Ic1bcd8cfe30d6b8a0281b7963eaab310f972b9d2
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-02-01 11:17:56 +01:00
hjk
2931a499e6
Long live the king!
...
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com >
2012-01-26 19:55:36 +01:00
Friedemann Kleint
9128fc2ab0
CppEditor: Compile with QT_NO_CAST_FROM_ASCII.
...
- Avoid unnecessary conversions
- Add missing tr().
Change-Id: I3c0dd627a3621929c9c6fc71db6924fa513e34a7
Reviewed-by: Leandro Melo <leandro.melo@nokia.com >
2012-01-12 13:50:30 +01:00
Leandro Melo
64d579dc3a
C++: Enabled C++0x in SimpleLexer
...
We should create a UI flag for C++0x...
Change-Id: Iba30090aa580554af629c0fb59ae5fc22b306b80
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2011-11-18 12:14:24 +01:00
hjk
31600758de
all: s/info@qt.nokia.com/qt-info@nokia.com/
...
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com >
2011-11-03 10:33:19 +01:00
Leandro Melo
3945b9a70f
Editors: Make sure folded blocks remain consistent
...
When folding indents change and a block becomes no longer
folded we need to update the user data. This patch tries
to handle general inconsistencies that might arise in such
situations. Notice however that there are stil other problems
to be addressed (including issues in Qt).
Task-number: QTCREATORBUG-5771
Change-Id: I38b869832159598d46cde00058308c218ca31f1a
Reviewed-on: http://codereview.qt.nokia.com/2908
Reviewed-by: Robert Löhning <robert.loehning@nokia.com >
Reviewed-by: Matthias Ettrich
2011-08-15 10:21:52 +02:00
Tobias Hunger
aa2acec14c
Fix/add copyright headers
...
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
hjk
8397663964
Update license.
2011-04-13 11:49:28 +02:00
Christian Kamm
11fea7db5a
C++ highlighter: Disable highlighting to the right of #error.
...
Task-number: QTCREATORBUG-4098
Reviewed-by: Roberto Raggi
2011-03-17 11:24:17 +01:00
con
d1023c7614
It's 2011 now.
...
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
con
04e32b0049
License headers.
2010-12-17 16:03:42 +01:00
Roberto Raggi
8acde74d79
Forked QSyntaxHighlighter from Qt 4.7.
...
We need our very own syntax highlighter in Qt Creator.
2010-07-09 14:47:18 +02:00
Erik Verbruggen
8e4fb678fd
Removing SimpleToken
2010-07-02 11:18:51 +02:00
Bill King
21843d6326
Disambiguate the second logical test.
...
The second line test could be misread by both the compiler or the reader.
gcc even warns about this, so add brackets just to make sure.
2010-06-25 14:12:01 +10:00
Erik Verbruggen
e42ca194c5
Introduced token caching to prevent repetetive tokenizing.
...
Also removed TokenUnderCursor as it's functionality is in the token cache.
Reviewed-by: ckamm
2010-06-14 10:10:05 +02:00
Erik Verbruggen
424b9724d6
Revert "Introduced a token cache for the C++ editor."
...
This reverts commit c2393df023 .
2010-06-04 12:37:26 +02:00
Erik Verbruggen
c2393df023
Introduced a token cache for the C++ editor.
...
This should speed things up a bit, because before, the line was tokenized at
least 3 times.
2010-06-04 09:36:05 +02:00