Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ugrep for openSUSE:Factory checked 
in at 2026-05-18 17:47:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ugrep (Old)
 and      /work/SRC/openSUSE:Factory/.ugrep.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ugrep"

Mon May 18 17:47:27 2026 rev:92 rq:1353666 version:7.8.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/ugrep/ugrep.changes      2026-05-04 
12:57:27.587215754 +0200
+++ /work/SRC/openSUSE:Factory/.ugrep.new.1966/ugrep.changes    2026-05-18 
17:48:02.324357124 +0200
@@ -1,0 +2,6 @@
+Mon May 18 05:27:20 UTC 2026 - Andreas Stieger <[email protected]>
+
+- Update to version 7.8.2:
+  * update TUI logic for selections and improve maintainability
+
+-------------------------------------------------------------------

Old:
----
  ugrep-7.8.1.obscpio

New:
----
  ugrep-7.8.2.obscpio

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

Other differences:
------------------
++++++ ugrep.spec ++++++
--- /var/tmp/diff_new_pack.qz80Op/_old  2026-05-18 17:48:03.704414151 +0200
+++ /var/tmp/diff_new_pack.qz80Op/_new  2026-05-18 17:48:03.712414482 +0200
@@ -23,7 +23,7 @@
 %bcond_without fish
 %endif
 Name:           ugrep
-Version:        7.8.1
+Version:        7.8.2
 Release:        0
 Summary:        Universal grep: a feature-rich grep implementation with focus 
on speed
 License:        BSD-3-Clause

++++++ _service ++++++
--- /var/tmp/diff_new_pack.qz80Op/_old  2026-05-18 17:48:03.800418118 +0200
+++ /var/tmp/diff_new_pack.qz80Op/_new  2026-05-18 17:48:03.816418779 +0200
@@ -5,7 +5,7 @@
     <param name="changesgenerate">enable</param>
     <param name="filename">ugrep</param>
     <param name="versionformat">@PARENT_TAG@</param>
-    <param name="revision">v7.8.1</param>
+    <param name="revision">v7.8.2</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionrewrite-replacement">\1</param>
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.qz80Op/_old  2026-05-18 17:48:03.896422085 +0200
+++ /var/tmp/diff_new_pack.qz80Op/_new  2026-05-18 17:48:03.908422581 +0200
@@ -1,7 +1,7 @@
 <servicedata>
   <service name="tar_scm">
       <param name="url">https://github.com/Genivia/ugrep.git</param>
-      <param 
name="changesrevision">0ecc0aa45ad7b327a857cd90d5ec77501edae4b6</param>
+      <param 
name="changesrevision">d71b793556d5bf29f9e67b0e28ce4b23d90ba5e7</param>
   </service>
 </servicedata>
 (No newline at EOF)

++++++ ugrep-7.8.1.obscpio -> ugrep-7.8.2.obscpio ++++++
++++ 10516 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/ar-lib new/ugrep-7.8.2/ar-lib
--- old/ugrep-7.8.1/ar-lib      2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/ar-lib      2026-05-17 21:30:54.000000000 +0200
@@ -2,9 +2,9 @@
 # Wrapper for Microsoft lib.exe
 
 me=ar-lib
-scriptversion=2019-07-04.01; # UTC
+scriptversion=2025-02-03.05; # UTC
 
-# Copyright (C) 2010-2021 Free Software Foundation, Inc.
+# Copyright (C) 2010-2025 Free Software Foundation, Inc.
 # Written by Peter Rosin <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -51,9 +51,20 @@
        # lazily determine how to convert abs files
        case `uname -s` in
          MINGW*)
-           file_conv=mingw
+           if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
+             # MSYS2 environment.
+             file_conv=cygwin
+           else
+             # Original MinGW environment.
+             file_conv=mingw
+           fi
            ;;
-         CYGWIN* | MSYS*)
+         MSYS*)
+           # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
+           file_conv=cygwin
+           ;;
+         CYGWIN*)
+           # Cygwin environment.
            file_conv=cygwin
            ;;
          *)
