Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* fixes gcc-4.4 which does not have -Wno-mismatched-tags and no -Wunknown-warning
|
|
* 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
|
|
|
|
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
|
|
* -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.
|
|
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
|
|
* 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
|
|
* new Expressions::format()
* may be used format numbers as part of arrays (Q-Register names)
|
|
specifications
* allows full Q-Reg syntax
|
|
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
|
|
tab-completions
* StateExpectFile adds no functionality (currently), but is useful for checking state types
|
|
* 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
|
|
* 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.
|
|
* also updated sciteco(7): add SEE ALSO and AUTHORS
|
|
|
|
* useful for using macro libraries
|
|
library
* therefore for bootstrapping to work, the SCITECOPATH is always set explicitly
|
|
* 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
|
|
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
|
|
documents
* fixes search-replace commands when function keys are used since they rely on selections
not being disturbed
* will also be useful later when there may be other selections
|
|
* storage size should always be 64 (gint64) to aid macro portability
* however, for performance reasons users compiling from source might
explicitly compile with 32 bit integers
|
|
useful for Windows where the desired default path does not correspond with
the installation dir of the std lib macros
|
|
|
|
* also revised the way in which unhandled keys are interpreted
(use gdk_keyval_to_unicode() instead of deprecated GdkEventKey::string)
* keep in sync with Curses key handling
|
|
* Scintilla is now initialized from main() using Interface::main()
* Scintilla initialization depends on initialization of objects in the
global namespace (otherwise the Lexer catalogue may not be filled
properly and lexing may not work). Lexer modules were initialized
after SciTECO interface initialization
* merged Scintilla initialization (Interface::main()) with interface
option parsing
|
|
* line-number style must be explicitly set, even after CLEARALLSTYLES
* margin widhts are in pixels (except in Scinterm), so we must determine the
pixels requiered by a number of digits (e.g. 5 digits)
|
|
initialization revised
* g_get_environ() appears to be broken, at least in Wine and Win2k
|
|
...which is useful when crosscompiling for MinGW
|
|
they didn't work and weren't really necessary either
|
|
* distinction no longer useful since string part of register
is now never pre-initialized
|
|
* also encapsulates data properly (previously there were many public
attributes to avoid permission issues)
* new class also cares about saving/and restoring scroll state.
now, buffer/q-reg edits and temporary accesses do not reset
the scroll state anymore.
|
|
* pkg-config LIBS should be added to $LIBS so that link order is correct
|
|
this is often because of a missing "config.h" include,
but puzzles me every time...
|
|
|
|
ensure that undo tokens for first differing characters are actually
associated with this character instead of the next.
(resulted in strange behaviour on rubout and subsequent replacements)
|
|
|
|
macros
* if enabled, when a function key is pressed it is looked up in Q-Registers ^F...
e.g. HOME key corresponds to register ^FHOME
* the string if available is inserted as if it was entered by key-presses
(later it may be entered as a single input token which may be removed in a single rubout)
* only NCurses currently, key names directly correspond to Curses key names
* on Curses if function keys are enabled ESCAPE will be inserted after a delay
(because function keys are transmitted via escape sequences).
A function key macro may be used to define an alternative escape character
|
|
* SCITECOPATH environment variable defaults to this directory
* manpage updated
* default teco.ini updated: no need to generate it anymore
|
|
|
|
e.g. G{$HOME} will insert the HOME environment variable
|
|
|
|
* enabled for all modifying Q-Reg commands
|
|
string-building commands
* allows referring to long Q-Register names in string arguments
* currently, long names specified this way use their own string building char parsing
(I'm unsure whether this makes any sense)
|
|
will care about the eventual deletion of the object
|
|
syntax is as follows: ["."]("#" CHR1 CHR2 | "{" STRING_BUILDING "}" | CHR1)
* the short one/two char names are turned upper case, while no
case folding is performed on verbose names
|
|
base class
* uses label pointers instead of state-enum and switch case
(both faster and shorter to write)
* common interface for all micro state machines: makes them reusable
|
|
see comment: special handling of <CTL/Z> in terminal might
be disabled, or commandline input might be in X11 window...
|
|
when not in string-state, <CTL/U> is self inserting (unlike traditional
TECO where it would clear your entire commandline)
|
|
|