Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package less for openSUSE:Factory checked in 
at 2021-06-24 18:22:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/less (Old)
 and      /work/SRC/openSUSE:Factory/.less.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "less"

Thu Jun 24 18:22:01 2021 rev:63 rq:900723 version:590

Changes:
--------
--- /work/SRC/openSUSE:Factory/less/less.changes        2021-05-20 
19:23:44.962269694 +0200
+++ /work/SRC/openSUSE:Factory/.less.new.2625/less.changes      2021-06-24 
18:22:07.536886359 +0200
@@ -1,0 +2,18 @@
+Thu Jun 17 20:26:37 UTC 2021 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 590:
+  * Make less able to read lesskey source files (deprecating lesskey).
+  * If XDG_CONFIG_HOME is set, find lesskey source file 
+    in $XDG_CONFIG_HOME/lesskey rather than $HOME/.lesskey.
+  * If XDG_DATA_HOME is set, find and store history file 
+    in $XDG_DATA_HOME/lesshst rather than $HOME/.lesshst.
+  * Add the --lesskey-src option.
+  * Add the --file-size option.
+  * With -F, if screen is resized to make file fit on one screen, don't exit.
+
+-------------------------------------------------------------------
+Mon Jun 14 13:19:30 UTC 2021 - Jan Engelhardt <jeng...@inai.de>
+
+- Remove --with-pic (no static libs are ever produced).
+
+-------------------------------------------------------------------

Old:
----
  less-586.sig
  less-586.tar.gz

New:
----
  less-590.sig
  less-590.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ less.spec ++++++
--- /var/tmp/diff_new_pack.Zqgypd/_old  2021-06-24 18:22:09.040888028 +0200
+++ /var/tmp/diff_new_pack.Zqgypd/_new  2021-06-24 18:22:09.044888033 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           less
-Version:        586
+Version:        590
 Release:        0
 Summary:        Text File Browser and Pager Similar to more
 License:        BSD-2-Clause OR GPL-3.0-or-later
@@ -58,7 +58,7 @@
 autoreconf -fiv
 export CFLAGS="%{optflags} -fPIE"
 export LDFLAGS="-pie"
-%configure --with-pic
+%configure
 #
 # regenerate help.c because less.hlp was patched
 ./mkhelp.pl <less.hlp >help.c

++++++ less-586.tar.gz -> less-590.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.aut new/less-590/Makefile.aut
--- old/less-586/Makefile.aut   2021-05-07 17:09:59.000000000 +0200
+++ new/less-590/Makefile.aut   2021-06-03 19:45:48.000000000 +0200
@@ -7,6 +7,7 @@
 NROFF = nroff -t -man
 
 srcdir = .
+REL := $(shell sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q 
${srcdir}/version.c)
 
 ifeq ($(USE_PYTHON),1)
        MKHELP = mkhelp.py
@@ -22,7 +23,7 @@
        help.c ifile.c input.c jump.c line.c linenum.c \
        lsystem.c mark.c optfunc.c option.c opttbl.c os.c \
        output.c pattern.c position.c prompt.c search.c signal.c \
-       tags.c ttyin.c version.c
+       tags.c ttyin.c version.c xbuf.c
 DISTFILES_W = \
        defines.ds  Makefile.dsb Makefile.dsg Makefile.dsu \
        defines.o2  Makefile.o2e \
@@ -36,7 +37,7 @@
        COPYING INSTALL LICENSE Makefile.in Makefile.aut NEWS README \
        configure.ac lesskey.c lesskey_parse.c lessecho.c scrsize.c \
        charset.h cmd.h funcs.h lglob.h less.h lesskey.h option.h \
-       pckeys.h pattern.h position.h \
+       pckeys.h pattern.h position.h xbuf.h \
        install.sh defines.h.in mkinstalldirs \
        less.nro less.man lesskey.nro lesskey.man lessecho.nro lessecho.man \
        less.hlp \
@@ -48,6 +49,7 @@
 all: help.c funcs.h $(UNICODE_FILES) ${srcdir}/configure 
 
 release: .FORCE
+       @if grep -s 'Major changes between .*${REL}' NEWS ; then :; else echo 
'*** NEWS is not updated for ${REL}'; exit 1; fi
        ${MAKE} -f Makefile.aut tagall 
        ${MAKE} -f Makefile.aut all 
        ${MAKE} -f Makefile.aut clean 
@@ -81,14 +83,12 @@
 realclean: clean
 
 REPLACE_VERSION = \