@@ -65,8 +76,8 @@
        mingw)
          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
          ;;
-       cygwin | msys)
-         file=`cygpath -m "$file" || echo "$file"`
+       cygwin)
+         file=`cygpath -w "$file" || echo "$file"`
          ;;
        wine)
          file=`winepath -w "$file" || echo "$file"`
@@ -105,11 +116,15 @@
 Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
 
 Members may be specified in a file named with @FILE.
+
+Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
   -v | --v*)
-    echo "$me, version $scriptversion"
+    echo "$me (GNU Automake) $scriptversion"
     exit $?
     ;;
 esac
@@ -135,6 +150,10 @@
       AR="$AR $1"
       shift
       ;;
+    -nologo | -NOLOGO)
+      # We always invoke AR with -nologo, so don't need to add it again.
+      shift
+      ;;
     *)
       action=$1
       shift
Binary files old/ugrep-7.8.1/bin/win32/ug.exe and 
new/ugrep-7.8.2/bin/win32/ug.exe differ
Binary files old/ugrep-7.8.1/bin/win32/ugrep-indexer.exe and 
new/ugrep-7.8.2/bin/win32/ugrep-indexer.exe differ
Binary files old/ugrep-7.8.1/bin/win32/ugrep.exe and 
new/ugrep-7.8.2/bin/win32/ugrep.exe differ
Binary files old/ugrep-7.8.1/bin/win64/ug.exe and 
new/ugrep-7.8.2/bin/win64/ug.exe differ
Binary files old/ugrep-7.8.1/bin/win64/ugrep-indexer.exe and 
new/ugrep-7.8.2/bin/win64/ugrep-indexer.exe differ
Binary files old/ugrep-7.8.1/bin/win64/ugrep.exe and 
new/ugrep-7.8.2/bin/win64/ugrep.exe differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/compile new/ugrep-7.8.2/compile
--- old/ugrep-7.8.1/compile     2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/compile     2026-05-17 21:30:54.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2025-06-18.21; # UTC
 
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+# Copyright (C) 1999-2025 Free Software Foundation, Inc.
 # Written by Tom Tromey <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -37,11 +37,11 @@
 
 file_conv=
 
-# func_file_conv build_file lazy
+# func_file_conv build_file unneeded_conversions
 # Convert a $build file to $host form and store it in $file
 # Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
+# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
+# conversion will take place.
 func_file_conv ()
 {
   file=$1
@@ -51,9 +51,20 @@
        # lazily determine how to convert abs files
        case `uname -s` in
          MINGW*)
-           file_conv=mingw
+           if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
+             # MSYS2 environment.
+             file_conv=cygwin
+           else
+             # Original MinGW environment.
+             file_conv=mingw
+           fi
            ;;
-         CYGWIN* | MSYS*)
+         MSYS*)
+           # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
+           file_conv=cygwin
+           ;;
+         CYGWIN*)
+           # Cygwin environment.
            file_conv=cygwin
            ;;
          *)
@@ -63,12 +74,14 @@
       fi
       case $file_conv/,$2, in
        *,$file_conv,*)
