aboutsummaryrefslogtreecommitdiffhomepage
path: root/scintilla
AgeCommit message (Collapse)AuthorFilesLines
2021-10-11upgraded to Scintilla 5.1.3 and Scinterm 3.1Robin Haberkorn1-0/+0
* Previous Scintilla version was 3.6.4 and Scinterm was 1.7 (with lots of custom patches). All of the patches are now either irrelevant or have been merged upstream. * Since Scintilla 5 requires C++17, this increases the minimum GCC version at least to 5.0. We may actually require even newer versions. * I could not upgrade the scintilla-mirror (which was imported from Mercurial), so the old sciteco-dev branch was renamed to sciteco-dev-pre-v2.0.0, master was deleted and I reimported the entire Scintilla repo using git-remote-hg. This means that scintilla-mirror now contains two entirely separate trees. But it is still possible to clone old SciTECO repos. * The strategy/workflow of maintaining hotfix branches on scintilla-mirror has been changed. Instead of having one sciteco-dev branch that is rebased onto new Scintilla upstream releases and tagging SciTECO releases in scintilla-mirror (to keep the commits referenced), we now create a branch for every Scintilla version we are based on (eg. sciteco-rel-5-1-3). This branch is never rebased or deleted. Therefore, we are guaranteed to be able to clone arbitrary SciTECO repo commits - not only releases. Releases no longer have to be tagged in scintilla-mirror. On the downside, fixup commits may accumulate in these new branches. They can only be squashed once a new branch for a new Scintilla release is created (e.g. by cherry-picking followed by rebase). * Scinterm does no longer have to reside in the Scintilla subdirectory, so we added it as a regular submodule. There are no more recursive submodules. The Scinterm build system has not been improved at all, but we use a trick based on VPATH to build Scinterm in scintilla/bin/. * Scinterm is now in Git and we reference the upstream repo for the time being. We might mirror it and apply the same branching workflow as with Scintilla if necessary. The scinterm-mirror repository still exists but has not been touched. We will also have to rewrite its master branch as it was a non-reproducible Mercurial import. * Scinterm now also comes with patches for Scintilla which we simply applied on our sciteco-rel-5-1-3 branch. * Scintilla 5 outsourced its lexers into the Lexilla project. We added it as yet another submodule. * All submodules have been moved into contrib/. * The Scintilla API for setting lexers has consequently changed. We now have to call SCI_SETILEXER(0, CreateLexer(name)). As I did not want to introduce a separate command for setting lexers, <ES> has been extended to allow setting lexers by name with the SCI_SETILEXER message which effectively replaces SCI_SETLEXERLANGUAGE. * The lexer macros (SCLEX_...) no longer serve any purpose - they weren't used in the SciTECO standard library anyway - and have consequently been removed from symbols-scilexer.c. The style macros from SciLexer.h (SCE_...) are theoretically still useful - even though they are not used by our current color schemes - and have therefore been retained. They can be specified as wParam in <ES>. * <ES> no longer allows symbolic constants for lParam. This never made any sense since all supported symbols were always wParam. * Scinterm supports new native cursor modes. They are not used for the time being and the previous CARETSTYLE_BLOCK_AFTER caret style is configured by default. It makes no sense to enable native cursor modes now since the command line should have a native cursor but is not yet a Scintilla view. * The Scintilla upgrade performed much worse than before, so some optimizations will be necessary.
2017-03-14support NetBSD's cursesRobin Haberkorn1-0/+0
* this is actually another independant Curses implementation for Unix platforms I wasn't aware of. I tested against this portable fork of it: https://github.com/sabotage-linux/netbsd-curses * Only a mimimal change to Scinterm was necessary to support it. * netbsd-curses might be useful for NetBSD support (which is otherwise untested) and when building small statically linked self-contained binaries since netbsd-curses is much smaller than ncurses.
2016-04-06updated Scintilla to v3.6.4 and Scinterm to v1.7Robin Haberkorn1-0/+0
* the Github mirrors contain crucial patches not yet contributed upstream, so people will currently rely on my Github mirror repositories in order to build SciTECO
2016-02-04updated Scintilla submodule: fixed threading/deadlocks in Gdk earlier than 3.6Robin Haberkorn1-0/+0
* I fixed up the earlier commit a2b4a4cf4dfe7f7d72eeea566290f9ec51be7dbb. * For Gdk >= 3.6 there are no functional improvements/fixes. However older Scintilla Gtk builds would have been broken by the last Scintilla patch. This is of course important when contributing the patch to the Scintilla community.
2016-02-01updated Scintilla: fixed crashes due to concurrent Scintilla usageRobin Haberkorn1-0/+0
* this fixes the Gtk interface which often crashed because of memory corruptions * When moving away from gdk_threads_enter()/_leave() this will no longer be necessary. However the fix may be relevant for other people and should be sent upstream.
2015-10-14minor Clang and OS X compilation fixesRobin Haberkorn1-0/+0
* we cannot use G_N_ELEMENTS in attribute declarations with Clang unless declaring C++11. In this case, since the size of the orig_color_table is fixed anyway, the declaration was simply fixed. * some reordering was necessary in cmdline.cpp. This should not have any influence on GCC when optimizations are enabled. * Scintilla/Scinterm had to be updated as well.
2015-07-28added full Haiku OS support (non x86_gcc2)Robin Haberkorn1-0/+0
* Haiku can be handled like UNIX in most respects since it is POSIX compliant, has a UNIX-like terminal emulator and uses ncurses. * still the Glib platform macro is G_OS_HAIKU instead of G_OS_UNIX, so the preprocessor conditionals had to be adapted. * the only functional difference between a Haiku and UNIX build is the default SCITECOCONFIG path. We use the config path returned by Glib instead of $HOME, so .teco_ini will be in ~/config/settings on Haiku. Other UNIX ports appear to use the same conventions. * Some Haiku-specific restrictions still apply: * Haiku's terminal is xterm-compatible, but only supports 8 colors. Therefore only the terminal.tes color scheme can be used and the terminal must be set up to "Use bright instead of bold text". * The terminal has artifacts. This appears to be a Haiku bug and affects other curses applications as well. * GTK is yet unsupported on Haiku, so there may never be a GUI port (unless someone writes a QT GUI for SciTECO). * SciTECO cannot be built with the legacy gcc2 used for BeOS compatibility on Haiku. This would require too many changes for an obsolete platform. BeOS and the x86_gcc2 platform of Haiku will therefore never be supported. The PPC and ARM platforms of Haiku should work but are untested. * a HaikuPorts recipe will be provided for the next regular SciTECO release. This should hopefully allow installation via HaikuDepot.
2015-07-15updated Scintilla/Scinterm submodules: scintilla_noutrefresh() supportRobin Haberkorn1-0/+0
* improves performance and reduces flickering when showing large popup windows (on top of the Scintilla window). * Unfortunately, even with scintilla_noutrefresh(), there is still some flickering occasionally.
2015-06-30updated Scintilla/Scinterm submodulesRobin Haberkorn1-0/+0
latest patches have been merged upstream
2015-06-22major Curses UI revision: initialize curses as late as possibleRobin Haberkorn1-0/+0
* relies on a patched version of Scinterm that allows you to construct Scintilla objects, send messages etc. before Curses is initialized. The Scintilla and Scinterm submodules have been updated. * This once and for all fixes batch mode and stdio redirections in batch mode on all Curses platforms and operating systems. * Fixes the ^C-does-not-interrupt bug on ncurses/UNIX. See #4. * On ncurses/UNIX we will still do a newterm()-initialization. This allows us to keep stdout/stderr alone in case they are redirected. This effectively allows redirecting SciTECO's output into a file even in interactive mode. ncurses/UNIX now behaves like, e.g. PDCurses/win32a and GTK+ in this regard. * Curses environment variable handling fixed. The environment registers are exported into the process environment so that Curses environment variables can be set/modified by the SciTECO profile. * Use term.h for accessing terminfo now. Explained set_window_title() limitations. * fixed interruption via SIGINT. If the UI is waiting for user input, SIGINT is effectively ignored instead of letting the next character fail always. * Updated sciteco(1) and sciteco(7): More options, environment variables and signals documented. Also rewritten DESCRIPTION section (different modes of operation).
2015-06-13updated scintilla submoduleRobin Haberkorn1-0/+0
* it's now at Scintilla v3.5.6 and Scinterm v1.6 * the Curses tab-stop fix was removed from the sciteco-dev branch since Mitchell cared about getting it upstream. It is part of Scintilla v3.5.5 and Scinterm v1.6. Scinterm built fine with Scintilla v3.5.6, so we're using the newer release.
2015-02-14updated Scintilla submodule: fixed tab stop calculation on CursesRobin Haberkorn1-0/+0
* also did some whitespace cleanup in SciTECO now that tabs are displayed properly
2015-02-12updated Scintilla to v3.5.2 and Scinterm to v1.5Robin Haberkorn1-0/+0
the most noticable change is that a scroll-bar is displayed by default (Curses UI) * INSTALL instructions updated
2014-11-18updated Scintilla submoduleRobin Haberkorn1-0/+0
Scintilla is now at v3.5.1 and Scinterm at v1.4 (actually one commit after that and the sciteco-branch contains another fix for the Scinterm Makefile)
2014-10-07fixed URL in .gitmodulesRobin Haberkorn1-0/+0
2014-08-22added Scintilla submoduleRobin Haberkorn1-0/+0
This links to the `sciteco-dev` branch at git@github.com:rhaberkorn/scintille-mirror.git, which is actually Scintilla 3.4.4.