Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package highlight for openSUSE:Factory 
checked in at 2021-02-22 14:23:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/highlight (Old)
 and      /work/SRC/openSUSE:Factory/.highlight.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "highlight"

Mon Feb 22 14:23:15 2021 rev:34 rq:874193 version:3.62

Changes:
--------
--- /work/SRC/openSUSE:Factory/highlight/highlight.changes      2020-12-23 
14:21:13.453724835 +0100
+++ /work/SRC/openSUSE:Factory/.highlight.new.2378/highlight.changes    
2021-02-22 14:23:17.303603798 +0100
@@ -1,0 +2,17 @@
+Fri Feb 19 21:27:57 UTC 2021 - antoine.belv...@opensuse.org
+
+- Update to version 3.62:
+  * Fixed `--list-scripts` output.
+
+-------------------------------------------------------------------
+Wed Feb 17 21:36:15 UTC 2021 - antoine.belv...@opensuse.org
+
+- Update to version 3.61:
+  * Added `--syntax-supported` option
+  * Fixed indentation of Plain TeX output
+- Drop makefile patches since build can actually be configured
+  without them:
+  * highlight-3.45-fix-doc-dir.patch
+  * highlight-3.59-use_optflags.patch
+
+-------------------------------------------------------------------

Old:
----
  highlight-3.45-fix-doc-dir.patch
  highlight-3.59-use_optflags.patch
  highlight-3.60.tar.bz2
  highlight-3.60.tar.bz2.asc

New:
----
  highlight-3.62.tar.bz2
  highlight-3.62.tar.bz2.asc

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

Other differences:
------------------
++++++ highlight.spec ++++++
--- /var/tmp/diff_new_pack.WbfcXm/_old  2021-02-22 14:23:17.959604438 +0100
+++ /var/tmp/diff_new_pack.WbfcXm/_new  2021-02-22 14:23:17.967604446 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package highlight
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %bcond_without gui
 Name:           highlight
-Version:        3.60
+Version:        3.62
 Release:        0
 Summary:        Universal Source Code to Formatted Text Converter
 License:        GPL-3.0-or-later
@@ -27,10 +27,6 @@
 Source0:        http://www.andre-simon.de/zip/%{name}-%{version}.tar.bz2
 Source1:        http://www.andre-simon.de/zip/%{name}-%{version}.tar.bz2.asc
 Source99:       highlight.keyring
-# PATCH-FIX-OPENSUSE highlight-3.45-fix-doc-dir.patch
-Patch0:         highlight-3.45-fix-doc-dir.patch
-# PATCH-FIX-OPENSUSE highlight-3.59-use_optflags.patch
-Patch1:         highlight-3.59-use_optflags.patch
 BuildRequires:  dos2unix
 BuildRequires:  gcc-c++
 BuildRequires:  libboost_headers-devel