+         # This is the optimization mentioned above:
+         # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
          ;;
        mingw/*)
          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
          ;;
-       cygwin/* | msys/*)
-         file=`cygpath -m "$file" || echo "$file"`
+       cygwin/*)
+         file=`cygpath -w "$file" || echo "$file"`
          ;;
        wine/*)
          file=`winepath -w "$file" || echo "$file"`
@@ -143,7 +156,7 @@
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
          eat=1
          case $2 in
-           *.o | *.[oO][bB][jJ])
+           *.o | *.lo | *.[oO][bB][jJ])
              func_file_conv "$2"
              set x "$@" -Fo"$file"
              shift
@@ -248,14 +261,17 @@
 right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
   -v | --v*)
-    echo "compile $scriptversion"
+    echo "compile (GNU Automake) $scriptversion"
     exit $?
     ;;
   cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \
   icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
@@ -340,9 +356,9 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-format: "%Y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/configure.ac new/ugrep-7.8.2/configure.ac
--- old/ugrep-7.8.1/configure.ac        2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/configure.ac        2026-05-17 21:30:54.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([ugrep],[7.8.1],[https://github.com/Genivia/ugrep/issues],[ugrep],[https://ugrep.com])
+AC_INIT([ugrep],[7.8.2],[https://github.com/Genivia/ugrep/issues],[ugrep],[https://ugrep.com])
 AM_INIT_AUTOMAKE([foreign subdir-objects dist-xz no-dist-gzip])
 AC_CONFIG_HEADERS([config.h])
 AC_COPYRIGHT([Copyright (C) 2019-2026 Robert van Engelen, Genivia Inc.])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/include/reflex/absmatcher.h 
new/ugrep-7.8.2/include/reflex/absmatcher.h
--- old/ugrep-7.8.1/include/reflex/absmatcher.h 2026-05-03 14:44:56.000000000 
+0200
+++ new/ugrep-7.8.2/include/reflex/absmatcher.h 2026-05-17 21:30:54.000000000 
+0200
@@ -635,7 +635,7 @@
   {
     return txt_ + len_;
   }
-  /// Returns 0-terminated pattern match as a char pointer, does not include 
matched \0s, this is a constant-time operation.
+  /// Returns 0-terminated pattern match as a char pointer, does not include 
matched `\0`s, this is a constant-time operation.
   inline const char *text()
     /// @returns 0-terminated const char* string with text matched
   {
@@ -647,34 +647,34 @@
     return txt_;
   }
 #if __cplusplus >= 201703L
-  /// Returns the pattern match as a string_view (zero copy), does not include 
a terminating \0, this is a constant-time operation.
+  /// Returns the pattern match as a string_view (zero copy), does not include 
a terminating `\0`, this is a constant-time operation.
   inline const std::string_view strview() const
     /// @returns string_view with text matched
   {
     return std::string_view(txt_, len_);
   }
 #endif
-  /// Returns the text matched as a string, a copy of text(), may include 
pattern-matched \0s.
+  /// Returns the text matched as a string, a copy of text(), including 
pattern-matched `\0`s.
   inline std::string str() const
     /// @returns string with text matched
   {
     return std::string(txt_, len_);
   }
-  /// Returns the pattern match as a wide string, converted from UTF-8 text(), 
may include pattern-matched \0s.
+  /// Returns the pattern match as a wide string, converted from UTF-8 text(), 
including pattern-matched `\0`s.
   inline std::wstring wstr() const
     /// @returns wide string with text matched
   {
     return wcs(txt_, len_);
   }
-  /// Returns the length of the matched text in number of bytes, including 
pattern-matched \0s, a constant-time operation.
+  /// Returns the length of the matched text in number of bytes, including 
pattern-matched `\0`s, a constant-time operation.
   inline size_t size() const
     /// @returns match size in bytes
   {
     return len_;
   }
-  /// Returns the length of the matched text in number of wide characters.
+  /// Returns the length of the matched text in number of Unicode wide 
characters.
   inline size_t wsize() const
-    /// @returns the length of the match in number of wide (multibyte UTF-8) 
characters
+    /// @returns the length of the match in number of Unicode wide characters
   {
     size_t n = 0;
     const char *e = txt_ + len_;
@@ -682,18 +682,55 @@
       n += (*s & 0xc0) != 0x80;
     return n;
   }
-  /// Returns the first 8-bit character of the text matched.
+  /// True if match was empty, same as (size() == 0), only possible with 
matcher init option "N" for Const::FIND, Const::SPLIT, Const::MATCH.
+  inline bool empty() const
+  {
+    return size() == 0;
+  }
+  /// Returns the first 8-bit character of the text matched, same as 
text()[0], undefined when size() == 0.
   inline int chr() const
     /// @returns 8-bit char
   {
     return *txt_;
   }
-  /// Returns the first wide character of the text matched.
+  /// Returns the first Unicode wide character code point U+0000 to U+10FFFF 
of the text matched, undefined when size() == 0.
   inline int wchr() const
-    /// @returns wide char (UTF-8 converted to Unicode)
+    /// @returns Unicode wide character code point U+0000 to U+10FFFF
   {
     return utf8(txt_);
   }
+  /// Returns the last 8-bit character of the text matched or 0 when empty.
+  inline int chr_last() const
+    /// @returns 8-bit char
+  {
+    return len_ > 0 ? txt_[len_ - 1] : '\0';
+  }
+  /// Returns the last Unicode wide character code point U+0000 to U+10FFFF of 
the text matched or 0 when empty.
+  inline int wchr_last() const
+    /// @returns code point wide character code point U+0000 to U+10FFFF
+  {
+    if (len_ == 0)
+      return L'\0';
+    const char *s = txt_ + len_;
+    while (s > txt_ && (*--s & 0xc0) == 0x80)
+      continue;
+    return utf8(s);
+  }
+  /// Returns the 8-bit character that comes next in the input after of the 
text match, or EOF when the input ends.
+  inline int chr_next()
+    /// @returns 8-bit char
+  {
+    return at_end() ? EOF : chr_ != '\0' ? chr_ : txt_[len_];
+  }
+  /// Returns the Unicode wide character code point U+0000 to U+10FFFF that 
comes next in the input after the text match, or EOF when the input ends.
+  inline int wchr_next()
+    /// @returns wide character code point U+0000 to U+10FFFF
+  {
+    reset_text();
+    if (pos_ + 6 > end_ && !eof_)
+      (void)grow();
+    return at_end() ? EOF : utf8(txt_ + len_);
+  }
 #if WITH_SPAN
   /// Set or reset mode to count matching lines only and skip all other (e.g. 
for speed).
   inline void lineno_skip(bool f = false)
@@ -807,7 +844,7 @@
 #endif
     cno_ = n;
   }
-  /// Updates and returns the starting column number of the matched text, 
taking tab spacing into account and counting wide characters as one character 
each
+  /// Updates and returns the starting column number of the matched text, 
taking tab spacing into account and counting Unicode wide characters as one 
character each
   inline size_t columno()
     /// @returns column number
   {
@@ -830,7 +867,7 @@
 #endif
     return cno_;
   }
-  /// Returns the number of columns of the matched text, taking tab spacing 
into account and counting wide characters as one character each.
+  /// Returns the number of columns of the matched text, taking tab spacing 
into account and counting Unicode wide characters as one character each.
   inline size_t columns()
     /// @returns number of columns
   {
@@ -877,7 +914,7 @@
 #endif
   }
 #if WITH_SPAN
-  /// Returns the inclusive ending column number of the matched text on the 
ending matching line, taking tab spacing into account and counting wide 
characters as one character each
+  /// Returns the inclusive ending column number of the matched text on the 
ending matching line, taking tab spacing into account and counting Unicode wide 
characters as one character each
   inline size_t columno_end()
     /// @returns column number
   {
@@ -1009,9 +1046,9 @@
     cur_ = pos_;
     return got_;
   }
-  /// Returns the next wide character (unsigned 0..U+10FFFF or EOF) from the 
input character sequence, while preserving the current text() match (but 
pointer returned by text() may change; warning: does not preserve the yytext 
string pointer when options --flex and --bison are used).
+  /// Returns the next Unicode character code point U+0000 to U+10FFFF or EOF 
from the input character sequence, while preserving the current text() match 
(but pointer returned by text() may change; warning: does not preserve the 
yytext string pointer when options --flex and --bison are used).
   int winput()
-    /// @returns the next wide character (unsigned 0..U+10FFFF) or EOF (-1)
+    /// @returns the next Unicode character code point U+00000 to U+10FFFF or 
EOF (-1)
   {
     DBGLOG("AbstractMatcher::winput()");
     char tmp[8] = { 0 }, *s = tmp;
@@ -1026,7 +1063,7 @@
     }
     return utf8(tmp);
   }
-  /// Put back one character (8-bit) on the input character sequence for 
matching, DANGER: invalidates the previous text() pointer and match info, unput 
is not honored when matching in-place using buffer(base, size) and nothing has 
been read yet.
+  /// Put back one character (8-bit) on the input character sequence for 
matching, DANGER: invalidates the previous text() pointer and match info, unput 
is not honored when matching in-place using buffer(base, size) when nothing has 
been read yet.
   void unput(char c) ///< 8-bit character to put back
   {
     DBGLOG("AbstractMatcher::unput()");
@@ -1043,14 +1080,20 @@
         (void)grow();
       std::memmove(buf_ + 1, buf_, end_);
       ++end_;
+#if WITH_SPAN
+      ++bol_;
+      ++cpb_;
+#endif
+      ++lpb_;
     }
     buf_[pos_] = c;
     cur_ = pos_;
   }
-  /// Put back one (wide) character on the input character sequence for 
matching, DANGER: invalidates the previous text() pointer and match info, unput 
is not honored when matching in-place using buffer(base, size) and nothing has 
been read yet.
+  /// Put back one (wide) character on the input character sequence for 
matching, DANGER: invalidates the previous text() pointer and match info, unput 
is not honored when matching in-place using buffer(base, size) when nothing has 
been read yet.
   void wunput(int c) ///< character to put back
   {
     DBGLOG("AbstractMatcher::wunput()");
+    reset_text();
     char tmp[8];
     size_t n = utf8(c, tmp);
     if (pos_ >= n)
@@ -1059,12 +1102,19 @@
     }
     else if (own_)
     {
+      n -= pos_;
+      pos_ = 0;
       txt_ = buf_;
       len_ = 0;
       if (end_ + n >= max_)
         (void)grow();
       std::memmove(buf_ + n, buf_, end_);
       end_ += n;
+#if WITH_SPAN
+      bol_ += n;
+      cpb_ += n;
+#endif
+      lpb_ += n;
     }
     std::memcpy(&buf_[pos_], tmp, n);
     cur_ = pos_;
@@ -1102,7 +1152,7 @@
     return bol_;
   }
   /// Returns pointer to the end of the line (last char + 1) in the buffer 
containing the matched text, DANGER: invalidates previous bol() and text() 
pointers, use eol() before bol(), text(), begin(), and end() when those are 
used.
-  inline const char *eol(bool inclusive = false) ///< true if inclusive, i.e. 
point after \n instead of at \n
+  inline const char *eol(bool inclusive = false) ///< true if inclusive, i.e. 
point after `\n` instead of at `\n`
     /// @returns pointer to the end of line
   {
     if (chr_ == '\n' || (txt_ + len_ < buf_ + end_ && txt_[len_] == '\n'))
@@ -1143,7 +1193,7 @@
   {
     return txt_ >= buf_ + len ? txt_ - len : buf_;
   }
-  /// Return number of bytes available after the match position given len 
bytes to fetch ahead, limited by input size and buffer size, DANGER: 
invalidates previous bol() and text() pointers, use fetch() before bol(), 
text(), begin(), and end() when those are used.
+  /// Return number of bytes available after the match position given len 
bytes to fetch ahead after the match, limited by input size and buffer size, 
DANGER: invalidates previous bol() and text() pointers, use fetch() before 
bol(), text(), begin(), and end() when those are used.
   inline size_t fetch(size_t len)
     /// @returns number of bytes available after fetching after the match 
position.
   {
@@ -1190,7 +1240,7 @@
   {
     return txt_ - bol();
   }
-  /// Enlarge the match to span the entire line of input (excluding \n), 
return text().
+  /// Enlarge the match to span the entire line of input (excluding `\n`), 
return text().
   inline const char *span()
     /// @returns const char* span of text for the entire line
   {
@@ -1206,7 +1256,7 @@
     len_ = e - bol_;
     return text();
   }
-  /// Returns the line of input (excluding \n) as a string containing the 
matched text as a substring.
+  /// Returns the line of input (excluding `\n`) as a string containing the 
matched text as a substring.
   inline std::string line()
     /// @returns matching line as a string
   {
@@ -1216,7 +1266,7 @@
     const char *b = bol();
     return std::string(b, e - b);
   }
-  /// Returns the line of input (excluding \n) as a wide string containing the 
matched text as a substring.
+  /// Returns the line of input (excluding `\n`) as a wide string containing 
the matched text as a substring.
   inline std::wstring wline()
     /// @returns matching line as a wide string
   {
@@ -1332,7 +1382,7 @@
   }
   /// Cast this matcher to positive integer indicating the nonzero capture 
index of the matched text in the pattern, same as AbstractMatcher::accept.
   inline operator size_t() const
-    /// @returns nonzero capture index of a match, which may be matcher 
dependent, or zero for a mismatch
+    /// @returns nonzero capture index of a match, which is matcher dependent, 
or zero for a mismatch
   {
     return accept();
   }
@@ -1594,7 +1644,7 @@
     }
 #endif
   }
-  /// Reset the matched text by removing the terminating \0 when applicable, 
which is needed to search for a new match.
+  /// Reset the matched text by removing the terminating `\0` when applicable, 
which is needed to search for a new match.
   inline void reset_text()
   {
     if (chr_ != '\0')
@@ -1690,10 +1740,10 @@
   size_t      cno_; ///< column number count (cached)
   size_t      num_; ///< number of bytes shifted out so far, when buffer 
shifted
   size_t      res_; ///< reserve bytes to keep in the buffer before bol_ when 
shifting
-  bool        own_; ///< true if AbstractMatcher::buf_ was allocated and 
should be deleted
-  bool        eof_; ///< input has reached EOF
-  bool        mat_; ///< true if AbstractMatcher::matches() was successful
-  bool        cml_; ///< true when counting matching lines instead of line 
numbers
+  bool        own_; ///< true when AbstractMatcher::buf_ allocation is owned 
and should be deleted
+  bool        eof_; ///< true when input has reached EOF
+  bool        mat_; ///< true when AbstractMatcher::matches() was successful
+  bool        cml_; ///< true when counting matching lines instead of line 
numbers, enabled by lineno_skip()
 };
 
 /// The pattern matcher class template extends abstract matcher base class.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/makemake.sh new/ugrep-7.8.2/makemake.sh
--- old/ugrep-7.8.1/makemake.sh 2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/makemake.sh 2026-05-17 21:30:54.000000000 +0200
@@ -38,6 +38,15 @@
 # this may be needed to reconfigure for glibtoolize for example
 # autoreconf -fvi
 
+# run autoconf and automake stuff with maintainer mode disabled
+aclocal
+autoheader
+rm -f config.guess config.sub ar-lib compile depcomp install-sh missing
+automake --add-missing --foreign
+autoconf
+automake
+touch config.h.in
+
 ./build.sh --with-bzip3 || exit 1
 ./man.sh $1
 pushd completions/bash ; ./compgen.sh > /dev/null ; popd || exit 1
@@ -46,11 +55,6 @@
 
 sed "s/^\(AC_INIT(\[ugrep\],\[\)[0-9.]*/\1$1/" configure.ac > configure.tmp && 
