Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ansifilter for openSUSE:Factory 
checked in at 2026-08-21 16:56:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansifilter (Old)
 and      /work/SRC/openSUSE:Factory/.ansifilter.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ansifilter"

Fri Aug 21 16:56:30 2026 rev:18 rq:1372685 version:2.23

Changes:
--------
--- /work/SRC/openSUSE:Factory/ansifilter/ansifilter.changes    2025-09-22 
16:42:15.031892211 +0200
+++ /work/SRC/openSUSE:Factory/.ansifilter.new.1258/ansifilter.changes  
2026-08-21 16:58:04.531083160 +0200
@@ -1,0 +2,9 @@
+Thu Aug 20 19:51:44 UTC 2026 - Andreas Stieger <[email protected]>
+
+- Update to version 2.23:
+  * fix OSC parsing of Unicode sequences; escape terminal string
+    output
+  * fix gcc-17 compilation
+  * GUI: persist toggle view status in settings
+
+-------------------------------------------------------------------

Old:
----
  ansifilter-2.22.tar.bz2
  ansifilter-2.22.tar.bz2.asc

New:
----
  ansifilter-2.23.tar.bz2
  ansifilter-2.23.tar.bz2.asc

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

Other differences:
------------------
++++++ ansifilter.spec ++++++
--- /var/tmp/diff_new_pack.hQVwvX/_old  2026-08-21 16:58:05.477116719 +0200
+++ /var/tmp/diff_new_pack.hQVwvX/_new  2026-08-21 16:58:05.481116860 +0200
@@ -3,7 +3,7 @@
 #
 # Copyright (c) 2024 SUSE LLC
 # Copyright (c) 2013 Pascal Bleser.
-# Copyright (c) 2025 Andreas Stieger <[email protected]>
+# Copyright (c) 2026 Andreas Stieger <[email protected]>
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 
 
 Name:           ansifilter
-Version:        2.22
+Version:        2.23
 Release:        0
 Summary:        ANSI Terminal Escape Code Converter
 License:        GPL-3.0-or-later

++++++ ansifilter-2.22.tar.bz2 -> ansifilter-2.23.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/ChangeLog.adoc 
new/ansifilter-2.23/ChangeLog.adoc
--- old/ansifilter-2.22/ChangeLog.adoc  2025-09-10 22:59:42.000000000 +0200
+++ new/ansifilter-2.23/ChangeLog.adoc  2026-08-15 18:57:39.000000000 +0200
@@ -1,5 +1,13 @@
 = Ansifilter ChangeLog
 