@@ -65,15 +61,19 @@
 dos2unix extras/pandoc/* extras/themes-resources/base16/*
 
 %build
-%make_build OPTFLAGS="%{optflags}" cli
+export CFLAGS="%{optflags}"
+%make_build cli
+
 %if %{with gui}
 # Don't call gui and cli targets in the same make invocation
 # as it leads to concurrency issues.
-%make_build OPTFLAGS="%{optflags}" gui
+%make_build gui                 \
+  doc_dir="%{_docdir}/%{name}/" \
+  QMAKE="qmake-qt5 QMAKE_CXXFLAGS=\"%{optflags}\""
 %endif
 
 %install
-%makeinstall \
+%makeinstall doc_dir="%{_docdir}/%{name}/" \
 %if %{with gui}
   install-gui
 %suse_update_desktop_file -G "Text converter" -r %{name} Utility TextEditor

++++++ highlight-3.60.tar.bz2 -> highlight-3.62.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/ChangeLog.adoc 
new/highlight-3.62/ChangeLog.adoc
--- old/highlight-3.60/ChangeLog.adoc   2020-12-21 11:56:19.000000000 +0100
+++ new/highlight-3.62/ChangeLog.adoc   2021-02-19 20:46:18.000000000 +0100
@@ -6,6 +6,18 @@
 :toc: left
 :toclevels: 1
 
+== highlight 3.62
+
+19.02.2021
+
+  - fixed `--list-scripts` output (thanks to Jens Schleusener)
+
+== highlight 3.61
+
+11.02.2021
+
+  - added `--syntax-supported` option
+  - fixed indentation of Plain TeX output
 
 == highlight 3.60
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/ballerina.lang 
new/highlight-3.62/langDefs/ballerina.lang
--- old/highlight-3.60/langDefs/ballerina.lang  2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/langDefs/ballerina.lang  2021-02-19 20:46:18.000000000 
+0100
@@ -30,7 +30,7 @@
 Strings={
   Delimiter=[["|']],
   Escape = [[ \\u\d{4}|\\x?\d{3}|\\\w|\\[\'\\\"] ]],
-  Interpolation=[[ \$\{.+?\} ]],
+  Interpolation=[[ \$\{[^}]+\} ]],
 }
 
 IgnoreCase=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/ceylon.lang 
new/highlight-3.62/langDefs/ceylon.lang
--- old/highlight-3.60/langDefs/ceylon.lang     2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/langDefs/ceylon.lang     2021-02-19 20:46:18.000000000 
+0100
@@ -29,7 +29,7 @@
 Strings = {
   Delimiter=[["""|"|']],
   RawPrefix="R",
-  Interpolation=[[ ``[\w\(\)]+?``|\\\{.+?\} ]],
+  Interpolation=[[ ``[\w\(\)]+?``|\\\{[^}]+\} ]],
 }
 
 Comments = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/cmake.lang 
new/highlight-3.62/langDefs/cmake.lang
--- old/highlight-3.60/langDefs/cmake.lang      2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/langDefs/cmake.lang      2021-02-19 20:46:18.000000000 
+0100
@@ -13,7 +13,7 @@
     Regex=[[ [0-9A-Z_]{2,}  ]],
   },
   { Id=3,
-    Regex=[[\$\{.+\$\{.+?\}.+?\}|\$\{.+?\} ]],
+    Regex=[[\$\{.+\$\{[^}]+\}.+?\}|\$\{[^}]+\} ]],
   },
   { Id=3,
     Regex=[[ [A-Z_\>]+\:([\w/]+) ]],
@@ -29,7 +29,7 @@
     { Open=[[ \[=*\[ ]], Close=[[ \]=*\] ]], Raw=true }
   },
   AssertEqualLength=true,
-  Interpolation=[[ \$\{.+?\} ]]
+  Interpolation=[[ \$\{[^}]+\} ]]
 }
 
 IgnoreCase=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/dart.lang 
new/highlight-3.62/langDefs/dart.lang
--- old/highlight-3.60/langDefs/dart.lang       2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/langDefs/dart.lang       2021-02-19 20:46:18.000000000 
+0100
@@ -34,7 +34,7 @@
 Strings = {
   Delimiter=[['|"]],
   RawPrefix="r",
-  Interpolation=[[\$\w+|\$\{.+?\}]],
+  Interpolation=[[\$\w+|\$\{[^}]+\}]],
   Escape = [[ \\u\d{4}|\\x?\d{3}|\\\w|\\[\'\\\"] ]]
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/js.lang 
new/highlight-3.62/langDefs/js.lang
--- old/highlight-3.60/langDefs/js.lang 2020-12-21 11:56:19.000000000 +0100
+++ new/highlight-3.62/langDefs/js.lang 2021-02-19 20:46:18.000000000 +0100
@@ -41,7 +41,7 @@
 
 Strings={
   Delimiter=[["|'|`]],
-  Interpolation=[[ \$\{.+?\} ]],
+  Interpolation=[[ \$\{[^}]+\} ]],
   Escape = [=[ 
\\u\{?[[:xdigit:]]{4,6}\}?|\\\d{3}|\\x[[:xdigit:]]{2}|\\[ntvbrfa\\\?'\"] ]=]
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/kotlin.lang 
new/highlight-3.62/langDefs/kotlin.lang
--- old/highlight-3.60/langDefs/kotlin.lang     2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/langDefs/kotlin.lang     2021-02-19 20:46:18.000000000 
+0100
@@ -28,7 +28,7 @@
 
 Strings = {
   Delimiter=[['|`|"]],
-    Interpolation=[[ [%$]\w+|\$\{.+?\} ]],
+    Interpolation=[[ [%$]\w+|\$\{[^}]+\} ]],
 }
 
 Comments = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/rs.lang 
new/highlight-3.62/langDefs/rs.lang
--- old/highlight-3.60/langDefs/rs.lang 2020-12-21 11:56:19.000000000 +0100
+++ new/highlight-3.62/langDefs/rs.lang 2021-02-19 20:46:18.000000000 +0100
@@ -35,7 +35,8 @@
 Strings = {
   Delimiter=[["]],
   RawPrefix="r",
-  Escape = [[ 
\\[\'\\\"aftnrv]|\\U\{[0-9a-fA-F]{8}\}|\\u\{[0-9a-fA-F]{4}\}|\\x?? ]]
+  Escape = [[ 
\\[\'\\\"aftnrv]|\\U\{[0-9a-fA-F]{8}\}|\\u\{[0-9a-fA-F]{4}\}|\\x?? ]],
+  Interpolation=[[ \{[^}]+\}|\{\} ]]
 }
 
 Comments = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/scala.lang 
new/highlight-3.62/langDefs/scala.lang
--- old/highlight-3.60/langDefs/scala.lang      2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/langDefs/scala.lang      2021-02-19 20:46:18.000000000 
+0100
@@ -9,7 +9,7 @@
 table.insert(Keywords,
   { Id=1,
     List={"abstract", "def", "object", "override", "sealed", "trait", "type", 
"val", "var", "yield",
-          "forSome", "implicit", "lazy", "match", "null", "with"},
+          "forSome", "implicit", "lazy", "match", "null", "with", "given"},
   }
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/terraform.lang 
new/highlight-3.62/langDefs/terraform.lang
--- old/highlight-3.60/langDefs/terraform.lang  2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/langDefs/terraform.lang  2021-02-19 20:46:18.000000000 
+0100
@@ -8,16 +8,14 @@
 Keywords={
 
   { Id=1,
-    List= { "variable", "resource", "connection", "data", "vars", "tags", 
"module", "locals", "provider"
-          }
+    List= { "variable", "resource", "connection", "data", "vars", "tags", 
"module", "locals", "provider" }
   },
 
   { Id=3,
     Regex=[[(\w+)\s*\=]]
   },
   { Id=2,
-    List= { "false", "true"
-          }
+    List= { "false", "true" }
   }
 
 }
@@ -26,7 +24,7 @@
 -- hereDoc opening delimiter, see OnStateChange to handle end of string
 Strings={
   Delimiter=[[<<[\-]?\s*["']?\s*[A-Za-z_]+["']?|"|`|']],
-  Interpolation=[[ (\$\{.+?\}) ]]
+  Interpolation=[[ (\$\{[^}]+\}) ]]
 }
 
 Comments = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/langDefs/ts.lang 
new/highlight-3.62/langDefs/ts.lang
--- old/highlight-3.60/langDefs/ts.lang 2020-12-21 11:56:19.000000000 +0100
+++ new/highlight-3.62/langDefs/ts.lang 2021-02-19 20:46:18.000000000 +0100
@@ -36,7 +36,7 @@
 
 Strings = {
   Delimiter=[[`|'|"]],
-  Interpolation=[[ \$\{.+?\} ]],
+  Interpolation=[[ \$\{[^}]+\} ]],
 }
 
 Comments = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/man/highlight.1 
new/highlight-3.62/man/highlight.1
--- old/highlight-3.60/man/highlight.1  2020-12-21 11:56:19.000000000 +0100
+++ new/highlight-3.62/man/highlight.1  2021-02-19 20:46:18.000000000 +0100
@@ -1,4 +1,4 @@
-.TH highlight 1 "2020-01-18" "Andre Simon" "user documentation"
+.TH highlight 1 "2021-01-09" "Andre Simon" "user documentation"
 
 .SH NAME
 Highlight - a universal sourcecode to formatted text converter
@@ -26,8 +26,8 @@
 .IP "--config-file=<file>"
 set path to a lang or theme file
 .IP "-h, --help[=topic]"
- print this help or a topic description 
- <topic> = [syntax, theme, plugin, config]
+print this help or a topic description
+<topic> = [syntax, theme, plugin, config]
 .IP "-i, --input=<file>"
 name of input file
 .IP "-o, --output=<file>"
@@ -40,6 +40,8 @@
 set type of source code, necessary if input file suffix is missing. The syntax 
may also be defined as path of the language file.
 .IP "--syntax-by-name=<name>"
 specify type of source code by given name.  Will not read a file of this name, 
useful for stdin and to determine the syntax of the file before piping its 
content to highlight. This option overrides --syntax.
+.IP "--syntax-supported"
+test if the given syntax can be loaded and print the result  (assumes -S or 
--syntax-by-name)
 .IP "-v, --verbose"
 print debug info to stderr
 .IP "-q, --quiet"
@@ -47,10 +49,10 @@
 .IP "--force[=syntax]"
 generate output if input syntax is unknown. The fallback syntax may be set 
here, Plain Text is default.
 .IP "--list-scripts=<type>"
-list installed scripts 
+list installed scripts
 <type> = [langs, themes, plugins]
 .IP "--list-cat=<categories>"
-filter the scripts by the given categories (example: 
--list-cat='source;script') 
+filter the scripts by the given categories (example: 
--list-cat='source;script')
 .IP "--max-size=<size>"
 set maximum input file size (examples: 512M, 1G; default: 256M)
 .IP "--plug-in=<script>"
@@ -212,7 +214,7 @@
 may contain command line options, but no input file paths.
 
 .SH HINTS
-If no in- or output files are specified, stdin and stdout will be used for  
in- or output.
+If no in- or output files are specified, stdin and stdout will be used for in- 
or output.
 Since version 3.44, reading from stdin can also be triggered by the '-' option.
 
 Default output format: xterm256 or truecolor if appropriate, HTML otherwise.
@@ -224,8 +226,8 @@
 
 Reformatting code (-F) will only work with C, C++, C# and Java input files.
 .SH BUGS
-Wrapping lines with -V or -W will cause faulty highlighting of long single 
line comments and directives. 
-Using line-range might interfere with multi line syntax elements. Use with 
caution.    
+Wrapping lines with -V or -W will cause faulty highlighting of long single 
line comments and directives.
+Using line-range might interfere with multi line syntax elements. Use with 
caution.
 .SH FILES
 The configuration files are stored in
 .I /usr/share/highlight/.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/cli/cmdlineoptions.cpp 
new/highlight-3.62/src/cli/cmdlineoptions.cpp
--- old/highlight-3.60/src/cli/cmdlineoptions.cpp       2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/cli/cmdlineoptions.cpp       2021-02-19 
20:46:18.000000000 +0100
@@ -49,7 +49,7 @@
         S_OPT_PLUGIN_READFILE, S_OPT_PLUGIN_PARAMETER, S_OPT_LIST_SCRIPTS, 
S_OPT_CANVAS,
         S_OPT_KEEP_INJECTIONS, S_OPT_FORCE_STDOUT, S_OPT_LATEX_BEAMER, 
S_OPT_NO_VERSION_INFO,
         S_OPT_REFORMAT_OPT, S_OPT_RANGE_OPT, S_OPT_BASE16, S_OPT_CATEGORIES, 
S_OPT_PIPED_FNAME,
-        S_OPT_ISOLATE, S_OPT_MAX_FILE_SIZE
+        S_OPT_ISOLATE, S_OPT_MAX_FILE_SIZE, S_OPT_SYNTAX_SUPPORTED
     };
 
 const Arg_parser::Option options[] = {
@@ -125,7 +125,7 @@
         { S_OPT_FORCE_STDOUT,     OPT_FORCE_STDOUT,    Arg_parser::no },
         { S_OPT_LATEX_BEAMER,     OPT_LATEX_BEAMER,    Arg_parser::no },
         { S_OPT_NO_VERSION_INFO,  OPT_NO_VERSION_INFO, Arg_parser::no },
-        
+
         { S_OPT_PLUGIN,           OPT_PLUGIN,          Arg_parser::yes },
         { S_OPT_PLUGIN_READFILE,  OPT_PLUGIN_READFILE, Arg_parser::yes },
         { S_OPT_PLUGIN_PARAMETER, OPT_PLUGIN_PARAMETER, Arg_parser::yes },
@@ -138,7 +138,8 @@
         { S_OPT_PIPED_FNAME,      OPT_PIPED_FNAME,     Arg_parser::yes },
         { S_OPT_ISOLATE,          OPT_ISOLATE_TAGS,    Arg_parser::no },
         { S_OPT_MAX_FILE_SIZE,    OPT_MAX_FILE_SIZE,   Arg_parser::yes },
-        
+        { S_OPT_SYNTAX_SUPPORTED, OPT_SYNTAX_SUPPORTED, Arg_parser::no },
+
         { 0, 0, Arg_parser::no }
     };
 
@@ -195,13 +196,14 @@
     explicit_output_format(false),
     opt_isolate(false),
     opt_encoding_explicit(false),
+    opt_syntax_supported_check(false),
     maxFileSize(268435456),
     fallbackSyntax("txt"),
     anchorPrefix ( "l" ),
     helpLang ( "en" ),
     encodingName ( "ISO-8859-1" )
 {
-    
+
     char* hlEnvOptions=getenv("HIGHLIGHT_OPTIONS");
     if (hlEnvOptions!=NULL) {
         std::ostringstream envos;
@@ -212,15 +214,15 @@
         std::vector<char*> options;
         while (ss >> arg)
         {
-            ls.push_back(arg); 
+            ls.push_back(arg);
             options.push_back(const_cast<char*>(ls.back().c_str()));
         }
-        options.push_back(0); 
+        options.push_back(0);
         parseRuntimeOptions(options.size()-1, (const char**) &options[0], 
false);
     }
-    
+
     parseRuntimeOptions(argc, argv);
-    
+
     if ( skipArg.size() && inputFileNames.size() > 1) {
         istringstream valueStream;
         string elem;
@@ -229,7 +231,7 @@
         while ( getline ( valueStream, elem, ';' ) ) {
             ignoredFileTypes.insert ( elem );
         }
-       
+
         vector<string>::iterator file=inputFileNames.begin();
         while ( file!=inputFileNames.end()) {
             for ( set<string>::iterator ext=ignoredFileTypes.begin(); 
ext!=ignoredFileTypes.end(); ext++ ) {
@@ -242,7 +244,7 @@
                 file++;
         }
     }
-    
+
     // no batch mode + no explicit format given
     if (inputFileNames.size()==1 && !explicit_output_format) {
         int colorOptions = Platform::isColorEscCapable();
@@ -255,7 +257,7 @@
 CmdLineOptions::~CmdLineOptions() {}
 
 void CmdLineOptions::parseRuntimeOptions( const int argc, const char *argv[], 
bool readInputFilenames) {
-    
+
 
     Arg_parser parser ( argc, argv, options );
     if ( parser.error().size() ) { // bad option
@@ -263,7 +265,7 @@
         cerr << "Try 'highlight --help' for more information.\n";
         exit ( EXIT_FAILURE );
     }
-    
+
     int argind = 0;
     for ( ; argind < parser.arguments(); ++argind ) {
         const int code = parser.code ( argind );
@@ -402,14 +404,14 @@
         case 's':
             styleName = arg;
             if (Platform::fileExists(styleName)){
-                absThemePath = styleName; 
+                absThemePath = styleName;
             }
             break;
         case 'S':
         case S_OPT_COMPAT_SRCLANG:
             syntax = arg;
             opt_syntax = true;
-            
+
             if (Platform::fileExists(arg) && 
string::npos!=arg.find_last_of('.')){
                 absLangPath = arg;
                 syntax = arg.substr(0, arg.find_last_of('.'));
@@ -455,7 +457,7 @@
             opt_force_output = true;
             if  ( !arg.empty() ) {
                 fallbackSyntax=arg;
-            } 
+            }
             break;
         case S_OPT_INLINE_CSS:
             opt_inline_css=true;
@@ -468,6 +470,8 @@
                 keywordCase = StringTools::CASE_LOWER;
             else if ( tmp == "capitalize" )
                 keywordCase = StringTools::CASE_CAPITALIZE;
+            else
+                cerr << "highlight: unknown argument " << arg << endl;
         }
         break;
         case S_OPT_PRINT_CONFIG:
@@ -532,8 +536,13 @@
             break;
         case S_OPT_NO_TRAILING_NL:
             opt_no_trailing_nl = 1;
-            if (arg=="empty-file" || arg=="blank")
-                opt_no_trailing_nl = 2;
+            if (arg.size()) {
+              if (arg=="empty-file")
+                  opt_no_trailing_nl = 2;
+              else
+                  cerr << "highlight: unknown argument " << arg << endl;
+            }
+
             break;
         case S_OPT_KEEP_INJECTIONS:
             opt_keep_injections = true;
@@ -549,7 +558,7 @@
             } else if (arg.find(".theme")!=string::npos) absThemePath=arg;
             else cerr << "highlight: unknown config file type" << endl;
             break;
-        
+
         case S_OPT_RANGE_OPT: {
             size_t delimPos=arg.find("-");
             if (delimPos!=string::npos) {
@@ -568,10 +577,10 @@
         case S_OPT_CANVAS:
             canvasPaddingWidth=80;
             numberSpaces=4; // get around problem with maskWs and tab output
-            if  ( !arg.empty() ) 
+            if  ( !arg.empty() )
                 StringTools::str2num<unsigned int> ( canvasPaddingWidth, arg, 
std::dec );
             break;
-            
+
         case S_OPT_CATEGORIES:
             listScriptCategory=arg;
             if (listScriptType.empty()) listScriptType = "langs";
@@ -592,7 +601,10 @@
             }
             break;
         }
-        
+        case S_OPT_SYNTAX_SUPPORTED:
+            opt_syntax_supported_check = true;
+            break;
+
         default:
             cerr << "highlight: option parsing failed" << endl;
         }
@@ -713,12 +725,12 @@
 {
     if (!styleName.empty())
         return styleName+".theme";
-    
+
     bool isEscOutput = outputType==highlight::ESC_XTERM256 || 
outputType==highlight::ESC_TRUECOLOR;
     bool isDarkTerminal = Platform::isDarkTerminal();
     if (opt_base16_theme)
         return isEscOutput && isDarkTerminal ? "harmonic-dark.theme" : 
"harmonic-light.theme";
-    
+
     return isEscOutput && isDarkTerminal ? "edit-vim-dark.theme" : 
"edit-kwrite.theme";
 }
 
@@ -733,7 +745,7 @@
 }
 
 bool CmdLineOptions::omitVersionInfo() const {
-    return opt_no_version_info;    
+    return opt_no_version_info;
 }
 
 bool CmdLineOptions::isolateTags() const
@@ -741,6 +753,17 @@
     return opt_isolate;
 }
 
+bool CmdLineOptions::isSkippedExt ( const string& ext ) const
+{
+    return ignoredFileTypes.count ( ext );
+}
+
+bool CmdLineOptions::checkSyntaxSupport() const
+{
+    return opt_syntax_supported_check;
+}
+
+
 string CmdLineOptions::getOutFileSuffix() const
 {
     switch ( outputType ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/cli/cmdlineoptions.h 
new/highlight-3.62/src/cli/cmdlineoptions.h
--- old/highlight-3.60/src/cli/cmdlineoptions.h 2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/src/cli/cmdlineoptions.h 2021-02-19 20:46:18.000000000 
+0100
@@ -112,10 +112,12 @@
 #define OPT_REFORMAT_OPT     "reformat-option"
 #define OPT_RANGE_OPT        "line-range"
 #define OPT_BASE16           "base16"
-#define OPT_CATEGORIES       "list-cat"  
+#define OPT_CATEGORIES       "list-cat"
 #define OPT_PIPED_FNAME      "syntax-by-name"
 #define OPT_ISOLATE_TAGS     "isolate"
 #define OPT_MAX_FILE_SIZE    "max-size"
+#define OPT_SYNTAX_SUPPORTED "syntax-supported"
+
 
 // Improve CLI option compatibility with GNU source-highlight
 #define OPT_COMPAT_DOC       "doc"
@@ -128,7 +130,6 @@
 #define OPT_COMPAT_LINENUM   "line-number"
 #define OPT_COMPAT_LINEREF   "line-number-ref"
 
-using namespace std;
 
 /// handle command line options
 
@@ -144,29 +145,29 @@
     ~CmdLineOptions();
 
     /** \return Single output file name*/
