Age | Commit message (Collapse) | Author | Files | Lines |
|
when not in string-state, <CTL/U> is self inserting (unlike traditional
TECO where it would clear your entire commandline)
|
|
|
|
|
|
words or entire commands
* when rubbing out words (in string params), use Scintilla's definition of a word
|
|
* fixes autocompletion at the beginning of string params
* is also available in filename commands and would allow filename completion after string beginning
* also did some editing command cleanup
|
|
occurs when rubbing out a switch from q-reg string or to q-reg string
|
|
cmdline and cmdline_pos is no longer modified by code executed by step()
instead it is modified at the outermost macro level (commandline macro level)
|
|
* allows us to switch between buffers/registers when editing the
commandline
|
|
allows commandline editing scripted by macros
|
|
* simplified traditional commandline editing. no need to extend cmdline string one character
at a time when inserting multiple. instead there's a marker (cmdline_pos) specifying the macro
length to execute in a "step" and also the anchor for generating undo tokens
* implementation does not yet work in macro calls
* while editing the commandline, other buffers/registers may not be edited
(need push-down-list and auxiliary q-register)
|
|
* there was a dependency on interface initialization.
it did not cause issues because destruction order was
by chance.
* introduced INIT_PRIO and PRIO_* macros to easy initialization order declaration
(using a PRIO_* formula makes code self-documenting)
* also used this to clean up QRegisterTable initialization
(we do not need the explicit initialize() method)
* also used to clean up symbols initialization
|
|
was broken due to untested changes
|
|
|
|
rubout would undo something different and screw up editor state
|
|
do not accidentally overwrite the Scintilla (SCI_...) message
symbol set
|
|
into automake include (bootstrap.am)
|
|
useful, e.g. in Makefiles
|
|
|
|
|
|
* parser.cpp|h should be reserved for generic and misc. stuff.
the StateExpectQReg class is used almost exclusively by qregisters.cpp|h
* resolves a circular header dependency issue
|
|
commandline macro)
* only works as part of commandline macro,
* at the beginning of other macros, it is treated like an arithmetic asterisk
* variables defined in cmdline.cpp are now declared by new cmdline.h
|
|
commandline
fixes errors in loops or loop interruptions (may leave program counter
somewhere in the loop)
|
|
memory mapping the entire file has been benchmarked to be less
efficient than the old implementation (because of more than
doubling page faults).
A lengthy comment has been written to discuss different
implementations of file reading.
|
|
* file must be in primary memory for scintilla
* we cannot write to scintilla's buffer memory directly
* so mapping the file is best: in the best case it is not copied to primary memory and resides in kernel cache
* in any case, mapping to memory is faster than read()ing into primary memory
* copying from mapped virtual memory to scintilla buffer (via SCI_APPENDTEXT) is faster
than copying from primary memory
|
|
* works with/without save-points (i.e. in batch and interactive mode, both were broken)
* improved file-saving performance (avoid buffer gap removal)
* only root can preserve the ownership of a file owned by another user after file saving
|
|
* updated TODO
|
|
fixes PDCurses support)
|
|
|
|
* CTRL/C will be a command so it is important to be able to type it directly
* aborting character processing is important because it allows aborting infinite loops
* since the loop interruption currently relies on SIGINT handling, there is only limited
support for XCurses and GTK - CTRL/C has to be typed in the terminal window.
later support for input queue polling might be added
|
|
* respect executable extensions
* do not use weak symbols which appear to be broken on MinGW.
Instead, the generated symbol constants contain constructor functions
initializing the corresponding objects. Constructor priorities are used
to ensure that the initialization takes place after the dummy (NULL)
initialization.
* do not change the working dir (causes trouble when sciteco gets passed
relative paths but the exe is not in the current dir)
instead look for teco.ini in program's directory
|
|
|
|
* will also enable crosscompiling SciTECO: first sciteco (or sciteco-minimal) is built for the host platform,
then the target binary is built using the host sciteco
|
|
|
|
|
|
|