mv -f configure.tmp configure.ac || exit 1
 
-# run autoconf and automake stuff with maintainer mode disabled
-aclocal
-autoheader
-rm -f config.guess config.sub ar-lib compile depcomp install-sh missing
-automake --add-missing --foreign
 autoconf
 automake
 touch config.h.in
@@ -61,7 +65,7 @@
 
 else
 
-echo "Usage: ./makemake.sh 5.v.v"
+echo "Usage: ./makemake.sh 7.v.v"
 exit 1
 
 fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/man/ug.1 new/ugrep-7.8.2/man/ug.1
--- old/ugrep-7.8.1/man/ug.1    2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/man/ug.1    2026-05-17 21:30:54.000000000 +0200
@@ -1,4 +1,4 @@
-.TH UGREP "1" "May 03, 2026" "ugrep 7.8.1" "User Commands"
+.TH UGREP "1" "May 17, 2026" "ugrep 7.8.2" "User Commands"
 .SH NAME
 \fBugrep\fR, \fBug\fR -- file pattern searcher
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/man/ugrep-indexer.1 new/ugrep-7.8.2/man/ugrep-indexer.1
--- old/ugrep-7.8.1/man/ugrep-indexer.1 2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/man/ugrep-indexer.1 2026-05-17 21:30:54.000000000 +0200
@@ -1,4 +1,4 @@
-.TH UGREP-INDEXER "1" "May 03, 2026" "ugrep-indexer 7.8.1" "User Commands"
+.TH UGREP-INDEXER "1" "May 17, 2026" "ugrep-indexer 7.8.2" "User Commands"
 .SH NAME
 \fBugrep-indexer\fR -- file indexer to accelerate recursive searching
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/man/ugrep.1 new/ugrep-7.8.2/man/ugrep.1
--- old/ugrep-7.8.1/man/ugrep.1 2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/man/ugrep.1 2026-05-17 21:30:54.000000000 +0200
@@ -1,4 +1,4 @@
-.TH UGREP "1" "May 03, 2026" "ugrep 7.8.1" "User Commands"
+.TH UGREP "1" "May 17, 2026" "ugrep 7.8.2" "User Commands"
 .SH NAME
 \fBugrep\fR, \fBug\fR -- file pattern searcher
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/missing new/ugrep-7.8.2/missing
--- old/ugrep-7.8.1/missing     2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/missing     2026-05-17 21:30:54.000000000 +0200
@@ -1,9 +1,11 @@
 #! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
