Skip to content

TIP You can read this website in a terminal by installing and running Lynx.

luit changelog

2024/09/10 -

  • fix a memory-leak in initialize16bitTable
  • updated configure script, to improve pathname checks
  • update config.guess, config.sub

2024/01/02 -

  • minor fixes for compiler-warnings and manpage format.
  • updated configure script, to reduce compiler warnings in configure-checks.
  • update config.guess, config.sub

2023/02/01 -

  • correct conversion to/from codes past BMP (patch by Ben Wong, Debian #1027414)
  • fix a few compiler-warnings in configure-checks

2022/10/28 -

  • fix a few compiler-warnings
  • updated plink.sh, from xterm.
  • updated configure script, to work around regression in grep 3.8
  • updated configure macros for compiler-warning fixes.
  • update config.guess, config.sub, install-sh

2022/01/11 -

  • rename package/debian to avoid misuse by Debian build-system.
  • updated plink.sh, from xterm, to work around poor performance of gcc on Fedora.
  • updated configure macros for compiler-warning fixes.
  • update config.guess, config.sub

2021/02/18 -

  • repair/improve the check for X manpage's section, using a fix from xterm patch #302.
  • if a “.enc” file is found, but no built-in character set description is found, add that to the internal font-encoding table to allow it to be used, like the built-in character sets.
  • modify annotate-enc to handle the external “.enc” which were used with the older luit.

2021/02/14 -

  • add annotate-enc script, use that to annotate the ".enc" files.
  • add built-in encoding apl2 (prompted by patch by Jerome Ibanes).

2021/01/14 -

  • minor cleanup of file-descriptors, for readability.
  • updated configure macros for quoting/escaping fixes.
  • update config.guess, config.sub

2020/10/03 -

  • updated configure macros:
    • compiler-warning fixes
    • build-fixes for OpenBSD and macOS
  • update config.guess, config.sub

2019/12/31 -

  • updated configure macros.
  • update config.guess, config.sub

2019/01/06 -

  • updated configure macros to work around a non-POSIX feature of BSDs.
  • add a dummy "check" rule to makefile for Arch packages.
  • add COPYING file for Arch packages.
  • use consistent wording for copyright notice in source-files.
  • update config.guess, config.sub

2018/12/11 -

  • build-fixes/updates for cygwin to accommodate configure-macro changes.
  • updated configure macros:
    • CF_CC_ENV_FLAGS, add check for preprocessor-options in $CFLAGS.
    • CF_FUNC_GRANTPT, amend the posix_openpt vs grantpt change to work with BSDs
    • CF_GNU_SOURCE, fixes a regression for Cygwin. The check for _DEFAULT_SOURCE should apply to "recent" Cygwin (since early 2016), and except for "NEWLIB" vs "GLIBC" in the test, acts the same if I pretend that "newlib" is the GNU C library. Without this, the check falls through to the _XOPEN_SOURCE test, which breaks the pseudoterminal checks for xterm.
    • CF_LD_RPATH_OPT, suppress check if --disable-rpath is given.
    • CF_XOPEN_SOURCE, add midnightbsd to special cases with freebsd
  • update config.guess, config.sub

2018/06/28 -

  • modify configure script to avoid using OpenBSD's nonfunctional POSIX pseudoterminal interface.
  • add null-pointer checks for all strings printed in trace calls.
  • updated configure macros, deprecating use of _GNU_SOURCE symbol for DEFAULT_SOURCE, and preferring man2html over groff's html conversion.
  • update config.guess, config.sub

2016/05/08 -

  • adapt Solaris fix for C11 changes from xterm #325.
  • modify parseArgs to check for a special case, e.g., from xterm, where a shell command that cannot be exec'd is passed as a single parameter. For that case, run the command via the shell.
  • reset IEXTEN when turning off canonical mode, needed to make lnext control/V work consistently on BSD platforms (report/patch by Christian Weisgerber).
  • updated configure macros:
    CF_FUNC_POLL
    add a fallback to checking with posix_openpt(), in case someone's running the configure script in batch mode.
    CF_LD_RPATH_OPT
    change FreeBSD to use -Wl,-rpath rather than -rpath option. According to FreeBSD #178732, either works since FreeBSD 4.x; however scons does not accept anything except the -Wl,-rpath form.
    CF_WITH_MAN2HTML
    use configured shell rather than /bin/sh
    CF_XOPEN_SOURCE
    add a case for OS/2
  • update config.guess, config.sub

2015/07/06 -

  • add configure option --with-man2html
  • updated configure macros, mostly formatting changes from xterm, etc.
  • update config.guess, config.sub

2014/12/04 -

  • add table entries for luit to work as expected with CP865 — MS-DOS with Nordic letters. This code page was commonly used on BBSes in Norway, Denmark and Sweden running the MBBS and compatible systems in the 90s (patch by Hans Petter Jansson).
  • add to search-list for encodings.dir file to accommodate Fedora.
  • updated configure macros:
    • add /usr/pkg and /opt/local to help configuring with pkgsrc and macports.
    • fixes for Clang and MinGW, Solaris and Unixware.
    • improve "docs" rule in makefile.
    • CF_RPATH_HACK: use sort and uniq rather than sort -u, to work with HPUX 11.11, etc.
    • CF_ADD_LIBS: filter duplicate library names
  • update config.guess, config.sub

2013/02/17 -

  • bump to 2.0, reflecting changes
  • add character-set entries for CP1255 and CNS-11643 planes 1-3 to allow use of some of the remaining ".enc" files.
  • modify -list option to show character set sizes.
  • add -prefer option to control the lookup order between iconv, fontenc, builtin and posix character set data.
  • add -show-builtin option to show details of a particular built-in encoding.
  • add -list-builtin option to show built-in encodings embedded. This is available only for the iconv configuration; the fontenc library has no API for retrieving the information.
  • change defaults for configure script options --enable-iconv and --enable-fontenc to deprecate the fontenc library.
  • replaced existing built-in encoding tables with augmented set generated from iconv to obviate need for fontenc's tables as a fallback.
  • add prefix translations from IBM-CP to CP ), etc., to make fontenc's encoding name "ibm-cp866" work with luit.
  • add koi8-e to locale-charsets table, to make that encoding work.
  • add -show-iconv to show a given encoding from iconv using the ".enc" format.
  • add -fill-fontenc option to control output format of -show-fontenc.
  • add -show-fontenc option to show a given encoding, e.g., from a ".enc" file using the ".enc" format.
  • add -list-fontenc option to show available encodings using the ".enc" files which should be distributed with the fontencoding library.
  • add -list-iconv option to show encodings and corresponding locales supported in the iconv configuration.
  • document -kg0, etc., in manpage.
  • revise the help option -h, providing a summary of each option rather than the abbreviated listing. The abbreviated listing is still provided when an unrecognized option is encountered.
  • improve error recovery in the iconv configuration by falling back to POSIX encoding if no encoding can be found in the system's tables.
  • apply workaround from xterm patch #279 to make window size set for pty implementation such as Mac OS X which lose this when opening the other side of the connection.
  • fix issues from Coverity scan; all were minor.
  • update config.guess, config.sub