-       @REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q 
${srcdir}/version.c`; \
        DT=`date '+%d %h %Y'`; \
-       echo "Stuffing version number $$REL into $@"; \
+       echo "Stuffing version number ${REL} into $@"; \
        rm -f $@; \
        sed \
-               -e "s;@@VERSION@@;$$REL;" \
-               -e "s;@@DATE@@;$$DT;" \
-               -e "s;@@HOMEPAGE@@;${HOMEPAGE};" >$@
+               -e "s;@@VERSION@@;${REL};" \
+               -e "s;@@DATE@@;$$DT;" >$@
 
 ${srcdir}/less.nro: ${srcdir}/less.nro.VER ${srcdir}/version.c
        ${REPLACE_VERSION} ${srcdir}/less.nro.VER
@@ -122,27 +122,36 @@
 
 distfiles: ${DISTFILES}
 
+echo_distfiles: 
+       echo ${DISTFILES}
+
 dist: ${DISTFILES}
        if [ ! -d ${srcdir}/release ]; then mkdir ${srcdir}/release; fi
-       @cd ${srcdir}; \
-       REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/less-\1/' -e 
q version.c`; \
-       rm -rf release/$$REL; mkdir release/$$REL; \
-       echo "Preparing $$REL"; \
-       rm -rf $$REL; mkdir $$REL; \
-       for file in ${DISTFILES}; do \
-         ./add_copyright $$file $$REL; \
-       done; \
-       cd $$REL; chmod -w *; chmod +w ${DISTFILES_W}; chmod +x configure; cd 
..; \
-       echo "Creating release/$$REL/$$REL.tar.gz"; \
-       tar -cf - $$REL | gzip -c >release/$$REL/$$REL.tar.gz; \
-       echo "Signing release/$$REL/$$REL.tar.gz"; \
-       gpg --detach-sign release/$$REL/$$REL.tar.gz; \
-       mv release/$$REL/$$REL.tar.gz.sig release/$$REL/$$REL.sig; \
-       echo "Creating release/$$REL/$$REL.zip"; \
-       zip -rq release/$$REL/$$REL.zip $$REL; \
-       rm -rf $$REL
+       @LESSREL=less-${REL} && RELDIR=release/$$LESSREL && \
+       cd ${srcdir} && \
+       rm -rf $$RELDIR && mkdir $$RELDIR && \
+       echo "Preparing $$LESSREL" && \
+       rm -rf $$LESSREL && mkdir $$LESSREL && \
+       cp ${DISTFILES} $$LESSREL && \
+       cd $$LESSREL && chmod -w * && chmod +w ${DISTFILES_W} && chmod +x 
configure && cd .. && \
+       echo "Creating $$RELDIR/${REL}.tar.gz" && \
+       tar -cf - $$LESSREL | gzip -c >$$RELDIR/$$LESSREL.tar.gz && \
+       echo "Signing $$RELDIR/$$LESSREL.tar.gz" && \
+       gpg --detach-sign $$RELDIR/$$LESSREL.tar.gz && \
+       mv $$RELDIR/$$LESSREL.tar.gz.sig $$RELDIR/$$LESSREL.sig && \
+       echo "Creating $$RELDIR/$$LESSREL.zip" && \
+       zip -rq $$RELDIR/$$LESSREL.zip $$LESSREL && \
+       rm -rf $$LESSREL
 
 tagall:
-       @REL=`sed -e '/char version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/v\1/' -e q 
${srcdir}/version.c`; \
-       echo "tagging $$REL"; \
-       $(GIT) tag -a -f -m "$$REL" "$$REL"
+       echo "tagging v${REL}"; \
+       $(GIT) tag -a -f -m "v${REL}" "v${REL}"
+
+gnu_upload:
+       @if [ -z "${REL}" ]; then echo "Please set REL=nnn"; exit 1; fi; \
+       if [ ! -s release/less-${REL}/less-${REL}.tar.gz ]; then echo 
"release/less-${REL}/less-${REL}.tar.gz does not exist"; exit 1; fi; \
+       cd release/less-${REL} && \
+       gpg -b less-${REL}.tar.gz && \
+       ( echo "version: 1.2"; echo "directory: less"; echo "filename: 
less-${REL}.tar.gz" ) > less-${REL}.tar.gz.directive && \
+       gpg --clearsign less-${REL}.tar.gz.directive
+       @echo "upload ready: cd release/less-${REL}; ftp ftp-upload.gnu.org; cd 
/incoming/ftp; put less-${REL}.tar.gz less-${REL}.tar.gz.sig 
less-${REL}.tar.gz.directive.asc" 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.dsb new/less-590/Makefile.dsb
--- old/less-586/Makefile.dsb   2021-05-07 17:10:04.000000000 +0200
+++ new/less-590/Makefile.dsb   2021-06-03 19:45:48.000000000 +0200
@@ -24,7 +24,7 @@
        help.obj ifile.obj input.obj jump.obj lesskey_parse.obj line.obj 
linenum.obj \
        lsystem.obj mark.obj optfunc.obj option.obj opttbl.obj os.obj \
        output.obj pattern.obj position.obj prompt.obj search.obj signal.obj \
-       tags.obj ttyin.obj version.obj
+       tags.obj ttyin.obj version.obj xbuf.obj
 
 all: less$(EXT) lesskey$(EXT)
 
@@ -35,8 +35,8 @@
        $(CC) $(LDFLAGS) -e$@ *.obj $(LIBS)
        ren lesskey.obo lesskey.obj
 
-lesskey$(EXT): lesskey.obj lesskey_parse.obj version.obj
-       $(CC) $(LDFLAGS) -e$@ lesskey.obj lesskey_parse.obj version.obj $(LIBS)
+lesskey$(EXT): lesskey.obj lesskey_parse.obj version.obj xbuf.obj
+       $(CC) $(LDFLAGS) -e$@ lesskey.obj lesskey_parse.obj version.obj 
xbuf.obj $(LIBS)
 
 defines.h: defines.ds
        -del defines.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.dsg new/less-590/Makefile.dsg
--- old/less-586/Makefile.dsg   2021-05-07 17:10:04.000000000 +0200
+++ new/less-590/Makefile.dsg   2021-06-03 19:45:48.000000000 +0200
@@ -39,15 +39,15 @@
        help.${O} ifile.${O} input.${O} jump.${O} lesskey_parse.${O} line.${O} 
linenum.${O} \
        lsystem.${O} mark.${O} optfunc.${O} option.${O} opttbl.${O} os.${O} \
        output.${O} pattern.${O} position.${O} prompt.${O} search.${O} 
signal.${O} \
-       tags.${O} ttyin.${O} version.${O}
+       tags.${O} ttyin.${O} version.${O} xbuf.${O}
 
 all: less lesskey lessecho
 
 less: ${OBJ}
        ${CC} ${LDFLAGS} -o $@ ${OBJ} ${LIBS}
 
-lesskey: lesskey.${O} lesskey_parse.${O} version.${O}
-       ${CC} ${LDFLAGS} -o $@ lesskey.${O} lesskey_parse.${O} version.${O}
+lesskey: lesskey.${O} lesskey_parse.${O} version.${O} xbuf.${O}
+       ${CC} ${LDFLAGS} -o $@ lesskey.${O} lesskey_parse.${O} version.${O} 
xbuf.${O}
 
 lessecho: lessecho.${O} version.${O}
        ${CC} ${LDFLAGS} -o $@ lessecho.${O} version.${O}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.dsu new/less-590/Makefile.dsu
--- old/less-586/Makefile.dsu   2021-05-07 17:10:04.000000000 +0200
+++ new/less-590/Makefile.dsu   2021-06-03 19:45:48.000000000 +0200
@@ -33,7 +33,7 @@
        help.obj ifile.obj input.obj jump.obj lesskey_parse.obj line.obj 
linenum.obj \
        lsystem.obj mark.obj optfunc.obj option.obj opttbl.obj os.obj \
        output.obj pattern.obj position.obj prompt.obj search.obj signal.obj \
-       tags.obj  ttyin.obj version.obj
+       tags.obj  ttyin.obj version.obj xbuf.obj
 
 all: less lesskey
 
@@ -43,8 +43,8 @@
        -if exist lesskey.obj del lesskey.obj
        $(CC) $(LDFLAGS) -o $@ *.obj $(LIBS)
 
-lesskey: lesskey.obj lesskey_parse.obj version.obj
-       $(CC) $(LDFLAGS) -o $@ lesskey.obj lesskey_parse.obj version.obj $(LIBS)
+lesskey: lesskey.obj lesskey_parse.obj version.obj xbuf.obj
+       $(CC) $(LDFLAGS) -o $@ lesskey.obj lesskey_parse.obj version.obj 
xbuf.obj $(LIBS)
 
 defines.h: defines.ds
        -del defines.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.in new/less-590/Makefile.in
--- old/less-586/Makefile.in    2021-05-07 17:09:59.000000000 +0200
+++ new/less-590/Makefile.in    2021-06-03 19:45:48.000000000 +0200
@@ -47,18 +47,22 @@
        main.${O} screen.${O} brac.${O} ch.${O} charset.${O} cmdbuf.${O} \
        command.${O} cvt.${O} decode.${O} edit.${O} filename.${O} forwback.${O} 
\
        help.${O} ifile.${O} input.${O} jump.${O} \
-       lesskey_parse.${O} line.${O} linenum.${O} \
+       line.${O} linenum.${O} \
        lsystem.${O} mark.${O} optfunc.${O} option.${O} opttbl.${O} os.${O} \
        output.${O} pattern.${O} position.${O} prompt.${O} search.${O} 
signal.${O} \
-       tags.${O} ttyin.${O} version.${O}  @REGEX_O@
+       tags.${O} ttyin.${O} version.${O} xbuf.${O}  @REGEX_O@
+
+ifneq (@SECURE_COMPILE@,1)
+OBJ += lesskey_parse.${O}
+endif
 
 all: less$(EXEEXT) lesskey$(EXEEXT) lessecho$(EXEEXT)
 
 less$(EXEEXT): ${OBJ}
        ${CC} ${LDFLAGS} -o $@ ${OBJ} ${LIBS}
 
-lesskey$(EXEEXT): lesskey.${O} lesskey_parse.${O} version.${O}
-       ${CC} ${LDFLAGS} -o $@ lesskey.${O} lesskey_parse.${O} version.${O}
+lesskey$(EXEEXT): lesskey.${O} lesskey_parse.${O} xbuf.${O} version.${O}
+       ${CC} ${LDFLAGS} -o $@ lesskey.${O} lesskey_parse.${O} xbuf.${O} 
version.${O}
 
 lessecho$(EXEEXT): lessecho.${O} version.${O}
        ${CC} ${LDFLAGS} -o $@ lessecho.${O} version.${O}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.o2e new/less-590/Makefile.o2e
--- old/less-586/Makefile.o2e   2021-05-07 17:10:05.000000000 +0200
+++ new/less-590/Makefile.o2e   2021-06-03 19:45:48.000000000 +0200
@@ -24,15 +24,15 @@
        help.${O} ifile.${O} input.${O} jump.${O} lesskey_parse.${O} line.${O} 
linenum.${O} \
        lsystem.${O} mark.${O} optfunc.${O} option.${O} opttbl.${O} os.${O} \
        output.${O} pattern.${O} position.${O} prompt.${O} search.${O} 
signal.${O} \
-       tags.${O} ttyin.${O} version.${O}  regexp.${O}
+       tags.${O} ttyin.${O} version.${O} xbuf.${O}  regexp.${O}
 
 all:    less.exe lesskey.exe scrsize.exe
 
 less.exe: ${OBJ}
        ${CC} ${OBJ} -o $@ ${LDFLAGS} ${LIBS}
 
-lesskey.exe: lesskey.${O} lesskey_parse.${O} version.${O}
-       ${CC} lesskey.${O} lesskey_parse.${O} version.${O} -o $@ ${LDFLAGS}
+lesskey.exe: lesskey.${O} lesskey_parse.${O} version.${O} xbuf.${O}
+       ${CC} lesskey.${O} lesskey_parse.${O} version.${O} xbuf.${O} -o $@ 
${LDFLAGS}
 
 scrsize.exe: scrsize.c
        ${CC} ${CFLAGS} -D__ST_MT_ERRNO__ -s -Zmtd -lX11 $<
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.o9c new/less-590/Makefile.o9c
--- old/less-586/Makefile.o9c   2021-05-07 17:10:05.000000000 +0200
+++ new/less-590/Makefile.o9c   2021-06-03 19:45:48.000000000 +0200
@@ -28,15 +28,15 @@
        help.${O} ifile.${O} input.${O} jump.${O} lesskey_parse.${O} line.${O} 
linenum.${O} \
        lsystem.${O} mark.${O} optfunc.${O} option.${O} opttbl.${O} os.${O} \
        output.${O} pattern.${O} position.${O} prompt.${O} search.${O} 
signal.${O} \
-       tags.${O} ttyin.${O} version.${O}  regexp.${O}
+       tags.${O} ttyin.${O} version.${O} xbuf.${O}  regexp.${O}
 
 all: less lessecho lesskey
 
 less: ${OBJ}
        ${CC} ${OBJ} -f=$@ ${LDFLAGS} ${LIBS}
 
-lesskey: lesskey.${O} lesskey_parse.${O} version.${O}
-       ${CC} lesskey.${O} lesskey_parse.${O} version.${O} -f=$@ ${LDFLAGS}
+lesskey: lesskey.${O} lesskey_parse.${O} version.${O} xbuf.${O}
+       ${CC} lesskey.${O} lesskey_parse.${O} version.${O} xbuf.${O} -f=$@ 
${LDFLAGS}
 
 lessecho: lessecho.${O} version.${O}
        ${CC} lessecho.${O} version.${O} -f=$@ ${LDFLAGS}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.o9u new/less-590/Makefile.o9u
--- old/less-586/Makefile.o9u   2021-05-07 17:10:05.000000000 +0200
+++ new/less-590/Makefile.o9u   2021-06-03 19:45:48.000000000 +0200
@@ -27,15 +27,15 @@
        help.${O} ifile.${O} input.${O} jump.${O} lesskey_parse.${O} line.${O} 
linenum.${O} \
        lsystem.${O} mark.${O} optfunc.${O} option.${O} opttbl.${O} os.${O} \
        output.${O} pattern.${O} position.${O} prompt.${O} search.${O} 
signal.${O} \
-       tags.${O} ttyin.${O} version.${O}  regexp.${O}
+       tags.${O} ttyin.${O} version.${O} xbuf.${O}  regexp.${O}
 
 all: less lesskey
 
 less: ${OBJ}
        ${CC} ${OBJ} -f=$@ ${LDFLAGS} ${LIBS}
 
-lesskey: lesskey.${O} lesskey_parse.${O} version.${O}
-       ${CC} lesskey.${O} lesskey_parse.${O} version.${O} -f=$@ ${LDFLAGS}
+lesskey: lesskey.${O} lesskey_parse.${O} version.${O} xbuf.${O}
+       ${CC} lesskey.${O} lesskey_parse.${O} version.${O} xbuf.${O} -f=$@ 
${LDFLAGS}
 
 ${OBJ}: defines.h less.h
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.wnb new/less-590/Makefile.wnb
--- old/less-586/Makefile.wnb   2021-05-07 17:10:05.000000000 +0200
+++ new/less-590/Makefile.wnb   2021-06-03 19:45:48.000000000 +0200
@@ -31,7 +31,7 @@
        help.obj ifile.obj input.obj jump.obj lesskey_parse.obj line.obj 
linenum.obj \
        lsystem.obj mark.obj optfunc.obj option.obj opttbl.obj os.obj \
        output.obj pattern.obj position.obj prompt.obj search.obj signal.obj \
-       tags.obj ttyin.obj version.obj regexp.obj
+       tags.obj ttyin.obj version.obj xbuf.obj regexp.obj
 
 all: less lesskey lessecho
 
@@ -42,7 +42,7 @@
 less: ${OBJ}
        ${LD} ${LDFLAGS} ${LIBDIR}\c0x32.obj $**, $@,,${LIBS}
 
-lesskey: lesskey.obj lesskey_parse.obj version.obj
+lesskey: lesskey.obj lesskey_parse.obj version.obj xbuf.obj
        ${LD} ${LDFLAGS} ${LIBDIR}\c0x32.obj $**, $@,,${LIBS}
 
 lessecho: lessecho.obj version.obj
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.wng new/less-590/Makefile.wng
--- old/less-586/Makefile.wng   2021-05-07 17:10:05.000000000 +0200
+++ new/less-590/Makefile.wng   2021-06-03 19:45:48.000000000 +0200
@@ -81,7 +81,7 @@
            lsystem.c main.c mark.c optfunc.c option.c          \
           opttbl.c os.c output.c pattern.c position.c          \
           prompt.c          screen.c scrsize.c search.c        \
-          signal.c tags.c ttyin.c version.c
+          signal.c tags.c ttyin.c version.c xbuf.c
 ifeq  (${REGEX_PACKAGE},regcomp-local)
 LESS_SRC += regexp.c
 endif
@@ -92,7 +92,7 @@
        help.o ifile.o input.o jump.o lesskey_parse.o line.o linenum.o \
        lsystem.o mark.o optfunc.o option.o opttbl.o os.o \
        output.o pattern.o position.o prompt.o search.o signal.o \
-       tags.o ttyin.o version.o
+       tags.o ttyin.o version.o xbuf.o
 ifeq  (${REGEX_PACKAGE},regcomp-local)
 OBJ += regexp.o
 endif
@@ -103,8 +103,8 @@
 less: ${OBJ}
        ${CC} ${LDFLAGS} -o $@ ${OBJ} ${LIBS}
 
-lesskey: lesskey.o lesskey_parse.o version.o
-       ${CC} ${LDFLAGS} -o $@ lesskey.o lesskey_parse.o version.o
+lesskey: lesskey.o lesskey_parse.o version.o xbuf.o
+       ${CC} ${LDFLAGS} -o $@ lesskey.o lesskey_parse.o version.o xbuf.o
 
 lessecho: lessecho.o version.o
        ${CC} ${LDFLAGS} -o $@ lessecho.o version.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/Makefile.wnm new/less-590/Makefile.wnm
--- old/less-586/Makefile.wnm   2021-05-07 17:10:05.000000000 +0200
+++ new/less-590/Makefile.wnm   2021-06-03 19:45:48.000000000 +0200
@@ -29,15 +29,15 @@
        help.obj ifile.obj input.obj jump.obj lesskey_parse.obj line.obj 
linenum.obj \
        lsystem.obj mark.obj optfunc.obj option.obj opttbl.obj os.obj \
        output.obj pattern.obj position.obj prompt.obj search.obj signal.obj \
-       tags.obj ttyin.obj version.obj regexp.obj
+       tags.obj ttyin.obj version.obj xbuf.obj regexp.obj
 
 all: less.exe lesskey.exe
 
 less.exe: $(OBJ)
        $(LD) $(LDFLAGS) $** $(LIBS) /out:$@
 
-lesskey.exe: lesskey.obj lesskey_parse.obj version.obj
-       $(LD) $(LDFLAGS) lesskey.obj lesskey_parse.obj version.obj $(LIBS) 
/out:$@
+lesskey.exe: lesskey.obj lesskey_parse.obj version.obj xbuf.obj
+       $(LD) $(LDFLAGS) lesskey.obj lesskey_parse.obj version.obj xbuf.obj 
$(LIBS) /out:$@
 
 defines.h: defines.wn
        -del defines.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/NEWS new/less-590/NEWS
--- old/less-586/NEWS   2021-05-07 17:09:59.000000000 +0200
+++ new/less-590/NEWS   2021-06-03 19:45:48.000000000 +0200
@@ -11,7 +11,7 @@
 
 ======================================================================
 
-       Major changes between "less" versions 581 and 586
+       Major changes between "less" versions 581 and 590
 
 * Make less able to read lesskey source files (deprecating lesskey).
 
@@ -25,6 +25,8 @@
 
 * Add the --file-size option.
 
+* With -F, if screen is resized to make file fit on one screen, don't exit.
+
 * Fix bug which could leave terminal in mouse-reporting mode 
   after exiting less.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/command.c new/less-590/command.c
--- old/less-586/command.c      2021-05-07 17:09:55.000000000 +0200
+++ new/less-590/command.c      2021-06-03 19:45:48.000000000 +0200
@@ -791,6 +791,7 @@
            entire_file_displayed() && !(ch_getflags() & CH_HELPFILE) && 
            next_ifile(curr_ifile) == NULL_IFILE)
                quit(QUIT_OK);