-    const string &getSingleOutFilename();
+    const std::string &getSingleOutFilename();
 
     /** \return Single input file name*/
-    const string &getSingleInFilename() const;
+    const std::string &getSingleInFilename() const;
 
     /** \return Output directory*/
-    const string& getOutDirectory() ;
+    const std::string& getOutDirectory() ;
 
     /** \return Style output file name*/
-    const string getStyleOutFilename() const;
+    const std::string getStyleOutFilename() const;
 
     /** \return Style input file name*/
-    const string& getStyleInFilename() const;
+    const std::string& getStyleInFilename() const;
 
     /** \return Char set*/
-    const string& getEncoding() const;
+    const std::string& getEncoding() const;
 
     /** \return SVG width*/
-    const string& getSVGWidth() const;
+    const std::string& getSVGWidth() const;
 
     /** \return SVG height*/
-    const string& getSVGHeight() const;
-    
+    const std::string& getSVGHeight() const;
+
     /** \return Number of spaces to replace a tab*/
     int getNumberSpaces() const;
 
@@ -192,7 +193,7 @@
     bool useCRDelimiter() const;
 
     /** \return colour theme name */
-    string getThemeName() const ;
+    std::string getThemeName() const ;
 
     /** gibt true zurck, falls deutsche Hilfe ausgegeben werden soll */
     int helpLanguage() const;