+# Common wrapper for a few potentially missing GNU and other programs.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2025-06-18.21; # UTC
 
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
+
+# Copyright (C) 1996-2025 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -54,18 +56,20 @@
   -v, --version   output version information and exit
 
 Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
+aclocal autoconf autogen  autoheader autom4te automake autoreconf
+bison   flex     help2man lex        makeinfo perl     yacc
 
 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 'g' are ignored when checking the name.
 
-Send bug reports to <[email protected]>."
+Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>."
     exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
+    echo "missing (GNU Automake) $scriptversion"
     exit $?
     ;;
 
@@ -108,7 +112,7 @@
 program_details ()
 {
   case $1 in
-    aclocal|automake)
+    aclocal|automake|autoreconf)
       echo "The '$1' program is part of the GNU Automake package:"
       echo "<$gnu_software_URL/automake>"
       echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
@@ -123,6 +127,9 @@
       echo "<$gnu_software_URL/m4/>"
       echo "<$perl_URL>"
       ;;
+    *)
+      :
+      ;;
   esac
 }
 
@@ -137,48 +144,55 @@
   printf '%s\n' "'$1' is $msg."
 
   configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  autoheader_deps="'acconfig.h'"
+  automake_deps="'Makefile.am'"
+  aclocal_deps="'acinclude.m4'"
   case $normalized_program in
