Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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.
|
|
|
|
* ValueStack destruction might have resulted in Segfaults at shutdown
|
|
interface object definition
* they still define their own classes (e.g. InterfaceNCurses),
InterfaceCurrent is a typedef
|
|
* C++ runtime does not automatically throw an exception
|
|
|
|
* results in better error messages, e.g. when opening files
* the case that a file to be opened (EB) exists but is not readably is handled for the first time
|
|
* might throw other exceptions that must be associated with the parent macro level's (stack frame)
* add position information to "label not found" errors
* Error copy constructors
|
|
* specifications resulted in runtime errors (unexpected exception) when bad_alloc ocurred
* specs should be used scarcely: only when the errors that may be thrown are all known
and for documentary purposes
|
|
bad_allocs and convert them to State::Error
* will allow some degree of OOM handling
* currently does not work since the exception specifications prevent bad_allocs from propagating.
exception specification usage must be completely revised
|
|
* use to get line and column into a stack frame
|
|
* when an error is thrown, stack frames are collected on clean up, up to
the toplevel macro
* the toplevel macro decides how to display the error
* now errors in interactive and batch mode are displayed differently
* in batch mode, a backtrace is displayed as a sequence of messages
* Execute::file() forwards errors correctly
* the correct error in the file is displayed in interactive mode
* necessary to build the stack trace
|
|
by building with Emscripten support, SciTECO may be
embedded into web pages.
* sciteco.html is not a piece of documentation but a sample SciTECO embedding
|
|
* there was a compile-time race condition that could result in the GObjects not being built (with Gob2).
So I removed the symbols generation from BUILT_SOURCES.
* apparently either Scintilla depends on gmodule since I last tested or the gtk+-2.0 pkg-config package
no longer includes gmodule, so we must explicitly depend on it
|
|
register
I felt the urge to implement that after accidentally rubbing out my entire commandline
(the work of an hour) just by pressing "}"...
|
|
* the warning itself makes sense but in the cases reportet they
were irrelevant
|
|
* fixes compilation on g++ 4.7 where compound literals are suddenly
temporaries (from which you cannot get a pointer)
* the compound statement (also GCC extension) should ensure that
the string is allocated on the stack with automatic lifetime
|
|
|
|
* 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
|