Age | Commit message (Collapse) | Author | Files | Lines |
|
allows including the currently chosen PREFIX
* also removed sciteco_datadir variable (pkgdatadir defined by Automake is sufficient)
|
|
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
|
|
|
|
language and commands will be described in separate documents
|
|
* updated TODO
|
|
in the future, I might submit a more elaborate Scintilla patch for configuring
the control code strings.
|
|
also updated AUTHORS
|
|
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
|
|
|
|
|
|
|
|
Buffer ring part (ring.cpp)
|
|
* like the other search-related commands the operation (delete, kill, replace) is not performed until the
search pattern string argument is terminated (simplifies implementation and has visual advantages)
|
|
* new base for searc-replace command states
|
|
* based on FS command
* default replacement string is stored in global register "-"
|
|
* makes use of Scintilla selections, so their usage has been improved
* search commands preserve selection on termination (escape)
* selections are restored on rubout
* search-replace command makes use of the Insert command's state (may serve as a base class now)
but does not pop additional values from stack (like "I" does)
|
|
|
|
|
|
untitled buffer
|
|
* new buffers are added at the list tail
* when closing a buffer, the next one is selected or the previous one if it is the tail
* the ring may be traversed in reverse order
* undoing a buffer close (Ring::UndoTokenEdit) could be cleaned up to only use standard macros (is slightly less efficient though)
|
|
|
|
order
* also inverse ranges are now supported (<a,b>S if a>b) and result in constrained backward searches
|
|
use the ceiling of the number of entries divided by the calculated number of columns,
ensuring that just enough lines to display all the entries are reserved.
|
|
* this is a simple workaround so that a window too large to fit in memory is not constructed
|
|
|
|
* print "..." at end of list if not all entries can be displayed because the entire screen is already covered
|
|
* does not yet handle case-insensitive completions
* does not handle omitting of the SCI_ prefix
|
|
|
|
* do it only in start state: so double escapes in strings do not cause a termination and an empty string may be specified
* clear arithmetic stacks on line termination
|
|
* GTK is not as polished, but still useful for debugging purposes
|
|
* new syntax is <[lParam,[wParam,[msg]]]>ES[msg[,wParam[,lParam]]]$[lParam string]$
* symbols are matched case-insensitive, the leading SCI_ for message symbols may be omitted
* added support for more multiple string arguments (for commands in general)
* fixed "C conditional: succeeds for every alpanumeric character, dot, dollar or underscore
* added SCLEX_ and SCE_ constants as symbols
* updated teco.ini: using symbolic names is preferred since that way code does not depend on the current Scintilla version
|
|
* symbols are extracted from C header files by a TECO macro
* macro is executed using a "minimal" version of SciTECO that does not include symbols (uses gcc's weak symbols)
* the generated C++ code contains the symbol-name-to-define mapping as a constant sorted array and initializes the appropriate SymbolList object
* a symbol lookup is super fast using a simple binary search in the symbol lists
* except for object initialization, no there's no overhead for keeping the symbol lists!
* build process is complicated by introduction of bootstrapping via sciteco-minimal
|
|
|
|
|
|
|
|
* terminal resizing must be enabled explicitly
* endwin() does not work as expected, so don't use it
* messages may always be sent to stdout/stderr
* patching Scinterm was necessary: it did not expect COLORS > 8. will still build
with unpatched versions
|