+       quit_if_one_screen = FALSE; /* only get one chance at this */
 
 #if MSDOS_COMPILER==WIN32C
        /* 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/configure new/less-590/configure
--- old/less-586/configure      2021-05-07 17:10:06.000000000 +0200
+++ new/less-590/configure      2021-06-03 19:45:48.000000000 +0200
@@ -622,6 +622,7 @@
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 REGEX_O
+SECURE_COMPILE
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
@@ -5269,9 +5270,13 @@
 if test "${with_secure+set}" = set; then :
   withval=$with_secure; $as_echo "#define SECURE_COMPILE 1" >>confdefs.h
 
+  SECURE_COMPILE=1
+
 else
   $as_echo "#define SECURE_COMPILE 0" >>confdefs.h
 
+  SECURE_COMPILE=0
+
 fi
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/configure.ac new/less-590/configure.ac
--- old/less-586/configure.ac   2021-05-07 17:09:59.000000000 +0200
+++ new/less-590/configure.ac   2021-06-03 19:45:48.000000000 +0200
@@ -387,7 +387,9 @@
 # Compile in secure mode?
 AC_ARG_WITH(secure,
   [  --with-secure           Compile in secure mode],
-  AC_DEFINE(SECURE_COMPILE, 1), AC_DEFINE(SECURE_COMPILE, 0))
+  AC_DEFINE(SECURE_COMPILE, 1)
+  AC_SUBST(SECURE_COMPILE,1), AC_DEFINE(SECURE_COMPILE, 0)
+  AC_SUBST(SECURE_COMPILE,0))
 
 # Should we use floating point?
 AC_MSG_CHECKING(for floating point)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/funcs.h new/less-590/funcs.h
--- old/less-586/funcs.h        2021-05-07 17:10:00.000000000 +0200
+++ new/less-590/funcs.h        2021-06-03 19:45:48.000000000 +0200
@@ -285,6 +285,7 @@
 public void flush LESSPARAMS ((VOID_PARAM));
 public void set_output LESSPARAMS ((int fd));
 public int putchr LESSPARAMS ((int c));
+public void clear_bot_if_needed LESSPARAMS ((VOID_PARAM));
 public void putstr LESSPARAMS ((constant char *s));
 public int less_printf LESSPARAMS ((char *fmt, PARG *parg));
 public void get_return LESSPARAMS ((VOID_PARAM));
@@ -347,3 +348,7 @@
 public int default_wheel_lines LESSPARAMS ((VOID_PARAM));
 public void rstat LESSPARAMS ((char st));
 public int getchr LESSPARAMS ((VOID_PARAM));
+public void xbuf_init LESSPARAMS ((struct xbuffer *xbuf));
+public void xbuf_deinit LESSPARAMS ((struct xbuffer *xbuf));
+public void xbuf_reset LESSPARAMS ((struct xbuffer *xbuf));
+public void xbuf_add LESSPARAMS ((struct xbuffer *xbuf, char ch));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/help.c new/less-590/help.c
--- old/less-586/help.c 2021-05-07 17:09:56.000000000 +0200
+++ new/less-590/help.c 2021-06-03 19:45:48.000000000 +0200
@@ -1,4 +1,4 @@
-/* This file was generated by mkhelp.pl from less.hlp at 15:09 on 2021/5/7 */
+/* This file was generated by mkhelp.pl from less.hlp at 17:45 on 2021/6/3 */
 #include "less.h"
 constant char helpdata[] = {
 '\n',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/less.h new/less-590/less.h
--- old/less-586/less.h 2021-05-07 17:10:00.000000000 +0200
+++ new/less-590/less.h 2021-06-03 19:45:48.000000000 +0200
@@ -571,6 +571,7 @@
 struct hilite_tree;
 struct ansi_state;
 #include "pattern.h"
+#include "xbuf.h"
 #include "funcs.h"
 
 /* Functions not included in funcs.h */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/less.man new/less-590/less.man
--- old/less-586/less.man       2021-05-07 17:10:02.000000000 +0200
+++ new/less-590/less.man       2021-06-03 19:45:48.000000000 +0200
@@ -1842,8 +1842,8 @@
        Mark Nudelman
        Report bugs at https://github.com/gwsw/less/issues.
        For more information, see the less homepage at
-       https://greenwoodsoftware.com/less.
+       https://greenwoodsoftware.com/less
 
 
 
-                           Version 586: 07 May 2021                    LESS(1)
+                           Version 590: 03 Jun 2021                    LESS(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/less.nro new/less-590/less.nro
--- old/less-586/less.nro       2021-05-07 17:10:02.000000000 +0200
+++ new/less-590/less.nro       2021-06-03 19:45:48.000000000 +0200
@@ -1,5 +1,5 @@
 '\" t
-.TH LESS 1 "Version 586: 07 May 2021"
+.TH LESS 1 "Version 590: 03 Jun 2021"
 .SH NAME
 less \- opposite of more
 .SH SYNOPSIS
@@ -2025,4 +2025,4 @@
 .br
 For more information, see the less homepage at
 .br
-https://greenwoodsoftware.com/less.
+https://greenwoodsoftware.com/less
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/lessecho.man new/less-590/lessecho.man
--- old/less-586/lessecho.man   2021-05-07 17:10:02.000000000 +0200
+++ new/less-590/lessecho.man   2021-06-03 19:45:48.000000000 +0200
@@ -51,4 +51,4 @@
 
 
 
-                           Version 586: 07 May 2021                LESSECHO(1)
+                           Version 590: 03 Jun 2021                LESSECHO(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/lessecho.nro new/less-590/lessecho.nro
--- old/less-586/lessecho.nro   2021-05-07 17:10:02.000000000 +0200
+++ new/less-590/lessecho.nro   2021-06-03 19:45:48.000000000 +0200
@@ -1,4 +1,4 @@
-.TH LESSECHO 1 "Version 586: 07 May 2021"
+.TH LESSECHO 1 "Version 590: 03 Jun 2021"
 .SH NAME
 lessecho \- expand metacharacters
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/lesskey.h new/less-590/lesskey.h
--- old/less-586/lesskey.h      2021-05-07 17:10:01.000000000 +0200
+++ new/less-590/lesskey.h      2021-06-03 19:45:48.000000000 +0200
@@ -7,6 +7,7 @@
  * For more information, see the README file.
  */
 
+#include "xbuf.h"
 
 /*
  * Format of a lesskey file:
@@ -38,13 +39,6 @@
 /* */
 #define KRADIX          64
 
-struct xbuffer
-{
-       char *data;
-       int end;
-       int size;
-};
-
 struct lesskey_cmdname
 {
        char *cn_name;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/lesskey.man new/less-590/lesskey.man
--- old/less-586/lesskey.man    2021-05-07 17:10:02.000000000 +0200
+++ new/less-590/lesskey.man    2021-06-03 19:45:48.000000000 +0200
@@ -346,4 +346,4 @@
 
 
 
-                           Version 586: 07 May 2021                 LESSKEY(1)
+                           Version 590: 03 Jun 2021                 LESSKEY(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/lesskey.nro new/less-590/lesskey.nro
--- old/less-586/lesskey.nro    2021-05-07 17:10:02.000000000 +0200
+++ new/less-590/lesskey.nro    2021-06-03 19:45:48.000000000 +0200
@@ -1,5 +1,5 @@
 '\" t
-.TH LESSKEY 1 "Version 586: 07 May 2021"
+.TH LESSKEY 1 "Version 590: 03 Jun 2021"
 .SH NAME
 lesskey \- specify key bindings for less
 .SH "SYNOPSIS (deprecated)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/lesskey_parse.c new/less-590/lesskey_parse.c
--- old/less-586/lesskey_parse.c        2021-05-07 17:10:00.000000000 +0200
+++ new/less-590/lesskey_parse.c        2021-06-03 19:45:48.000000000 +0200
@@ -1,8 +1,18 @@
+/*
+ * Copyright (C) 1984-2021  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.
+ *
+ * For more information, see the README file.
+ */
+
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include "lesskey.h"
 #include "cmd.h"
+#include "xbuf.h"
 #include "defines.h"
 
 #define CONTROL(c)      ((c)&037)
@@ -125,37 +135,6 @@
 }
 
 /*
- * Initialize an expandable text buffer.
- */
-       static void
-xbuf_init(xbuf)
-       struct xbuffer *xbuf;
-{
-       xbuf->size = 16;
-       xbuf->data = ecalloc(xbuf->size, sizeof(char));
-       xbuf->end = 0;
-}
-
-/*
- * Add a char to an expandable text buffer.
- */
-       static void
-xbuf_add(xbuf, ch)
-       struct xbuffer *xbuf;
-       char ch;
-{
-       if (xbuf->end >= xbuf->size)
-       {
-               xbuf->size = xbuf->size * 2;
-               char *data = ecalloc(xbuf->size, sizeof(char));
-               memcpy(data, xbuf->data, xbuf->end);
-               free(xbuf->data);
-               xbuf->data = data;
-       }
-       xbuf->data[xbuf->end++] = ch;
-}
-
-/*
  * Initialize lesskey_tables.
  */
        static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/line.c new/less-590/line.c
--- old/less-586/line.c 2021-05-07 17:09:56.000000000 +0200
+++ new/less-590/line.c 2021-06-03 19:45:48.000000000 +0200
@@ -33,11 +33,8 @@
        int pfx_end;  /* Number of chars in pfx */
 } linebuf;
 
-static struct {
-       char *buf;
-       int size;
-       int end;
-} shifted_ansi;
+struct xbuffer shifted_ansi;
+struct xbuffer last_ansi;
 
 public int size_linebuf = 0; /* Size of line buffer (and attr buffer) */
 static struct ansi_state *line_ansi = NULL;
@@ -58,6 +55,7 @@
 static POSITION pendpos;
 static char *end_ansi_chars;
 static char *mid_ansi_chars;
+static int in_hilite;
 
 static int attr_swidth LESSPARAMS ((int a));
 static int attr_ewidth LESSPARAMS ((int a));
@@ -131,8 +129,8 @@
        linebuf.buf = (char *) ecalloc(LINEBUF_SIZE, sizeof(char));
        linebuf.attr = (int *) ecalloc(LINEBUF_SIZE, sizeof(int));
        size_linebuf = LINEBUF_SIZE;
-       shifted_ansi.buf = NULL;
-       shifted_ansi.size = 0;
+       xbuf_init(&shifted_ansi);
+       xbuf_init(&last_ansi);
 }
 
 /*
@@ -222,7 +220,9 @@
        mbc_buf_len = 0;
        is_null_line = 0;
        pendc = '\0';
-       shifted_ansi.end = 0;
+       in_hilite = 0;
+       xbuf_reset(&shifted_ansi);
+       xbuf_reset(&last_ansi);
 }
 
 /*
@@ -355,26 +355,6 @@
 }
 
 /*
- * Add char to the shifted_ansi buffer.
- */
-       static void
-add_ansi(ch)
-       char ch;
-{
-       if (shifted_ansi.end == shifted_ansi.size)
-       {
-               /* Expand shifted_ansi buffer. */
-               int size = (shifted_ansi.size == 0) ? 8 : shifted_ansi.size * 2;
-               char *buf = (char *) ecalloc(size, sizeof(char));
-               memcpy(buf, shifted_ansi.buf, shifted_ansi.size);
-               if (shifted_ansi.buf != NULL) free(shifted_ansi.buf);
-               shifted_ansi.buf = buf;
-               shifted_ansi.size = size;
-       }
-       shifted_ansi.buf[shifted_ansi.end++] = ch;
-}
-
-/*
  * Shift line left so that the last char is just to the left
  * of the first visible column.
  */
@@ -384,7 +364,7 @@
        int i;
        for (i = linebuf.print;  i < linebuf.end;  i++)
                if (linebuf.attr[i] == AT_ANSI)
-                       add_ansi(linebuf.buf[i]);
+                       xbuf_add(&shifted_ansi, linebuf.buf[i]);
        linebuf.end = linebuf.print;
        end_column = linebuf.pfx_end;
 }
@@ -676,6 +656,7 @@
 #if HILITE_SEARCH
        {
                int matches;
+               int resend_last = 0;
                int hl_attr = is_hilited_attr(pos, pos+1, 0, &matches);
                if (hl_attr)
                {
@@ -689,6 +670,23 @@
                                        highest_hilite = pos;
                                a |= hl_attr;
                        }
+                       in_hilite = 1;
+               } else 
+               {
+                       if (in_hilite)
+                       {
+                               /*
+                                * This is the first non-hilited char after a 
hilite.
+                                * Resend the last ANSI seq to restore color.
+                                */
+                               resend_last = 1;
+                       }
+                       in_hilite = 0;
+               }
+               if (resend_last)
+               {
+                       for (i = 0;  i < last_ansi.end;  i++)
+                               STORE_CHAR(last_ansi.data[i], AT_ANSI, NULL, 
pos);
                }
        }
 #endif