@@ -204,7 +205,7 @@
     bool fragmentOutput() const;
 
     /** \return output file suffix */
-    string getOutFileSuffix() const;
+    std::string getOutFileSuffix() const;
 
     /** \return True if anchors should be attached to line numbers*/
     bool attachLineAnchors() const;
@@ -223,7 +224,7 @@
 
     /** \return True if shorthands of LaTeX Babel package should be disabled*/
     bool disableBabelShorthands() const;
-    
+
     /** \return True if support for the Beamer package should be enabled*/
     bool enableBeamerMode() const;
 
@@ -231,7 +232,7 @@
     bool useFNamesAsAnchors() const;
 
     /** \return Data directory*/
-    const string &getDataDir() const;
+    const std::string &getDataDir() const;
 
     /** \return True if language syntax is given*/
     bool syntaxGiven() const;
@@ -244,7 +245,7 @@
 
     /** \return True if line numbers are filled with leading zeroes */
     bool fillLineNrZeroes() const;
-    
+
     /** \return True if plug-in injections are outputted despite of --fragment 
*/
     bool keepInjections() const;
 
@@ -253,21 +254,21 @@
 
      /** \return True if output should not contain version info comment */
     bool omitVersionInfo() const;
-    
+
     /** \return programming syntax */
-    const string &getSyntax() const ;
+    const std::string &getSyntax() const ;
 
     /** \return Wrapping style*/
     highlight::WrapMode getWrappingStyle() const;
 
     /** \return List of input file names*/
