Hello community, here is the log from the commit of package less for openSUSE:Factory checked in at 2020-04-23 18:25:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/less (Old) and /work/SRC/openSUSE:Factory/.less.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "less" Thu Apr 23 18:25:00 2020 rev:57 rq:794657 version:557 Changes: -------- --- /work/SRC/openSUSE:Factory/less/less.changes 2019-12-23 22:43:47.365985482 +0100 +++ /work/SRC/openSUSE:Factory/.less.new.2738/less.changes 2020-04-23 18:25:04.679472189 +0200 @@ -1,0 +2,11 @@ +Sat Apr 4 18:54:52 UTC 2020 - Andreas Stieger <[email protected]> + +- less 557: + * Update Unicode tables + * Treat Hangul Jamo medial vowels and final consonants as zero width + * Display error message immediately when -o is toggled and + input is not a pipe + * Fix memory corruption when built with libtermcap + * Support libtinfow + +------------------------------------------------------------------- Old: ---- less-551.sig less-551.tar.gz New: ---- less-557.sig less-557.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ less.spec ++++++ --- /var/tmp/diff_new_pack.y8MvYb/_old 2020-04-23 18:25:05.371473513 +0200 +++ /var/tmp/diff_new_pack.y8MvYb/_new 2020-04-23 18:25:05.375473521 +0200 @@ -1,7 +1,7 @@ # # spec file for package less # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: less -Version: 551 +Version: 557 Release: 0 Summary: Text File Browser and Pager Similar to more License: GPL-3.0-or-later OR BSD-2-Clause @@ -66,7 +66,7 @@ ./mkhelp.pl <less.hlp >help.c # # build less -make %{?_smp_mflags} +%make_build %install %make_install ++++++ less-551.tar.gz -> less-557.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/Makefile.aut new/less-557/Makefile.aut --- old/less-551/Makefile.aut 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/Makefile.aut 2020-03-21 20:59:32.000000000 +0100 @@ -52,8 +52,7 @@ ${srcdir}/mkhelp.pl < less.hlp > help.c if cmp -s help.c help.c.old; then mv -f help.c.old help.c; fi -${srcdir}/configure: ${srcdir}/configure.ac \ - ${srcdir}/Makefile.in +${srcdir}/configure ${srcdir}/defines.h.in: ${srcdir}/configure.ac ${srcdir}/Makefile.in cd ${srcdir}; autoheader; autoconf funcs.h: ${SRC:%=${srcdir}/%} @@ -66,6 +65,7 @@ clean: rm -f Makefile config.status config.log config.cache defines.h stamp-h \ + configure defines.h.in funcs.h help.c \ README NEWS \ less.nro less.man lesskey.nro lesskey.man lessecho.nro lessecho.man @@ -93,8 +93,6 @@ ${REPLACE_VERSION} ${srcdir}/lesskey.nro.VER ${srcdir}/lessecho.nro: ${srcdir}/lessecho.nro.VER ${srcdir}/version.c ${REPLACE_VERSION} ${srcdir}/lessecho.nro.VER -${srcdir}/less.hlp: ${srcdir}/less.hlp.VER ${srcdir}/version.c - ${REPLACE_VERSION} ${srcdir}/less.hlp.VER ${srcdir}/less.man: ${srcdir}/less.nro ${NROFF} ${srcdir}/less.nro >${srcdir}/less.man @@ -114,10 +112,10 @@ unicode/UnicodeData.txt: mkdir -p unicode - curl -s -o $@ ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt + curl -s -u 'anonymous:${EMAIL}' -o $@ ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt unicode/EastAsianWidth.txt: mkdir -p unicode - curl -s -o $@ ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt + curl -s -u 'anonymous:${EMAIL}' -o $@ ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt distfiles: ${DISTFILES} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/Makefile.wnm new/less-557/Makefile.wnm --- old/less-551/Makefile.wnm 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/Makefile.wnm 2020-03-21 20:59:42.000000000 +0100 @@ -7,11 +7,11 @@ # Normal flags CFLAGS = /nologo /MD /W3 /EHsc /O2 /I "." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /c -LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386 +LDFLAGS = /nologo /subsystem:console /incremental:no # Debugging flags #CFLAGS = /nologo /MDd /W3 /GX /Od /Gm /Zi /I "." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /c -#LDFLAGS = /nologo /subsystem:console /incremental:yes /debug /machine:I386 +#LDFLAGS = /nologo /subsystem:console /incremental:yes /debug LD = link LIBS = user32.lib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/NEWS new/less-557/NEWS --- old/less-551/NEWS 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/NEWS 2020-03-21 20:59:32.000000000 +0100 @@ -11,6 +11,23 @@ ====================================================================== + Major changes between "less" versions 551 and 557 + +* Update Unicode tables. + +* Treat Hangul Jamo medial vowels and final consonants as zero width. + +* Display error message immediately when -o is toggled and + input is not a pipe. + +* Fix display bug in WIN32C version. + +* Fix memory corruption when built with libtermcap. + +* Support libtinfow. + +====================================================================== + Major changes between "less" versions 530 and 551 * Add --mouse option. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/README new/less-557/README --- old/less-551/README 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/README 2020-03-21 20:59:32.000000000 +0100 @@ -1,7 +1,7 @@ - Less, version 551 + Less, version 557 - This is the distribution of less, version 551, released 11 Jun 2019. + This is the distribution of less, version 557, released 21 Mar 2020. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or @@ -26,6 +26,14 @@ Major changes made since the last posted version are in NEWS. ======================================================================= +PRE-INSTALLATION (when using git) + +If you are building from a clone of a git repository, +type "make -f Makefile.aut". +If you are building from a numbered release package (a tar or zip file +with a name like less-999.tar.gz or less-999.zip), you should skip this step. + +======================================================================= INSTALLATION (Unix systems only): 1. Move the distributed source to its own directory and unpack it, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/brac.c new/less-557/brac.c --- old/less-551/brac.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/brac.c 2020-03-21 20:59:23.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/ch.c new/less-557/ch.c --- old/less-551/ch.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/ch.c 2020-03-21 20:59:23.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -408,6 +408,7 @@ } close(logfile); logfile = -1; + free(namelogfile); namelogfile = NULL; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/charset.c new/less-557/charset.c --- old/less-551/charset.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/charset.c 2020-03-21 20:59:23.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -509,7 +509,7 @@ */ public int utf_len(ch) - unsigned char ch; + int ch; { if ((ch & 0x80) == 0) return 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/charset.h new/less-557/charset.h --- old/less-551/charset.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/charset.h 2020-03-21 20:59:33.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/cmd.h new/less-557/cmd.h --- old/less-551/cmd.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/cmd.h 2020-03-21 20:59:34.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/cmdbuf.c new/less-557/cmdbuf.c --- old/less-551/cmdbuf.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/cmdbuf.c 2020-03-21 20:59:23.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -34,7 +34,7 @@ static int updown_match = -1; /* Prefix length in up/down movement */ #if TAB_COMPLETE_FILENAME -static int cmd_complete(); +static int cmd_complete LESSPARAMS((int action)); /* * These variables are statics used by cmd_complete. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/command.c new/less-557/command.c --- old/less-551/command.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/command.c 2020-03-21 20:59:24.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -88,7 +88,7 @@ }; static struct ungot* ungot = NULL; -static void multi_search(); +static void multi_search LESSPARAMS((char *pattern, int n, int silent)); /* * Move the cursor to start of prompt line before executing a command. @@ -1800,6 +1800,12 @@ optgetname = FALSE; mca_opt_toggle(); c = getcc(); + cbuf = opt_toggle_disallowed(c); + if (cbuf != NULL) + { + error(cbuf, NULL_PARG); + break; + } goto again; case A_DISP_OPTION: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/compose.uni new/less-557/compose.uni --- old/less-551/compose.uni 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/compose.uni 2020-03-21 20:59:39.000000000 +0100 @@ -1,4 +1,4 @@ -/* Generated by "./mkutable -f2 Mn Me -- unicode/UnicodeData.txt" on Wed Feb 13 17:57:05 PST 2019 */ +/* Generated by "./mkutable -f2 Mn Me -- unicode/UnicodeData.txt" on Thu Oct 17 10:15:55 PDT 2019 */ { 0x0300, 0x036f }, /* Mn */ { 0x0483, 0x0487 }, /* Mn */ { 0x0488, 0x0489 }, /* Me */ @@ -88,8 +88,7 @@ { 0x0e34, 0x0e3a }, /* Mn */ { 0x0e47, 0x0e4e }, /* Mn */ { 0x0eb1, 0x0eb1 }, /* Mn */ - { 0x0eb4, 0x0eb9 }, /* Mn */ - { 0x0ebb, 0x0ebc }, /* Mn */ + { 0x0eb4, 0x0ebc }, /* Mn */ { 0x0ec8, 0x0ecd }, /* Mn */ { 0x0f18, 0x0f19 }, /* Mn */ { 0x0f35, 0x0f35 }, /* Mn */ @@ -112,6 +111,7 @@ { 0x1085, 0x1086 }, /* Mn */ { 0x108d, 0x108d }, /* Mn */ { 0x109d, 0x109d }, /* Mn */ + { 0x1160, 0x11ff }, /* Mn */ { 0x135d, 0x135f }, /* Mn */ { 0x1712, 0x1714 }, /* Mn */ { 0x1732, 0x1734 }, /* Mn */ @@ -191,7 +191,7 @@ { 0xa980, 0xa982 }, /* Mn */ { 0xa9b3, 0xa9b3 }, /* Mn */ { 0xa9b6, 0xa9b9 }, /* Mn */ - { 0xa9bc, 0xa9bc }, /* Mn */ + { 0xa9bc, 0xa9bd }, /* Mn */ { 0xa9e5, 0xa9e5 }, /* Mn */ { 0xaa29, 0xaa2e }, /* Mn */ { 0xaa31, 0xaa32 }, /* Mn */ @@ -209,6 +209,8 @@ { 0xabe5, 0xabe5 }, /* Mn */ { 0xabe8, 0xabe8 }, /* Mn */ { 0xabed, 0xabed }, /* Mn */ + { 0xd7b0, 0xd7c6 }, /* Mn */ + { 0xd7cb, 0xd7fb }, /* Mn */ { 0xfb1e, 0xfb1e }, /* Mn */ { 0xfe00, 0xfe0f }, /* Mn */ { 0xfe20, 0xfe2f }, /* Mn */ @@ -270,6 +272,9 @@ { 0x11727, 0x1172b }, /* Mn */ { 0x1182f, 0x11837 }, /* Mn */ { 0x11839, 0x1183a }, /* Mn */ + { 0x119d4, 0x119d7 }, /* Mn */ + { 0x119da, 0x119db }, /* Mn */ + { 0x119e0, 0x119e0 }, /* Mn */ { 0x11a01, 0x11a0a }, /* Mn */ { 0x11a33, 0x11a38 }, /* Mn */ { 0x11a3b, 0x11a3e }, /* Mn */ @@ -296,6 +301,7 @@ { 0x11ef3, 0x11ef4 }, /* Mn */ { 0x16af0, 0x16af4 }, /* Mn */ { 0x16b30, 0x16b36 }, /* Mn */ + { 0x16f4f, 0x16f4f }, /* Mn */ { 0x16f8f, 0x16f92 }, /* Mn */ { 0x1bc9d, 0x1bc9e }, /* Mn */ { 0x1d167, 0x1d169 }, /* Mn */ @@ -314,6 +320,8 @@ { 0x1e01b, 0x1e021 }, /* Mn */ { 0x1e023, 0x1e024 }, /* Mn */ { 0x1e026, 0x1e02a }, /* Mn */ + { 0x1e130, 0x1e136 }, /* Mn */ + { 0x1e2ec, 0x1e2ef }, /* Mn */ { 0x1e8d0, 0x1e8d6 }, /* Mn */ { 0x1e944, 0x1e94a }, /* Mn */ { 0xe0100, 0xe01ef }, /* Mn */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/configure new/less-557/configure --- old/less-551/configure 2019-06-11 20:12:02.000000000 +0200 +++ new/less-557/configure 2020-03-21 20:59:43.000000000 +0100 @@ -654,6 +654,7 @@ docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -729,6 +730,7 @@ sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -981,6 +983,15 @@ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1118,7 +1129,7 @@ for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1271,6 +1282,7 @@ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -3682,6 +3694,48 @@ have_tinfo=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgoto in -ltinfow" >&5 +$as_echo_n "checking for tgoto in -ltinfow... " >&6; } +if ${ac_cv_lib_tinfow_tgoto+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfow $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgoto (); +int +main () +{ +return tgoto (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_tinfow_tgoto=yes +else + ac_cv_lib_tinfow_tgoto=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfow_tgoto" >&5 +$as_echo "$ac_cv_lib_tinfow_tgoto" >&6; } +if test "x$ac_cv_lib_tinfow_tgoto" = xyes; then : + have_tinfow=yes +else + have_tinfow=no +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lxcurses" >&5 $as_echo_n "checking for initscr in -lxcurses... " >&6; } if ${ac_cv_lib_xcurses_initscr+:} false; then : @@ -4018,6 +4072,35 @@ SAVE_LIBS=$LIBS LIBS="$LIBS $TERMLIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + termok=yes +else + termok=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$SAVE_LIBS + if test $termok = no; then TERMLIBS=""; fi + fi +fi + +# -- Try tinfow. +if test "x$TERMLIBS" = x; then + if test $have_tinfow = yes; then + TERMLIBS="-ltinfow" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/configure.ac new/less-557/configure.ac --- old/less-551/configure.ac 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/configure.ac 2020-03-21 20:59:32.000000000 +0100 @@ -24,6 +24,7 @@ # Checks for general libraries. AC_CHECK_LIB(tinfo, tgoto, [have_tinfo=yes], [have_tinfo=no]) +AC_CHECK_LIB(tinfow, tgoto, [have_tinfow=yes], [have_tinfow=no]) AC_CHECK_LIB(xcurses, initscr, [have_xcurses=yes], [have_xcurses=no]) AC_CHECK_LIB(ncursesw, initscr, [have_ncursesw=yes], [have_ncursesw=no]) AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no]) @@ -58,6 +59,19 @@ SAVE_LIBS=$LIBS LIBS="$LIBS $TERMLIBS" AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);], + [termok=yes], [termok=no]) + LIBS=$SAVE_LIBS + if test $termok = no; then TERMLIBS=""; fi + fi +fi + +# -- Try tinfow. +if test "x$TERMLIBS" = x; then + if test $have_tinfow = yes; then + TERMLIBS="-ltinfow" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);], [termok=yes], [termok=no]) LIBS=$SAVE_LIBS if test $termok = no; then TERMLIBS=""; fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/cvt.c new/less-557/cvt.c --- old/less-551/cvt.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/cvt.c 2020-03-21 20:59:24.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/decode.c new/less-557/decode.c --- old/less-551/decode.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/decode.c 2020-03-21 20:59:24.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/defines.ds new/less-557/defines.ds --- old/less-551/defines.ds 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/defines.ds 2020-03-21 20:59:40.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/defines.o2 new/less-557/defines.o2 --- old/less-551/defines.o2 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/defines.o2 2020-03-21 20:59:41.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/defines.o9 new/less-557/defines.o9 --- old/less-551/defines.o9 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/defines.o9 2020-03-21 20:59:41.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/defines.wn new/less-557/defines.wn --- old/less-551/defines.wn 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/defines.wn 2020-03-21 20:59:42.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/edit.c new/less-557/edit.c --- old/less-551/edit.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/edit.c 2020-03-21 20:59:24.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -854,7 +854,6 @@ /* * Don't do anything. */ - free(filename); return; case 'q': quit(QUIT_OK); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/filename.c new/less-557/filename.c --- old/less-551/filename.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/filename.c 2020-03-21 20:59:25.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -802,9 +802,9 @@ char *path; { #if HAVE_REALPATH - char rpath[PATH_MAX]; - if (realpath(path, rpath) != NULL) - return (save(rpath)); + char *rpath = realpath(path, NULL); + if (rpath != NULL) + return (rpath); #endif return (save(path)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/fmt.uni new/less-557/fmt.uni --- old/less-551/fmt.uni 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/fmt.uni 2020-03-21 20:59:39.000000000 +0100 @@ -1,4 +1,4 @@ -/* Generated by "./mkutable -f2 Cf -- unicode/UnicodeData.txt" on Wed Feb 13 17:57:05 PST 2019 */ +/* Generated by "./mkutable -f2 Cf -- unicode/UnicodeData.txt" on Thu Oct 17 10:15:55 PDT 2019 */ { 0x00ad, 0x00ad }, /* Cf */ { 0x0600, 0x0605 }, /* Cf */ { 0x061c, 0x061c }, /* Cf */ @@ -14,6 +14,7 @@ { 0xfff9, 0xfffb }, /* Cf */ { 0x110bd, 0x110bd }, /* Cf */ { 0x110cd, 0x110cd }, /* Cf */ + { 0x13430, 0x13438 }, /* Cf */ { 0x1bca0, 0x1bca3 }, /* Cf */ { 0x1d173, 0x1d17a }, /* Cf */ { 0xe0001, 0xe0001 }, /* Cf */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/forwback.c new/less-557/forwback.c --- old/less-551/forwback.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/forwback.c 2020-03-21 20:59:25.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/funcs.h new/less-557/funcs.h --- old/less-551/funcs.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/funcs.h 2020-03-21 20:59:34.000000000 +0100 @@ -61,7 +61,7 @@ public int control_char LESSPARAMS ((LWCHAR c)); public char * prchar LESSPARAMS ((LWCHAR c)); public char * prutfchar LESSPARAMS ((LWCHAR ch)); -public int utf_len LESSPARAMS ((unsigned char ch)); +public int utf_len LESSPARAMS ((int ch)); public int is_utf8_well_formed LESSPARAMS ((char *ss, int slen)); public void utf_skip_to_lead LESSPARAMS ((char **pp, char *limit)); public LWCHAR get_wchar LESSPARAMS ((constant char *p)); @@ -187,10 +187,10 @@ public int is_ansi_end LESSPARAMS ((LWCHAR ch)); public int is_ansi_middle LESSPARAMS ((LWCHAR ch)); public void skip_ansi LESSPARAMS ((char **pp, constant char *limit)); -public int pappend LESSPARAMS ((unsigned char c, POSITION pos)); +public int pappend LESSPARAMS ((int c, POSITION pos)); public int pflushmbc LESSPARAMS ((VOID_PARAM)); public void pdone LESSPARAMS ((int endline, int chopped, int forw)); -public void set_status_col LESSPARAMS ((char c)); +public void set_status_col LESSPARAMS ((int c)); public int gline LESSPARAMS ((int i, int *ap)); public void null_line LESSPARAMS ((VOID_PARAM)); public POSITION forw_raw_line LESSPARAMS ((POSITION curr_pos, char **linep, int *line_lenp)); @@ -243,6 +243,7 @@ public void toggle_option LESSPARAMS ((struct loption *o, int lower, char *s, int how_toggle)); public int opt_has_param LESSPARAMS ((struct loption *o)); public char * opt_prompt LESSPARAMS ((struct loption *o)); +public char * opt_toggle_disallowed LESSPARAMS ((int c)); public int isoptpending LESSPARAMS ((VOID_PARAM)); public void nopendopt LESSPARAMS ((VOID_PARAM)); public int getnum LESSPARAMS ((char **sp, char *printopt, int *errp)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/help.c new/less-557/help.c --- old/less-551/help.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/help.c 2020-03-21 20:59:25.000000000 +0100 @@ -1,4 +1,4 @@ -/* This file was generated by mkhelp.pl from less.hlp at 18:12 on 2019/6/11 */ +/* This file was generated by mkhelp.pl from less.hlp at 19:59 on 2020/3/21 */ #include "less.h" constant char helpdata[] = { '\n', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/ifile.c new/less-557/ifile.c --- old/less-551/ifile.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/ifile.c 2020-03-21 20:59:25.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/input.c new/less-557/input.c --- old/less-551/input.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/input.c 2020-03-21 20:59:26.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/jump.c new/less-557/jump.c --- old/less-551/jump.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/jump.c 2020-03-21 20:59:26.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/less.h new/less-557/less.h --- old/less-551/less.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/less.h 2020-03-21 20:59:34.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/less.man new/less-557/less.man --- old/less-551/less.man 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/less.man 2020-03-21 20:59:37.000000000 +0100 @@ -757,9 +757,9 @@ -S or --chop-long-lines Causes lines longer than the screen width to be chopped (trun- cated) rather than wrapped. That is, the portion of a long line - that does not fit in the screen width is not shown. The default - is to wrap long lines; that is, display the remainder on the - next line. + that does not fit in the screen width is not displayed until you + press RIGHT-ARROW. The default is to wrap long lines; that is, + display the remainder on the next line. -t[4mtag[24m or --tag=[4mtag[0m The -t option, followed immediately by a TAG, will edit the file @@ -1676,7 +1676,7 @@ [1mCOPYRIGHT[0m - Copyright (C) 1984-2019 Mark Nudelman + Copyright (C) 1984-2020 Mark Nudelman less is part of the GNU project and is free software. You can redis- tribute it and/or modify it under the terms of either (1) the GNU Gen- @@ -1702,4 +1702,4 @@ - Version 551: 11 Jun 2019 LESS(1) + Version 557: 21 Mar 2020 LESS(1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/less.nro new/less-557/less.nro --- old/less-551/less.nro 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/less.nro 2020-03-21 20:59:37.000000000 +0100 @@ -1,4 +1,4 @@ -.TH LESS 1 "Version 551: 11 Jun 2019" +.TH LESS 1 "Version 557: 21 Mar 2020" .SH NAME less \- opposite of more .SH SYNOPSIS @@ -804,7 +804,7 @@ Causes lines longer than the screen width to be chopped (truncated) rather than wrapped. That is, the portion of a long line that does not fit in -the screen width is not shown. +the screen width is not displayed until you press RIGHT-ARROW. The default is to wrap long lines; that is, display the remainder on the next line. .IP "\-t\fItag\fP or \-\-tag=\fItag\fP" @@ -1803,7 +1803,7 @@ lesskey(1) .SH COPYRIGHT -Copyright (C) 1984-2019 Mark Nudelman +Copyright (C) 1984-2020 Mark Nudelman .PP less is part of the GNU project and is free software. You can redistribute it and/or modify it diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lessecho.c new/less-557/lessecho.c --- old/less-551/lessecho.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lessecho.c 2020-03-21 20:59:33.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lessecho.man new/less-557/lessecho.man --- old/less-551/lessecho.man 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lessecho.man 2020-03-21 20:59:38.000000000 +0100 @@ -51,4 +51,4 @@ - Version 551: 11 Jun 2019 LESSECHO(1) + Version 557: 21 Mar 2020 LESSECHO(1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lessecho.nro new/less-557/lessecho.nro --- old/less-551/lessecho.nro 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lessecho.nro 2020-03-21 20:59:37.000000000 +0100 @@ -1,4 +1,4 @@ -.TH LESSECHO 1 "Version 551: 11 Jun 2019" +.TH LESSECHO 1 "Version 557: 21 Mar 2020" .SH NAME lessecho \- expand metacharacters .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lesskey.c new/less-557/lesskey.c --- old/less-551/lesskey.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lesskey.c 2020-03-21 20:59:33.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lesskey.h new/less-557/lesskey.h --- old/less-551/lesskey.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lesskey.h 2020-03-21 20:59:35.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lesskey.man new/less-557/lesskey.man --- old/less-551/lesskey.man 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lesskey.man 2020-03-21 20:59:37.000000000 +0100 @@ -337,7 +337,7 @@ [1mCOPYRIGHT[0m - Copyright (C) 1984-2019 Mark Nudelman + Copyright (C) 1984-2020 Mark Nudelman less is part of the GNU project and is free software. You can redis- tribute it and/or modify it under the terms of either (1) the GNU Gen- @@ -361,4 +361,4 @@ - Version 551: 11 Jun 2019 LESSKEY(1) + Version 557: 21 Mar 2020 LESSKEY(1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lesskey.nro new/less-557/lesskey.nro --- old/less-551/lesskey.nro 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lesskey.nro 2020-03-21 20:59:37.000000000 +0100 @@ -1,4 +1,4 @@ -.TH LESSKEY 1 "Version 551: 11 Jun 2019" +.TH LESSKEY 1 "Version 557: 21 Mar 2020" .SH NAME lesskey \- specify key bindings for less .SH SYNOPSIS @@ -363,7 +363,7 @@ This NUL character should be represented as \e340 in a lesskey file. .SH COPYRIGHT -Copyright (C) 1984-2019 Mark Nudelman +Copyright (C) 1984-2020 Mark Nudelman .PP less is part of the GNU project and is free software. You can redistribute it and/or modify it diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lglob.h new/less-557/lglob.h --- old/less-551/lglob.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lglob.h 2020-03-21 20:59:34.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -69,7 +69,7 @@ char dir[_MAX_DIR]; \ char fname[_MAX_FNAME]; \ char ext[_MAX_EXT]; \ - long handle; + intptr_t handle; #else #if MSDOS_COMPILER==WIN32C && !defined(_MSC_VER) /* Borland C for Windows */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/line.c new/less-557/line.c --- old/less-551/line.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/line.c 2020-03-21 20:59:26.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -794,7 +794,7 @@ */ public int pappend(c, pos) - unsigned char c; + int c; POSITION pos; { int r; @@ -1164,7 +1164,7 @@ */ public void set_status_col(c) - char c; + int c; { set_linebuf(0, c, AT_NORMAL|AT_HILITE); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/linenum.c new/less-557/linenum.c --- old/less-551/linenum.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/linenum.c 2020-03-21 20:59:26.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/lsystem.c new/less-557/lsystem.c --- old/less-551/lsystem.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/lsystem.c 2020-03-21 20:59:26.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/main.c new/less-557/main.c --- old/less-551/main.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/main.c 2020-03-21 20:59:22.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -117,7 +117,6 @@ init_mark(); init_cmds(); get_term(); - expand_cmd_tables(); init_charset(); init_line(); init_cmdhist(); @@ -159,6 +158,8 @@ quit(QUIT_OK); } + expand_cmd_tables(); + #if EDITOR editor = lgetenv("VISUAL"); if (editor == NULL || *editor == '\0') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/mark.c new/less-557/mark.c --- old/less-551/mark.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/mark.c 2020-03-21 20:59:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/mkutable new/less-557/mkutable --- old/less-551/mkutable 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/mkutable 2020-03-21 20:59:39.000000000 +0100 @@ -7,8 +7,9 @@ -f = zero-based type field (default 2) __EOF__ -use vars qw( $opt_f $opt_n ); use Getopt::Std; +use vars qw( $opt_f $opt_n ); + my $type_field = 2; # Override Unicode tables for certain control chars @@ -21,16 +22,20 @@ 0x0d => 1, # carriage return ); +# Hangul Jamo medial vowels and final consonants should be zero width. +my @force_compose = ( + [0x1160, 0x11ff], + [0xd7b0, 0xd7c6], + [0xd7cb, 0xd7fb] +); + exit (main() ? 0 : 1); sub main { - my $date = `date`; - chomp $date; my $args = join ' ', @ARGV; - my $header = "/* Generated by \"$0 $args\" on $date */\n"; - die $USAGE if not getopts('f:n'); $type_field = $opt_f if $opt_f; + my %types; my $arg; while ($arg = shift @ARGV) { @@ -39,7 +44,18 @@ } my %out = ( 'types' => \%types ); - print $header; + my %force_compose; + foreach my $comp (@force_compose) { + my ($lo,$hi) = @$comp; + for (my $ch = $lo; $ch <= $hi; ++$ch) { + $force_compose{$ch} = 1; + } + } + + my $date = `date`; + chomp $date; + print "/* Generated by \"$0 $args\" on $date */\n"; + my $last_code = 0; while (<>) { chomp; @@ -52,13 +68,13 @@ $lo_code = hex $1; $hi_code = hex $2; } else { - $lo_code = $hi_code = hex $fields[0]; + $lo_code = $hi_code = hex $codes; } my $type = $fields[$type_field]; $type =~ s/\s//g; for ($last_code = $lo_code; $last_code <= $hi_code; ++$last_code) { - $type = 'Zs' if $force_space{$last_code}; - output(\%out, $last_code, $type); + output(\%out, $last_code, + $force_space{$last_code} ? 'Zs' : $force_compose{$last_code} ? 'Mn' : $type); } } output(\%out, $last_code); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/optfunc.c new/less-557/optfunc.c --- old/less-551/optfunc.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/optfunc.c 2020-03-21 20:59:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -513,7 +513,7 @@ putstr(" ("); putstr(pattern_lib_name()); putstr(" regular expressions)\n"); - putstr("Copyright (C) 1984-2019 Mark Nudelman\n\n"); + putstr("Copyright (C) 1984-2020 Mark Nudelman\n\n"); putstr("less comes with NO WARRANTY, to the extent permitted by law.\n"); putstr("For information about the terms of redistribution,\n"); putstr("see the file named README in the less distribution.\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/option.c new/less-557/option.c --- old/less-551/option.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/option.c 2020-03-21 20:59:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -23,8 +23,9 @@ static struct loption *pendopt; public int plusoption = FALSE; -static char *optstring(); -static int flip_triple(); +static char *optstring LESSPARAMS((char *s, char **p_str, char *printopt, + char *validchars)); +static int flip_triple LESSPARAMS((int val, int lc)); extern int screen_trashed; extern int less_is_more; @@ -526,6 +527,24 @@ } /* + * If the specified option can be toggled, return NULL. + * Otherwise return an appropriate error message. + */ + public char * +opt_toggle_disallowed(c) + int c; +{ + switch (c) + { + case 'o': + if (ch_getflags() & CH_CANSEEK) + return "Input is not a pipe"; + break; + } + return NULL; +} + +/* * Return whether or not there is a string option pending; * that is, if the previous option was a string-valued option letter * (like -P) without a following string. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/option.h new/less-557/option.h --- old/less-551/option.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/option.h 2020-03-21 20:59:35.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/opttbl.c new/less-557/opttbl.c --- old/less-551/opttbl.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/opttbl.c 2020-03-21 20:59:28.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/os.c new/less-557/os.c --- old/less-551/os.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/os.c 2020-03-21 20:59:28.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/output.c new/less-557/output.c --- old/less-551/output.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/output.c 2020-03-21 20:59:28.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -500,8 +500,8 @@ return val; \ } -STR_TO_TYPE_FUNC(lstrtopos, POSITION); -STR_TO_TYPE_FUNC(lstrtoi, int); +STR_TO_TYPE_FUNC(lstrtopos, POSITION) +STR_TO_TYPE_FUNC(lstrtoi, int) /* * Output an integer in a given radix. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/pattern.c new/less-557/pattern.c --- old/less-551/pattern.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/pattern.c 2020-03-21 20:59:28.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/pattern.h new/less-557/pattern.h --- old/less-551/pattern.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/pattern.h 2020-03-21 20:59:35.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/pckeys.h new/less-557/pckeys.h --- old/less-551/pckeys.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/pckeys.h 2020-03-21 20:59:35.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/position.c new/less-557/position.c --- old/less-551/position.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/position.c 2020-03-21 20:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/position.h new/less-557/position.h --- old/less-551/position.h 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/position.h 2020-03-21 20:59:36.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/prompt.c new/less-557/prompt.c --- old/less-551/prompt.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/prompt.c 2020-03-21 20:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/screen.c new/less-557/screen.c --- old/less-551/screen.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/screen.c 2020-03-21 20:59:22.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -219,8 +219,9 @@ extern int one_screen; #if !MSDOS_COMPILER -static char *cheaper(); -static void tmodes(); +static char *cheaper LESSPARAMS((char *t1, char *t2, char *def)); +static void tmodes LESSPARAMS((char *incap, char *outcap, char **instr, + char **outstr, char *def_instr, char *def_outstr, char **spp)); #endif /* @@ -642,7 +643,6 @@ char *capname; { char name[64]; - char *s; if (termcap_debug) { @@ -1080,7 +1080,6 @@ #else #if MSDOS_COMPILER==WIN32C { - DWORD nread; CONSOLE_SCREEN_BUFFER_INFO scr; con_out_save = con_out = GetStdHandle(STD_OUTPUT_HANDLE); @@ -1090,8 +1089,7 @@ */ SET_BINARY(0); GetConsoleScreenBufferInfo(con_out, &scr); - ReadConsoleOutputAttribute(con_out, &curr_attr, - 1, scr.dwCursorPosition, &nread); + curr_attr = scr.wAttributes; sy_bg_color = (curr_attr & BG_COLORS) >> 4; /* normalize */ sy_fg_color = curr_attr & FG_COLORS; } @@ -1122,8 +1120,11 @@ char *sp; char *t1, *t2; char *term; - char termbuf[TERMBUF_SIZE]; - + /* + * Some termcap libraries assume termbuf is static + * (accessible after tgetent returns). + */ + static char termbuf[TERMBUF_SIZE]; static char sbuf[TERMSBUF_SIZE]; #if OS2 @@ -1146,12 +1147,13 @@ /* * Find out what kind of terminal this is. */ - if ((term = lgetenv("TERM")) == NULL) - term = DEFAULT_TERM; + if ((term = lgetenv("TERM")) == NULL) + term = DEFAULT_TERM; hardcopy = 0; - if (tgetent(termbuf, term) != TGETENT_OK) - hardcopy = 1; - if (ltgetflag("hc")) + /* {{ Should probably just pass NULL instead of termbuf. }} */ + if (tgetent(termbuf, term) != TGETENT_OK) + hardcopy = 1; + if (ltgetflag("hc")) hardcopy = 1; /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/scrsize.c new/less-557/scrsize.c --- old/less-551/scrsize.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/scrsize.c 2020-03-21 20:59:33.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/search.c new/less-557/search.c --- old/less-551/search.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/search.c 2020-03-21 20:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/signal.c new/less-557/signal.c --- old/less-551/signal.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/signal.c 2020-03-21 20:59:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/tags.c new/less-557/tags.c --- old/less-551/tags.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/tags.c 2020-03-21 20:59:30.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -44,13 +44,14 @@ T_GPATH /* 'GPATH': path name (global) */ }; -static enum tag_result findctag(); -static enum tag_result findgtag(); -static char *nextgtag(); -static char *prevgtag(); -static POSITION ctagsearch(); -static POSITION gtagsearch(); -static int getentry(); +static enum tag_result findctag LESSPARAMS((char *tag)); +static enum tag_result findgtag LESSPARAMS((char *tag, int type)); +static char *nextgtag(VOID_PARAM); +static char *prevgtag(VOID_PARAM); +static POSITION ctagsearch(VOID_PARAM); +static POSITION gtagsearch(VOID_PARAM); +static int getentry LESSPARAMS((char *buf, char **tag, char **file, + char **line)); /* * The list of tags generated by the last findgtag() call. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/ttyin.c new/less-557/ttyin.c --- old/less-551/ttyin.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/ttyin.c 2020-03-21 20:59:30.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/ubin.uni new/less-557/ubin.uni --- old/less-551/ubin.uni 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/ubin.uni 2020-03-21 20:59:39.000000000 +0100 @@ -1,4 +1,4 @@ -/* Generated by "./mkutable -f2 Cc Cs Co Zl Zp -- unicode/UnicodeData.txt" on Wed Feb 13 17:57:06 PST 2019 */ +/* Generated by "./mkutable -f2 Cc Cs Co Zl Zp -- unicode/UnicodeData.txt" on Thu Oct 17 10:15:55 PDT 2019 */ { 0x0000, 0x0007 }, /* Cc */ { 0x000b, 0x000b }, /* Cc */ { 0x000e, 0x001f }, /* Cc */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/version.c new/less-557/version.c --- old/less-551/version.c 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/version.c 2020-03-21 20:59:30.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C) 1984-2019 Mark Nudelman + * Copyright (C) 1984-2020 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. @@ -880,6 +880,13 @@ Win32 fixes (thanks to Jason Hood). v550 2/16/19 Fix Win32 build; don't enable mouse unless --mouse is set. v551 6/10/19 Doc changes. +----------------------------------------------------------------- +v552 7/8/19 Update Unicode tables. +v553 10/17/19 Support tinfow; handle zero-width Hangul chars. +v554 1/19/20 Remove erroneous free(). +v555 3/15/20 Display error msg immediately when toggle -o without stdin. +v556 3/15/20 Update copyright. +v557 3/21/20 Fix memory corruption with libtermcap. */ -char version[] = "551"; +char version[] = "557"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/less-551/wide.uni new/less-557/wide.uni --- old/less-551/wide.uni 2019-06-11 20:12:01.000000000 +0200 +++ new/less-557/wide.uni 2020-03-21 20:59:40.000000000 +0100 @@ -1,4 +1,4 @@ -/* Generated by "./mkutable -f1 W F -- unicode/EastAsianWidth.txt" on Thu Feb 14 08:30:47 PST 2019 */ +/* Generated by "./mkutable -f1 W F -- unicode/EastAsianWidth.txt" on Thu Aug 1 12:17:07 PDT 2019 */ { 0x1100, 0x115f }, /* W */ { 0x231a, 0x231b }, /* W */ { 0x2329, 0x232a }, /* W */ @@ -48,8 +48,7 @@ { 0x31c0, 0x31e3 }, /* W */ { 0x31f0, 0x321e }, /* W */ { 0x3220, 0x3247 }, /* W */ - { 0x3250, 0x32fe }, /* W */ - { 0x3300, 0x4dbf }, /* W */ + { 0x3250, 0x4dbf }, /* W */ { 0x4e00, 0xa48c }, /* W */ { 0xa490, 0xa4c6 }, /* W */ { 0xa960, 0xa97c }, /* W */ @@ -61,10 +60,12 @@ { 0xfe68, 0xfe6b }, /* W */ { 0xff01, 0xff60 }, /* F */ { 0xffe0, 0xffe6 }, /* F */ - { 0x16fe0, 0x16fe1 }, /* W */ - { 0x17000, 0x187f1 }, /* W */ + { 0x16fe0, 0x16fe3 }, /* W */ + { 0x17000, 0x187f7 }, /* W */ { 0x18800, 0x18af2 }, /* W */ { 0x1b000, 0x1b11e }, /* W */ + { 0x1b150, 0x1b152 }, /* W */ + { 0x1b164, 0x1b167 }, /* W */ { 0x1b170, 0x1b2fb }, /* W */ { 0x1f004, 0x1f004 }, /* W */ { 0x1f0cf, 0x1f0cf }, /* W */ @@ -96,15 +97,19 @@ { 0x1f680, 0x1f6c5 }, /* W */ { 0x1f6cc, 0x1f6cc }, /* W */ { 0x1f6d0, 0x1f6d2 }, /* W */ + { 0x1f6d5, 0x1f6d5 }, /* W */ { 0x1f6eb, 0x1f6ec }, /* W */ - { 0x1f6f4, 0x1f6f9 }, /* W */ - { 0x1f910, 0x1f93e }, /* W */ - { 0x1f940, 0x1f970 }, /* W */ + { 0x1f6f4, 0x1f6fa }, /* W */ + { 0x1f7e0, 0x1f7eb }, /* W */ + { 0x1f90d, 0x1f971 }, /* W */ { 0x1f973, 0x1f976 }, /* W */ - { 0x1f97a, 0x1f97a }, /* W */ - { 0x1f97c, 0x1f9a2 }, /* W */ - { 0x1f9b0, 0x1f9b9 }, /* W */ - { 0x1f9c0, 0x1f9c2 }, /* W */ - { 0x1f9d0, 0x1f9ff }, /* W */ + { 0x1f97a, 0x1f9a2 }, /* W */ + { 0x1f9a5, 0x1f9aa }, /* W */ + { 0x1f9ae, 0x1f9ca }, /* W */ + { 0x1f9cd, 0x1f9ff }, /* W */ + { 0x1fa70, 0x1fa73 }, /* W */ + { 0x1fa78, 0x1fa7a }, /* W */ + { 0x1fa80, 0x1fa82 }, /* W */ + { 0x1fa90, 0x1fa95 }, /* W */ { 0x20000, 0x2fffd }, /* W */ { 0x30000, 0x3fffd }, /* W */