@@ -731,8 +729,8 @@
        {
                /* Copy shifted ANSI sequences to beginning of line. */
                for (i = 0;  i < shifted_ansi.end;  i++)
-                       add_linebuf(shifted_ansi.buf[i], AT_ANSI, 0);
-               shifted_ansi.end = 0;
+                       add_linebuf(shifted_ansi.data[i], AT_ANSI, 0);
+               xbuf_reset(&shifted_ansi);
        }
        /* Add the char to the buf, even if we will left-shift it next. */
        inc_end_column(w);
@@ -743,12 +741,16 @@
        {
                /* We haven't left-shifted enough yet. */
                if (a == AT_ANSI)
-                       add_ansi(ch); /* Save ANSI attributes */
+                       xbuf_add(&shifted_ansi, ch); /* Save ANSI attributes */
                if (linebuf.end > linebuf.print)
                {
                        /* Shift left enough to put last byte of this char at 
print-1. */
-                       memcpy(&linebuf.buf[0], &linebuf.buf[replen], 
linebuf.print);
-                       memcpy(&linebuf.attr[0], &linebuf.attr[replen], 
linebuf.print);
+                       int i;
+                       for (i = 0; i < linebuf.print; i++)
+                       {
+                               linebuf.buf[i] = linebuf.buf[i+replen];
+                               linebuf.attr[i] = linebuf.attr[i+replen];
+                       }
                        linebuf.end -= replen;
                        cshift += w;
                        /*
@@ -954,16 +956,18 @@
        switch (ansi_step(line_ansi, ch))
        {
        case ANSI_MID:
-               STORE_CHAR(ch, AT_ANSI, rep, pos);
+               if (!in_hilite)
+                       STORE_CHAR(ch, AT_ANSI, rep, pos);
                break;
        case ANSI_END:
-               STORE_CHAR(ch, AT_ANSI, rep, pos);
+               if (!in_hilite)
+                       STORE_CHAR(ch, AT_ANSI, rep, pos);
                ansi_done(line_ansi);
                line_ansi = NULL;
                break;
        case ANSI_ERR: {
                /* Remove whole unrecognized sequence.  */
-               char *start = (cshift < hshift) ? shifted_ansi.buf : 
linebuf.buf;
+               char *start = (cshift < hshift) ? shifted_ansi.data : 
linebuf.buf;
                int *end = (cshift < hshift) ? &shifted_ansi.end : &linebuf.end;
                char *p = start + *end;
                LWCHAR bch;
@@ -1006,10 +1010,17 @@
        int a = AT_NORMAL;
 
        if (ctldisp == OPT_ONPLUS && line_ansi == NULL)
+       {
                line_ansi = ansi_start(ch);
+               if (line_ansi != NULL)
+                       xbuf_reset(&last_ansi);
+       }
 
        if (line_ansi != NULL)
+       {
+               xbuf_add(&last_ansi, ch);
                return store_ansi(ch, rep, pos);
+       }
 
        if (ch == '\b')
                return store_bs(ch, rep, pos);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/optfunc.c new/less-590/optfunc.c
--- old/less-586/optfunc.c      2021-05-07 17:09:57.000000000 +0200
+++ new/less-590/optfunc.c      2021-06-03 19:45:48.000000000 +0200
@@ -541,9 +541,8 @@
                putstr(pattern_lib_name());
                putstr(" regular expressions)\n");
                {
-                       char constant *copyright = "Copyright (C) 1984-2021  
Mark Nudelman\n\n";
-                       if (copyright[0] == '@')
-                               copyright = "Copyright (C) 1984  Mark 
Nudelman\n\n";
+                       char constant *copyright = 
+                               "Copyright (C) 1984-2021  Mark Nudelman\n\n";
                        putstr(copyright);
                }
                if (version[strlen(version)-1] == 'x')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/output.c new/less-590/output.c
--- old/less-586/output.c       2021-05-07 17:09:57.000000000 +0200
+++ new/less-590/output.c       2021-06-03 19:45:48.000000000 +0200
@@ -431,11 +431,7 @@
                ubuf_len = 0;
        }
 #endif
-       if (need_clr)
-       {
-               need_clr = 0;
-               clear_bot();
-       }
+       clear_bot_if_needed();
 #if MSDOS_COMPILER
        if (c == '\n' && is_tty)
        {
@@ -459,6 +455,15 @@
        return (c);
 }
 
+       public void
+clear_bot_if_needed(VOID_PARAM)
+{
+       if (!need_clr)
+               return;
+       need_clr = 0;
+       clear_bot();
+}
+
 /*
  * Output a string.
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/screen.c new/less-590/screen.c
--- old/less-586/screen.c       2021-05-07 17:09:54.000000000 +0200
+++ new/less-590/screen.c       2021-06-03 19:45:48.000000000 +0200
@@ -1707,6 +1707,7 @@
        public void
 init(VOID_PARAM)
 {
+       clear_bot_if_needed();
 #if !MSDOS_COMPILER
        if (!(quit_if_one_screen && one_screen))
        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/version.c new/less-590/version.c
--- old/less-586/version.c      2021-05-07 17:09:58.000000000 +0200
+++ new/less-590/version.c      2021-06-03 19:45:48.000000000 +0200
@@ -925,6 +925,12 @@
 v584  4/30/21   Add --file-size option.
 v585  5/2/21    Allow color desc W per man page.
 v586  5/7/21    Doc changes.
+v587  5/27/21   Fix --with-secure; fix --file-size message on Windows; 
+                fix colored search hilite in colored text; don't exit
+                if -F and screen is resized; fix memcpy usage.
+v588  5/27/21   Fix release.
+v589  5/29/21   Copyright & build changes.
+v590  6/3/21    Fix non-autoconf Makefiles.
 */
 
-char version[] = "586";
+char version[] = "590";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/xbuf.c new/less-590/xbuf.c
--- old/less-586/xbuf.c 1970-01-01 01:00:00.000000000 +0100
+++ new/less-590/xbuf.c 2021-06-03 19:45:48.000000000 +0200
@@ -0,0 +1,52 @@
+#include "less.h"
+#include "xbuf.h"
+
+/*
+ * Initialize an expandable text buffer.
+ */
+       public void
+xbuf_init(xbuf)
+       struct xbuffer *xbuf;
+{
+       xbuf->data = NULL;
+       xbuf->size = xbuf->end = 0;
+}
+
+       public void
+xbuf_deinit(xbuf)
+       struct xbuffer *xbuf;
+{
+       if (xbuf->data != NULL)
+               free(xbuf->data);
+       xbuf_init(xbuf);
+}
+
+       public void
+xbuf_reset(xbuf)
+       struct xbuffer *xbuf;
+{
+       xbuf->end = 0;
+}
+
+/*
+ * Add a char to an expandable text buffer.
+ */
+       public void
+xbuf_add(xbuf, ch)
+       struct xbuffer *xbuf;
+       char ch;
+{
+       if (xbuf->end >= xbuf->size)
+       {
+               char *data;
+               xbuf->size = (xbuf->size == 0) ? 16 : xbuf->size * 2;
+               data = (char *) ecalloc(xbuf->size, sizeof(char));
+               if (xbuf->data != NULL)
+               {
+                       memcpy(data, xbuf->data, xbuf->end);
+                       free(xbuf->data);
+               }
+               xbuf->data = data;
+       }
+       xbuf->data[xbuf->end++] = ch;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/less-586/xbuf.h new/less-590/xbuf.h
--- old/less-586/xbuf.h 1970-01-01 01:00:00.000000000 +0100
+++ new/less-590/xbuf.h 2021-06-03 19:45:48.000000000 +0200
@@ -0,0 +1,15 @@
+#ifndef XBUF_H_
+#define XBUF_H_
+
+struct xbuffer
+{
+       char *data;
+       int end;
+       int size;
+};
+
+void xbuf_init(struct xbuffer *xbuf);
+void xbuf_reset(struct xbuffer *xbuf);
+void xbuf_add(struct xbuffer *xbuf, char ch);
+
+#endif

Reply via email to