+    aclocal*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$configure_deps."
+      ;;
     autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
+      echo "You should only need it if you modified $configure_deps."
+      ;;
+    autogen*)
+      echo "You should only need it if you modified a '.def' or '.tpl' file."
+      echo "You may want to install the GNU AutoGen package:"
+      echo "<$gnu_software_URL/autogen/>"
       ;;
     autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "You should only need it if you modified $autoheader_deps or"
       echo "$configure_deps."
-      program_details 'autoheader'
       ;;
     automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "You should only need it if you modified $automake_deps or"
       echo "$configure_deps."
-      program_details 'aclocal'
       ;;
-   autom4te*)
+    autom4te*)
       echo "You might have modified some maintainer files that require"
       echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
+      ;;
+    autoreconf*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$automake_deps or $autoheader_deps or $automake_deps or"
+      echo "$configure_deps."
       ;;
     bison*|yacc*)
       echo "You should only need it if you modified a '.y' file."
       echo "You may want to install the GNU Bison package:"
       echo "<$gnu_software_URL/bison/>"
       ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
     help2man*)
       echo "You should only need it if you modified a dependency" \
            "of a man page."
       echo "You may want to install the GNU Help2man package:"
       echo "<$gnu_software_URL/help2man/>"
     ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
     makeinfo*)
       echo "You should only need it if you modified a '.texi' file, or"
       echo "any other file indirectly affecting the aspect of the manual."