2012/10/14 -

  • review/improve no-leaks checking with valgrind.
  • add null-pointer checks in copyOut in case a non-8bit encoding was used with the iconv configuration.
  • document environment variables used by luit in its manpage.
  • amend the check using nl_langinfo(CODESET) in 2011/10/30 changes, ignoring that section if the -encoding option was given (report by Alexios Zavras).
  • support --datarootdir option in configure script.
  • updated configure macros:
    CF_FUNC_GRANTPT
    add another step to the test-program.
    CF_FUNC_POLL
    fix the case where stdin is redirected, e.g., in rpm/dpkg builds (reported in Debian #676461). Also correct return-check, which could have been confused by typing on the keyboard while the check was running.
    CF_GCC_ATTRIBUTES
    use AC_DEFINE_UNQUOTED() rather than appending to confdefs.h, since long-ago concern about the ability to pass-through parameterized macros appears to be not a problem, testing with 2.13 and 2.52
    CF_GCC_VERSION
    add workaround for Debian's modification of the version message
    CF_GCC_WARNINGS
    add check for clang
    CF_PATHSEP
    add message to show the actual value used.
    CF_PATH_SYNTAX
    also match (for substitution) variables such as ${includedir}
    CF_WITH_PATH
    fix after changes in ncurses to use --datarootdir
    CF__GRANTPT_BODY
    add an ifdef'd chunk #5 for testing the 'tty' (rather than 'pty') and moved the important 'pty' chunk before opening the slave device as a simple way of making the test program lose any possible race between parent/child processes in initializing both sides of the pseudoterminal (report by Christian Weisgerber).
    miscellaneous
    cleanup based on byacc 20121003.
  • update config.guess, config.sub

2012/1/29 -

  • improve portability of the iconv configuration by checking alternate forms for the encoding name passed to iconv_open.
  • add configure check for working posix_openpt, which may be broken in Mac OS X's current release 10.7 Lion (report by Kirby Zhou).
  • add some error checking for the poll and select logic to avoid looping when a file descriptor is no longer valid.
  • improve configure check for working poll function to avoid using Mac OS X's broken implementation (tested with Darwin 10.8.0).
  • updated configure script macros:
    CF_FUNC_GRANTPT
    modify check to exclude Darwin 9.x and lower from using posix_openpt. Bug report for xterm by Christian Ebert for 9.8.0 says screensize does not work for the pty.
    CF_XOPEN_SOURCE
    fixes for redefinition of _XOPEN_SOURCE on a few platforms: Mac OS X, IRIX64. Also workarounds for header inconsistencies with OpenBSD and MirBSD.

2011/10/30 -

  • modify configure script to add X_LIBS symbol after resolving fontenc library, to use the associated -L option in subsequent configure-checks.
  • add -t to simplify testing available locales versus luit's tables and the locale.alias file.
  • add "US-ASCII" for C/POSIX to the locale-charset table.
  • add entries to the locale-charset table to correspond with the font-encoding table, making it possible to use locales defined with each named charset (reported by Andrey Ivanov, also reported in Freedesktop #41857).
  • modify the lookup by locale charset to help match results from nl_langinfo(CODESET) by mapping commonly used prefixes into the prefixes used by luit.
  • check for, and use nl_langinfo(CODESET) to augment X's locale.aliases file for determining the encoding to use.
  • workaround limitation in copying terminal settings on Solaris from original tty to pty.
  • add /usr/openwin/lib/locale to search-list of locale.alias for Solaris 10.
  • improve configure script so that it does not error-out if fontenc is unavailable, using iconv instead.
  • bump version to 1.2, noting xorg hackers having marked (with only cosmetic changes) the 2010/6/1 snapshot as "1.1.0".
  • add/use configure check for posix_openpt, prompted by FreeBSD ports/161480.
  • updated configure script macros: CF_ANSI_CC_CHECK CF_DISABLE_RPATH_HACK CF_LD_RPATH_OPT CF_PKG_CONFIG CF_RPATH_HACK CF_SVR4 CF_WITH_ZLIB CF_XOPEN_SOURCE
  • update config.guess, config.sub

2010/11/28 -

  • use plink.sh script from xterm to reduce unneeded library dependencies, e.g., from fontenc's buggy package script.
  • eliminate quoted- and duplicate-includes.
  • make -g0 and similar options actually work, by adding checks in initIso2022.
  • add messages for the repeated -v option, to show which parts of the font-encoding configuration fail, for troubleshooting.
  • add configure option --disable-leaks, etc.
  • add configure option --enable-trace.
  • add configure option --enable-iconv, to use GNU iconv, which is far more portable than fontenc.
    • Initially, this supports single-byte encodings such as ISO-8859-x.
    • DEC special and technical character sets are supported via custom tables.
  • use static variables and functions consistently, where external linkage is not required.
  • updated configure script macros, e.g., to deprecate shell syntax no longer supported by bash.
  • modify manpage to use "misc" category for the miscellaneous Linux manpages cited in the "SEE ALSO" section, prompted by xorg change for 1.1.0 version.

    Aside from that (and some cosmetic changes to C source, as well as providing a different configure script), and omitting this change-log, the xorg 1.1.0 is the same as the 2010/6/1 version. Its release notes state:

    This release includes these changes from Thomas Dickey's luit-20100601:
    • add -alias option to allow override of locale.alias pathname.
    • improve fix waitForInput as suggested in Freedesktop #26383.
    • fix warnings from clang --analyze

2010/6/5 -

  • fix a typo in ifdef for <sys/param.h> which made setuid feature not work properly for FreeBSD.
  • improve configure check for locale.alias file for OpenSolaris.
  • add configure option --disable-rpath-hack, modified configure script to normally supply an rpath option if possible to simplify linkage to libraries in unusual places.

2010/6/1 -

  • add makefile rules for generating pdf, etc., for manpage.
  • modify minstall.sh to update program name if the configure script options such as --program-prefix were used to rename the program.
  • add Debian package scripts (requires some assembly...).
  • add rpm spec-file (see my ftp area for binaries).
  • add -alias option to allow override of locale.alias pathname.
  • improve configure check for locale.alias file for NetBSD.
  • improve fix waitForInput as suggested in Freedesktop #26383.
  • drop mkdirs.sh, use mkdir -p.
  • improve configure script for ctags/etags, e.g., to work with pkgsrc.
  • drop Imakefile
  • fix warnings from clang --analyze
  • updated configure script macros, mostly for quoting- and variable initialization fixes.
  • update config.guess, config.sub

2009/10/14 -

  • add -V version option.
  • work around defective implementation of gcc attribute warn_unused_return.
  • add configure check for openpty, use that on systems such as OpenBSD rather than requiring setuid operation.
  • ifdef open to work with incomplete definitions for O_NOCTTY and TIOCSCTTY (adapted from patch by Yaakov Selkowitz).

2009/8/16 -

  • reset connection to blocking mode on exit.
  • modify poll-flavor of waitForInput to also check if the connection has hung up.
  • improve initialization for -p command-line option to work with more BSD-flavors.
  • improve configure script checks for font encoding library using AC_PATH_XTRA, and noting that font encoding library may depend upon z library.
  • replace #ifdef to define HAVE_GRANTPT with configure script.
  • improve use of const more consistently in sources.
  • clean up include-dependencies by including config.h before other includes.
  • add change from xorg git:
    • luit: Convert platform #ifdefs to configure tests for functions & headers
      (adds configure checks for functions and headers used to open pty's, uses that to replace a derived #define for HAVE_POLL, #ifdef's the corresponding headers and modifies #ifdef for I_PUSH ioctl to add __SVR4).
  • updated configure script macros: CF_ADD_CFLAGS CF_ADD_INCDIR CF_ADD_LIBDIR CF_ADD_SEARCHPATH CF_FIND_LINKAGE CF_GCC_ATTRIBUTES CF_GCC_WARNINGS CF_HEADER_PATH CF_LIBRARY_PATH CF_PATH_PROG CF_PKG_CONFIG CF_XOPEN_SOURCE CF_X_FONTENC
  • update configure utility scripts (config.guess, config.sub, install-sh, mkdirs.sh).

2008/8/29 -

  • add -p option, to make the wait-pipe workaround from XFree86 optional. The default behavior is the older one.

2008/8/24 -

  • add ifdef for NO_LEAKS, to check for memory leaks. Found none in luit; font encoding library does have leaks.

2008/8/23 -

  • update minstall.sh from xterm to fix possible scripting dependency upon locale.
  • set ncurses' NCURSES_NO_UTF8_ACS environment variable to simplify use of line-drawing characters in luit.
  • improve default value for locale.alias pathname by checking in the more common X11 locations.

2008/8/21 -

  • use codepage change from luit 1.0.2
  • modify configure script so --with-fontenc-cflags and --with-fontenc-libs options with when pkg-config is not available.
  • fixes for configuring fontenc library without pkg-config.
  • fixes for gcc -Wwrite-strings warnings.
  • fixes for gcc -Wconversion warnings.
  • updated configure script macros CF_ANSI_CC_REQD, CF_CHECK_CACHE, CF_FIND_LIBRARY, CF_GCC_ATTRIBUTES, CF_GCC_WARNINGS, CF_IMAKE_CFLAGS, CF_MSG_LOG, CF_PATH_SYNTAX, CF_POSIX_SAVED_IDS, CF_SUBDIR_PATH, CF_TYPE_FD_SET, CF_VERBOSE, CF_WITH_PATH, CF_WITH_ZLIB, CF_XOPEN_SOURCE.
  • update configure utility scripts (config.guess, config.sub, install-sh, mkdirs.sh).

2006/8/20 -

  • import snapshot from XFree86 (last change 2005/2/9).
  • inspected Xorg sources, found no newer changes of note.
  • wrote a configure script.
  • minor code cleanup (fix compiler warnings, add ifdef's to prevent repeated inclusion of header files, remove redundant #include's, indented code).