+=== ansifilter 2.23
+
+15.08.2026
+
+ - fix OSC parsing of Unicode sequences; escape terminal string output 
(https://gitlab.com/saalen/ansifilter/-/work_items/39)
+ - fix gcc-17 compilation
+ - GUI: persist toggle view status in settings
+
 === ansifilter 2.22
 
 04.09.2025
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/bbcodegenerator.cpp 
new/ansifilter-2.23/src/bbcodegenerator.cpp
--- old/ansifilter-2.22/src/bbcodegenerator.cpp 2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/bbcodegenerator.cpp 2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                     bbcodegenerator.cpp  -  description
                              -------------------
 
-    copyright            : (C) 2011-2024 by Andre Simon
+    copyright            : (C) 2011-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/bbcodegenerator.h 
new/ansifilter-2.23/src/bbcodegenerator.h
--- old/ansifilter-2.22/src/bbcodegenerator.h   2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/bbcodegenerator.h   2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                          bbcdegenerator.h  -  description
                              -------------------
 
-    copyright            : (C) 2011-2024 by Andre Simon
+    copyright            : (C) 2011-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/cmdlineoptions.cpp 
new/ansifilter-2.23/src/cmdlineoptions.cpp
--- old/ansifilter-2.22/src/cmdlineoptions.cpp  2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/cmdlineoptions.cpp  2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                           cmdlineoptions.cpp  -  description
                              -------------------
     begin                : Sun Oct 13 2007
-    copyright            : (C) 2007-2024 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
@@ -139,7 +139,7 @@
 void CmdLineOptions::parseRuntimeOptions( const int argc, const char *argv[], 
bool readInputFilenames) {
         Arg_parser parser( argc, argv, options );
     if( parser.error().size() ) {                      // bad option
-        cerr << "ansifilter: "<< parser.error()<<"\n";
+        cerr << "ansifilter: "<< 
StringTools::sanitizeForTerminal(parser.error())<<"\n";
         cerr << "Try 'ansifilter --help' for more information.\n";
         exit( 1 );
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/cmdlineoptions.h 
new/ansifilter-2.23/src/cmdlineoptions.h
--- old/ansifilter-2.22/src/cmdlineoptions.h    2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/cmdlineoptions.h    2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                           cmdlineoptions.h  -  description
                              -------------------
     begin                : Sun Oct 13 2007
-    copyright            : (C) 2007-2023 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/codegenerator.cpp 
new/ansifilter-2.23/src/codegenerator.cpp
--- old/ansifilter-2.22/src/codegenerator.cpp   2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/codegenerator.cpp   2026-08-15 18:57:39.000000000 
+0200
@@ -1,7 +1,7 @@
 /***************************************************************************
                       codegenerator.cpp  -  description
                              -------------------
-    copyright            : (C) 2007-2025 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
@@ -217,7 +217,7 @@
     styleSheetPath=path;
 }
 
-void CodeGenerator::setPreformatting ( WrapMode lineWrappingStyle,
+void CodeGenerator::setPreformatting ( WrapMode /*lineWrappingStyle*/,
                                        unsigned int lineLength)
 {
     lineWrapLen = lineLength;
@@ -337,7 +337,7 @@
 
 ParseError CodeGenerator::generateFileFromString (const string &sourceStr,
         const string &outFileName,
-        const string &title)
+        const string &/*title*/)
 {
     ParseError error=PARSE_OK;
 
@@ -380,7 +380,7 @@
 
 
 
-bool CodeGenerator::printDynamicStyleFile ( const string &outPath )
+bool CodeGenerator::printDynamicStyleFile ( const string &/*outPath*/ )
 {
     return true;
 }
@@ -667,22 +667,6 @@
      } else {
       curX--;
     }
-    if (curX<0) curX=0;
-  }
-
-  if (line[end]=='J'){
- //   std::cerr<<"J!!!\n";
-    /*
-    if (codeVector.size()==1 && codeVector[0]=="2"){
-      for (int i=0;i<100*100;i++) *termBuffer[i]->c =0;
-    }
-    */
-  }
-
-  if (line[end]=='K'){
-  //  std::cerr<<"K!!!\n";
-    //    for (int i=curX;i<asciiArtWidth;i++) termBuffer[curY*asciiArtWidth + 
i]->c =0;
-
   }
 
   if (line[end]=='s'){
@@ -772,7 +756,7 @@
     //FIXME:
     elementStyle.setBold(cur >= 0x20 && cur <= 0x7a);
 
-    if (curX>=0 && curX<asciiArtWidth && curY>=0 && curY<asciiArtHeight){
+    if (curX<asciiArtWidth && curY<asciiArtHeight){
       termBuffer[curX + curY*asciiArtWidth].c = cur;
       termBuffer[curX + curY*asciiArtWidth].style = elementStyle;
       curX++;
@@ -884,7 +868,7 @@
             //FIXME:
             elementStyle.setBold(cur >= 0x20 && cur <= 0x7a);
 
-            if (curX>=0 && curX<asciiArtWidth && curY>=0 && 
curY<asciiArtHeight){
+            if (curX<asciiArtWidth && curY<asciiArtHeight){
               termBuffer[curX + curY*asciiArtWidth].c = cur;
               termBuffer[curX + curY*asciiArtWidth].style = elementStyle;
               curX++;
@@ -1172,7 +1156,7 @@
               break;
             }
           } else {
-            if (curX>=0 && curX<asciiArtWidth && curY>=0 && 
curY<asciiArtHeight){
+            if (curX<asciiArtWidth && curY<asciiArtHeight){
               termBuffer[curX + curY*asciiArtWidth].c = line[i];
               termBuffer[curX + curY*asciiArtWidth].style = elementStyle;
               curX++;
@@ -1325,7 +1309,14 @@
             } else {
                 ++i;
             }
-          } else if (!ignCSISeq && (cur==0x90 || cur==0x9d || cur==0x98 || 
cur==0x9e ||cur==0x9f)) {
+          } else if (!ignCSISeq && (cur==0x90 || cur==0x9d || cur==0x98 || 
cur==0x9e ||cur==0x9f)
+              // these byte values also occur as non-leading bytes of common 
multi-byte UTF-8
+              // characters (e.g. the UTF-8 encoding of the right double 
quotation mark is
+              // 0xe2 0x80 0x9d); only treat them as raw C1 control 
introducers if not preceded
+              // by a UTF-8 lead/continuation byte, otherwise e.g. an OSC8 
hyperlink right after
+              // a smart quote gets silently swallowed and the quote's UTF-8 
sequence corrupted
+              && !( i>0 && ( ((line[i-1]&0xff)&0xc0)==0x80
+                          || ((line[i-1]&0xff)>=0xc2 && 
(line[i-1]&0xff)<=0xf4) ) ) ) {
             seqEnd=i;
             //find string end
             while (   seqEnd<line.length() && (line[seqEnd]&0xff)!=0x9e
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/codegenerator.h 
new/ansifilter-2.23/src/codegenerator.h
--- old/ansifilter-2.22/src/codegenerator.h     2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/codegenerator.h     2026-08-15 18:57:39.000000000 
+0200
@@ -1,7 +1,7 @@
 /***************************************************************************
                           codegenerator.h  -  description
                              -------------------
-    copyright            : (C) 2007-2025 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/elementstyle.cpp 
new/ansifilter-2.23/src/elementstyle.cpp
--- old/ansifilter-2.22/src/elementstyle.cpp    2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/elementstyle.cpp    2026-08-15 18:57:39.000000000 
+0200
@@ -1,7 +1,7 @@
 /***************************************************************************
                           elementstyle.cpp  -  description
                              -------------------
-    copyright            : (C) 2007-2024 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/htmlgenerator.cpp 
new/ansifilter-2.23/src/htmlgenerator.cpp
--- old/ansifilter-2.22/src/htmlgenerator.cpp   2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/htmlgenerator.cpp   2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                      htmlgenerator.cpp  -  description
                              -------------------
 
-    copyright            : (C) 2007-2024 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/htmlgenerator.h 
new/ansifilter-2.23/src/htmlgenerator.h
--- old/ansifilter-2.22/src/htmlgenerator.h     2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/htmlgenerator.h     2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                           htmlgenerator.h  -  description
                              -------------------
 
-    copyright            : (C) 2007-2024 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/main.cpp 
new/ansifilter-2.23/src/main.cpp
--- old/ansifilter-2.22/src/main.cpp    2025-09-10 22:59:42.000000000 +0200
+++ new/ansifilter-2.23/src/main.cpp    2026-08-15 18:57:39.000000000 +0200
@@ -2,7 +2,7 @@
                           main.cpp  -  description
                              -------------------
 
-    copyright            : (C) 2007-2025 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
 
    Highlight is a universal source code to HTML converter. Syntax highlighting
@@ -31,6 +31,7 @@
 #include <memory>
 #include "main.h"
 #include "platform_fs.h"
+#include "stringtools.h"
 
 using std::cout;
 using std::cerr;
@@ -42,7 +43,7 @@
 {
     cout << "\n ansifilter version "
          << Info::getVersion()
-         << "\n Copyright (C) 2007-2025 Andre Simon <a dot simon at 
mailbox.org>"
+         << "\n Copyright (C) 2007-2026 Andre Simon <a dot simon at 
mailbox.org>"
          << "\n\n Argparser class"
          << "\n Copyright (C) 2006-2008 Antonio Diaz Diaz <ant_diaz at 
teleline.es>"
          << "\n\n This software is released under the terms of the GNU General 
"
@@ -145,6 +146,7 @@
     generator->setSVGSize ( options.getWidth(), options.getHeight() );
 }
 
+
 int ANSIFilterApp::run( const int argc, const char *argv[] )
 {
 
@@ -182,7 +184,7 @@
 
         string mapPath = options.getMapPath();
         if (!generator->setColorMap(mapPath)){
-            std::cerr <<"could not read map file: " << mapPath << "\n";
+            std::cerr <<"could not read map file: " << 
StringTools::sanitizeForTerminal(mapPath) << "\n";
             return EXIT_FAILURE;
         }
 
@@ -196,7 +198,7 @@
         }
 
         if (!outFile.is_open()) {
-            cerr << "could not write output: " << outFilePath << endl;
+            cerr << "could not write output: " << 
StringTools::sanitizeForTerminal(outFilePath) << endl;
             return EXIT_FAILURE;
         }
 
@@ -224,7 +226,7 @@
     }
 
     if (!generator->setColorMap(mapPath)){
-        std::cerr <<"could not read map file: " << mapPath << "\n";
+        std::cerr <<"could not read map file: " << 
StringTools::sanitizeForTerminal(mapPath) << "\n";
         return EXIT_FAILURE;
     }
 
@@ -242,7 +244,7 @@
 
         if ( inFileList[i].size() && Platform::fileSize(inFileList[i]) > 
options.getMaxFileSize() ) {
 
-            std::cerr <<"file exceeds max size (see --max-size): " << 
inFileList[i] << "\n";
+            std::cerr <<"file exceeds max size (see --max-size): " << 
StringTools::sanitizeForTerminal(inFileList[i]) << "\n";
             return EXIT_FAILURE;
         }
 
@@ -253,10 +255,10 @@
         ansifilter::ParseError error = generator->generateFile(inFileList[i], 
outFilePath);
 
         if (error==ansifilter::BAD_INPUT) {
-            std::cerr << "could not read input: " << inFileList[i] << "\n";
+            std::cerr << "could not read input: " << 
StringTools::sanitizeForTerminal(inFileList[i]) << "\n";
             failure=true;
         } else if (error==ansifilter::BAD_OUTPUT) {
-            std::cerr << "could not write output: " << outFilePath << "\n";
+            std::cerr << "could not write output: " << 
StringTools::sanitizeForTerminal(outFilePath) << "\n";
             failure=true;
         }
         ++i;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/main.h 
new/ansifilter-2.23/src/main.h
--- old/ansifilter-2.22/src/main.h      2025-09-10 22:59:42.000000000 +0200
+++ new/ansifilter-2.23/src/main.h      2026-08-15 18:57:39.000000000 +0200
@@ -52,7 +52,7 @@
     void printVersionInfo();
     void printHelp();
     void setGeneratorProperties(ansifilter::CodeGenerator* generator, const 
CmdLineOptions& options, const std::string& title);
-
+       std::string sanitizeForTerminal(const std::string& s);
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/plaintextgenerator.cpp 
new/ansifilter-2.23/src/plaintextgenerator.cpp
--- old/ansifilter-2.22/src/plaintextgenerator.cpp      2025-09-10 
22:59:42.000000000 +0200
+++ new/ansifilter-2.23/src/plaintextgenerator.cpp      2026-08-15 
18:57:39.000000000 +0200
@@ -2,7 +2,7 @@
                      htmlgenerator.cpp  -  description
                              -------------------
 
-    copyright            : (C) 2007-2023 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/plaintextgenerator.h 
new/ansifilter-2.23/src/plaintextgenerator.h
--- old/ansifilter-2.22/src/plaintextgenerator.h        2025-09-10 
22:59:42.000000000 +0200
+++ new/ansifilter-2.23/src/plaintextgenerator.h        2026-08-15 
18:57:39.000000000 +0200
@@ -2,7 +2,7 @@
                           htmlgenerator.h  -  description
                              -------------------
 
-    copyright            : (C) 2007-2023 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/platform_fs.cpp 
new/ansifilter-2.23/src/platform_fs.cpp
--- old/ansifilter-2.22/src/platform_fs.cpp     2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/platform_fs.cpp     2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                           platform_fs.cpp  -  description
                              -------------------
     begin                : Sun Oct 13 2007
-    copyright            : (C) 2007-2020 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/platform_fs.h 
new/ansifilter-2.23/src/platform_fs.h
--- old/ansifilter-2.22/src/platform_fs.h       2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/platform_fs.h       2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                           platform_fs.h  -  description
                              -------------------
     begin                : Sun Oct 13 2007
-    copyright            : (C) 2007-2020 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/qt-gui/mydialog.cpp 
new/ansifilter-2.23/src/qt-gui/mydialog.cpp
--- old/ansifilter-2.22/src/qt-gui/mydialog.cpp 2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/qt-gui/mydialog.cpp 2026-08-15 18:57:39.000000000 
+0200
@@ -118,6 +118,13 @@
     settings.beginGroup("window");
     resize(settings.value("size", QSize(400, 400)).toSize());
     move(settings.value("pos", QPoint(200, 200)).toPoint());
+    if (settings.value("options_visible", true).toBool()) {
+        dlg.groupBox->show();
+        dlg.pbToggleView->setText("Hide Options");
+    } else {
+        dlg.groupBox->hide();
+        dlg.pbToggleView->setText("Show Options");
+    }
     settings.endGroup();
 
     this->setAcceptDrops(true);
@@ -137,7 +144,7 @@
     plausibility();
 }
 
-void MyDialog::closeEvent(QCloseEvent *event)
+void MyDialog::closeEvent(QCloseEvent * /*event*/)
 {
     QSettings settings("andre-simon.de", "ansifilter-gui");
     settings.beginGroup("format");
@@ -171,6 +178,7 @@
     settings.beginGroup("window");
     settings.setValue("size", size());
     settings.setValue("pos", pos());
+    settings.setValue("options_visible", dlg.groupBox->isVisible());
     settings.endGroup();
 }
 
@@ -184,7 +192,7 @@
     }
 }
 
-void MyDialog::dragLeaveEvent(QDragLeaveEvent* event)
+void MyDialog::dragLeaveEvent(QDragLeaveEvent* /*event*/)
 {
     dlg.lblDrop->setEnabled(false);
 }
@@ -507,27 +515,27 @@
     showFile();
 }
 
-void MyDialog::on_sbWidth_valueChanged(int i)
+void MyDialog::on_sbWidth_valueChanged(int /*i*/)
 {
     showFile();
 }
 
-void MyDialog::on_sbHeight_valueChanged(int i)
+void MyDialog::on_sbHeight_valueChanged(int /*i*/)
 {
     showFile();
 }
 
-void MyDialog::on_comboAnsiFormat_currentIndexChanged(int idx)
+void MyDialog::on_comboAnsiFormat_currentIndexChanged(int /*idx*/)
 {
     showFile();
 }
 
-void MyDialog::on_comboFont_currentIndexChanged(int idx)
+void MyDialog::on_comboFont_currentIndexChanged(int /*idx*/)
 {
     showFile();
 }
 
-void MyDialog::on_comboEncoding_currentIndexChanged(int idx)
+void MyDialog::on_comboEncoding_currentIndexChanged(int /*idx*/)
 {
     showFile();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/rtfgenerator.cpp 
new/ansifilter-2.23/src/rtfgenerator.cpp
--- old/ansifilter-2.22/src/rtfgenerator.cpp    2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/rtfgenerator.cpp    2026-08-15 18:57:39.000000000 
+0200
@@ -1,7 +1,7 @@
 /***************************************************************************
                           rtfcode.cpp  -  description
                              -------------------
-    copyright            : (C) 2007-2024 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/rtfgenerator.h 
new/ansifilter-2.23/src/rtfgenerator.h
--- old/ansifilter-2.22/src/rtfgenerator.h      2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/rtfgenerator.h      2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                           rtfcode.h  -  description
                              -------------------
 
-    copyright            : (C) 2007-2024 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/stringtools.cpp 
new/ansifilter-2.23/src/stringtools.cpp
--- old/ansifilter-2.22/src/stringtools.cpp     2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/stringtools.cpp     2026-08-15 18:57:39.000000000 
+0200
@@ -75,4 +75,13 @@
     return results;
 }
 
+string sanitizeForTerminal(std::string_view s)
+{
+       string out;
+       out.reserve(s.size());
+       for (unsigned char c : s)
+               out += (c < 0x20 && c != '\t') ? '?' : static_cast<char>(c);
+       return out;
+}
+
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/stringtools.h 
new/ansifilter-2.23/src/stringtools.h
--- old/ansifilter-2.22/src/stringtools.h       2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/stringtools.h       2026-08-15 18:57:39.000000000 
+0200
@@ -65,6 +65,11 @@
     return !(iss >> f >> val).fail();
 }
 
+/** Replace control characters that could be interpreted as terminal escape 
sequences.
+    \param s Input string
+    \returns String with control characters replaced with '?' */
+string sanitizeForTerminal(std::string_view s);
+
 }
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/stylecolour.h 
new/ansifilter-2.23/src/stylecolour.h
--- old/ansifilter-2.22/src/stylecolour.h       2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/stylecolour.h       2026-08-15 18:57:39.000000000 
+0200
@@ -28,6 +28,7 @@
 
 #include "enums.h"
 
+#include <sstream>
 #include <string>
 #include <string_view>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/svggenerator.cpp 
new/ansifilter-2.23/src/svggenerator.cpp
--- old/ansifilter-2.22/src/svggenerator.cpp    2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/svggenerator.cpp    2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                      svggenerator.cpp  -  description
                              -------------------
     begin                : Mo 01.04.2019
-    copyright            : (C) 2019-2023 by Andre Simon
+    copyright            : (C) 2019-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/svggenerator.h 
new/ansifilter-2.23/src/svggenerator.h
--- old/ansifilter-2.22/src/svggenerator.h      2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/svggenerator.h      2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                     SVGGenerator.h  -  description
                              -------------------
     begin                : Mo 23.06.2008
-    copyright            : (C) 2019-2023 by Andre Simon
+    copyright            : (C) 2019-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/texgenerator.cpp 
new/ansifilter-2.23/src/texgenerator.cpp
--- old/ansifilter-2.22/src/texgenerator.cpp    2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/texgenerator.cpp    2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                      texgenerator.cpp  -  description
                              -------------------
 
-    copyright            : (C) 2008-2023 by Andre Simon
+    copyright            : (C) 2008-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/texgenerator.h 
new/ansifilter-2.23/src/texgenerator.h
--- old/ansifilter-2.22/src/texgenerator.h      2025-09-10 22:59:42.000000000 
+0200
+++ new/ansifilter-2.23/src/texgenerator.h      2026-08-15 18:57:39.000000000 
+0200
@@ -2,7 +2,7 @@
                           texgenerator.h  -  description
                              -------------------
 
-    copyright            : (C) 2008-2023 by Andre Simon
+    copyright            : (C) 2008-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansifilter-2.22/src/version.h 
new/ansifilter-2.23/src/version.h
--- old/ansifilter-2.22/src/version.h   2025-09-10 22:59:42.000000000 +0200
+++ new/ansifilter-2.23/src/version.h   2026-08-15 18:57:39.000000000 +0200
@@ -1,7 +1,7 @@
 /***************************************************************************
                           version.h  -  description
                              -------------------
-    copyright            : (C) 2007-2025 by Andre Simon
+    copyright            : (C) 2007-2026 by Andre Simon
     email                : [email protected]
  ***************************************************************************/
 
@@ -27,7 +27,7 @@
 
 #include <string>
 
-#define ANSIFILTER_VERSION "2.22"
+#define ANSIFILTER_VERSION "2.23"
 
 #define ANSIFILTER_URL   "http://andre-simon.de/";
 #define ANSIFILTER_EMAIL "[email protected]"

Reply via email to