@@ -189,6 +203,12 @@
       echo "want to install GNU make:"
       echo "<$gnu_software_URL/make/>"
       ;;
+    perl*)
+      echo "You should only need it to run GNU Autoconf, GNU Automake, "
+      echo "  assorted other tools, or if you modified a Perl source file."
+      echo "You may want to install the Perl 5 language interpreter:"
+      echo "<$perl_URL>"
+      ;;
     *)
       echo "You might have modified some files without having the proper"
       echo "tools for further handling them.  Check the 'README' file, it"
@@ -197,6 +217,7 @@
       echo "case some other package contains this missing '$1' program."
       ;;
   esac
+  program_details "$normalized_program"
 }
 
 give_advice "$1" | sed -e '1s/^/WARNING: /' \
@@ -207,9 +228,9 @@
 exit $st
 
 # Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-format: "%Y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/src/query.cpp new/ugrep-7.8.2/src/query.cpp
--- old/ugrep-7.8.1/src/query.cpp       2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/src/query.cpp       2026-05-17 21:30:54.000000000 +0200
@@ -887,6 +887,9 @@
   VKey::cleanup();
   Screen::cleanup();
 
+  // print the selected output
+  print();
+
   // close the search pipe to terminate the search threads, if still open
   if (!eof_)
   {
@@ -909,13 +912,6 @@
   stdin_stop = true;
   if (stdin_thread_.joinable())
     stdin_thread_.join();
-
-  // check TTY a final time for color support to print results, if any, this 
time without --query
-  flag_query = false;
-  terminal();
-
-  // print the selected output
-  print();
 }
 
 // run the query UI
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/src/ugrep-indexer.cpp new/ugrep-7.8.2/src/ugrep-indexer.cpp
--- old/ugrep-7.8.1/src/ugrep-indexer.cpp       2026-05-03 14:44:56.000000000 
+0200
+++ new/ugrep-7.8.2/src/ugrep-indexer.cpp       2026-05-17 21:30:54.000000000 
+0200
@@ -35,7 +35,7 @@
 */
 
 // DO NOT ALTER THIS LINE: updated by makemake.sh and we need it physically 