-    const vector <string> & getInputFileNames() const;
+    const std::vector <std::string> & getInputFileNames() const;
 
     /** \return indentation and reformatting scheme*/
-    string getIndentScheme() const;
+    std::string getIndentScheme() const;
 
     /** \return RTF page size */
-    const string &getPageSize() const;
+    const std::string &getPageSize() const;
 
     /** \return Output file format */
     highlight::OutputType getOutputType() const;
@@ -289,13 +290,13 @@
         {
         return opt_encoding_explicit;
     }
-   
+
     /** \return True if style was defined by user*/
     bool styleDefined() const
     {
         return !styleName.empty();
     }
-    
+
     /** \return True if output should be generated if language type is 
unknown*/
     bool forceOutput() const;
 
@@ -322,7 +323,7 @@
 
     /** \return True if RTF output should include page color */
     bool includePageColor() const ;
-    
+
     /** \return True if LaTeX output should include fancier symbols */
     bool prettySymbols() const;
 
@@ -334,61 +335,67 @@
 
     /** \return True if output token of the same syntax category should be in 
separate tags */
     bool isolateTags() const;
-    
+
+    /** \return true if file extension should be ignored */
+    bool isSkippedExt ( const std::string& ext ) const;
+
+    /** \return true if syntax load result should be reported */
+    bool checkSyntaxSupport () const;
+
     /** \return max. input file size (default 256 MB) */
     off_t getMaxFileSize() const;
-    
-    /** \return The given base font, empty string by default */
-    const string& getBaseFont() const ;
+
+    /** \return The given base font, empty std::string by default */
+    const std::string& getBaseFont() const ;
 
     /** \return Document title */
-    const string& getDocumentTitle() const ;
+    const std::string& getDocumentTitle() const ;
 
     /** \return anchor prefix */
-    const string& getAnchorPrefix() const ;
+    const std::string& getAnchorPrefix() const ;
 
     /** \return class name */
-    const string& getClassName() const ;
+    const std::string& getClassName() const ;
 
     /** \return list of plugin file paths */
-    const vector <string> &getPluginPaths() const;
+    const std::vector <std::string> &getPluginPaths() const;
 
     /** \return list of astyle options */
-    const vector <string> &getAStyleOptions() const;
-        
-    /** \return 1 if trailing nl should be omitted, 
+    const std::vector <std::string> &getAStyleOptions() const;
+
+    /** \return 1 if trailing nl should be omitted,
      *          2 if it should only be omitted for empty input */
     int disableTrailingNL() const ;
 
     /** \return The given base font size, empty string by default */
-    const string& getBaseFontSize() const ;
+    const std::string& getBaseFontSize() const ;
 
     /** \return name of nested syntax which starts the input */
-    const string& getStartNestedLang() const ;
+    const std::string& getStartNestedLang() const ;
 
     /** \return absolute theme definition path name */
-    const string& getAbsThemePath() const ;
+    const std::string& getAbsThemePath() const ;
 
     /** \return absolute language definition path name */
-    const string& getAbsLangPath() const ;
+    const std::string& getAbsLangPath() const ;
 
     /** \return parameter passed to plugin */
-    const string& getPluginParameter() const ;
+    const std::string& getPluginParameter() const ;
 
     /** \return category to filter scripts of --list-scripts */
-    const string& getCategories() const ;
+    const std::string& getCategories() const ;
 
     /** \return optional help topic */
-    const string& getHelpTopic() const;
+    const std::string& getHelpTopic() const;
 
     /** \return name of the file which will later be redirected to highlight's 
stdin */
-    const string& getSyntaxByFilename() const;
+    const std::string& getSyntaxByFilename() const;
 
     /** \return category of scripts which should be listed */
-    const string& getListScriptKind() const;
-    
+    const std::string& getListScriptKind() const;
+
         /** \return fallback syntax if not defined or found by filename or 
shebang */
-    const string& getFallbackSyntax() const;
+    const std::string& getFallbackSyntax() const;
 
     /** \return line number width */
     int getNumberWidth();
@@ -401,29 +408,23 @@
 
     /** \return ANSI background color padding width */
     int getCanvasPadding();
-    
+
     /** \return line range start */
     int getLineRangeStart();
-    
+
     /** \return line range end (number of lines starting from 
getLineRangeStart() ) */
     int getLineRangeEnd();
-    
+
     /** \return Keyword Case (upper, lower, unchanged) */
     StringTools::KeywordCase getKeywordCase() const;
 
-    /** \return true if file extension should be ignored */
-    bool isSkippedExt ( const string& ext )
-    {
-        return ignoredFileTypes.count ( ext );
-    }
-
 private:
 
     int numberSpaces;   // number of spaces which replace a tab
     int lineNrWidth;    // width of line number (left padding)
     int lineLength;    // length of line before wrapping
     int lineNrStart;    // line number start count
-    int lineRangeStart;    // line range start 
+    int lineRangeStart;    // line range start
     int lineRangeEnd;    // line range end
     int opt_no_trailing_nl;
 
@@ -434,7 +435,7 @@
     StringTools::KeywordCase keywordCase;
 
     // name of single output file
-    string outFilename,
+    std::string outFilename,
            // output directory
            outDirectory,
            // programming syntax which will be loaded
@@ -447,17 +448,17 @@
            styleInFilename,
            // used to define data directories at runtime
            dataDir;
-           
+
     // name of indenation scheme
-    string indentScheme,
-           pageSize, 
+    std::string indentScheme,
+           pageSize,
            startNestedLang;
 
-    string baseFont, baseFontSize;
-    string docTitle, className;
-    string skipArg;
-    string svg_height, svg_width;
-    string absThemePath, absLangPath/*, twoPassFile*/;
+    std::string baseFont, baseFontSize;
+    std::string docTitle, className;
+    std::string skipArg;
+    std::string svg_height, svg_width;
+    std::string absThemePath, absLangPath/*, twoPassFile*/;
 
     bool opt_syntax;
     bool opt_include_style;
