| Age | Commit message (Collapse) | Author | Files | Lines |
|
Also, Scinterm had to be updated again since NetBSD curses stores up to 8 wchar_t per cell.
|
|
* Also updated A_XXX attributes to WA_XXX, where the "new" wattr_set() APIs
are used. This doesn't make a difference on ncurses and PDCurses, but the
X/Open standard demands it.
* Allow color pairs up to 32767 instead of only up to 32766.
* We now always require Curses wide-character APIs due to Scinterm,
which has to use mvwin_wch(). We were practically depending on wide-character
support anyway, so this shouldn't really restrict portability.
* teco_curses_add_wc() has been simplified, now that we can rely on
wide-char APIs. Perhaps it should be removed altogether?
|
|
* Instead of ORing COLOR_PAIR() into attributes, always pass separate `pair` arguments.
Since they are `short` this allows for up to 32767 color pairs.
Previously, we could only count on 256 color pairs (or 128 for SciTECO and Scinterm each).
* Analoguous changes have been made to Scinterm.
See also https://github.com/orbitalquark/scinterm/pull/37
Since it only correctly checks for overflows at the end of the color pair space, we allocate the second
half of that space to Scinterm.
It is now very unlikely to overflow the color pair space, though.
* This wasn't critical of course since even the 128 pairs would be unlikely to exhaust as long
as we support only 16 ANSI colors.
Scinterm however supports arbitrary RGB colors and we might want to do so soon as well.
|
|
This requires a (yet unmerged) Scinterm patch.
|
|
The submodule has been reverted to its upstream URL.
|
|
See also https://github.com/orbitalquark/scinterm/pull/35
|
|
* This is still rendered as underlined text.
* It uses a new Scinterm upstream feature, so we can
switch back to the upstream repo.
|
|
|
|
rendered as "TAB" without any indentation
|
|
It does not change anything functionally, though.
|
|
The new wcwidth.c wasn't actually linked in.
|
|
This requires enhanced INDIC_STRAIGHTBOX semantics, which are not yet upstream in Scinterm.
|
|
* This currently needs a yet unmerged patch, fixing the light colors.
* Scinterm no longer systematically initializes the color pairs, so
we cannot predict their numbers - instead we initialize color pairs
on demand and store them in a hash map, very similar to what Scinterm
does internally.
* Scinterm v5.5 can use arbitrary RGB colors now by automatically
allocating curses colors and pairs.
We do not expose this in SciTECO yet, although that would also
be possible.
It has to be decided first whether the special predefined colors
will continue to live in the same namespace along with "true"
RGB colors.
|
|
SC_LINE_END_TYPE_NONE
|
|
* It was failing on OpenSUSE Tumbleweed i586 on OBS,
resulting in duplicate symbols and build errors.
This was not reproducible with 32-bit builds on OpenSUSE Tumbleweed x86_64.
* Instead of hoping for a compiler warning to be treated as an error,
we now use a static assertion with a _Generic expression.
* The scintilla submodule has also been updated since Neil was asking to
update the documentation as well.
|
|
* Scintilla had build problems if ptrdiff_t doesn't alias int if it has the
same storage size (e.g. on NetBSD 10 (armv6)).
* Unfortunately, Neil Hodgson refused to merge my previous Scintilla patches that
would have fixed the issue at the core.
See https://groups.google.com/g/scintilla-interest/c/STAv6LgLyCo
* He only agreed to introducing a separate flag to work around the issue
(`-DPTRDIFF_DOESNT_ALIAS_INT`).
* In order to continue to support all standard C/C++ conforming platforms
we therefore need a compile-time check to check for the aliasability
of ptrdiff_t and int.
|
|
Shouldn't change anything functionally, but allows us to more broadly
test the patch (especially via OBS).
|
|
* It is even more robust now and does not remove the large document
optimization.
* And actually while problems were caused on NetBSD 10 on ARMv6,
this likely wasn't a problem on all NetBSD ports and wasn't
restricted to NetBSD. At the very least Haiku 32-bit was affected
as well.
|
|
It should be more robust now.
The changes on CellBuffer should be reviewed again, though.
|
|
* We can use the new SCI_SCROLLVERTICAL instead of SCI_SETFIRSTVISIBLELINE.
* The upgrade will also ease submitting the NetBSD-support patch.
|
|
* It requires a forced refresh on startup (even though that should be the
default). Otherwise, it wouldn't print the info line correctly.
* Redirect stdin and pass it to newterm() to fix key queuing.
Probably necessary for supporting ncurses on NetBSD as well.
* Avoid doupdate() if screen is too small: fixes crashes for very
small windows.
* Updated Scintilla: There were some implicit typing assumptions,
that are broken by this platform.
|
|
corner cases)
* pkg-config check for `ncurses` fails if it failed previously for `ncursesw`.
This is the case e.g. for ncurses from NetBSD's pkgsrc.
* No longer assume that any libncurses is not enhanced (X/Open compatible).
* SciTECO and Scinterm require to find a curses.h in the include paths.
The ncurses check must therefore not be limited to the first best
ncurses/ncurses.h and the like.
* We now always check for X/Open compatibility and always require
a curses.h in the standard directories or as given by pkg-config.
* AX_WITH_CURSES was radically rewritten and is now called AX_WITH_NCURSES.
* --with-interface=netbsd-curses gets its own detection code.
It always requires a curses.h in the standard paths and a libcurses.
It should now be fixed for real NetBSD installations if the ncurses
port is installed as well.
* Unified all of the curses-arguments to CURSES_CFLAGS and CURSES_LIBS.
There is no reason we need PDCURSES_CFLAGS, XCURSES_CFLAGS etc.
|
|
|
|
* SCI_COLOR_PAIR() is now a function teco_color_pair() since it also became
an inline function in Scinterm.
|
|
* If the background color would be non-black, render text in reverse
video. ncurses doesn't do that automatically.
* Fixes rendering under historical terminals like VT100 and VT240,
but also all of the monochrome versions of modern emulators in terminfo.
* This also improves the situation when $TERM is set to something conservative,
e.g. when connecting via RS232.
* Scinterm is temporarily changed to my own fork, which already contains
a monochrome patch.
|
|
flickering when scrolling the popup window
* see https://github.com/orbitalquark/scinterm/issues/26
* scintilla_wnoutrefresh() actually caused a refresh(), thus updating the physical screen
before calling teco_curses_info_popup_noutrefresh() and doupdate().
* This was visible when redrawing the both Scintilla view and popup often as happens during
scrolling or when clicking on the popup borders.
* This was probably broken since v2.1.0.
|
|
* Turns out that on SunOS/OmniOS the ncurses port does not ship with
a ncursesw pkg-config file, but the ncurses file is for a version,
that does contain widechar support as well.
* Instead of adding yet another recursive PKG_CHECK_MODULES() call,
we now use the AX_WITH_CURSES() macro, which is probably more robust.
This should at least fix ./configure on OmniOS.
* It also adds a number of feature C macros, that could be useful to
check in the future.
* At the moment, we strive to support all X/Open-compatible Curses
libraries, but both enhanced and color functions are required.
Therefore plain SVr4 Curses is not supported.
* source: https://www.gnu.org/software/autoconf-archive/ax_with_curses.html
|
|
Unfortunately, it does not help with the slowdowns when editing files with very long lines.
|
|
This does not change anything functionally.
|
|
* I am not entirely sure whether it would be safe to bundle
api-ms-win-core-synch-l1-2-0.dll or bcryptprimitives.dll,
so I won't upstream this change yet.
* Should fix GTK/Win32 nightly builds.
|
|
* they don't have A_ITALIC
* should fix the nightly builds
|
|
* For instance, when using the Solarized color scheme,
comments will be in italics.
* The underline style could also be supported in color.set,
but currently it's not required.
* Unfortunately, this does *not* fix the INDIC_PLAIN indicator style for
underlining, so you still cannot use that eg. for spell checking.
* See https://github.com/orbitalquark/scinterm/issues/22
|
|
* There are patches on top of Scintilla as were before
* Scinterm has been switched back to the upstream repository and there are unreleased
commits - especially for out-of-tree builds.
* Lexilla hasn't been released since my troff lexer was merged.
|
|
repository again
|
|
* You no longer have to copy contrib/scintilla, contrib/scinterm and contrib/lexilla
manually to the build directory.
* It turns out, that Scintilla/Lexilla was supporting this since 2016.
Scintilla allows pointing to a source directory (srdir) and Lexilla to a binary directory (DIR_O).
* For Scinterm I opened a pull request in order to add srcdir/basedir variables:
https://github.com/orbitalquark/scinterm/pull/21
* `make distcheck` is therefore now also fixed.
* The FreeBSD package is now allowed to build out of source.
I haven't tested it yet.
* See also https://github.com/ScintillaOrg/lexilla/issues/266
|
|
|
|
This should not change anything functionally.
|
|
* The patch for indicator styles turned out to be unnecessary,
so I switched back to the mainline Scinterm repository.
* Scinterm is now on the latest commit that still supports my version of Scintilla (v5.3.4).
|
|
* The scinterm submodule temporarily points to my own fork.
* This is necessary for the aspell macro on Curses.
See https://github.com/rhaberkorn/sciteco/wiki/Useful-Macros#spell-checker
* See also https://github.com/orbitalquark/scinterm/pull/19
|
|
* This is optimized for Groff, but works for Heirloom Troff and Neatroff as well.
Currently, the Heirloom and Neatroff requests are just added ontop of the Groff
ones. Theoretically, we could also try to separate the keyword lists into
a base K&R set with Groff, Heirloom and Neatroff ontop.
* The lexer necessarily has many restrictions, as Troff is fundamentally unparseable
(like classic TECO) and needs a lot of per-request knowledge.
* The "*.mm" extension has been removed from the lexers/cpp.tes.
I don't know what language this was for, and I prefer `*.mm` files
to be considered Troff.
* Temporarily changed the lexilla submodule URL.
The corresponding Lexila lexer is in the process of being upstreamed.
Once it is, I will probably revert the submodule to the official repository,
as the "troff" branch is not stable (can be rebased).
|
|
g_object_unref()
* Turns out that using gtk_widget_destroy(), the finalize handler never gets called!?
This means we were leaking memory.
* Using g_object_unref() fixes that and the initial Scintilla patch is no longer necessary.
* There have previously been use-after-free bugs when *not* using gtk_widget_destroy().
This has apparently been fixed in the meantime in Scintilla.
|
|
* the GObject lifecycle was violated, resulting in use-after-free scenarios
|
|
Scintilla now
* The patch avoids all automatic scrolling consistently, including in SCI_UNDO.
This speads up Undo (especially after interruptions).
* Also, the patch disables a very costly and pointless (in SciTECO) algorithm that
effectively made <Ix$> uninterruptible.
* Effectively reverts large parts of 8ef010da59743fcc4927c790f585ba414ec7b129.
I have never liked using unintuitive Scintilla messages to avoid scrolling.
|
|
* actually everything is updated to their current HEADs but the aforementioned versions are close.
* Scintilla uses threads now, so we added checks for pthread.
To be on the safe side, we imported AX_PTHREAD from the Autoconf archives.
The flags are kept out of the ordinary build system, though and used only for compiling Scintilla
and for linking.
SciTECO may also use threads, but via Glib.
* Scinterm removed SCI_COLOR_PAIR(), so we re-added it to src/interface-curses/interface.c.
* There is an Asciidoc lexer now.
* The <Ix$> interruption bug (see TODO) is not fixed by this upgrade.
Perhaps the Mac OS version runs better now. Feedback is needed (refs #12).
|
|
* These are apparently "Microsoft DirectX Typography Services"
* patch should be contributed upstream
|
|
* mingw-bundledlls finds and copies transitive DLL dependencies.
* Like all external one-file sources, mingw-bundledlls has been copied into contrib/
instead of adding a submodule.
It's taken from here: https://github.com/mpreisler/mingw-bundledlls
* Packaging is more robust now if dependant DLLs are upgraded or if we
decide to link in more statically.
With the old scheme, we might also miss some DLL and break builds
without even noticing it.
|
|
* This simplifies writing CFLAGS="-g -O0" CXXFLAGS="-g -O0".
* We build "release" binaries by default.
NDEBUG will now be defined unless you specify --enable-debug.
This enables some optimizations that have long been implemented but were never actually active:
* SciTECO shuts down faster since it will not explicitly free memory.
On the downside, this would complicate memory debugging with Valgrind/memcheck.
* dlmalloc is built with -DINSECURE=1 which is supposedly a bit faster.
Some compilers also complained about an unportable preprocessor usage which should
now be gone.
* All CI builds are now with --enable-debug.
This will slow them down but ensure that more code is executed and thus tested.
|
|
scrolling
* the bug probably wasn't a regression compared to v0.6.4
|
|
* The default build system includes -arch arm64 -arch x86_64
(builds for both platforms).
These flags are apparently not supported by the SDK on the
build server.
|
|
* saves some build time
* fixes Win32 Gtk+ builds
|