here for MSVC++ build from source
-#define UGREP_VERSION "7.8.1"
+#define UGREP_VERSION "7.8.2"
 
 // use a task-parallel thread to decompress the stream into a pipe to search, 
also handles nested archives
 #define WITH_DECOMPRESSION_THREAD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ugrep-7.8.1/src/ugrep.hpp new/ugrep-7.8.2/src/ugrep.hpp
--- old/ugrep-7.8.1/src/ugrep.hpp       2026-05-03 14:44:56.000000000 +0200
+++ new/ugrep-7.8.2/src/ugrep.hpp       2026-05-17 21:30:54.000000000 +0200
@@ -38,7 +38,7 @@
 #define UGREP_HPP
 
 // DO NOT ALTER THIS LINE: updated by makemake.sh and we need it physically 
here for MSVC++ build from source
-#define UGREP_VERSION "7.8.1"
+#define UGREP_VERSION "7.8.2"
 
 // disable mmap because mmap is almost always slower than the file reading 
speed improvements since 3.0.0
 #define WITH_NO_MMAP

++++++ ugrep.obsinfo ++++++
--- /var/tmp/diff_new_pack.qz80Op/_old  2026-05-18 17:48:06.352523576 +0200
+++ /var/tmp/diff_new_pack.qz80Op/_new  2026-05-18 17:48:06.376524568 +0200
@@ -1,5 +1,5 @@
 name: ugrep
-version: 7.8.1
-mtime: 1777812296
-commit: 0ecc0aa45ad7b327a857cd90d5ec77501edae4b6
+version: 7.8.2
+mtime: 1779046254
+commit: d71b793556d5bf29f9e67b0e28ce4b23d90ba5e7
 

Reply via email to