This release brings many new features, but most importantly makes the language much more usable as a non-interactive scripting language. Also, the command-line is syntax highlighted now and recovery files are written to help you recover from crashes and other unexpected terminations.
Binary packages and repositories for various Linux distributions are provided via OBS repositories:
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.
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.5.0_win64.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.5.0_win64.zip) is also shipped as a stand-alone ZIP and does not require installation.
The Mac OS X Curses build (sciteco-curses_2.5.0_macos_x86_64.tar.gz) is considered experimental and is not signed.
You can extract it into your rootfs (tar xzf sciteco-curses_2.5.0_macos_x86_64.tar.gz -C /) or into any other directory
since the binaries are relocatable.
See also Mac OS Support in the Knowledge Base.
Gtk+ builds for Mac OS are not currently provided.
For updating an existing ~/.teco_ini, have a look at the changes on fallback.teco_ini since the last release.
Here is the complete change log:
make install no longer touches already installed files,
which may appease some packaging systems (FreeBSD ports).
However make install bindir=... and the like are no longer supported.nEB if n != 0./configure --enable-static-executables now automatically pulls in static
libraries of libraries via pkg-config../configure supports $CURSES_CFLAGS and $CURSES_LIBS now./configure --with-launcher=LAUNCHER can be used to run SciTECO with a launcher
command (e.g. wine or wine64)sciteco --help:O: if a label is not found, continue execution after the go-to statement.
Allows to use computed gotos as select-case-like constructs.make install invocation^A and Escape ($).@I /Hello world/ is valid now.^W command for refreshing the screen in loops, for sleeping and also the
CTRL+L immediate editing command for forcing a complete screen redrawED&2 can be used to access the program termination flag now.
This can be useful for checking whether a macro has run EX or to cancel
the effect of EX.a,b,c^Uq...$: The arguments where written in the wrong (reverse) orderEX fails because of a dirty buffer, the buffer’s id is now included
in the error message--enable-malloc-replacement) which
gives a 20-25% speedup$ (working directory) and the clipboard registers now
support the append operation (:Xq, :^Uq…), i.e. you can append (or cut-append)
to the clipboard? command)nEL (set EOL mode) now sets the buffer’s dirty flag, forcing you to
save or discard changes~ register) is now chosen by the 10th bit in the ED flags.
This allows you to use the “selection” X11 clipboard as the default backend of ~.ER command for reading a file into the current buffer.
This is a Video TECO extension.EW now accepts a numeric argument to specify the buffer to saveEF supports a numeric buffer id now--detach|-d option for detaching from controlling terminal^S/^Y for search-replacement commands^S/^Y fixed for Gq and EN^S/^Y calculates the glyph offsets earlier, so that deletions after an insert or search
no longer affect the results.
This also fixes querying ranges after FD.FN as a search-and-replace variant of N--quiet, --stdin and --stdout for easier integration into UNIX pipelinesnA and nQq now return -1 in case the index n is out of rangeEI has been repurposed and is the macro file inclusion (indirect file) command now.
EM is deprecated.
Pre-v2.5.0 EI can be replaced with I^P.^C is a plain “return” command now, while ^C^C exits from the program^B for returning the current date^E<code> string building constructs for embedding bytes and codepoints
in a strtoul()-like manner:]q (pop Q-Register) for getting a success/failure boolean== and === for printing octal and hexadecimal numbers^A command for printing arbitrary strings.
You can use :^A to force raw ANSI output.:Gq for printing the Q-Register string as a message instead of inserting itT (typeout) command for printing to the terminal from the current buffer^T command: allows typing by code and getting characters from stdin or the user^H command for returning the current time since midnight.
:^H returns the seconds since the UNIX epoch and ::^H the monotonic time in microseconds
(useful for benchmarking).-v/--version and EO command to query the program version^Ax.
This introduces one point of incompatibility with DEC TECO.^P disables all further string building magic{)15B Jan 10 17:56 ../ 3.9M Jan 1 21:53 sciteco-2.5.0.tar.gz 2.6M Jan 1 22:24 sciteco-curses_2.5.0_macos_x86_64.tar.gz 4.1M Jan 1 22:24 sciteco-curses_2.5.0_x86_64.AppImage 23M Jan 1 22:24 sciteco-gtk3_2.5.0_win64.zip 1.7M Jan 1 22:24 sciteco-gtk_2.5.0_x86_64.AppImage 5.2M Jan 1 22:24 sciteco-pdcurses_2.5.0_win64.zip