@@ -496,39 +497,40 @@
     bool explicit_output_format;
     bool opt_isolate;
     bool opt_encoding_explicit;
-    
+    bool opt_syntax_supported_check;
+
     off_t maxFileSize;
 
-    string fallbackSyntax, anchorPrefix;
-    string helpLang, encodingName;
+    std::string fallbackSyntax, anchorPrefix;
+    std::string helpLang, encodingName;
 
-    string pluginPath, pluginParameter, 
+    std::string pluginPath, pluginParameter,
            listScriptCategory, helpTopic, redirectedFilename, listScriptType;
 
     /** list of all input file names */
-    vector <string> inputFileNames;
+    std::vector <std::string> inputFileNames;
 
     /** list of plugin file names */
-    vector <string> userPlugins;
+    std::vector <std::string> userPlugins;
 
     /** list of additional Artistic Style options */
-    vector <string> astyleOptions;
-    
+    std::vector <std::string> astyleOptions;
+
     /** list of file types which should be ignored */
-    set <string> ignoredFileTypes;
+    set <std::string> ignoredFileTypes;
 
     /** \return file suffix */
-    string getFileSuffix ( const string & fileName ) const;
+    std::string getFileSuffix ( const std::string & fileName ) const;
 
     /** \return directory name of path */
-    string getDirName ( const string & path );
+    std::string getDirName ( const std::string & path );
 
     /** get all entries in the directory defined by wildcard */
-    void readDirectory ( const string & wildcard );
+    void readDirectory ( const std::string & wildcard );
 
     /** \return Valid path name */
-    string validateDirPath ( const string & path );
-    
+    std::string validateDirPath ( const std::string & path );
+
     void parseRuntimeOptions( const int argc, const char *argv[], bool 
readInputFilenames=true);
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/cli/help.cpp 
new/highlight-3.62/src/cli/help.cpp
--- old/highlight-3.60/src/cli/help.cpp 2020-12-21 11:56:19.000000000 +0100
+++ new/highlight-3.62/src/cli/help.cpp 2021-02-19 20:46:18.000000000 +0100
@@ -2,7 +2,7 @@
                           help.cpp  -  description
                              -------------------
     begin                : Die Apr 23 2002
-    copyright            : (C) 2002-2019 by Andre Simon
+    copyright            : (C) 2002-2021 by Andre Simon
     email                : a.si...@mailbox.org
  ***************************************************************************/
 
@@ -85,7 +85,7 @@
         cout <<"HIGHLIGHT_OPTIONS: may contain command line options, but no 
input file paths\n\n";
         cout <<"Highlight reads TERM and COLORTERM to determine the 
appropriate default output.\n";
     } else if (topic=="plugin" || topic=="plug-in") {
-        cout <<"PLUG-IN HELP:\n\n";    
+        cout <<"PLUG-IN HELP:\n\n";
         cout <<"The plug-in interface allows modifications of syntax parsing, 
colouring and\n";
         cout <<"the document's header and footer.\n";
         cout <<"\n";
@@ -134,14 +134,15 @@
         cout<<" -S, --syntax=<type|path>       specify type of source code or 
syntax file path\n";
         cout<<"     --syntax-by-name=<name>    specify type of source code by 
given name\n";
         cout<<"                                  will not read a file of this 
name, useful for stdin\n";
+        cout<<"     --syntax-supported         test if the given syntax can be 
loaded\n";
         cout<<" -v, --verbose                  print debug info\n";
         cout<<"     --force[=syntax]           generate output if input syntax 
is unknown\n";
         cout<<"     --list-scripts=<type>      list installed scripts\n";
         cout<<"                                  <type> = [langs, themes, 
plugins]\n";
-        cout<<"     --list-cat=<categories>    filter the scripts by the given 
categories\n"; 
+        cout<<"     --list-cat=<categories>    filter the scripts by the given 
categories\n";
         cout<<"                                  (example: 
--list-cat='source;script')\n";
         cout<<"     --max-size=<size>          set maximum input file size\n";
-        cout<<"                                  (examples: 512M, 1G; default: 
256M)\n"; 
+        cout<<"                                  (examples: 512M, 1G; default: 
256M)\n";
         cout<<"     --plug-in=<script>         execute Lua plug-in script; 
repeat option to\n";
         cout<<"                                  execute multiple plug-ins\n";
         cout<<"     --plug-in-param=<value>    set plug-in input parameter\n";
@@ -206,7 +207,7 @@
         cout<<"     --no-version-info          omit version info comment\n";
        // cout<<"     --two-pass=<file>          write plug-in with persistent 
state information\n";
        // cout<<"                                  (beta; requires syntax with 
store instructions)\n";
-        
+
         cout<<"\n\n";
         cout<<"(X)HTML output options:\n";
         cout<<"\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/cli/main.cpp 
new/highlight-3.62/src/cli/main.cpp
--- old/highlight-3.60/src/cli/main.cpp 2020-12-21 11:56:19.000000000 +0100
+++ new/highlight-3.62/src/cli/main.cpp 2021-02-19 20:46:18.000000000 +0100
@@ -2,7 +2,7 @@
                           main.cpp  -  description
                              -------------------
     begin                : Die Apr 23 22:16:35 CEST 2002
-    copyright            : (C) 2002-2020 by Andre Simon
+    copyright            : (C) 2002-2021 by Andre Simon
     email                : a.si...@mailbox.org
 
    Highlight is a universal source code to HTML converter. Syntax highlighting
