aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2013-03-18explicitly instantiate MicroStateMachine: fixes compilation with gcc-4.4Robin Haberkorn4-7/+7
2013-03-18add check for CLang: use clang-specific warnings only when compiling with CLangRobin Haberkorn2-1/+8
* fixes gcc-4.4 which does not have -Wno-mismatched-tags and no -Wunknown-warning
2013-03-18remove all unused-attributes for parametersRobin Haberkorn5-17/+11
* compiler does not warn by default: this actually makes sense * so we don't need any unused-attributes * less GCC-extension based * on older GCCs I think -Wunused-parameters was enabled by -Wall we should add -Wno-unused-parameters if that's the case
2013-03-18declare State::Error::Error() as printf-likeRobin Haberkorn1-1/+1
2013-03-18declare all global inter-dependant objects in main.cpp and get rid of ↵Robin Haberkorn16-51/+62
init_priority attribute * we cannot use weak symbols in MinGW, so we avoid init_priority for symbol initialization by compiling the empty definitions into sciteco-minimal but the real ones into sciteco (had to add new file symbols-minimal.cpp) * this fixes compilation/linking on LLVM Clang AND Dragonegg since their init_priority attribute is broken! this will likely be fixed in the near future but broken versions will be around for some time
2013-03-18disable some bogus warnings for LLVM/ClangRobin Haberkorn1-1/+1
* -Wmismatched-tags does not appear to exist on GCC: but we need to be able to refer to classes with both struct and class keywords because of the BSD data types * -Wchar-subscripts exists on GCC and may or may not be in -Wall. We disable it since we use character literals as subscripts - they are actually of type char in C++, in contrast to C where they are of type int.
2013-03-18make sure a (void*)0 is used as sentinelsRobin Haberkorn6-12/+18
since including glib.h on LLVM-Clang (32-bit) results in NULL being redefined to 0 and compiler warnings being emitted when NULL is used as sentinels
2013-03-18prefer $HOME over passdb when looking for .teco_iniRobin Haberkorn1-1/+1
* fixes sudo sciteco: will still use the real user's .teco_ini * when run with real user as root, will look in root's home dir * use g_get_home_dir() as a fallback
2013-03-18always recreate doxygen/Robin Haberkorn1-0/+1
* work around frequent Doxygen error
2013-03-17added patch fixing Scinterm on certain 64-bit configurationsRobin Haberkorn2-1/+24
2013-03-17document TECO control code echoing patchRobin Haberkorn1-0/+4
2013-03-17use new ^E\ string building character for arrays and to simplify number ↵Robin Haberkorn2-27/+27
insertions
2013-03-17^E\ string building character to format numberRobin Haberkorn4-14/+45
* new Expressions::format() * may be used format numbers as part of arrays (Q-Register names)
2013-03-17fixed ^EG pattern match character: use QRegSpecMachine to parse register ↵Robin Haberkorn2-3/+7
specifications * allows full Q-Reg syntax
2013-03-17document buffer editing hooks (ED hooks)Robin Haberkorn1-0/+51
2013-03-17fixed DEC TECO link in sciteco(1)Robin Haberkorn1-1/+1
2013-03-17updated README: all of the features are supportedRobin Haberkorn1-2/+0
2013-03-16add links to Github pagesRobin Haberkorn3-5/+6
2013-03-16updated README: teco.ini is documented in sciteco(1)Robin Haberkorn1-3/+1
2013-03-16updated README: mention sciteco(7), fix Video TECO spellingRobin Haberkorn1-6/+7
2013-03-16updated TODO: written language referenceRobin Haberkorn1-2/+1
2013-03-16updated TODORobin Haberkorn1-5/+9
2013-03-16written section about buffer ring in language manualRobin Haberkorn1-0/+37
2013-03-16explain caret-control-character equivalence for commands and no-ops in more ↵Robin Haberkorn1-1/+13
detail
2013-03-16wrote introduction (typographic conventions) for command referenceRobin Haberkorn1-0/+31
2013-03-16fixed spelling of Video TECORobin Haberkorn2-7/+8
2013-03-16written section about flow-control constructs in language reference manualRobin Haberkorn1-1/+185
2013-03-16make success/failure conditional tests more consistent with the definition ↵Robin Haberkorn1-3/+9
of success/failure booleans * for the S and T conditions, nothing changes effectively (were testing for < 0 already) * the F and U conditions were testing for equality to zero which worked for condition booleans returned by commands but not for any failure condition (defined as >= 0) * may be different in classic TECOs but makes more sense IMHO
2013-03-16wrote language reference sections about string building and pattern match ↵Robin Haberkorn1-1/+159
characters
2013-03-16manual chapters: Expressions, Command Syntax, Q-RegistersRobin Haberkorn3-0/+262
2013-03-16generate-docs: marker looks like a Troff request nowRobin Haberkorn2-2/+2
it is customary for Troff preprocessors to interpret special preprocessor requests instead of special comments
2013-03-16common parent state for all file-name-expecting commands: fixes EM ↵Robin Haberkorn4-7/+17
tab-completions * StateExpectFile adds no functionality (currently), but is useful for checking state types
2013-03-16prevent image generation during HTML production, instead generate HTML ↵Robin Haberkorn3-8/+88
tables using htbl.tes preprocessor
2013-03-16fixed: prevent accessing registers in parse-only modeRobin Haberkorn1-0/+10
* they might not already exist, yielding bogus errors * in case the register might be initialized we do not want to do so in parse-only-mode * this fix is only a workaround: currently we must return a register sind got_register() expects one and must be called to determine the next state in parse only mode * proper solution would be to better separate parsing and execution
2013-03-16elaborate on auto-completions in sciteco(7)Robin Haberkorn1-0/+14
2013-03-16wrote introduction, key translation and immedite editing sections for ↵Robin Haberkorn2-1/+339
sciteco(7) manual * images are generated by grohtml. they are not listed in the Automake rules but instead all sciteco.*.png images are installed and cleaned
2013-03-16outline of remaining language referenceRobin Haberkorn1-0/+43
2013-03-16documented remaining commandsRobin Haberkorn6-2/+405
* flow control and other structures have not been documented this ways. I have not yet decided whether they should be documented in separate sections or use the documentation tool.
2013-03-16completed documentation of all commands in parser.cppRobin Haberkorn2-2/+241
* also updated sciteco(7): add SEE ALSO and AUTHORS
2013-03-16mention sciteco(7) in sciteco(1)Robin Haberkorn1-0/+3
2013-03-16documented commands ending in StateStartRobin Haberkorn1-0/+311
2013-03-16fixed break-command: without-param it evaluates the search-statusRobin Haberkorn1-1/+1
2013-03-16added option to build manuals as HTML using GroffRobin Haberkorn3-0/+22
* will be useful for Windows builds since Windows users usally do not have a man-page formatter/reader
2013-03-16documented generate-docs.tes Troff preprocessorRobin Haberkorn1-0/+27
2013-03-16first draft of TECO command documentation generatorRobin Haberkorn4-1/+150
* the language reference is a manually written man-page template * containing special references for generated documentation (\#$...) * SciTECO script generate-docs.tes extracts TECO comments (/*$ ... */) from all source files and transforms them to Troff requests that are inserted into the document template. * TECO doc comments are a rather sophisticated markup: * first part until empty line is called header: simplified command syntax descriptions * the rest is called body: <identifier> is automatically underlined, empty lines generate new paragraphs, lines beginning with "-" or numbers denote an indented unordered or numbered list item. * regular Troff requests/macros can be used for more sophisticated markup * since Autoconf substitutions are performed on the generated man-page, @VARIABLEs@ may be used in doc comments as well
2013-02-25integrate Doxygen into build systemRobin Haberkorn4-2/+1753
* solely for generating developer docs * disabled by default even if Doxygen is installed * Doxygen comments are not used currently
2013-02-25EM...$ command to read macro from file and execute immediately (just like "M")Robin Haberkorn5-2/+22
* useful for using macro libraries
2013-02-24moved QuickSort macros from symbols-extract script into own string.tes macro ↵Robin Haberkorn4-45/+50
library * therefore for bootstrapping to work, the SCITECOPATH is always set explicitly
2013-02-24cleaned up SymbolList class: make attributes privateRobin Haberkorn2-7/+13
* they were logically private but still declared public so that initializer constructor functions could access them. * instead, now use friend classes * has the side effect that initializing priority can be declared using GCC's init_priority attribute which works with earlier compilers than the constructor (with priority) attribute
2013-02-23fixed symbol lists: sort order must correspond with search order (determined ↵Robin Haberkorn3-32/+42
by comparision function) * lists were sorted lexicographically (like strcmp()), but searched caseless (like strcasecmp()) * lists are now sorted with strcasecmp()-like comparision * caselessness is thus a property of the SymbolList * use new language features in symbols-extract.tes