Releases: rhaberkorn/sciteco
Nightly Builds
These nightly builds represent the repository's HEAD commit but may well be unstable.
When installing the Curses (sciteco-curses_*.deb
) or Gtk+ (sciteco-gtk_*.deb
) Ubuntu packages, keep in mind that you will also need the corresponding common (sciteco-common_*.deb
) package. The Gtk+ binary is called gsciteco
, so it can be installed alongside the Curses version. Packages may or may not work on other versions of Ubuntu or Debian variants.
For generic Linux builds, you can try the AppImages (sciteco-*.AppImage
). Be sure to add the executable flag after downloading. The Gtk AppImage (sciteco-gtk_*.AppImage
) assumes that Gtk+ 3 is already installed on the host system. Since the image's contents are not easily accessible, you are advised to download ~/.teco_ini
and customize it afterwards.
Curses builds for Windows (sciteco-pdcurses_nightly_win32.zip
) are based on PDCursesMod. The package contains both a console (sciteco.exe
) and GDI window version (gsciteco.exe
). The Windows Gtk+ version (sciteco-gtk3_nightly_win32.zip
) is also shipped as a stand-alone ZIP and does not require installation.
Mac OS X Curses builds (sciteco-curses_nightly_macos_x86_64.pkg
) are considered experimental and are not signed. See also Mac OS Support in the wiki. Gtk+ builds for Mac OS are not currently provided.
v2.2.0
This release adds a few important missing commands, closing the gap to DEC TECO.
Other DEC TECO-11 commands are still planned to be implemented in the near future.
When installing the Curses (sciteco-curses_*.deb
) or Gtk+ (sciteco-gtk_*.deb
) Ubuntu packages, keep in mind that you will also need the corresponding common (sciteco-common_*.deb
) package. The Gtk+ binary is called gsciteco
, so it can be installed alongside the Curses version. Packages may or may not work on other versions of Ubuntu or Debian variants. Releases have also been uploaded to the Ubuntu PPA.
For generic Linux builds, you can try the AppImages (sciteco-*.AppImage
). Be sure to add the executable flag after downloading. The Gtk AppImage (sciteco-gtk_*.AppImage
) assumes that Gtk+ 3 is already installed on the host system. Since the image's contents are not easily accessible, you are advised to download ~/.teco_ini
and customize it afterwards.
The FreeBSD builds (sciteco-*_freebsd-14.2_amd64.pkg
) are fully featured and behave very similar to the Ubuntu builds. However, you do not currently have to download a "common" package - the FreeBSD packages are self-sufficient.
Curses builds for Windows (sciteco-pdcurses_2.2.0_win32.zip
) are based on PDCursesMod. The package contains both a console (sciteco.exe
) and GDI window version (gsciteco.exe
). The Windows Gtk+ version (sciteco-gtk3_2.2.0_win32.zip
) is also shipped as a stand-alone ZIP and does not require installation.
The Mac OS X Curses build (sciteco-curses_2.2.0_macos_x86_64.pkg
) is considered experimental and is not signed. See also Mac OS Support in the wiki. Gtk+ builds for Mac OS are not currently provided.
Here is the complete change log:
The following change log summarizes changes introduced
by SciTECO releases compared to the preceding release.
Only changes relevant to users (build from source or
using a prebuilt binary) are included.
Entries marked with "(!)" might break macro portability
compared to the preceding release.
Version 2.2.0
~~~~~~~~~~~~~
3f6572c Fixed crashes when rubbing out file open (EB) with glob patterns, i.e.
when <EB> would open more than one file.
88d65fb Fixed potential stack overflows when pushing many values on the number stack
before breaking from loops with <;>.
a61a81e Disallow setting the radix to values lower than 2.
This fixes potential crashes.
bd87ff4 Implemented the ^Q command for converting between line and glyph positions.
:^Q returns the line number of a given absolute position or the current line.
(!)e5884ab Support the ::S anchored search (string comparison) command.
This also enables anchored string-deletion (::FD) and anchored search-replace
commands (::FR and ::FS).
More than two colon-modifiers or more than one at-modifier are now considered errors.
a93243b,
4830868 Implemented <@Xq> command for cutting into registers.
This modifies the Xq behavior by deleting the selected text afterwards.
3a823fb Implemented ^Y/^S commands for receiving pattern match/insertion ranges and lengths (refs #27).
E.g. you can store pattern matches into registers using ^YXq.
You can refer to ^E[...] subpatterns using n^Y (for n > 0).
Also, you can back up to the beginning of an inserting by adding ^SC immediately
after the insertion.
S...$^SC leaves dot before a matched pattern (if the search was successful).
8490013,
5597bc7 Fixed subtle operator precedence bug when combining higher and lower-precedence operators.
61b811f String building: ^c (caret+c) does no longer expand to data garbage for non-control characters,
but to the literal caret, followed by c.
For instance, I^,$ inserts two characters now.
23c90e3 Added special Q-Register ":" for accessing dot.
This allows the idiom [: ... ]: to temporarily move around.
Also, you can use the ^E\: string building construct to insert the current dot without
saving it into another Q-Register first.
8905a33 lexer.auto/lexer.checkheader: use case-sensitive searches.
Should reduce false positives when determining the lexer for an UNIX script.
(!)1cfe376 The search mode and current radix are mapped to __local__ Q-Registers ^X and ^R now. (refs #17)
This means that the radix is always 10 and searches are case-insensitive in ordinary macro calls
(Mq witout colon-modifier), i.e. you don't have to query and restore these properties in portable
macros to guard against changes in caller.
You can still write [.^X -^X ... ].^X to change the search mode flag temporarily, though.
07b52f7 implemented search mode flag (^X): allow case-sensitive searches (closes #17)
-^X enables search sensitive searches, while 0^X restores the default case insensitive searches.
11054d9 sciteco(7): fixed outdated information about the STYLE_CALLTIP default colors
726847b,
26e54b9,
9610dce,
52d66c5 minor documentation fixes
v2.1.1
This is a bug fix release.
When installing the Curses (sciteco-curses_*.deb
) or Gtk+ (sciteco-gtk_*.deb
) Ubuntu packages, keep in mind that you will also need the corresponding common (sciteco-common_*.deb
) package. The Gtk+ binary is called gsciteco
, so it can be installed alongside the Curses version. Packages may or may not work on other versions of Ubuntu or Debian variants. Releases have also been uploaded to the Ubuntu PPA.
For generic Linux builds, you can try the AppImages (sciteco-*.AppImage
). Be sure to add the executable flag after downloading. The Gtk AppImage (sciteco-gtk_*.AppImage
) assumes that Gtk+ 3 is already installed on the host system. Since the image's contents are not easily accessible, you are advised to download ~/.teco_ini
and customize it afterwards.
The FreeBSD builds (sciteco-curses_2.1.1_freebsd-14.1_amd64.pkg
and sciteco-gtk_2.1.1_freebsd-14.1_amd64.pkg
) are fully featured and behave very similar to the Ubuntu builds. However, you do not currently have to download a "common" package - the FreeBSD packages are self-sufficient.
Curses builds for Windows (sciteco-pdcurses_2.1.1_win32.zip
) are based on PDCursesMod. The package contains both a console (sciteco.exe
) and GDI window version (gsciteco.exe
). The Windows Gtk+ version (sciteco-gtk3_2.1.1_win32.zip
) is also shipped as a stand-alone ZIP and does not require installation.
The Mac OS X Curses build (sciteco-curses_2.1.1_macos_x86_64.pkg
) is considered experimental and is not signed. See also Mac OS Support in the wiki. Gtk+ builds for Mac OS are not currently provided.
Here is the complete change log:
The following change log summarizes changes introduced
by SciTECO releases compared to the preceding release.
Only changes relevant to users (build from source or
using a prebuilt binary) are included.
Entries marked with "(!)" might break macro portability
compared to the preceding release.
Version 2.1.1
~~~~~~~~~~~~~
eff7233 session.tes: store the current tab style (width and hard-tabs).
Also, it now handles filenames containing ASCII 27.
b016f78 if a macro ends without finding a goto label, always throw a 'Label "..." not found' error
cdd0133,
2406e37,
9cce7d2 Fully support relocatable binaries, which improves Linux AppImages.
The root (/) directory will now longer look strange when browsed from AppImages.
This might also fix AppImage execution under some environments (at the very least
FreeBSD's Linuxulator is now supported).
4b05f26 fixed assertions in ^EGq search construct for Q-Registers with uninitialized string cells
be230b5,
ff2d137 Fixed invalid memory access when executing the F< command.
This was an issue only when jumping to the beginning of the macro.
5f14184 Search commands: fixed the Q-Reg spec machine used for implementing ^EGq (match one of characters in Q-Register).
This will now always use the correct local Q-Register table and we might
have even fixed crashes.
6d882a3 <N> (search all): fixed crashes before invocations of <S> (closes #26).
Also, the string argument codepage is now properly initialized.
5f0c391 PDCurses: filter out bogus double keypresses in combination with CTRL (refs #20)
9242405,
cd4528a,
0ce3b52 Added hidden --fake-cmdline parameter for testing command-line editing.
You can also use this to prepare reproduceable test cases in bug reports.
427092d Fixed rubbing out <:Xq>, <:^Uq> and other append-to-register operations.
This has only been broken in v2.1.0.
a29382e,
7e37a97 GTK/Win32: fixed clipboard retrieval. It was inserting bogus trailing nulls.
abfbeb1 fixed EOL conversion on UTF-8 texts
e69e7c9 <EC>: fixed some ^C interruptions on Win32.
This remains broken, though.
0f740ee,
e9bef20 <EC>: fixed insertion of data garbage (invalid reads) and omissions
3b3bc07 <EC>: fixed race conditions and problems when creating and terminating process groups on Win32.
This fixes occasional <EC> failures.
8fedd52 Fixed false positive "Editing local registers in macro calls" errors.
This also fixes the solarized.toggle (F5) macro when using the Solarized color scheme.
62b124e,
3742537 Curses: italic and underline styles are now supported.
This does not work for the INDIC_PLAIN indicator style.
Also, the underline style is not currently supported by color.set.
0ddb6a8 grosciteco.tes(1): mention new macros, changed command lines and restrictions
f5c6c1d grosciteco: basic support for GNU pic graphics
1498c13 grosciteco: support .SCITECO_STARTSTYLING and .SCITECO_SETSTYLING macros
d3a91fc grosciteco: fixed the CuXXXX postprocessor command, ie. insertion of characters by unicode,
ie. typesetting of most non-latin text.
We still don't support decomposed characters, though.
9a6c16a grosciteco: fixed styling of multi-byte text (ie. non-latin characters)
730567b grosciteco: added some more quote glyphs
2bbc584 grosciteco: support the "pc" (centered dot) glyph
v2.1.0
This release first and foremost adds Unicode (UTF-8) support, Unicode icons for Curses and generic key macros. Many bugs have been fixed as well.
When installing the Curses (sciteco-curses_*.deb
) or Gtk+ (sciteco-gtk_*.deb
) Ubuntu packages, keep in mind that you will also need the corresponding common (sciteco-common_*.deb
) package. The Gtk+ binary is called gsciteco
, so it can be installed alongside the Curses version. Packages may or may not work on other versions of Ubuntu or Debian variants. Releases have also been uploaded to the Ubuntu PPA.
For generic Linux builds, you can try the AppImages (sciteco-*.AppImage
). Be sure to add the executable flag after downloading. The Gtk AppImage (sciteco-gtk_*.AppImage
) assumes that Gtk+ 3 is already installed on the host system. Since the image's contents are not easily accessible, you are advised to download ~/.teco_ini
and customize it afterwards.
The FreeBSD builds (sciteco-curses_2.1.0_freebsd-14.1_amd64.pkg
and sciteco-gtk_2.1.0_freebsd-14.1_amd64.pkg
) are fully featured and behave very similar to the Ubuntu builds. However, you do not currently have to download a "common" package - the FreeBSD packages are self-sufficient.
Curses builds for Windows (sciteco-pdcurses_2.1.0_win32.zip
) are based on PDCursesMod. The package contains both a console (sciteco.exe
) and GDI window version (gsciteco.exe
). The Windows Gtk+ version (sciteco-gtk3_2.1.0_win32.zip
) is also shipped as a stand-alone ZIP and does not require installation.
The Mac OS X Curses build (sciteco-curses_2.1.0_macos_x86_64.pkg
) is considered experimental and is not signed. See also Mac OS Support in the wiki. Gtk+ builds for Mac OS are not currently provided.
For updating an existing ~/.teco_ini
, have a look at the changes on sample.teco_ini
since the last release.
Here is the complete change log:
The following change log summarizes changes introduced
by SciTECO releases compared to the preceding release.
Only changes relevant to users (build from source or
using a prebuilt binary) are included.
Entries marked with "(!)" might break macro portability
compared to the preceding release.
Version 2.1.0
~~~~~~~~~~~~~
7413b9c Fixed memory leak when replacing command lines.
Even cursor movements via function keys (fnkeys.tes) were constantly leaking memory.
820f716 improved support for braces within loops: warn about unclosed braces and fixed breaking from within braces
7adcfbf,
9a25dfd,
(!)b36ff25 Pattern match characters support ^Q/^R now as well.
This makes it possible, albeit cumbersome, to escape pattern match characters.
5395a7d check the memory limit and allow interruptions when loading files
973e50d FreeBSD/jemalloc: fixed recovery after hitting memory limit
b3ae8e2 fixed memory limiting if the process' memory usage is larger than 2GB and overflow checking
f188d74 fixed rubbing out (some) string building constructs at the beginning of the command line argument
dcaeb77 Inhibit some immediate editing commands after ^Q/^R string building constructs.
This makes it easier to insert ^W (23) by typing ^Q^W.
^Q^U was coincidentally already working previously.
c288762 Allow OSC-52 clipboards on all terminal emulators.
For Urxvt support, have a look at https://gist.github.com/rhaberkorn/d7406420b69841ebbcab97548e38b37d
49e1f09 syntax errors are reported with "echoed" characters, ie. as purely printable characters
(!)2b5b2a4 ^W^W and ^V^V can be typed completely with upcarets now and they case fold all expansions
of ^EQq, ^EUq and so on. For instance you can now type EUq^W^W^EQq$ to
upper case Q-Register q.
(!)fcf962e Ctrl+^ (30) is no longer translated to a single caret in string building (refs #20)
5b3906f,
8fbd0b3 "Special" Q-Registers now support EQq...$ (load) and E%q...$ (save) commands.
You can for instance directly load the clipboard from file contents.
b7b9840 check that local register is not edited at the end of macro calls
3db9368 improved HTML lexer (html.tes)
e307e56 netbsd-curses: fixed the default escape delay.
Recent versions of netbsd-curses are indeed fully supported now.
84cc45e PDCurses/WinGUI: significantly reduced flickering
a06bcea,
6f16667,
8744502 Curses: added support for cool Unicode icons (refs #5).
This requires "Nerd Fonts" and 0,512ED in the profile.
52d73e8 GTK: support setting and getting clipboards containing null bytes
c739742 GTK: allow disabling client-side decorations by setting $GTK_CSD=0.
This is the same variable used by gtk3-nocsd.
19d3f12 GTK: Fixes icons in tabbed and st (when embedding SciTECO via --xembed).
0e6e059 GTK: ignore the keyboard layout whereever possible (refs #5)
bc859a0 fixed rubout of empty forward kill (FK)
638f63c,
966d3ef minor search optimization - search commands will remove the buffer gap less often
ded9a02 test suite: enable the recursion overflow test case everywhere
2fd3664,
c2057eb,
(!!)abb5d23 Function key macros have been reworked into a more generic key macro feature,
allowing you to repurpose "international" characters on your keyboard.
You could also simply remap them to their latin counterparts, so you don't have
to change keyboard layouts often (on Curses, as GTK does that automatically).
The function key macro prefix changed from ^F to ^K.
Also, you don't have to and should no longer set 0,64ED.
cc63f3b improved file name autocompletion
c59b33c,
4789e39,
4ca4ba2,
f55f50e,
73d574b,
(!)6857807 The SciTECO parser is Unicode-based now (refs #5).
All language constructs are still exclusively based on ASCII,
but Unicode (UTF-8) is accepted everywhere, where an arbitrary character
is expected (as in string arguments and Q-Register names).
SciTECO macros must be in valid UTF-8, which may break existing macros that
embed arbitrary bytes.
2f632e1 disable unused Scintilla features at build time, slightly reducing binary size
e5d49eb Production builds will be slightly faster due to omission of runtime assertions.
b729ee4 sample.teco_ini: Codepage guessing (refs #5)
dd36439 sample.teco_ini: fixed opening files with glob characters in their names.
You are advised to merge changes into your ~/.teco_ini as after every upgrade.
c4a1c3a,
c222fa3 added an improvised lexer for styling Git commit, tag and merge messages.
bed2f36 <f,tXq>: fixed for very large character ranges
9241075 improved 8-bit cleanliness test cases and added Unicode test cases (refs #5)
4f23187 Added raw ANSI mode via ED flags to facilitate 8-bit clean editing (refs #5).
There is also a `--8bit` and `-8` command line argument.
41ab5cf Xq and ]q inherit the document encoding from the source document (refs #5)
403c1cd search patterns are now expected to be in UTF-8 and the document's encoding is taken into account (refs #5)
d714bb4,
d556aee,
b31b887 the ^EUq string building escape construct now respects the encoding (can insert bytes or codepoints) (refs #5)
850fa38,
(!)b85edaa <I> and <n^U> commands checks input codepoint ranges depending on the encoding (refs #5)
a747cff conditionals, eg. <n"A>, now check for Unicode codepoints (refs #5)
1d8f702 grosciteco: added the "aq", "ha" and "ti" glyphs (refs #22).
This fixes building on newer Groff versions, but may not have been an issue in v2.0.0.
db5ab17 grosciteco: support Unicode (refs #5)
33124e3,
e384e4f Implemented <EE> and <^E> commands for configuring and converting between encodings and translating between
glyph and byte offsets (refs #5).
Support for handling single-byte encodings is still incomplete, but you can edit
raw binary files.
62ccd35 win32: fixed opening and saving UTF-8 filenames (refs #5)
4a4ffd9 win32: convert command line to UTF-8 (refs #5)
90bad24 allow Unicode characters in command line arguments (refs #5)
2a05075,
745a76a,
359e257,
4dadac8,
e466218,
34683e8,
7507ad3,
7c59256,
f79a6f6,
c71ed30,
(!)4c6b681 Input and displaying of Unicode characters is now possible (refs #5).
Furthermore you can edit and navigate Unicode (UTF-8) documents.
TECO addresses refer to glyphs now in Unicode documents, instead of bytes.
This uses heuristics and can be slow in certain corner cases.
Care must be taken when interacting with raw Scintilla-messages (ES) as they
are always byte-addressed. You must use the new ^E command in these situations
to translate between buffer addresses.
fdc185b fixed retrieval of characters with codes larger than 127 (<A>, <nQ> commands)
ee9cf43,
e2c7c11 fully support out of tree builds
fbaa927,
07d9cdf,
78e7f30,
bbcf801 Updated Scintilla to v5.5.2, Scinterm to v5.1 and Lexilla to HEAD (rel-5-2-7-211-ge0f045a0).
This adds a troff/nroff lexer (for manpages among other things).
83398b3 fixed expressions like `1,(2)` or `(1),(2)`: they are reported as two numbers now
21c5be3 Fixed and improved the power (^*) operator.
It did not handle corner cases and was inefficient.
f2b070c fnkeys.tes: cursor movement now preserves the column as in most text editors
e37c2d6 fnkeys.tes: support zooming via F9/F10 on Gtk
23fb4d2 grosciteco.tes(1) manpage: fixed formatting of list of troff macros
5a8c5e8,
27fba8b,
c3e25ca,
33721ec several fixes in the sciteco(1) and sciteco(7) man pages
37eef3c avoid Groff ...
v2.0.0
The version jumped to v2.0.0, skipping v1.0.0, mainly due to a complete rewrite in plain C. The language is still not considered "stable" (until v3.0). Feature-wise relatively little happened since v0.6.4, but I tried to polish all existing features on all supported platforms. A lot of work also went into CI and nightly builds. The Gtk UI is now for the first time considered ready for work.
When installing the Curses (sciteco-curses_*.deb
) or Gtk+ (sciteco-gtk_*.deb
) Ubuntu packages, keep in mind that you will also need the corresponding common (sciteco-common_*.deb
) package. The Gtk+ binary is called gsciteco
, so it can be installed alongside the Curses version. Packages may or may not work on other versions of Ubuntu or Debian variants. Releases have also been uploaded to the Ubuntu PPA.
For generic Linux builds, you can try the AppImages (sciteco-*.AppImage
). Be sure to add the executable flag after downloading. The Gtk AppImage (sciteco-gtk_*.AppImage
) assumes that Gtk+ 3 is already installed on the host system. Since the image's contents are not easily accessible, you are advised to download ~/.teco_ini
and customize it afterwards.
The FreeBSD builds (sciteco-curses_2.0.0_freebsd-13.02_amd64.pkg
and sciteco-gtk_2.0.0_freebsd-13.02_amd64.pkg
) are fully featured and behave very similar to the Ubuntu builds. However, you do not currently have to download a "common" package - the FreeBSD packages are self-sufficient.
Curses builds for Windows (sciteco-pdcurses_2.0.0_win32.zip
) are based on PDCursesMod. The package contains both a console (sciteco.exe
) and GDI window version (gsciteco.exe
). The Windows Gtk+ version (sciteco-gtk3_2.0.0_win32.zip
) is also shipped as a stand-alone ZIP and does not require installation.
The Mac OS X Curses build (sciteco-curses_2.0.0_macos_x86_64.pkg
) is considered experimental and is not signed. See also Mac OS Support in the wiki. Gtk+ builds for Mac OS are not currently provided.
Here is the complete change log:
The following change log summarizes changes introduced
by SciTECO releases compared to the preceding release.
Only changes relevant to users (build from source or
using a prebuilt binary) are included.
Entries marked with "(!)" might break macro portability
compared to the preceding release.
Version 2.0.0
~~~~~~~~~~~~~
b65c64a don't set up any margins or indention settings on the unnamed buffer in sample.teco_ini
aa2e96a,
29bf227,
f557af9,
bac1efa fixed <EC> interruptions on Gtk+ and most other platforms.
On supported platforms the first CTRL+C will try to gracefully kill the
subprocess, while the second one resorts to a more agressive method.
5470fc3 Curses: do not allow typing any non-ASCII characters - fixes crashes on PDCurses/WinGUI.
This is a temporary limitation as long as we do not support Unicode.
f0d57d7 added Asciidoc lexer config
85599c7 added Markdown and YAML lexer configs
d10997a improved the C/C++ and Gob lexers
4273088 added lexers for Python and Linux Device Trees
df6c898 CPP lexer: support *.ino files (Arduino IDE sketches)
b8e8cc8 added lexing support for Gob2 (GObject Builder)
9f7f187,
b091d8b The "cpp" lexer configuration has been split into "c.tes" and "cpp.tes"
effectively improving C support.
2f72665,
a6b5394 fixed crashes after interruptions of commands with string arguments in interactive mode
It's not clear whether this has been broken in v0.6.4.
60a0913 data installation path is now configurable via --with-scitecodatadir
030e0f5 Allow disabling Lexilla (Lexer) support by specifying --without-lexilla.
When optimizing for size, this helps saving 50% of the compressed binary size.
ba08753 Fixed rubbing out words (^W) and possible chrashes.
This has probably been broken in v0.6.4 as well.
cc417af fixed formatting of dates in manpages
9f659ec,
e752a64 fixed grosciteco (and thus building) for newer Groff versions (#11)
ca9de04 sciteco(1) manpage: All UIs support ^C interruptions now
101a868,
73cab56 bumped required PDCursesMod version to v4.3.4 or later
147e53b,
9586a03,
9a5e363,
3706112 Fixed CTRL+C interruptions on all versions of PDCurses
0d3da2c reduced memory use in interactive mode due to undo tokens
d6126b3 fixed rubout of certain constructs like Ifoo$FRX$$
It's not known whether this bug existed on v0.6.4.
aa00bf1 added ./configure --enable-debug and make sure that NDEBUG is defined properly
4c79d26 Gtk: fixed entering dead keys
1c88da4 Woman pages under Gtk: fixed monospaced example blocks
39490d6 Gtk: default font is now "Monospace" instead of Courier.
This avoids unexpected ligatures.
f15bc53 Gtk+: fixed interpretation of Alt-Gr-keypresses.
This bug appeared with newer Gtk+3 versions.
8031da6 Gtk+: Stop memory limiting when idling
18a0543 Gtk: disabled ^Z suspension on Unix for the time being.
This cannot easily be made working properly.
fdb89d9 GTK: Support for Xembed protocol via --xembed.
This is useful for instance with tabbed (https://tools.suckless.org/tabbed/):
$ tabbed sciteco --xembed
6df603d Gtk: fixed message bar's background color
073f5f2 Gtk: The GObject Builder (GOB2) is no longer required.
b21d294 Gtk: Display control characters in titles and autocompletion popups
like in the text buffer.
45413d0 Gtk UI: popup will now overlay both the Scintilla view and message widgets
e768487 Gtk UI: full color scheme support
cff9fb1,
8627a00 Gtk UI: added option --no-csd to disable client-side decorations
f25f97e Gtk UI: uses header bars now
eed939f install PNG icon and use it to set GTK's window icon
3fd1a19 GTK UI: beep on error
f337481 improved default selection colors and made them configurable via color.tes
3ed4116 fixed building on Mac OS
af16d43 fixed crashes when the Q-Reg stack is non-empty at exit
This might have been broken in v0.6.4 as well.
8ef010d optimized caret scrolling: this is a costly operation and is now done only once per keypress
8baa1b3 optimized character representation setting
50d63f2 fixed hiding savepoint files on Win32
0267b68 Optimized process spawning (EC) on UNIX
ae913ab Negative searches (<S>) check for multiplication overflows now
9fa78ca Memory limiting fixed on Mac OS X
5167dad guard against too low arguments to <S> by checking whether the memory limit would be exceeded.
This fixes potential crashes.
e3b2bb7 fixed Clang builds
a2e52ca,
432ad24 Significant internal rewrites.
* String termination takes string building characters into account, ie. you can use
the termination character (escape by default) in ^EQ[...].
* Also, it's now possible to escape it using ^Q/^R, adding yet another way to insert escape
characters.
* All strings are 8-bit-clean now. This means you can also use SciTECO as
a scriptable binary editor.
* Gtk+ (>= v3.12) interface is usable and stable now.
* Memory limiting should finally work on Linux, Windows, Mac OS and
FreeBSD.
* Glib v2.44 is the minimum required version now.
524bc39 improved Emscripten support: fixed configure-checks, generate *.js and detect EMCurses
90baf34 Automatic case-folding of commands in interactive mode when enabling bit 3 in ED (`0,8ED`)
2491d5f fixed checks for missing left and right operands to binary operators
4038aa2 fixed and optimized piping very large buffers via EC/EG
5069c3b fixed Q-Reg autocompletion for `Q` command
8b00fa8,
6f9705b support NetBSD's curses (--with-interface=netbsd-curses)
af05d38,
f4da329 Significantly reduced memory use for undo tokens (interactive mode)
f90b197,
733e012,
5e84b63,
0ad317e build system portability fixes (FreeBSD compatibility)
c1113c2 fixed table formatting in generated HTML files (sciteco.7.html)
e4d5a99 allow dollar sign ($) as another variant of ^[ (discard all arguments or return)
8460f92 Fixed rubout of the first command after command line termination ($$).
It's unclear whether this has been an issue in v0.6.4.
0fbbc0d womanpage lexer: fixed popup styling
bece75c updated sample.teco_ini: 2EJ now sets a more or less global memory limit
(!)1cec19d Fixed interpretation of the Q-Register specification "..".
The parser would allow arbitrarily many dots in front of a local Q-Register
name. ".." is the local Q-Register "." now.
84ab169 auto-completion of Q-Register names, goto labels and help topics
be39ab9 The manpage generator generator-docs.tes has been renamed to tedoc.tes
b44a4ba standard lib: added getopt.tes for parsing command line options in scripts
cb5e08b It is now possible to write SciTECO scripts with command-line arguments.
e7867fb implemented self-documenting (online) help system.
You can use `?` for looking up a help topic.
Documentation is opened as so called "womanpages" which are generated from
Troff man pages using grosciteco.
Groff is therefore now a hard compile-time requirement.
c0fe494 fixed segfault when munging empty scripts
(!)9f6cba5 Globbing (EN and EB commands) support character classes now and
^EN string building construct can be used to escape glob patterns.
(!)61ff6e9 Integrated clipboard support on Gtk+, PDCurses and ncurses/XTerm.
The clipboard is exposed as Q-Registers beginning with "~".
16e9b0d Added ^E@ string building character for expanding arbitrary strings
so they can be parsed from UNIX shells.
On Windows, you will have to enable UNIX98 shell emulation to make
use o...
v0.6.4
A large feature and bug fix release.
sciteco-0.6.4.tar.gz
is the Automake-generated source tarball. Includes Scintilla and Scinterm.sciteco-0.6.4-pdcurses-win32.zip
is a Windows 32-bit console build of SciTECO. Supports anything beginning with Windows 2000, Wine, etc.sciteco-0.6.4-pdcurses-win32a.zip
is a Windows 32-bit "windowed" build of SciTECO. It's still a Curses aplication but runs in a GDI window. Has advantages and disadvantages compared to the true-console version. Binaries can be swapped between the two Windows packages.sciteco-curses_0.6.4-5_i386.deb
is an i386 Debian package of the ncurses port. This is definitely the best-supported port currently. This may or may not install successfully on your Debian(-based) Linux distribution.- Ubuntu users can download pre-built packages for many recent Ubuntu versions from the PPA.
Here is the complete change log:
The following change log summarizes changes introduced
by SciTECO releases compared to the preceding release.
Only changes relevant to users (build from source or
using a prebuilt binary) are included.
Entries marked with "(!)" might break macro portability
compared to the preceding release.
Version 0.6.4
18fe073 added PDCURSES_LIBS ./configure variable to overwrite the check for PDCurses
537b7b5 preliminary support for ncurses/win32. This port is not well
tested.
64ee414 implemented function key masking (context-sensitive function key macros).
The command line editing macros in fnkeys.tes will no longer insert
"garbage" into string parameters.
cb8411d,
c310c7d implemented automatic EOL translation support.
This means that SciTECO now properly supports editing files with
different line breaks. It especially simplifies editing files with
DOS/Windows line breaks and allows you to write portable macros that
are line break agnostic.
eee4f1a added "EL" command for setting/getting the current document's EOL mode
14ec511 also set window title on ncurses, by querying terminfo capabilities.
This feature is currently buggy.
34a4c7e ncurses: Fixed batch mode initialization in head-less environments
(where $TERM is unset). Interactive mode should no longer start in
headless or broken environments but report an error.
2a4acd6,
2c0e9f7,
4dced2c improved ncurses batch mode initialization.
Only relevant for UNIX/Linux: When SciTECO is run in batch mode,
it completely keeps away from the process' terminal device.
It no longer flashes the screen (was visible e.g. in rxvt-unicode).
7ceabb2 Curses UI: beep on error. This might also perform a visual bell or
nothing at all (depending on the terminal emulator).
b3acf28,
647e6eb added cool SciTECO icon (on Windows, it is the icon of sciteco.exe)
20cb9a7 added --no-profile command line option
1126007 added the <"I> conditional for checking whether a character is a
directory separator
(!)a0d1231 always normalize directory separators to "/" in the "*" Q-Register.
On Windows "*" used to contain Windows directory separators.
With the new behaviour it is easier to write portable macros.
67b846c added ./configure --enable-static-executables option
e88f9bb,
3db42f8 optimized user interface drawing.
Should also speed up the GTK+ UI.
10e4e27 fixed displaying of control characters in the "info" line (and window title)
4a4687c improved `sciteco --help` output
2a4e114 fixed m,nXq for m > n: this properly throws an error now instead of crashing
63c88b9 changed save point file format to .teco-<n>-<filename>~
Users should adapt existing VCS ignore patterns if necessary.
a3a340a fixed TAB completion of files in the current directory beginning with ".".
Not sure if this bug existed in v0.5.
2cfc358 added function key macro for Shift+DEL to fnkeys.tes:
Acts as a "reverse" backspace-key (depending on the state of the
^G modifier).
800bbd8 fixed function key handling on GTK UI.
Function keys are now properly ignored until they are enabled by setting
bit 6 of the ED flags.
a399be7 On UNIX/Linux with glibc, heap memory can be reclaimed
earlier when terminating a command line.
This means that your system will recover earlier after it began
swapping because SciTECO used too much memory.
8178f8d,
4aa51b9,
3373274,
ef82d22,
83ebaea,
482c0e7 Implemented re-insertion of rubbed out command lines.
This effectively implements SciTECO's version of Redo.
Rubbed out parts of the command line are still visible in grey.
The new "^G" immediate editing command can be used to
toggle the behaviour of the rubout commands from rubout (undo)
to re-insert (redo).
The "^G" toggle modifies other immediate editing commands as well.
It replaces the "^T" immediate editing command with "^G<TAB>^G".
b40fe86 implemented undo stack memory limiting (ticket #3).
The size of the undo stack is now approximated and limited.
An error is thrown and the current command fails if more than 500mb
are used by it. The limit is configurable (see "EJ" command).
This makes it harder to crash SciTECO by using up all the memory
due to infinite loops in interactive mode.
611bb22 fixed crashes when loop is closed (>) or continued (F>) without a
corresponding loop start (<) (ticket #3).
4624eeb,
c7b2da8 work around Scintilla character representation drawing bug.
This fixes too much space being allocated to control characters in the
SciTECO buffer view.
1b07f32 Scintilla: fixed tab stop calculation on Curses
This is included in the Scintilla mirror at https://github.com/rhaberkorn/scintilla-mirror
and thus in v0.6 source bundles.
(!)d24bc4a implemented support for different indention styles.
The TAB-command (^I) has been extended to insert indention characters
according to current Scintilla settings (SCI_SETUSETABS, SCI_SETTABWIDTH).
TAB has been made an immediate editing command in insertion commands
("I", "^I" but also search-and-replace arguments) to insert indention
characters by the same rules.
In old macros where "^I" was used for inserting the TAB-character,
"9I" should be used instead.
574d284 support filename auto completions with forward-slash directory separators on
Windows. Auto-completions will now use the last directory separator in
string that has been typed before auto-completing.
On platforms like Windows where both forward and backward slash separators
are possible, this makes a difference.
By default however, the platform-default directory separator is used.
613e8c9 Curses: support cycling through long lists of possible auto-completions
and optimized screen refreshing/redrawing
52ecff4 Curses: fixed formatting of popup windows
4377770 do not show possible completions for hidden files and directories
They are ignore during tab completion unless the beginning of the name
of a hidden file or directory has been typed.
I.e. "../.<TAB>" will still complete hidden files on UNIX.
(!)ad3d2f4 implemented pQq and :Qq commands
In other words, the "Q" command can now be used to index the
string part of a register and query its size without editing it first.
This breaks macro backward-portability since "Q" will no longer
ignore existing values on the stack.
Therefore the expression "QaQbK" must now be written "Qa,QbK".
ebf0440,
abda28b introduced $SCITECOCONFIG env variable, and set different default for
$SCITECOPATH on Windows.
$SCITECOCONFIG allows you to reconfigure the path where SciTECO looks
for the profile macro.
On Windows, these variables are initialized to paths relative to the
location of the sciteco.exe file. This keeps SciTECO self-contained on
Windows (unzip the release and go!) while allowing it to be added to
$PATH and used from any working directory.
The environment variables can be set explicitly, e.g. to set up
SciTECO for a MSYS or Cygwin environment.
The environment variables are always normalized to absolute paths.
On Windows, the profile macro is now called ".teco_ini" just like
on UNIX. You must rename existing "teco.ini" files or - better yet -
completely rewrite them.
e030c4e fixed memory leak in batch mode
1e5115b Added "E%" command to save a Q-Register's string contents to disk
without changing the current document.
"EW" can now also be used to save a Q-Register to disk.
14cc71e added "EI" command as a non-string-building variant of "I"
3e7ebb5 added "EU" command as a variant of the "^U" command with string building
characters enabled.
a6c13d7 allow setting the numeric part of the "*" register as an alternative to nEB
Allows a few useful idioms like "1U*" instead of "1EB$" and
"[* ! temporarily edit another buffer ! ]*"
6e5a611,
5b74ef5,
2900fcb,
d38df48 added a buffer session module (session.tes)
This can be used handle buffer sessions (i.e. restore the buffer ring
when starting up again).
It also includes macros like "session.git", "session.svn" and
"session.hg" to set up one session per VCS repository automatically.
a37daa8 added "EJ" command: return runtime properties
This may be used e.g. to query the number of buffers in the
ring. "EJ" or "1EJ" will return the number of buffers, while
"0EJ" returns the current user interface. You can use that
...
v0.5 (initial release)
This was the initial release of SciTECO from 2013. It may be interesting for historic reasons.
Some historic builds can also be installed from the PPA.
sciteco-0.5-bundle.tar.gz
contains SciTECO including Scintilla and Scintermsciteco-0.5-pdcurses-win32a.zip
is a Windows 32-bit application linked against PDCurses/win32a (so it's a windowed console application)sciteco-0.5-pdcurses.zip
is a Windows 32-bit application linked against the original PDCurses (a true console application), but I think this binary was broken.