@@ -44,11 +44,11 @@
 void HLCmdLineApp::printVersionInfo(bool quietMode)
 {
     if (quietMode) {
-        cout << HIGHLIGHT_VERSION << "\n";
+        cout << highlight::Info::getVersion() << "\n";
     } else {
         cout << "\n highlight version "
-            << HIGHLIGHT_VERSION
-            << "\n Copyright (C) 2002-2020 Andre Simon <a dot simon at 
mailbox.org>"
+            << highlight::Info::getVersion()
+            << "\n Copyright (C) 2002-2021 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 Artistic Style Classes (3.1 rev. 672)"
@@ -124,7 +124,6 @@
 
                 categoryMap = ls["Categories"].value().asTable();
 
-                //TODO: negation
                 for(Diluculum::LuaValueMap::const_iterator it = 
categoryMap.begin(); it != categoryMap.end(); ++it)
                 {
                     categoryNames.insert(it->second.asString());
@@ -356,7 +355,7 @@
     }
 
     if ( options.printConfigInfo() ) {
-        printConfigInfo ( );
+        printConfigInfo();
         return EXIT_SUCCESS;
     }
 
@@ -389,6 +388,27 @@
 
     unique_ptr<highlight::CodeGenerator> generator ( 
highlight::CodeGenerator::getInstance ( options.getOutputType() ) );
 
+    if (options.checkSyntaxSupport()) {
+
+        if (!options.syntaxGiven() ) {
+            cerr << "highlight: Define a syntax to use this option\n";
+            return EXIT_FAILURE;
+        } else {
+            string syntaxByFile=options.getSyntaxByFilename();
+            string testSuffix = syntaxByFile.empty() ? options.getSyntax() : 
dataDir.getFileSuffix(syntaxByFile);
+            string resolvedSuffix (dataDir.guessFileType (testSuffix, 
syntaxByFile, syntaxByFile.empty(),false ));
+            string langDefPath (options.getAbsLangPath().empty() ? 
dataDir.getLangPath ( resolvedSuffix +".lang") : options.getAbsLangPath());
+
+            if (generator->loadLanguage( langDefPath ) == highlight::LOAD_OK) {
+                cout << "highlight: This syntax is supported\n";
+                return EXIT_SUCCESS;
+            } else {
+                cerr << "highlight: This syntax is not supported\n";
+                return EXIT_FAILURE;
+            }
+        }
+    }
+
     generator->setHTMLAttachAnchors ( options.attachLineAnchors() );
     generator->setHTMLOrderedList ( options.orderedList() );
     generator->setHTMLInlineCSS ( options.inlineCSS() );
@@ -430,7 +450,6 @@
                                   options.getLineLength() - 
options.getNumberWidth() : options.getLineLength(),
                                   options.getNumberSpaces() );
 
-    //generator->setEncoding ( options.getEncoding() );
     generator->setBaseFont ( options.getBaseFont() ) ;
     generator->setBaseFontSize ( options.getBaseFontSize() ) ;
     generator->setLineNumberWidth ( options.getNumberWidth() );
@@ -571,7 +590,7 @@
                 langDefPath = dataDir.getLangPath ( 
options.getFallbackSyntax()+".lang" );
             }
 
-            highlight::LoadResult loadRes= generator-> loadLanguage( 
langDefPath );
+            highlight::LoadResult loadRes= generator->loadLanguage( 
langDefPath );
 
             if ( loadRes==highlight::LOAD_FAILED_REGEX ) {
                 cerr << "highlight: Regex error ( "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/core/codegenerator.cpp 
new/highlight-3.62/src/core/codegenerator.cpp
--- old/highlight-3.60/src/core/codegenerator.cpp       2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/core/codegenerator.cpp       2021-02-19 
20:46:18.000000000 +0100
@@ -2,7 +2,7 @@
                           codegenerator.cpp  -  description
                              -------------------
     begin                : Die Jul 9 2002
-    copyright            : (C) 2002-2020 by Andre Simon
+    copyright            : (C) 2002-2021 by Andre Simon
     email                : a.si...@mailbox.org
  ***************************************************************************/
 
@@ -328,6 +328,11 @@
     baseFontSize = fontSize;
 }
 
+void CodeGenerator::setStyleCaching ( bool flag )
+{
+    disableStyleCache=!flag;
+}
+
 void CodeGenerator::setStartingNestedLang(const string &langName)
 {
     embedLangStart = langName;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/core/htmlgenerator.cpp 
new/highlight-3.62/src/core/htmlgenerator.cpp
--- old/highlight-3.60/src/core/htmlgenerator.cpp       2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/core/htmlgenerator.cpp       2021-02-19 
20:46:18.000000000 +0100
@@ -2,7 +2,7 @@
                      htmlgenerator.cpp  -  description
                              -------------------
     begin                : Wed Nov 28 2001
-    copyright            : (C) 2001-2012 by Andre Simon
+    copyright            : (C) 2001-2021 by Andre Simon
     email                : a.si...@mailbox.org
  ***************************************************************************/
 
@@ -216,7 +216,7 @@
 
     if (!omitVersionComment) {
         s << "<!--HTML generated by highlight "
-          << HIGHLIGHT_VERSION << ", " <<  HIGHLIGHT_URL <<"-->\n";
+          << highlight::Info::getVersion() << ", " <<  
highlight::Info::getWebsite() <<"-->\n";
     }
 
     return s.str();
@@ -449,9 +449,9 @@
         if (!omitVersionComment) {
             indexfile << hrTag << brTag
                     << "<small>Generated by highlight "
-                    << HIGHLIGHT_VERSION
-                    << ", <a href=\"" << HIGHLIGHT_URL << "\" target=\"new\">"
-                    << HIGHLIGHT_URL << "</a></small>";
+                    << highlight::Info::getVersion()
+                    << ", <a href=\"" << highlight::Info::getWebsite() << "\" 
target=\"new\">"
+                    << highlight::Info::getWebsite() << "</a></small>";
         }
         indexfile << "</body></html>\n";
     } else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/core/latexgenerator.cpp 
new/highlight-3.62/src/core/latexgenerator.cpp
--- old/highlight-3.60/src/core/latexgenerator.cpp      2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/core/latexgenerator.cpp      2021-02-19 
20:46:18.000000000 +0100
@@ -160,9 +160,9 @@
 
     if (!omitVersionComment) {
      os  << "(* LaTeX generated by highlight "
-       << HIGHLIGHT_VERSION
+       << highlight::Info::getVersion()
        << ", "
-       << HIGHLIGHT_URL
+       << highlight::Info::getWebsite()
        << " *)\n";
     }
     return os.str();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/core/platform_fs.cpp 
new/highlight-3.62/src/core/platform_fs.cpp
--- old/highlight-3.60/src/core/platform_fs.cpp 2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/src/core/platform_fs.cpp 2021-02-19 20:46:18.000000000 
+0100
@@ -163,7 +163,7 @@
         if ( Pos == string::npos ) {
             directory_path = ".";
         } else {
-            directory_path = wildcard.substr ( 0, Pos + 1 );
+            directory_path = wildcard.substr ( 0, Pos + 1);
             wildcard = wildcard.substr ( Pos + 1 );
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/core/svggenerator.cpp 
new/highlight-3.62/src/core/svggenerator.cpp
--- old/highlight-3.60/src/core/svggenerator.cpp        2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/core/svggenerator.cpp        2021-02-19 
20:46:18.000000000 +0100
@@ -179,9 +179,9 @@
 
     if (!omitVersionComment) {
         os  << "<!-- SVG generated by Highlight "
-            << HIGHLIGHT_VERSION
+            << highlight::Info::getVersion()
             << ", "
-            << HIGHLIGHT_URL
+            << highlight::Info::getWebsite()
             <<" -->\n";
     }
     return os.str();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/core/texgenerator.cpp 
new/highlight-3.62/src/core/texgenerator.cpp
--- old/highlight-3.60/src/core/texgenerator.cpp        2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/core/texgenerator.cpp        2021-02-19 
20:46:18.000000000 +0100
@@ -42,7 +42,7 @@
     mode, it switches it to horizontal mode).*/
     newLineTag="\\leavevmode\\par\n";
 
