Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
also changed precedence of + operator (higher than minus).
the effects of this should be minimal
|
|
this fixes the "\" command and ^E\ string building characters
|
|
* the GError expection has been renamed to GlibError, to avoid
nameclashes when working from the SciTECO namespace
|
|
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).
|
|
* 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.
|
|
|
|
the expression stack
now it's more like standard TECO's ^U command
|
|
|
|
|
|
|
|
else the next EC command will not work as expected or even crash
|
|
|
|
|
|
* 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
|
|
|
|
* 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
|
|
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.
|
|
instead throw an error. The error could theoretically be thrown
earlier instead of only when trying to perform a calculation.
test cases: "++", "+1+", etc.
|
|
|
|
behaves just like ^T in string arguments.
later we might add special Bash-completion support
|
|
|
|
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.
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
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.
|
|
This links to the `sciteco-dev` branch at git@github.com:rhaberkorn/scintille-mirror.git,
which is actually Scintilla 3.4.4.
|
|
* this allows us to remove the last patch to the Scintilla/Scinterm code
base (for the time being at least)
|
|
the question remains what to do then.
FIXME: consult TECO standard
|
|
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
|
|
* as of gcc 4.7.2, -Wnarrowing is in -Wall
|
|
this was broken in #de616e362ccd56aae8b26a08d9520ab9132a060f
|
|
* used `delete` instead of `delete[]`
* don't know why this didn't cause problems (not even in valgrind)
|
|
|
|
* 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)
|
|
* should improve performance on EMCurses/Emscripten,
since no polling for key events is necessary anymore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 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
|
|
* 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.
|
|
|
|
|