aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2014-11-16enable bootstrapping by defaultRobin Haberkorn1-6/+7
The SciTECO language changes often and the build system scripts are adapted accordingly. If bootstrapping is disabled by default on systems that already have SciTECO, building recent Git versions will fail often due to macro errors. This is not easy to see and correct for users. Also the build-time overhead for `sciteco-minimal` is minimal. The --disable-bootstrap option is mostly useful when cross-compiling SciTECO.
2014-11-14added ^# (XOR) operatorRobin Haberkorn4-4/+16
also changed precedence of + operator (higher than minus). the effects of this should be minimal
2014-11-14fixed number formatting for radix > 10Robin Haberkorn1-1/+1
this fixes the "\" command and ^E\ string building characters
2014-11-11refactored SciTECO runtime errors: moved from parser.cpp to error.cppRobin Haberkorn15-294/+375
* the GError expection has been renamed to GlibError, to avoid nameclashes when working from the SciTECO namespace
2014-11-11added all of SciTECO's declarations to the "SciTECO" namespaceRobin Haberkorn33-74/+208
normally, since SciTECO is not a library, this is not strictly necessary since every library should use proper name prefixes or namespaces for all global declarations to avoid name clashes. However * you cannot always rely on that * Scintilla does violate the practice of using prefixes or namespaces. The public APIs are OK, but it does define global functions/methods, e.g. for "Document" that clashed with SciTECO's "TECODocument" class at link-time. Scintilla can put its definitions in a namespace, but this feature cannot be easily enabled without patching Scintilla. * a "SciTECO" namespace will be necessary if "SciTECO" is ever to be turned into a library. Even if this library will have only a C-linkage API, it must ensure it doesn't clutter the global namespace. So the old "TECODocument" class was renamed back to "Document" (SciTECO::Document).
2014-11-10revised default function key macrosRobin Haberkorn1-18/+63
* use shorter function key macros. * instead, every function key has a commandline editing macro based on the macro "^Tc" * dot is no longer modified to calculate positions, instead Scintilla messages are used * prevent that function key macros move dot off-page * improved behaviour: HOME will will first skip spaces and tabs at the beginning of the line and only the second press will move dot to the real line beginning. UP and DOWN will try to keep the column. However this does not work quite as good as in other editors, since there's no (sane) way to save the column last set by one of the function keys.
2014-11-10updated TODORobin Haberkorn1-1/+3
2014-11-10extended ^U command: allow setting and appending of strings and characters fromRobin Haberkorn2-5/+61
the expression stack now it's more like standard TECO's ^U command
2014-11-10clarified conditions when <;> should yield an errorRobin Haberkorn1-2/+11
2014-11-10README: mention Github wikiRobin Haberkorn1-0/+1
2014-11-10support new "~" conditional: useful for implying default parameters in macrosRobin Haberkorn2-14/+44
2014-11-10fixed EG command: make sure to reset the register argument on termination,Robin Haberkorn1-0/+2
else the next EC command will not work as expected or even crash
2014-11-09fixed EC command for negative line rangesRobin Haberkorn1-0/+6
2014-11-09allow "-EC" command even though we do not generally imply the sign prefixRobin Haberkorn1-3/+13
2014-11-09revised U command: fail if no argument is providedRobin Haberkorn3-7/+32
* there is no reasonable default value for U * omitting the parameter for U might be a frequent programming error * U can be colon-modified now, in which case it may be used * to check for the presence of arguments in macros
2014-11-09Clarify `symcasecmp` macro in string.tesRobin Haberkorn1-1/+2
2014-11-09fixed undoing of initial TECO document changesRobin Haberkorn1-0/+3
* the TECODocument::undo_edit() function is called before TECODocument::edit() and the Scintilla document might still be unitialized * fixes e.g. undoing of Xq, ^Uq on registers whose string part has not being used before
2014-11-09current_doc_must_undo(): check for undo-necessity when operating on the ↵Robin Haberkorn3-19/+44
current document if the current document is a local q-register from a macro call, we must not generate undo tokens, since the local documents are discarded on macro termination.
2014-11-09prevent assertions when pushing operators without corresponding operandsRobin Haberkorn1-4/+14
instead throw an error. The error could theoretically be thrown earlier instead of only when trying to perform a calculation. test cases: "++", "+1+", etc.
2014-11-09documented EC and EG commandsRobin Haberkorn4-2/+111
2014-11-09TAB-completion for EC commandRobin Haberkorn1-2/+13
behaves just like ^T in string arguments. later we might add special Bash-completion support
2014-11-09added EG command: pipe from buffer into Q-RegisterRobin Haberkorn3-7/+45
2014-11-09implemented EC command (execute operating system command) in spawn.cppRobin Haberkorn6-1/+428
powerful command for filtering a SciTECO buffer through an external program. It will be described in the sciteco(7) man pages. The implementation uses an asynchronous background process with pipes but is platform independant thanks to glib's g_spawn functions, GIOChannels and event loops. There are however platform differences in how the operating system command is interpreted/parsed.
2014-11-02changed syntax for long Q-Register names: use [] brackets instead of {}Robin Haberkorn9-84/+83
this breaks many existing scripts, and means you may have to rebuild SciTECO with ./configure --enable-bootstrap The syntax of SciTECO might change in backwards-incompatible until version 1.0 is released.
2014-11-01fixed reversing EW (save as)Robin Haberkorn2-24/+23
when the file name changes, there will no longer be a use-less save point file. instead the new file is deleted upon rubout. * save points are properly created if a file already exists with the same name, even though it was not known to SciTECO before the save. (e.g. you do save-as to a file that already exists). * more effects of the save command can now be rubbed out correctly
2014-10-07fixed URL in .gitmodulesRobin Haberkorn2-1/+1
2014-10-07Merge branch 'master' of https://github.com/rhaberkorn/scitecoRobin Haberkorn11-142/+121
2014-08-22minor INSTALL typos fixedRobin Haberkorn1-3/+3
2014-08-22automatically build Scintilla as part of SciTECO's build system:Robin Haberkorn9-125/+117
this should simplify building SciTECO for new users * compiler and archiver are passed down from Autoconf, so cross-compiling should work transparently * `make clean` will also clean the Scintilla source tree * there is no longer any need for "source bundles" as tar balls also contain Scintilla/Scinterm now * building from Git is not much more difficult than building from a tar ball * The versions of Scintilla/Scinterm embedded as submodules already contain all the patches necessary (currently none are necessary), so there's no need to have patch files in the repository * INSTALL instructions have been rewritten * the --with-scintilla and --with-scinterm site-config options have been kept. But they should be rarely necessary now.
2014-08-22added Scintilla submoduleRobin Haberkorn2-0/+4
This links to the `sciteco-dev` branch at git@github.com:rhaberkorn/scintille-mirror.git, which is actually Scintilla 3.4.4.
2014-08-20updated minimum required Scintilla version to 3.4.2 and Scinterm to v1.3Robin Haberkorn3-22/+5
* this allows us to remove the last patch to the Scintilla/Scinterm code base (for the time being at least)
2014-08-02don't abort on unexpected semicolon (break from loop)Robin Haberkorn1-1/+3
the question remains what to do then. FIXME: consult TECO standard
2014-08-02ensure that expressions.eval(true) pops the brace "operator"Robin Haberkorn2-4/+2
test case: 1<()> * an empty brace (or content that does not leave anything on the stack) resulted in the brace op to be left on the stack which makes the op stack inconsistent
2014-04-25avoid narrowing-conversion warning in C++11Robin Haberkorn1-1/+1
* as of gcc 4.7.2, -Wnarrowing is in -Wall
2014-04-25added generated symbols (symbols-*.cpp) to CLEANFILESRobin Haberkorn1-1/+2
this was broken in #de616e362ccd56aae8b26a08d9520ab9132a060f
2014-02-18fixed array freeing using deleteRobin Haberkorn1-1/+1
* used `delete` instead of `delete[]` * don't know why this didn't cause problems (not even in valgrind)
2014-02-18comment on unused-result warning of fchown()Robin Haberkorn1-1/+5
2014-02-18removed unreliable CHR2STR() macroRobin Haberkorn5-20/+34
* referencing temporaries is unreliable/buggy in GNU C++, at least since v4.7 * in higher optimization levels it resulted in massive memory corruptions * this is responsible for the build issues (PPA build issues) * instead, always declare a buffer on the stack which guarantees that the variable lives long enough * the g_strdup(CHR2STR(x)) idiom has been replaced with String::chrdup(x)
2014-02-18use new EMCurses keyboard handler callbackRobin Haberkorn1-1/+1
* should improve performance on EMCurses/Emscripten, since no polling for key events is necessary anymore
2014-02-17mention sciteco.sf.net as the project's homepageRobin Haberkorn4-5/+6
2014-02-17sciteco emscripten sample HTML: make sure canvas is hidden if usedRobin Haberkorn1-1/+1
2014-02-16treat Emscripten's em++ like ClangRobin Haberkorn1-1/+2
2014-02-16ncurses: fixed info bar at startupRobin Haberkorn1-0/+1
2014-02-16minor DOS to UNIX EOL conversionRobin Haberkorn1-28/+28
2014-02-16updated README: begin to reference resources on SourceforgeRobin Haberkorn1-3/+3
2014-02-16prepare new target release v0.6Robin Haberkorn3-2/+10
2014-02-16updated minimum required Scintilla version to v3.3.7 / Scinterm v1.2Robin Haberkorn13-106/+72
* allows us to remove most patches. One however is still necessary (Scinterm Makefile bug!) * TECO-style control code echoing is now set up using the SCI_SETREPRESENTATION message * updated copyrights * updated TODO
2014-02-16rewritten command-line completion without Glib's g_complete_ functionsRobin Haberkorn2-40/+71
* they have been marked deprecated in recent libglib versions (since v2.26) * there is no alternative in recent libglib versions, so we simply do it with a little string handling. this works with older and newer libglib versions.
2014-02-15updated Copyright to year 2014Robin Haberkorn31-32/+32
2014-02-15updated TODORobin Haberkorn1-1/+5