-    spacer = "\\ ";
+    spacer = initialSpacer = "\\ ";
     maskWs=true;
     excludeWs=true;
     maskWsBegin = "{\\hlstd";
@@ -119,12 +119,12 @@
 {
     ostringstream os;
     os << "\\bye\n";
-    
+
     if (!omitVersionComment) {
         os  << "% TeX generated by Highlight "
-            << HIGHLIGHT_VERSION
+            << highlight::Info::getVersion()
             << ", "
-            << HIGHLIGHT_URL << "\n";
+            << highlight::Info::getWebsite() << "\n";
     }
     return os.str();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/gui-qt/mainwindow.cpp 
new/highlight-3.62/src/gui-qt/mainwindow.cpp
--- old/highlight-3.60/src/gui-qt/mainwindow.cpp        2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/gui-qt/mainwindow.cpp        2021-02-19 
20:46:18.000000000 +0100
@@ -2,7 +2,7 @@
                                mainwindow.cpp
                              -------------------
     begin                : Mo 16.03.2009
-    copyright            : (C) 2009-2020 by Andre Simon
+    copyright            : (C) 2009-2021 by Andre Simon
     email                : a.si...@mailbox.org
  ***************************************************************************/
 
@@ -776,7 +776,7 @@
     QMessageBox::about( this, "About Highlight",
                         QString("Highlight is a code to formatted text 
converter.\n\n"
                                 "Highlight GUI %1\n"
-                                "(C) 2002-2020 Andre Simon <a.simon at 
mailbox.org>\n\n"
+                                "(C) 2002-2021 Andre Simon <a.simon at 
mailbox.org>\n\n"
                                 "Artistic Style Classes\n(C) 1998-2002 Tal 
Davidson\n"
                                 "(C) 2006-2018 Jim Pattee <jimp03 at 
email.com>\n\n"
                                 "Diluculum Lua wrapper\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/include/Diluculum/LuaWrappers.hpp 
new/highlight-3.62/src/include/Diluculum/LuaWrappers.hpp
--- old/highlight-3.60/src/include/Diluculum/LuaWrappers.hpp    2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/include/Diluculum/LuaWrappers.hpp    2021-02-19 
20:46:18.000000000 +0100
@@ -29,7 +29,7 @@
 
 #include <algorithm>
 #include <string>
-#include <boost/bind.hpp>
+#include <boost/bind/bind.hpp>
 #include <Diluculum/CppObject.hpp>
 #include <Diluculum/LuaExceptions.hpp>
 #include <Diluculum/LuaState.hpp>
@@ -113,7 +113,7 @@
 int DILUCULUM_WRAPPER_FUNCTION(FUNC) (lua_State* ls)                          \
 {                                                                             \
    using std::for_each;                                                       \
-   using boost::bind;                                                         \
+   using boost::placeholders;                                                 \
    using Diluculum::PushLuaValue;                                             \
    using Diluculum::Impl::ReportErrorFromCFunction;                           \
                                                                               \
@@ -247,7 +247,7 @@
 int DILUCULUM_METHOD_WRAPPER(CLASS, METHOD) (lua_State* ls)                   \
 {                                                                             \
    using std::for_each;                                                       \
-   using boost::bind;                                                         \
+   using boost::placeholders;                                                 \
    using Diluculum::PushLuaValue;                                             \
    using Diluculum::Impl::CppObject;                                          \
    using Diluculum::Impl::ReportErrorFromCFunction;                           \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/include/codegenerator.h 
new/highlight-3.62/src/include/codegenerator.h
--- old/highlight-3.60/src/include/codegenerator.h      2020-12-21 
11:56:19.000000000 +0100
+++ new/highlight-3.62/src/include/codegenerator.h      2021-02-19 
20:46:18.000000000 +0100
@@ -2,7 +2,7 @@
                           codegenerator.h  -  description
                              -------------------
     begin                : Die Jul 9 2002
-    copyright            : (C) 2002-2018 by Andre Simon
+    copyright            : (C) 2002-2021 by Andre Simon
     email                : a.si...@mailbox.org
  ***************************************************************************/
 
@@ -421,6 +421,8 @@
 
     void clearPersistentSnippets();
 
+    /** \param flag true if styles should be cached for repeated file output 
calls */
+    void setStyleCaching ( bool flag );
 
     /** \return Syntaxreader Regex error message */
     string getSyntaxRegexError();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/include/version.h 
new/highlight-3.62/src/include/version.h
--- old/highlight-3.60/src/include/version.h    2020-12-21 11:56:19.000000000 
+0100
+++ new/highlight-3.62/src/include/version.h    2021-02-19 20:46:18.000000000 
+0100
@@ -2,7 +2,7 @@
                           version.h  -  description
                              -------------------
     begin                : Mon March 3 2003
-    copyright            : (C) 2003-2020 by Andre Simon
+    copyright            : (C) 2003-2021 by Andre Simon
     email                : a.si...@mailbox.org
  ***************************************************************************/
 
@@ -28,12 +28,36 @@
 #ifndef VERSION_H
 #define VERSION_H
 
+#include <string>
+
 #define HIGHLIGHT_MAJOR "3"
-#define HIGHLIGHT_MINOR "60"
+#define HIGHLIGHT_MINOR "62"
 
 #define HIGHLIGHT_VERSION  HIGHLIGHT_MAJOR "." HIGHLIGHT_MINOR
 
 #define HIGHLIGHT_URL "http://www.andre-simon.de/";
 #define HIGHLIGHT_EMAIL "a.si...@mailbox.org"
 
+namespace highlight
+{
+
+class Info
+{
+public:
+
+    static std::string getVersion() {
+        return HIGHLIGHT_VERSION;
+    }
+
+    static std::string getWebsite() {
+        return HIGHLIGHT_URL;
+    }
+
+    static std::string getEmail() {
+        return HIGHLIGHT_EMAIL;
+    }
+};
+
+}
+
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-3.60/src/makefile 
new/highlight-3.62/src/makefile
--- old/highlight-3.60/src/makefile     2020-12-21 11:56:19.000000000 +0100
+++ new/highlight-3.62/src/makefile     2021-02-19 20:46:18.000000000 +0100
@@ -25,7 +25,7 @@
 
 CFLAGS_DILU=-fno-strict-aliasing
 
-SO_VERSION=3.60
+SO_VERSION=3.61
 
 # Source paths
 CORE_DIR=./core/

Reply via email to