Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package highlight for openSUSE:Factory 
checked in at 2023-10-20 23:16:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/highlight (Old)
 and      /work/SRC/openSUSE:Factory/.highlight.new.1945 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "highlight"

Fri Oct 20 23:16:21 2023 rev:44 rq:1118940 version:4.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/highlight/highlight.changes      2023-08-30 
10:21:31.942394632 +0200
+++ /work/SRC/openSUSE:Factory/.highlight.new.1945/highlight.changes    
2023-10-20 23:17:10.743421816 +0200
@@ -1,0 +2,12 @@
+Thu Oct 19 09:20:46 UTC 2023 - antoine.belv...@opensuse.org
+
+- Update to version 4.9:
+  * Updated astyle lib to version 3.4.9.
+  * Added support for Elm (gl#saalen/highlight#237).
+  * Added support for Factor (gl#saalen/highlight#239).
+  * Added support for Cpp2.
+  * Updated c.lang to include module keywords.
+  * Fixed Lua nested string deprecation error
+    (gl#saalen/highlight#238).
+
+-------------------------------------------------------------------

Old:
----
  highlight-v4.8.tar.bz2

New:
----
  highlight-v4.9.tar.bz2

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

Other differences:
------------------
++++++ highlight.spec ++++++
--- /var/tmp/diff_new_pack.PaY9Lt/_old  2023-10-20 23:17:11.323442979 +0200
+++ /var/tmp/diff_new_pack.PaY9Lt/_new  2023-10-20 23:17:11.323442979 +0200
@@ -18,7 +18,7 @@
 
 %bcond_without gui
 Name:           highlight
-Version:        4.8
+Version:        4.9
 Release:        0
 Summary:        Universal Source Code to Formatted Text Converter
 License:        GPL-3.0-or-later

++++++ highlight-v4.8.tar.bz2 -> highlight-v4.9.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/ChangeLog.adoc 
new/highlight-v4.9/ChangeLog.adoc
--- old/highlight-v4.8/ChangeLog.adoc   2023-08-25 16:54:40.000000000 +0200
+++ new/highlight-v4.9/ChangeLog.adoc   2023-10-18 14:46:12.000000000 +0200
@@ -6,9 +6,21 @@
 :toc: left
 :toclevels: 1
 
+== highlight 4.9
+
+16.10.2023
+
+ - updated astyle lib to version 3.4.9
+ - added support for Elm (https://gitlab.com/saalen/highlight/-/issues/237)
+ - added support for Factor (https://gitlab.com/saalen/highlight/-/issues/239)
+ - added support for Cpp2
+ - updated c.lang to include module keywords
+ - fixed Lua nested string deprecation error 
(https://gitlab.com/saalen/highlight/-/issues/238)
+
+
 == highlight 4.8
 
-25.08.2023
+28.08.2023
 
  - updated astyle lib to version 3.4.6
  - moved old yaml.lang to yaml-ansible.lang and added a new yaml definition 
(https://gitlab.com/saalen/highlight/-/issues/235)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/README.adoc 
new/highlight-v4.9/README.adoc
--- old/highlight-v4.8/README.adoc      2023-08-25 16:54:40.000000000 +0200
+++ new/highlight-v4.9/README.adoc      2023-10-18 14:46:12.000000000 +0200
@@ -1,6 +1,6 @@
 = HIGHLIGHT MANUAL
 André Simon
-v4.6, May 2023
+v4.9, October 2023
 :lang: en
 :toc: left
 :toc-title: Contents
@@ -54,25 +54,25 @@
 
 == OVERVIEW
 
-Highlight converts sourcecode to HTML, XHTML, RTF, ODT, LaTeX, TeX, SVG, 
BBCode,
-Pango markup and terminal escape sequences with coloured syntax highlighting.
-Syntax definitions and colour themes are customizable.
+Highlight converts sourcecode to HTML, XHTML, RTF, ODT, LaTeX, TeX, SVG,
+BBCode, Pango markup and terminal escape sequences with coloured syntax
+highlighting. Syntax definitions and colour themes are customizable.
 
 
 === INTENDED PURPOSE
 
-Highlight was designed to offer a flexible but easy to use syntax highlighter
-for several output formats. No syntax or colouring information is hardcoded,
-instead all relevant data is stored in configuration scripts. These Lua scripts
-may be altered and enhanced with plug-ins.
+Highlight was created to provide a versatile yet user-friendly syntax
+highlighter for multiple output formats. Instead of hardcoding syntax and
+colouring information, all necessary data is saved in configuration scripts.
+These Lua scripts can be edited and enhanced with plug-ins.
 
 
 === FEATURE LIST
 
-* highlighting of keywords, types, strings, numbers, escape sequences, 
comments,
-  operators and preprocessor directives
-* coloured output in HTML, XHTML 1.1, RTF, TeX, LaTeX, SVG, BBCode, Pango 
Markup
-  and terminal escape sequences
+* highlighting of keywords, types, strings, numbers, escape sequences,
+  comments, operators and preprocessor directives
+* coloured output in HTML, XHTML 1.1, RTF, TeX, LaTeX, SVG, BBCode, Pango
+  Markup and terminal escape sequences
 * supports referenced stylesheet files for HTML, LaTeX, TeX or SVG output
 * configuration files are Lua scripts
 * supports plug-in scripts to tweak language definitions and themes
@@ -317,23 +317,23 @@
 
 === GUI OPTIONS
 
-The Graphical User Interface offers a subset of the CLI's features. It includes
-a dynamic preview of the output file's apperarance. Please see screenshots and
-screencasts on the project website.
-Invoke highlight-gui with the `--portable` option to let it save its settings
-in the binary's current directory (instead of using the registry).
+The GUI provides a selection of the CLI's capabilities and features a live
+preview of the output file's appearance. Refer to the project website for
+accompanying screenshots and screencasts.
+Invoke highlight-gui with the `--portable` option to save its settings in the
+binary's current directory (instead of using the registry).
 
 
 === INPUT AND OUTPUT
 
-If no input or output file name is defined by `--input` and `--output` options,
-highlight will use stdin and stdout for file processing.
-Since version 3.44, reading from stdin can also be triggered by the `-` option.
-
-If no input filename is defined by `--input` or given at the prompt, highlight 
is
-not able to determine the language type by means of the file extension (except
-some scripting languages which are figured out by the shebang in the first 
input
-line). In this case you have to pass highlight the language with `--syntax` or
+If the `--input` and `--output` options are not defined, Highlight will
+automatically use stdin and stdout for file processing.
+Reading from stdin can also be triggered by the `-` option.
+
+If no input file is defined by `--input` or provided at prompt, highlight 
cannot
+determine the language type through the file extension (excluding some 
scripting
+languages that can be derived from the shebang on the first input line).
+In this scenario, you must specify the language for highlight with `--syntax` 
or
 `--syntax-by-name` (this usually should be the file suffix of the source file 
or
 its name, respectively).
 Example: If you want to convert a Python file, highlight needs to load the
@@ -383,12 +383,12 @@
 
 ==== Terminal output:
 
-Since there are limited colours defined for ANSI terminal output, there exists
+As there are only a few colours defined for ANSI terminal output, there exists
 only one hard coded colour theme with `--out-format=ansi`. You should therefore
 use `--out-format=xterm256` to enable output in 256 colours. The 256 colour 
mode
-is supported by recent releases of xterm, rxvt and Putty (among others).
-The latest terminal emulators also support 16m colors, this mode is enabled
-with `--out-format=truecolor`.
+is supported by recent releases of xterm, rxvt and Putty (amongst others).
+Recently published terminal emulators also support 16m colors, this mode is
+enabled with `--out-format=truecolor`.
 
 .....................................................
 highlight --out-format=ansi <inputfile> | less -R
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/README_DE.adoc 
new/highlight-v4.9/README_DE.adoc
--- old/highlight-v4.8/README_DE.adoc   2023-08-25 16:54:40.000000000 +0200
+++ new/highlight-v4.9/README_DE.adoc   2023-10-18 14:46:12.000000000 +0200
@@ -1,6 +1,6 @@
 = HIGHLIGHT HANDBUCH
 André Simon
-v4.6, Mai 2023
+v4.9, Oktober 2023
 :lang: de
 :toc: left
 :toc-title: Contents
@@ -61,8 +61,8 @@
 
 === SINN UND ZWECK
 
-Highlight wurde mit dem Ziel entworfen, einen flexiblen und einfach zu
-bedienenden Syntaxhighlighter fuer mehrere Ausgabeformate anzubieten.
+Highlight wurde mit dem Ziel entworfen, einen flexiblen und 
benutzerfreundlichen
+Syntaxhighlighter fuer mehrere Ausgabeformate anzubieten.
 Statt hartkodierter Sprachbeschreibungen und Farbschemata sind alle wichtigen
 Informationen in Konfigurationsskripten enthalten. Diese Lua-Skripte koennen
 mit Plug-Ins angepasst und erweitert werden.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/README_LANGLIST.adoc 
new/highlight-v4.9/README_LANGLIST.adoc
--- old/highlight-v4.8/README_LANGLIST.adoc     2023-08-25 16:54:40.000000000 
+0200
+++ new/highlight-v4.9/README_LANGLIST.adoc     2023-10-18 14:46:12.000000000 
+0200
@@ -1,6 +1,6 @@
 = HIGHLIGHT LANGUAGES LIST
 André Simon
-v3.59, October 2020
+v4.9, October 2023
 :lang: en
 :experimental:
 :icons: font
@@ -44,251 +44,262 @@
 |==========================================
 | Language | Filename | Extensions
 
-| ABAP/4                         | 
link:./langDefs/abap4.lang[`abap4.lang`,title="View source file"] |  abp
-| ABC                            | 
link:./langDefs/abc.lang[`abc.lang`,title="View source file"] | 
+| ABAP/4                         | 
link:./langDefs/abap.lang[`abap.lang`,title="View source file"] |  abp
+| ABC                            | 
link:./langDefs/abc.lang[`abc.lang`,title="View source file"] |
 | Abstract                       | 
link:./langDefs/aspect.lang[`aspect.lang`,title="View source file"] |  was wud
 | ActionScript                   | 
link:./langDefs/actionscript.lang[`actionscript.lang`,title="View source file"] 
|  as
 | Active Server Pages            | 
link:./langDefs/asp.lang[`asp.lang`,title="View source file"] |  ascx ashx aspx
 | ADA95                          | 
link:./langDefs/ada.lang[`ada.lang`,title="View source file"] |  a adb ads gnad
-| Advanced Backus-Naur Form      | 
link:./langDefs/abnf.lang[`abnf.lang`,title="View source file"] | 
-| Agda                           | 
link:./langDefs/agda.lang[`agda.lang`,title="View source file"] | 
+| Advanced Backus-Naur Form      | 
link:./langDefs/abnf.lang[`abnf.lang`,title="View source file"] |
+| Agda                           | 
link:./langDefs/agda.lang[`agda.lang`,title="View source file"] |  lagda
 | ALAN Interactive Fiction Language | 
link:./langDefs/alan.lang[`alan.lang`,title="View source file"] |  alan i
 | ALGOL 68                       | 
link:./langDefs/algol.lang[`algol.lang`,title="View source file"] |  alg
 | AMPL                           | 
link:./langDefs/ampl.lang[`ampl.lang`,title="View source file"] |  dat run
 | AMTrix                         | 
link:./langDefs/amtrix.lang[`amtrix.lang`,title="View source file"] |  hnd s4 
s4h s4t t4
-| Ansible YAML                   | 
link:./langDefs/yaml.lang[`yaml.lang`,title="View source file"] |  yml
-| Apache Config                  | 
link:./langDefs/httpd.lang[`httpd.lang`,title="View source file"] | 
-| AppleScript                    | 
link:./langDefs/applescript.lang[`applescript.lang`,title="View source file"] | 
+| Ansible YAML                   | 
link:./langDefs/yaml_ansible.lang[`yaml_ansible.lang`,title="View source file"] 
|
+| Apache Config                  | 
link:./langDefs/httpd.lang[`httpd.lang`,title="View source file"] |
+| AppleScript                    | 
link:./langDefs/applescript.lang[`applescript.lang`,title="View source file"] |
 | Applied Type System            | 
link:./langDefs/ats.lang[`ats.lang`,title="View source file"] |  dats
-| Arc                            | 
link:./langDefs/arc.lang[`arc.lang`,title="View source file"] | 
-| ARM                            | 
link:./langDefs/arm.lang[`arm.lang`,title="View source file"] | 
-| AS/400 CL                      | 
link:./langDefs/as400cl.lang[`as400cl.lang`,title="View source file"] | 
+| Arc                            | 
link:./langDefs/arc.lang[`arc.lang`,title="View source file"] |
+| ARM                            | 
link:./langDefs/arm.lang[`arm.lang`,title="View source file"] |
+| AS/400 CL                      | 
link:./langDefs/as400cl.lang[`as400cl.lang`,title="View source file"] |
 | ASCEND                         | 
link:./langDefs/ascend.lang[`ascend.lang`,title="View source file"] |  a4c
-| AsciiDoc                       | 
link:./langDefs/asciidoc.lang[`asciidoc.lang`,title="View source file"] | 
+| AsciiDoc                       | 
link:./langDefs/asciidoc.lang[`asciidoc.lang`,title="View source file"] |
 | AutoHotKey                     | 
link:./langDefs/autohotkey.lang[`autohotkey.lang`,title="View source file"] |  
ahk
 | AutoIt                         | 
link:./langDefs/autoit.lang[`autoit.lang`,title="View source file"] |  au3
-| Avenue                         | 
link:./langDefs/avenue.lang[`avenue.lang`,title="View source file"] | 
-| Backus-Naur Form               | 
link:./langDefs/bnf.lang[`bnf.lang`,title="View source file"] | 
+| Avenue                         | 
link:./langDefs/avenue.lang[`avenue.lang`,title="View source file"] |
+| Backus-Naur Form               | 
link:./langDefs/bnf.lang[`bnf.lang`,title="View source file"] |
 | Ballerina                      | 
link:./langDefs/ballerina.lang[`ballerina.lang`,title="View source file"] |  bal
-| Bash                           | 
link:./langDefs/sh.lang[`sh.lang`,title="View source file"] |  bash ebuild 
eclass zsh
-| BBcode                         | 
link:./langDefs/bbcode.lang[`bbcode.lang`,title="View source file"] | 
-| BCPL                           | 
link:./langDefs/bcpl.lang[`bcpl.lang`,title="View source file"] | 
+| Bash                           | 
link:./langDefs/shellscript.lang[`shellscript.lang`,title="View source file"] | 
 bash ebuild eclass sh zsh
+| BBcode                         | 
link:./langDefs/bbcode.lang[`bbcode.lang`,title="View source file"] |
+| BCPL                           | 
link:./langDefs/bcpl.lang[`bcpl.lang`,title="View source file"] |
 | BibTeX                         | 
link:./langDefs/bibtex.lang[`bibtex.lang`,title="View source file"] |  bib
 | Biferno                        | 
link:./langDefs/biferno.lang[`biferno.lang`,title="View source file"] |  bfr
 | Bison                          | 
link:./langDefs/bison.lang[`bison.lang`,title="View source file"] |  y
 | Blitz Basic                    | 
link:./langDefs/blitzbasic.lang[`blitzbasic.lang`,title="View source file"] |  
bb
-| BM Script                      | 
link:./langDefs/bms.lang[`bms.lang`,title="View source file"] | 
-| Boo                            | 
link:./langDefs/boo.lang[`boo.lang`,title="View source file"] | 
-| C and C++                      | link:./langDefs/c.lang[`c.lang`,title="View 
source file"] |  c++ cc cpp cu cxx h hh hpp hxx inl ipp
-| Ceylon                         | 
link:./langDefs/ceylon.lang[`ceylon.lang`,title="View source file"] | 
-| Chapel                         | 
link:./langDefs/chpl.lang[`chpl.lang`,title="View source file"] | 
+| BM Script                      | 
link:./langDefs/bms.lang[`bms.lang`,title="View source file"] |
+| Boo                            | 
link:./langDefs/boo.lang[`boo.lang`,title="View source file"] |
+| C and C++                      | link:./langDefs/c.lang[`c.lang`,title="View 
source file"] |  c++ cc cpp cppm cu cxx h hh hpp hxx inl ino ipp ixx
+| Carbon                         | 
link:./langDefs/carbon.lang[`carbon.lang`,title="View source file"] |
+| Ceylon                         | 
link:./langDefs/ceylon.lang[`ceylon.lang`,title="View source file"] |
+| Chapel                         | 
link:./langDefs/chpl.lang[`chpl.lang`,title="View source file"] |
 | Charmm                         | 
link:./langDefs/charmm.lang[`charmm.lang`,title="View source file"] |  inp
 | CHILL                          | 
link:./langDefs/chill.lang[`chill.lang`,title="View source file"] |  chl
 | Clean                          | 
link:./langDefs/clean.lang[`clean.lang`,title="View source file"] |  icl
 | ClearBasic                     | 
link:./langDefs/clearbasic.lang[`clearbasic.lang`,title="View source file"] |  
cb
 | C#                             | 
link:./langDefs/csharp.lang[`csharp.lang`,title="View source file"] |  cs
-| Clipper                        | 
link:./langDefs/clipper.lang[`clipper.lang`,title="View source file"] | 
-| Clips                          | 
link:./langDefs/clp.lang[`clp.lang`,title="View source file"] | 
-| Clojure                        | 
link:./langDefs/clojure.lang[`clojure.lang`,title="View source file"] |  clj 
cljc cljs edn
-| CMake                          | 
link:./langDefs/cmake.lang[`cmake.lang`,title="View source file"] | 
+| Clipper                        | 
link:./langDefs/clipper.lang[`clipper.lang`,title="View source file"] |
+| Clips                          | 
link:./langDefs/clp.lang[`clp.lang`,title="View source file"] |
+| Clojure                        | 
link:./langDefs/clojure.lang[`clojure.lang`,title="View source file"] |  boot 
cl2 clj cljc cljs cljscm cljx edn hic
+| CMake                          | 
link:./langDefs/cmake.lang[`cmake.lang`,title="View source file"] |
 | COBOL                          | 
link:./langDefs/cobol.lang[`cobol.lang`,title="View source file"] |  cbl cob
-| Coffeescript Block Regex       | 
link:./langDefs/cs_block_regex.lang[`cs_block_regex.lang`,title="View source 
file"] | 
-| Coffeescript                   | 
link:./langDefs/coffee.lang[`coffee.lang`,title="View source file"] | 
+| Coffeescript Block Regex       | 
link:./langDefs/cs_block_regex.lang[`cs_block_regex.lang`,title="View source 
file"] |
+| Coffeescript                   | 
link:./langDefs/coffeescript.lang[`coffeescript.lang`,title="View source file"] 
|  cakefile cjsx coffee iced
 | ColdFusion MX                  | 
link:./langDefs/coldfusion.lang[`coldfusion.lang`,title="View source file"] |  
cfc cfm
-| Crack                          | 
link:./langDefs/crk.lang[`crk.lang`,title="View source file"] | 
+| Cpp2                           | 
link:./langDefs/cpp2.lang[`cpp2.lang`,title="View source file"] |
+| Crack                          | 
link:./langDefs/crk.lang[`crk.lang`,title="View source file"] |
+| CriticMarkup                   | 
link:./langDefs/critic.lang[`critic.lang`,title="View source file"] |
 | Crystal                        | 
link:./langDefs/crystal.lang[`crystal.lang`,title="View source file"] |  cr
-| CSS                            | 
link:./langDefs/css.lang[`css.lang`,title="View source file"] | 
-| Dart                           | 
link:./langDefs/dart.lang[`dart.lang`,title="View source file"] | 
+| CSS                            | 
link:./langDefs/css.lang[`css.lang`,title="View source file"] |
+| Dart                           | 
link:./langDefs/dart.lang[`dart.lang`,title="View source file"] |
 | delphi                         | 
link:./langDefs/delphi.lang[`delphi.lang`,title="View source file"] |  dpr pas
 | Device Tree Source             | 
link:./langDefs/dts.lang[`dts.lang`,title="View source file"] |  dtsi
 | Diff                           | 
link:./langDefs/diff.lang[`diff.lang`,title="View source file"] |  patch
-| D                              | link:./langDefs/d.lang[`d.lang`,title="View 
source file"] | 
-| Dockerfile                     | 
link:./langDefs/docker.lang[`docker.lang`,title="View source file"] |  
dockerfile
-| Dylan                          | 
link:./langDefs/dylan.lang[`dylan.lang`,title="View source file"] | 
-| EBNF2                          | 
link:./langDefs/ebnf2.lang[`ebnf2.lang`,title="View source file"] | 
+| D                              | link:./langDefs/d.lang[`d.lang`,title="View 
source file"] |
+| Dockerfile                     | 
link:./langDefs/dockerfile.lang[`dockerfile.lang`,title="View source file"] |
+| Dylan                          | 
link:./langDefs/dylan.lang[`dylan.lang`,title="View source file"] |
+| EBNF2                          | 
link:./langDefs/ebnf2.lang[`ebnf2.lang`,title="View source file"] |
 | Eiffel                         | 
link:./langDefs/eiffel.lang[`eiffel.lang`,title="View source file"] |  e se
-| Elixir                         | 
link:./langDefs/elixir.lang[`elixir.lang`,title="View source file"] |  ex exs
-| E-Mail treated as Markup       | 
link:./langDefs/email.lang[`email.lang`,title="View source file"] | 
-| ERB Templates                  | 
link:./langDefs/erb.lang[`erb.lang`,title="View source file"] | 
-| Erlang                         | 
link:./langDefs/erlang.lang[`erlang.lang`,title="View source file"] |  erl hrl
+| Elixir                         | 
link:./langDefs/elixir.lang[`elixir.lang`,title="View source file"] |  ex exs 
heex
+| Elm                            | 
link:./langDefs/elm.lang[`elm.lang`,title="View source file"] |
+| Emacs Org-Mode                 | 
link:./langDefs/org.lang[`org.lang`,title="View source file"] |
+| E-Mail treated as Markup       | 
link:./langDefs/email.lang[`email.lang`,title="View source file"] |
+| ERB Templates                  | 
link:./langDefs/erb.lang[`erb.lang`,title="View source file"] |
+| Erlang                         | 
link:./langDefs/erlang.lang[`erlang.lang`,title="View source file"] |  erl hrl 
xrl yrl
 | Euphoria                       | 
link:./langDefs/euphoria.lang[`euphoria.lang`,title="View source file"] |  eu 
ew exw wxu
 | EXAPUNKS                       | 
link:./langDefs/exapunks.lang[`exapunks.lang`,title="View source file"] |  exa 
exapunks
-| Excel Formulas                 | 
link:./langDefs/excel.lang[`excel.lang`,title="View source file"] | 
+| Excel Formulas                 | 
link:./langDefs/excel.lang[`excel.lang`,title="View source file"] |
 | Express                        | 
link:./langDefs/express.lang[`express.lang`,title="View source file"] |  exp
-| Extended Backus-Naur Form      | 
link:./langDefs/ebnf.lang[`ebnf.lang`,title="View source file"] | 
+| Extended Backus-Naur Form      | 
link:./langDefs/ebnf.lang[`ebnf.lang`,title="View source file"] |
+| Factor                         | 
link:./langDefs/factor.lang[`factor.lang`,title="View source file"] |
 | FAME                           | 
link:./langDefs/fame.lang[`fame.lang`,title="View source file"] |  fame
 | fasm                           | 
link:./langDefs/fasm.lang[`fasm.lang`,title="View source file"] |  inc
 | Felix                          | 
link:./langDefs/felix.lang[`felix.lang`,title="View source file"] |  flx
-| Fish                           | 
link:./langDefs/fish.lang[`fish.lang`,title="View source file"] | 
+| Fish                           | 
link:./langDefs/fish.lang[`fish.lang`,title="View source file"] |
 | F#                             | 
link:./langDefs/fsharp.lang[`fsharp.lang`,title="View source file"] |  fs fsi 
fsx
 | Fortran 77                     | 
link:./langDefs/fortran77.lang[`fortran77.lang`,title="View source file"] |  f 
for ftn
 | Fortran 90                     | 
link:./langDefs/fortran90.lang[`fortran90.lang`,title="View source file"] |  
f90 f95
-| Frink                          | 
link:./langDefs/frink.lang[`frink.lang`,title="View source file"] | 
-| fstab config file              | 
link:./langDefs/fstab.lang[`fstab.lang`,title="View source file"] | 
+| Frink                          | 
link:./langDefs/frink.lang[`frink.lang`,title="View source file"] |
+| fstab config file              | 
link:./langDefs/fstab.lang[`fstab.lang`,title="View source file"] |
 | Gambas                         | 
link:./langDefs/gambas.lang[`gambas.lang`,title="View source file"] |  class
-| (G)AWK                         | 
link:./langDefs/awk.lang[`awk.lang`,title="View source file"] | 
-| gdb                            | 
link:./langDefs/gdb.lang[`gdb.lang`,title="View source file"] | 
+| (G)AWK                         | 
link:./langDefs/awk.lang[`awk.lang`,title="View source file"] |
+| gdb                            | 
link:./langDefs/gdb.lang[`gdb.lang`,title="View source file"] |
 | GDScript                       | 
link:./langDefs/gdscript.lang[`gdscript.lang`,title="View source file"] |  gd
 | Generic Assembler              | 
link:./langDefs/assembler.lang[`assembler.lang`,title="View source file"] |  
29k 68s 68x a51 asm x86
 | Generic config files           | 
link:./langDefs/conf.lang[`conf.lang`,title="View source file"] |  anacrontab
-| GitHub Flavored Markdown       | 
link:./langDefs/markdown.lang[`markdown.lang`,title="View source file"] |  
markdown md
-| GitHub Flavored Markdown       | 
link:./langDefs/md.lang[`md.lang`,title="View source file"] | 
-| Go                             | 
link:./langDefs/go.lang[`go.lang`,title="View source file"] | 
+| Generic YAML                   | 
link:./langDefs/yaml.lang[`yaml.lang`,title="View source file"] |  yml
+| GitHub Flavored Markdown       | 
link:./langDefs/markdown.lang[`markdown.lang`,title="View source file"] |  
markdown md mdwn mdx mkd mkdn mkdown ronn workbook
+| Go                             | 
link:./langDefs/go.lang[`go.lang`,title="View source file"] |
 | Graphviz                       | 
link:./langDefs/graphviz.lang[`graphviz.lang`,title="View source file"] |  dot
-| Haml (HTML Abstraction Markup Language) | 
link:./langDefs/haml.lang[`haml.lang`,title="View source file"] | 
-| Haskell LHS                    | 
link:./langDefs/lhs.lang[`lhs.lang`,title="View source file"] | 
+| Haml (HTML Abstraction Markup Language) | 
link:./langDefs/haml.lang[`haml.lang`,title="View source file"] |
+| Hare                           | 
link:./langDefs/hare.lang[`hare.lang`,title="View source file"] |  ha
+| Haskell LHS                    | 
link:./langDefs/lhs.lang[`lhs.lang`,title="View source file"] |
 | Haskell                        | 
link:./langDefs/haskell.lang[`haskell.lang`,title="View source file"] |  hs
 | haXe                           | 
link:./langDefs/haxe.lang[`haxe.lang`,title="View source file"] |  hx
-| Hecl                           | 
link:./langDefs/hcl.lang[`hcl.lang`,title="View source file"] | 
+| Hecl                           | 
link:./langDefs/hcl.lang[`hcl.lang`,title="View source file"] |
 | HTML                           | 
link:./langDefs/html.lang[`html.lang`,title="View source file"] |  htm jinja 
twig xhtml
 | Hugo                           | 
link:./langDefs/hugo.lang[`hugo.lang`,title="View source file"] |  hug
 | Icon                           | 
link:./langDefs/icon.lang[`icon.lang`,title="View source file"] |  icn
-| IDL                            | 
link:./langDefs/idl.lang[`idl.lang`,title="View source file"] | 
+| IDL                            | 
link:./langDefs/idl.lang[`idl.lang`,title="View source file"] |
 | Informix                       | 
link:./langDefs/informix.lang[`informix.lang`,title="View source file"] |  4gl
 | INI                            | 
link:./langDefs/ini.lang[`ini.lang`,title="View source file"] |  cfg desktop 
doxyfile inf kdev3 reg
 | Inno Setup                     | 
link:./langDefs/innosetup.lang[`innosetup.lang`,title="View source file"] |  iss
-| Interactive Data Language      | 
link:./langDefs/idlang.lang[`idlang.lang`,title="View source file"] | 
+| Interactive Data Language      | 
link:./langDefs/idlang.lang[`idlang.lang`,title="View source file"] |
 | INTERLIS                       | 
link:./langDefs/interlis.lang[`interlis.lang`,title="View source file"] |  ili
-| IO                             | 
link:./langDefs/io.lang[`io.lang`,title="View source file"] | 
+| IO                             | 
link:./langDefs/io.lang[`io.lang`,title="View source file"] |
+| Jam                            | 
link:./langDefs/jam.lang[`jam.lang`,title="View source file"] |  ham jam
 | Jasmin                         | 
link:./langDefs/jasmin.lang[`jasmin.lang`,title="View source file"] |  j
-| Java FX                        | 
link:./langDefs/fx.lang[`fx.lang`,title="View source file"] | 
+| Java FX                        | 
link:./langDefs/fx.lang[`fx.lang`,title="View source file"] |
 | Java                           | 
link:./langDefs/java.lang[`java.lang`,title="View source file"] |  gradle 
groovy grv jenkinsfile
-| Javascript                     | 
link:./langDefs/js.lang[`js.lang`,title="View source file"] | 
-| Javascript Regex               | 
link:./langDefs/js_regex.lang[`js_regex.lang`,title="View source file"] | 
-| JavaServer Pages               | 
link:./langDefs/jsp.lang[`jsp.lang`,title="View source file"] | 
-| JSON                           | 
link:./langDefs/json.lang[`json.lang`,title="View source file"] | 
-| JSX                            | 
link:./langDefs/jsx.lang[`jsx.lang`,title="View source file"] | 
+| Javascript                     | 
link:./langDefs/javascript.lang[`javascript.lang`,title="View source file"] |  
js
+| Javascript Regex               | 
link:./langDefs/js_regex.lang[`js_regex.lang`,title="View source file"] |
+| JavaServer Pages               | 
link:./langDefs/jsp.lang[`jsp.lang`,title="View source file"] |
+| JSON                           | 
link:./langDefs/json.lang[`json.lang`,title="View source file"] |
+| JSX                            | 
link:./langDefs/jsx.lang[`jsx.lang`,title="View source file"] |
 | Julia                          | 
link:./langDefs/julia.lang[`julia.lang`,title="View source file"] |  jl
 | Kotlin                         | 
link:./langDefs/kotlin.lang[`kotlin.lang`,title="View source file"] |  kt kts
-| LDAP                           | 
link:./langDefs/ldif.lang[`ldif.lang`,title="View source file"] | 
-| Less                           | 
link:./langDefs/less.lang[`less.lang`,title="View source file"] | 
+| LDAP                           | 
link:./langDefs/ldif.lang[`ldif.lang`,title="View source file"] |
+| Less                           | 
link:./langDefs/less.lang[`less.lang`,title="View source file"] |
 | Lilypond                       | 
link:./langDefs/lilypond.lang[`lilypond.lang`,title="View source file"] |  ly
 | Limbo                          | 
link:./langDefs/limbo.lang[`limbo.lang`,title="View source file"] |  b
 | Linden Script                  | 
link:./langDefs/lindenscript.lang[`lindenscript.lang`,title="View source file"] 
|  lsl
 | Lisp                           | 
link:./langDefs/lisp.lang[`lisp.lang`,title="View source file"] |  cl clisp el 
fas fasl lsp mud sbcl scm scom
 | Logtalk                        | 
link:./langDefs/logtalk.lang[`logtalk.lang`,title="View source file"] |  lgt
-| Lotos                          | 
link:./langDefs/lotos.lang[`lotos.lang`,title="View source file"] | 
+| Lotos                          | 
link:./langDefs/lotos.lang[`lotos.lang`,title="View source file"] |
 | Lotus                          | 
link:./langDefs/lotus.lang[`lotus.lang`,title="View source file"] |  ls
-| Lua (for LuaTeX)               | 
link:./langDefs/inc_luatex.lang[`inc_luatex.lang`,title="View source file"] | 
-| Lua                            | 
link:./langDefs/lua.lang[`lua.lang`,title="View source file"] | 
+| Lua (for LuaTeX)               | 
link:./langDefs/inc_luatex.lang[`inc_luatex.lang`,title="View source file"] |
+| Lua                            | 
link:./langDefs/lua.lang[`lua.lang`,title="View source file"] |
 | Luban                          | 
link:./langDefs/luban.lang[`luban.lang`,title="View source file"] |  lbn
-| Magic eXtensible Markup        | 
link:./langDefs/mxml.lang[`mxml.lang`,title="View source file"] | 
-| Make                           | 
link:./langDefs/make.lang[`make.lang`,title="View source file"] |  gnumakefile 
mak makefile mk
+| Magic eXtensible Markup        | 
link:./langDefs/mxml.lang[`mxml.lang`,title="View source file"] |
+| Make                           | 
link:./langDefs/makefile.lang[`makefile.lang`,title="View source file"] |  
gnumakefile mak mk
 | Maple                          | 
link:./langDefs/maple.lang[`maple.lang`,title="View source file"] |  mpl
 | Matlab                         | 
link:./langDefs/matlab.lang[`matlab.lang`,title="View source file"] |  m
-| MaxScript                      | 
link:./langDefs/ms.lang[`ms.lang`,title="View source file"] | 
+| MaxScript                      | 
link:./langDefs/ms.lang[`ms.lang`,title="View source file"] |
 | Maya                           | 
link:./langDefs/maya.lang[`maya.lang`,title="View source file"] |  mel
-| Mercury                        | 
link:./langDefs/mercury.lang[`mercury.lang`,title="View source file"] | 
-| Meson                          | 
link:./langDefs/meson.lang[`meson.lang`,title="View source file"] | 
-| Microsoft PowerShell           | 
link:./langDefs/ps1.lang[`ps1.lang`,title="View source file"] |  psd1 psm1
-| Miranda                        | 
link:./langDefs/miranda.lang[`miranda.lang`,title="View source file"] | 
+| Mercury                        | 
link:./langDefs/mercury.lang[`mercury.lang`,title="View source file"] |
+| Meson                          | 
link:./langDefs/meson.lang[`meson.lang`,title="View source file"] |
+| Microsoft PowerShell           | 
link:./langDefs/powershell.lang[`powershell.lang`,title="View source file"] |  
ps1 psd1 psm1
+| Miranda                        | 
link:./langDefs/miranda.lang[`miranda.lang`,title="View source file"] |
 | mIRC Scripting                 | 
link:./langDefs/msl.lang[`msl.lang`,title="View source file"] |  nbs
 | Modelica                       | 
link:./langDefs/modelica.lang[`modelica.lang`,title="View source file"] |  mo
 | Modula2                        | 
link:./langDefs/mod2.lang[`mod2.lang`,title="View source file"] |  def mod
 | Modula3                        | 
link:./langDefs/mod3.lang[`mod3.lang`,title="View source file"] |  i3 m3
-| MoonScript                     | 
link:./langDefs/moon.lang[`moon.lang`,title="View source file"] | 
+| MoonScript                     | 
link:./langDefs/moon.lang[`moon.lang`,title="View source file"] |
 | MS DOS Batch                   | 
link:./langDefs/bat.lang[`bat.lang`,title="View source file"] |  cmd
-| MSSQL                          | 
link:./langDefs/mssql.lang[`mssql.lang`,title="View source file"] | 
+| MSSQL                          | 
link:./langDefs/mssql.lang[`mssql.lang`,title="View source file"] |
 | Nasal                          | 
link:./langDefs/nasal.lang[`nasal.lang`,title="View source file"] |  nas
 | Nemerle                        | 
link:./langDefs/nemerle.lang[`nemerle.lang`,title="View source file"] |  n
 | NetRexx                        | 
link:./langDefs/netrexx.lang[`netrexx.lang`,title="View source file"] |  nrx
-| NeXT Byte Codes                | 
link:./langDefs/nbc.lang[`nbc.lang`,title="View source file"] | 
-| Nginx configuration            | 
link:./langDefs/nginx.lang[`nginx.lang`,title="View source file"] | 
-| Nice                           | 
link:./langDefs/nice.lang[`nice.lang`,title="View source file"] | 
-| Nim                            | 
link:./langDefs/nim.lang[`nim.lang`,title="View source file"] | 
+| NeXT Byte Codes                | 
link:./langDefs/nbc.lang[`nbc.lang`,title="View source file"] |
+| Nginx configuration            | 
link:./langDefs/nginx.lang[`nginx.lang`,title="View source file"] |
+| Nice                           | 
link:./langDefs/nice.lang[`nice.lang`,title="View source file"] |
+| Nim                            | 
link:./langDefs/nim.lang[`nim.lang`,title="View source file"] |  nimble nimrod 
nims
+| Nix Expression Language        | 
link:./langDefs/nix.lang[`nix.lang`,title="View source file"] |
 | Notation3 (N3), N-Triples, Turtle, SPARQL | 
link:./langDefs/n3.lang[`n3.lang`,title="View source file"] |  nt ttl
-| Not eXactly C                  | 
link:./langDefs/nxc.lang[`nxc.lang`,title="View source file"] | 
+| Not eXactly C                  | 
link:./langDefs/nxc.lang[`nxc.lang`,title="View source file"] |
 | NSIS                           | 
link:./langDefs/nsis.lang[`nsis.lang`,title="View source file"] |  nsh nsi
 | Oberon                         | 
link:./langDefs/oberon.lang[`oberon.lang`,title="View source file"] |  ooc
-| Objective Caml                 | 
link:./langDefs/ocaml.lang[`ocaml.lang`,title="View source file"] |  ml mli
-| Objective C                    | 
link:./langDefs/objc.lang[`objc.lang`,title="View source file"] | 
-| Object Script                  | 
link:./langDefs/os.lang[`os.lang`,title="View source file"] | 
-| Octave                         | 
link:./langDefs/octave.lang[`octave.lang`,title="View source file"] | 
-| OpenObjectRexx                 | 
link:./langDefs/oorexx.lang[`oorexx.lang`,title="View source file"] | 
-| OpenSCAD                       | 
link:./langDefs/scad.lang[`scad.lang`,title="View source file"] | 
-| Oz                             | 
link:./langDefs/oz.lang[`oz.lang`,title="View source file"] | 
+| Objective Caml                 | 
link:./langDefs/ocaml.lang[`ocaml.lang`,title="View source file"] |  eliom 
eliomi ml ml4 mli mll mly
+| Objective C                    | 
link:./langDefs/objc.lang[`objc.lang`,title="View source file"] |
+| Object Script                  | 
link:./langDefs/os.lang[`os.lang`,title="View source file"] |
+| Octave                         | 
link:./langDefs/octave.lang[`octave.lang`,title="View source file"] |
+| OpenObjectRexx                 | 
link:./langDefs/oorexx.lang[`oorexx.lang`,title="View source file"] |
+| OpenSCAD                       | 
link:./langDefs/scad.lang[`scad.lang`,title="View source file"] |
+| Oz                             | 
link:./langDefs/oz.lang[`oz.lang`,title="View source file"] |
 | Paradox                        | 
link:./langDefs/paradox.lang[`paradox.lang`,title="View source file"] |  sc
-| Pascal                         | 
link:./langDefs/pas.lang[`pas.lang`,title="View source file"] | 
-| PATROL                         | 
link:./langDefs/psl.lang[`psl.lang`,title="View source file"] | 
+| Pascal                         | 
link:./langDefs/pas.lang[`pas.lang`,title="View source file"] |
+| PATROL                         | 
link:./langDefs/psl.lang[`psl.lang`,title="View source file"] |
 | Perl                           | 
link:./langDefs/perl.lang[`perl.lang`,title="View source file"] |  cgi perl pl 
plex plx pm
 | PHP                            | 
link:./langDefs/php.lang[`php.lang`,title="View source file"] |  php3 php4 php5 
php6 php7 phps phpt
 | Pike                           | 
link:./langDefs/pike.lang[`pike.lang`,title="View source file"] |  pmod
 | PL/1                           | 
link:./langDefs/pl1.lang[`pl1.lang`,title="View source file"] |  bdy ff fp fpp 
rpp sf sp spb spe spp sps wf wp wpb wpp wps
 | Plain text                     | 
link:./langDefs/txt.lang[`txt.lang`,title="View source file"] |  text
-| PL/Perl                        | 
link:./langDefs/plperl.lang[`plperl.lang`,title="View source file"] | 
-| PL/Python                      | 
link:./langDefs/plpython.lang[`plpython.lang`,title="View source file"] | 
-| PL/SQL                         | 
link:./langDefs/sql.lang[`sql.lang`,title="View source file"] | 
-| PL/Tcl                         | 
link:./langDefs/pltcl.lang[`pltcl.lang`,title="View source file"] | 
+| PL/Perl                        | 
link:./langDefs/plperl.lang[`plperl.lang`,title="View source file"] |
+| PL/Python                      | 
link:./langDefs/plpython.lang[`plpython.lang`,title="View source file"] |
+| PL/SQL                         | 
link:./langDefs/sql.lang[`sql.lang`,title="View source file"] |
+| PL/Tcl                         | 
link:./langDefs/pltcl.lang[`pltcl.lang`,title="View source file"] |
 | Polygen                        | 
link:./langDefs/polygen.lang[`polygen.lang`,title="View source file"] |  grm
-| Pony                           | 
link:./langDefs/pony.lang[`pony.lang`,title="View source file"] | 
-| Portable Document Format       | 
link:./langDefs/pdf.lang[`pdf.lang`,title="View source file"] | 
-| PostScript                     | 
link:./langDefs/ps.lang[`ps.lang`,title="View source file"] | 
-| PO translation                 | 
link:./langDefs/po.lang[`po.lang`,title="View source file"] | 
-| POV-Ray                        | 
link:./langDefs/pov.lang[`pov.lang`,title="View source file"] | 
-| PowerPC Assembler              | link:./langDefs/s.lang[`s.lang`,title="View 
source file"] | 
+| Pony                           | 
link:./langDefs/pony.lang[`pony.lang`,title="View source file"] |
+| Portable Document Format       | 
link:./langDefs/pdf.lang[`pdf.lang`,title="View source file"] |
+| PostScript                     | 
link:./langDefs/ps.lang[`ps.lang`,title="View source file"] |
+| PO translation                 | 
link:./langDefs/po.lang[`po.lang`,title="View source file"] |
+| POV-Ray                        | 
link:./langDefs/pov.lang[`pov.lang`,title="View source file"] |
+| PowerPC Assembler              | link:./langDefs/s.lang[`s.lang`,title="View 
source file"] |
 | Progress                       | 
link:./langDefs/progress.lang[`progress.lang`,title="View source file"] |  p w
 | Prolog                         | 
link:./langDefs/pro.lang[`pro.lang`,title="View source file"] |  pro
 | PureBASIC                      | 
link:./langDefs/purebasic.lang[`purebasic.lang`,title="View source file"] |  pb 
pbf pbi
-| Pure                           | 
link:./langDefs/pure.lang[`pure.lang`,title="View source file"] | 
-| PureScript                     | 
link:./langDefs/purescript.lang[`purescript.lang`,title="View source file"] | 
+| Pure                           | 
link:./langDefs/pure.lang[`pure.lang`,title="View source file"] |
+| PureScript                     | 
link:./langDefs/purescript.lang[`purescript.lang`,title="View source file"] |  
purs
 | Pyrex                          | 
link:./langDefs/pyrex.lang[`pyrex.lang`,title="View source file"] |  pyx
 | Python                         | 
link:./langDefs/python.lang[`python.lang`,title="View source file"] |  cpy gyp 
gypi pxd pxi py py3 pyi pyw rpy sconstruct snakefile wscript
-| QMake Project                  | 
link:./langDefs/qmake.lang[`qmake.lang`,title="View source file"] | 
-| QML                            | 
link:./langDefs/qml.lang[`qml.lang`,title="View source file"] | 
-| Qore                           | link:./langDefs/q.lang[`q.lang`,title="View 
source file"] | 
-| Qu                             | 
link:./langDefs/qu.lang[`qu.lang`,title="View source file"] | 
-| Rebol                          | 
link:./langDefs/rebol.lang[`rebol.lang`,title="View source file"] | 
-| Relax NG                       | 
link:./langDefs/rnc.lang[`rnc.lang`,title="View source file"] | 
-| reStructured Text              | 
link:./langDefs/rst.lang[`rst.lang`,title="View source file"] | 
+| QMake Project                  | 
link:./langDefs/qmake.lang[`qmake.lang`,title="View source file"] |
+| QML                            | 
link:./langDefs/qml.lang[`qml.lang`,title="View source file"] |
+| Qore                           | link:./langDefs/q.lang[`q.lang`,title="View 
source file"] |
+| Qu                             | 
link:./langDefs/qu.lang[`qu.lang`,title="View source file"] |
+| Rebol                          | 
link:./langDefs/rebol.lang[`rebol.lang`,title="View source file"] |
+| Rego                           | 
link:./langDefs/rego.lang[`rego.lang`,title="View source file"] |
+| Relax NG                       | 
link:./langDefs/rnc.lang[`rnc.lang`,title="View source file"] |
+| reStructured Text              | 
link:./langDefs/rst.lang[`rst.lang`,title="View source file"] |
 | Rexx                           | 
link:./langDefs/rexx.lang[`rexx.lang`,title="View source file"] |  rex rx the
-| R                              | link:./langDefs/r.lang[`r.lang`,title="View 
source file"] | 
-| RPG                            | 
link:./langDefs/rpg.lang[`rpg.lang`,title="View source file"] | 
-| RPL Programming Language       | 
link:./langDefs/rpl.lang[`rpl.lang`,title="View source file"] | 
-| RPM Spec                       | 
link:./langDefs/spec.lang[`spec.lang`,title="View source file"] | 
+| R                              | link:./langDefs/r.lang[`r.lang`,title="View 
source file"] |
+| RPG                            | 
link:./langDefs/rpg.lang[`rpg.lang`,title="View source file"] |
+| RPL Programming Language       | 
link:./langDefs/rpl.lang[`rpl.lang`,title="View source file"] |
+| RPM Spec                       | 
link:./langDefs/spec.lang[`spec.lang`,title="View source file"] |
 | Ruby                           | 
link:./langDefs/ruby.lang[`ruby.lang`,title="View source file"] |  appfile 
appraisals berksfile brewfile capfile cheffile config.ru deliverfile fastfile 
fcgi gemfile gemspec guardfile irbrc jbuilder podfile podspec pp prawn rabl 
rake rakefile rantfile rb rbx rjs ruby scanfile simplecov snapfile thor 
thorfile vagrantfile
-| Rust                           | 
link:./langDefs/rs.lang[`rs.lang`,title="View source file"] | 
-| SAS                            | 
link:./langDefs/sas.lang[`sas.lang`,title="View source file"] | 
-| Sass/SCSS                      | 
link:./langDefs/scss.lang[`scss.lang`,title="View source file"] | 
-| Scala                          | 
link:./langDefs/scala.lang[`scala.lang`,title="View source file"] | 
+| Rust                           | 
link:./langDefs/rust.lang[`rust.lang`,title="View source file"] |  rs
+| SAS                            | 
link:./langDefs/sas.lang[`sas.lang`,title="View source file"] |
+| Sass/SCSS                      | 
link:./langDefs/scss.lang[`scss.lang`,title="View source file"] |
+| Scala                          | 
link:./langDefs/scala.lang[`scala.lang`,title="View source file"] |
 | Scilab                         | 
link:./langDefs/scilab.lang[`scilab.lang`,title="View source file"] |  sce sci
-| Sequence Alignment Map (use with sam_seq.lua plug-in) | 
link:./langDefs/sam.lang[`sam.lang`,title="View source file"] | 
-| Slim (experimental)            | 
link:./langDefs/slim.lang[`slim.lang`,title="View source file"] | 
+| Sequence Alignment Map (use with sam_seq.lua plug-in) | 
link:./langDefs/sam.lang[`sam.lang`,title="View source file"] |
+| Slim (experimental)            | 
link:./langDefs/slim.lang[`slim.lang`,title="View source file"] |
 | SMALL                          | 
link:./langDefs/small.lang[`small.lang`,title="View source file"] |  sma
 | Smalltalk                      | 
link:./langDefs/smalltalk.lang[`smalltalk.lang`,title="View source file"] |  
gst sq st
 | SNMP                           | 
link:./langDefs/snmp.lang[`snmp.lang`,title="View source file"] |  mib smi
 | SNOBOL                         | 
link:./langDefs/snobol.lang[`snobol.lang`,title="View source file"] |  sno
 | Solidity                       | 
link:./langDefs/solidity.lang[`solidity.lang`,title="View source file"] |  sol
-| SPIN SQL                       | 
link:./langDefs/spn.lang[`spn.lang`,title="View source file"] | 
+| SPIN SQL                       | 
link:./langDefs/spn.lang[`spn.lang`,title="View source file"] |
 | Squirrel                       | 
link:./langDefs/squirrel.lang[`squirrel.lang`,title="View source file"] |  nut
-| Standard ML                    | 
link:./langDefs/sml.lang[`sml.lang`,title="View source file"] | 
-| Stylus                         | 
link:./langDefs/styl.lang[`styl.lang`,title="View source file"] | 
-| SuperX++                       | 
link:./langDefs/xpp.lang[`xpp.lang`,title="View source file"] | 
-| SVG                            | 
link:./langDefs/svg.lang[`svg.lang`,title="View source file"] | 
-| Swift                          | 
link:./langDefs/swift.lang[`swift.lang`,title="View source file"] | 
-| Sybase SQL                     | 
link:./langDefs/sybase.lang[`sybase.lang`,title="View source file"] | 
+| Standard ML                    | 
link:./langDefs/sml.lang[`sml.lang`,title="View source file"] |
+| Stylus                         | 
link:./langDefs/styl.lang[`styl.lang`,title="View source file"] |
+| SuperX++                       | 
link:./langDefs/xpp.lang[`xpp.lang`,title="View source file"] |
+| SVG                            | 
link:./langDefs/svg.lang[`svg.lang`,title="View source file"] |
+| Swift                          | 
link:./langDefs/swift.lang[`swift.lang`,title="View source file"] |
+| Sybase SQL                     | 
link:./langDefs/sybase.lang[`sybase.lang`,title="View source file"] |
 | Tcl/Tk                         | 
link:./langDefs/tcl.lang[`tcl.lang`,title="View source file"] |  itcl wish
-| TCSH                           | 
link:./langDefs/tcsh.lang[`tcsh.lang`,title="View source file"] | 
-| Terraform                      | 
link:./langDefs/terraform.lang[`terraform.lang`,title="View source file"] | 
+| TCSH                           | 
link:./langDefs/tcsh.lang[`tcsh.lang`,title="View source file"] |
+| Terraform                      | 
link:./langDefs/terraform.lang[`terraform.lang`,title="View source file"] |
 | TeX and LaTeX                  | 
link:./langDefs/tex.lang[`tex.lang`,title="View source file"] |  cls sty
-| TOML                           | 
link:./langDefs/toml.lang[`toml.lang`,title="View source file"] | 
-| Transact-SQL                   | 
link:./langDefs/tsql.lang[`tsql.lang`,title="View source file"] | 
-| TSX (TypeScript with React)    | 
link:./langDefs/tsx.lang[`tsx.lang`,title="View source file"] | 
-| TTCN3                          | 
link:./langDefs/ttcn3.lang[`ttcn3.lang`,title="View source file"] | 
-| TypeScript                     | 
link:./langDefs/ts.lang[`ts.lang`,title="View source file"] | 
-| UPC (and C, technically)       | 
link:./langDefs/upc.lang[`upc.lang`,title="View source file"] | 
-| Vala                           | 
link:./langDefs/vala.lang[`vala.lang`,title="View source file"] | 
+| TOML                           | 
link:./langDefs/toml.lang[`toml.lang`,title="View source file"] |
+| Transact-SQL                   | 
link:./langDefs/tsql.lang[`tsql.lang`,title="View source file"] |
+| TSX (TypeScript with React)    | 
link:./langDefs/tsx.lang[`tsx.lang`,title="View source file"] |
+| TTCN3                          | 
link:./langDefs/ttcn3.lang[`ttcn3.lang`,title="View source file"] |
+| TypeScript                     | 
link:./langDefs/typescript.lang[`typescript.lang`,title="View source file"] |  
ts
+| UPC (and C, technically)       | 
link:./langDefs/upc.lang[`upc.lang`,title="View source file"] |
+| Vala                           | 
link:./langDefs/vala.lang[`vala.lang`,title="View source file"] |
 | Verilog                        | 
link:./langDefs/verilog.lang[`verilog.lang`,title="View source file"] |  v
-| VHDL                           | 
link:./langDefs/vhd.lang[`vhd.lang`,title="View source file"] | 
+| VHDL                           | 
link:./langDefs/vhd.lang[`vhd.lang`,title="View source file"] |
 | vimscript                      | 
link:./langDefs/vimscript.lang[`vimscript.lang`,title="View source file"] |  
gvimrc vim vimrc
 | Visual Basic                   | 
link:./langDefs/vb.lang[`vb.lang`,title="View source file"] |  bas basic bi vbs
-| vue.js (beta)                  | 
link:./langDefs/vue.lang[`vue.lang`,title="View source file"] | 
-| Web Assembly Text              | 
link:./langDefs/wat.lang[`wat.lang`,title="View source file"] | 
-| Whiley                         | 
link:./langDefs/whiley.lang[`whiley.lang`,title="View source file"] | 
-| Wren                           | 
link:./langDefs/wren.lang[`wren.lang`,title="View source file"] | 
-| XML                            | 
link:./langDefs/xml.lang[`xml.lang`,title="View source file"] |  csproj dtd ecf 
ent glade hdr hub jnlp nrm opml resx rss sgm sgml tld vxml wml xsd xsl
-| Yaiff                          | 
link:./langDefs/yaiff.lang[`yaiff.lang`,title="View source file"] | 
-| Yang                           | 
link:./langDefs/yang.lang[`yang.lang`,title="View source file"] | 
-| Zonnon                         | 
link:./langDefs/znn.lang[`znn.lang`,title="View source file"] | 
+| vue.js (beta)                  | 
link:./langDefs/vue.lang[`vue.lang`,title="View source file"] |
+| Web Assembly Text              | 
link:./langDefs/wat.lang[`wat.lang`,title="View source file"] |
+| Whiley                         | 
link:./langDefs/whiley.lang[`whiley.lang`,title="View source file"] |
+| Wren                           | 
link:./langDefs/wren.lang[`wren.lang`,title="View source file"] |
+| XML                            | 
link:./langDefs/xml.lang[`xml.lang`,title="View source file"] |  csproj dtd ecf 
ent glade graphml hdr hub jnlp nrm opml resx rng rss sgm sgml tld vxml wml xsd 
xsl
+| Yaiff                          | 
link:./langDefs/yaiff.lang[`yaiff.lang`,title="View source file"] |
+| Yang                           | 
link:./langDefs/yang.lang[`yang.lang`,title="View source file"] |
+| Zig                            | 
link:./langDefs/zig.lang[`zig.lang`,title="View source file"] |
+| Zonnon                         | 
link:./langDefs/znn.lang[`znn.lang`,title="View source file"] |
 |==========================================
 
 [NOTE]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/filetypes.conf 
new/highlight-v4.9/filetypes.conf
--- old/highlight-v4.8/filetypes.conf   2023-08-25 16:54:40.000000000 +0200
+++ new/highlight-v4.9/filetypes.conf   2023-10-18 14:46:12.000000000 +0200
@@ -41,7 +41,7 @@
  { Lang="aspect", Extensions={"was", "wud"} },
  { Lang="ballerina", Extensions={"bal"} },
  { Lang="bat", Extensions={"cmd"} },
- { Lang="c", Extensions={"c++", "cpp", "cxx", "cc", "h", "hh", "hxx", "hpp", 
"cu", "inl", "ipp", "ino"} },
+ { Lang="c", Extensions={"c++", "cpp", "cxx", "cc", "h", "hh", "hxx", "hpp", 
"cu", "inl", "ipp", "ino", "ixx", "cppm"} },
  { Lang="cmake", Filenames={"CMakeLists.txt"} },
  { Lang="charmm", Extensions={"inp"} },
  { Lang="clojure", Extensions={"boot", "cl2", "clj", "cljscm", "cljx", "hic"} 
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/gui_files/ext/fileopenfilter.conf 
new/highlight-v4.9/gui_files/ext/fileopenfilter.conf
--- old/highlight-v4.8/gui_files/ext/fileopenfilter.conf        2023-08-25 
16:54:40.000000000 +0200
+++ new/highlight-v4.9/gui_files/ext/fileopenfilter.conf        2023-10-18 
14:46:12.000000000 +0200
@@ -37,7 +37,8 @@
 BNF (*.bnf)
 Boo (*.boo)
 Carbon (*.carbon)
-C/C++ (*.cpp *.cc *.c *.C *.hpp *.h *.cu *.ino)
+C/C++ (*.cpp *.cc *.c *.C *.hpp *.h *.cu *.ino *.ixx *.cppm)
+Cpp2 (*.cpp2)
 C# (*.cs)
 Charmm (*.inp)
 CHILL (*.chl)
@@ -65,12 +66,14 @@
 EBNF (*.ebnf)
 Eiffel (*.e *.ecf *.se)
 Elixir (*.ex *.exs *.heex)
+Elm (*.elm)
 EmacsOrgMode (*.org)
 ERB (*.erb)
 Erlang (*.hrl *.erl *.xrl *.yrl)
 Euphoria (*.ex *.exw *.exu *.ew *.eu)
 EXAPUNKS (*.exapunks *.exa)
 Express (*.exp)
+Factor (*.factor)
 Fame (*.fame)
 FASM (*.asm *.inc)
 Felix (*.flx)
Binary files old/highlight-v4.8/gui_files/l10n/highlight_ja_JP.qm and 
new/highlight-v4.9/gui_files/l10n/highlight_ja_JP.qm differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/langDefs/c.lang 
new/highlight-v4.9/langDefs/c.lang
--- old/highlight-v4.8/langDefs/c.lang  2023-08-25 16:54:40.000000000 +0200
+++ new/highlight-v4.9/langDefs/c.lang  2023-10-18 14:46:12.000000000 +0200
@@ -13,7 +13,7 @@
       "reinterpret_cast", "static_cast", "this", "throw", "try", "catch", 
"using", "true", "false", "bitand", "and", "bitor", "or", "xor",
       "compl", "and_eq", "or_eq", "xor_eq", "not", "not_eq", "assert", 
"static_assert",
       
"alignas","alignof","concept","consteval","constexpr","constinit","co_await","co_return","co_yield","decltype",
-      "noexcept","requires","thread_local",
+      "noexcept","requires","thread_local", "module", "import"
     }
   },
   { Id=2,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/langDefs/ceylon.lang 
new/highlight-v4.9/langDefs/ceylon.lang
--- old/highlight-v4.8/langDefs/ceylon.lang     2023-08-25 16:54:40.000000000 
+0200
+++ new/highlight-v4.9/langDefs/ceylon.lang     2023-10-18 14:46:12.000000000 
+0200
@@ -47,6 +47,6 @@
 
 
Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\.|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\~|\||\?]]
 
-Digits=[[ 
[\d\.\_]*\d+(?:[eE][\-\+]?\d+)?[kMGTPmunpf]*|#[[:alnum:]\_]+|\$[01_]+ ]]
+Digits=[=[ 
[\d\.\_]*\d+(?:[eE][\-\+]?\d+)?[kMGTPmunpf]*|#[[:alnum:]\_]+|\$[01_]+ ]=]
 
 EnableIndentation=true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/langDefs/cpp2.lang 
new/highlight-v4.9/langDefs/cpp2.lang
--- old/highlight-v4.8/langDefs/cpp2.lang       1970-01-01 01:00:00.000000000 
+0100
+++ new/highlight-v4.9/langDefs/cpp2.lang       2023-10-18 14:46:12.000000000 
+0200
@@ -0,0 +1,84 @@
+
+Description="Cpp2"
+
+Categories = {"source"}
+
+Digits = [[ (?:0x|0X|0b)[0-9a-fA-F']+|\d*[\.]?\d+(?:[eE][\-\+]\d+)?[lLuU]* ]]
+
+Keywords={
+  { Id=1,
+    List={
+      "goto", "break", "return", "continue", "asm", "case", "default", "if", 
"else", "switch", "while", "for", "do", "sizeof",
+      "typeof", "stdcall", "cdecl", "const_cast", "delete", "dynamic_cast", 
"goto", "namespace", "new", "pascal",
+      "reinterpret_cast", "static_cast", "this", "throw", "try", "catch", 
"using", "true", "false", "bitand", "and", "bitor", "or", "xor",
+      "compl", "and_eq", "or_eq", "xor_eq", "not", "not_eq", "assert", 
"static_assert",
+      
"alignas","alignof","concept","consteval","constexpr","constinit","co_await","co_return","co_yield","decltype",
+      "noexcept","requires","thread_local"
+    }
+  },
+  { Id=2,
+    List= {
+      "int", "long", "short", "char", "void", "signed", "unsigned", "float", 
"double", "size_t", "wchar_t",
+      "ptrdiff_t", "sig_atomic_t", "fpos_t", "clock_t", "time_t", "va_list", 
"jmp_buf", "FILE", "DIR", "div_t", "ldiv_t", "static",
+      "mbstate_t", "wctrans_t", "wint_t", "wctype_t", "const", "bool", 
"complex", "struct", "union", "enum",
+      "int8_t", "int16_t", "int32_t", "int64_t", "uint8_t", "uint16_t", 
"uint32_t", "uint64_t", "int_least8_t", "int_least16_t",
+      "int_least32_t", "int_least64_t", "uint_least8_t", "uint_least16_t", 
"uint_least32_t", "uint_least64_t",
+      "int_fast8_t", "int_fast16_t", "int_fast32_t", "int_fast64_t", 
"uint_fast8_t", "uint_fast16_t", "uint_fast32_t",
+      "uint_fast64_t", "intptr_t", "uintptr_t", "intmax_t", "uintmax_t", 
"char8_t","char16_t","char32_t",
+      "in", "out", "copy", "move", "inout", "forward"
+    }
+  },
+  { Id=4,
+    List= {
+      "typedef", "inline", "auto", "class", "explicit", "extern", "friend", 
"inline", "mutable", "operator",
+      "register", "template", "private", "protected", "public", "typeid", 
"virtual", "volatile", "constexpr", "nullptr", "decltype"
+    }
+  },
+  { Id=5,
+    Regex=[[([\w\+\-\*\=]+)\s*\:]]
+  },
+  { Id=4,
+    Regex=[[(\w+)\s*\(]]
+  },
+  { Id=6,
+    Regex=[=[ \[\[[\w\:\,\s]+?\]\] ]=]
+  }
+}
+
+Strings = {
+  Delimiter=[["|']],
+  RawPrefix="R",
+  Interpolation = [[ %\w ]],
+}
+
+Comments = {
+  { Block=true,
+    Nested=false,
+    Delimiter = { [[\/\*]], [[\*\/]] }
+  },
+  {
+    Block=false,
+    Delimiter = { [[//]] }
+  }
+}
+
+IgnoreCase=false
+
+PreProcessor = {
+  Prefix=[[#]],
+  Continuation="\\",
+}
+
+Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\.|\:|\&|<|>|\!|=|\/|\*|\%|\+|\-|\~|\||\^|\?]]
+
+EnableIndentation=false
+
+-- resolve issue with C++14 number separator syntax
+function OnStateChange(oldState, newState, token)
+
+  if token=="'" and oldState==HL_NUMBER and newState==HL_STRING then
+    return HL_NUMBER
+  end
+
+  return newState
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/langDefs/elm.lang 
new/highlight-v4.9/langDefs/elm.lang
--- old/highlight-v4.8/langDefs/elm.lang        1970-01-01 01:00:00.000000000 
+0100
+++ new/highlight-v4.9/langDefs/elm.lang        2023-10-18 14:46:12.000000000 
+0200
@@ -0,0 +1,45 @@
+Description="Elm"
+
+Categories = {"source", "script"}
+
+Digits=[[ 
(?:0x|0X|0o|0O|0b|0B)[0-9a-fA-F\_]+|\d*[\.\_]?[\d\_]+(?:[eE][\-\+]\d+)?[lLuU]* 
]]
+
+Keywords={
+  { Id=1,
+    List={  "type", "alias", "port" , "if", "then", "else", "case", "of", 
"let", "in",
+    "infix", "left", "right", "non", "module", "import", "exposing", "as", 
"where",
+    "effect", "command", "subscription", "jsonTrue", "jsonFalse", "jsonNull" }
+  },
+  { Id=2,
+    List={  "True", "False" }
+  },
+  { Id=3,
+    List={ "String", "Int", "Float" }
+  },
+  { Id=4,
+    Regex=[[([a-zA-Z]\w+)\s*\(]],
+  },
+  -- attributes:
+  { Id=2,
+    Regex=[[\.([\w]+)]],
+  }
+}
+
+Strings={
+  Delimiter=[["""|"|']]
+}
+
+IgnoreCase=false
+
+Comments = {
+  { Block=true,
+    Nested=true,
+    Delimiter = { [[\{\-]], [[\-\}]] }
+  },
+  {
+    Block=false,
+    Delimiter = { [[--]] }
+  }
+}
+
+Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\.|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\@|\||\^]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/langDefs/factor.lang 
new/highlight-v4.9/langDefs/factor.lang
--- old/highlight-v4.8/langDefs/factor.lang     1970-01-01 01:00:00.000000000 
+0100
+++ new/highlight-v4.9/langDefs/factor.lang     2023-10-18 14:46:12.000000000 
+0200
@@ -0,0 +1,179 @@
+Description="Factor"
+
+Categories = {"source"}
+
+Digits=[[ 
(?:0x|0X|0o|0O|0b|0B)[0-9a-fA-F\_]+|\d*[\.\_]?[\d\_]+(?:[eE][\-\+]\d+)?[lLuU]* 
]]
+
+Identifiers=[[ [a-zA-Z_\d][\w\-\d\*<>\?\(\)]* ]]
+
+Keywords={
+  { Id=1,
+    List={ '-rot', '2bi', '2bi@', '2bi*', '2curry', '2dip', '2drop', '2dup', 
'2keep', '2nip',
+        '2over', '2tri', '2tri@', '2tri*', '3bi', '3curry', '3dip', '3drop', 
'3dup', '3keep',
+        '3tri', '4dip', '4drop', '4dup', '4keep', '<wrapper>', '=', 
'>boolean', 'clone',
+        '?', '?execute', '?if', 'and', 'assert', 'assert=', 'assert?', 'bi', 
'bi-curry',
+        'bi-curry@', 'bi-curry*', 'bi@', 'bi*', 'boa', 'boolean', 'boolean?', 
'both?',
+        'build', 'call', 'callstack', 'callstack>array', 'callstack?', 
'clear', '(clone)',
+        'compose', 'compose?', 'curry', 'curry?', 'datastack', 'die', 'dip', 
'do', 'drop',
+        'dup', 'dupd', 'either?', 'eq?', 'equal?', 'execute', 'hashcode', 
'hashcode*',
+        'identity-hashcode', 'identity-tuple', 'identity-tuple?', 'if', 'if*',
+        'keep', 'loop', 'most', 'new', 'nip', 'not', 'null', 'object', 'or', 
'over',
+        'pick', 'prepose', 'retainstack', 'rot', 'same?', 'swap', 'swapd', 
'throw',
+        'tri', 'tri-curry', 'tri-curry@', 'tri-curry*', 'tri@', 'tri*', 
'tuple',
+        'tuple?', 'unless', 'unless*', 'until', 'when', 'when*', 'while', 
'with',
+        'wrapper', 'wrapper?', 'xor',
+        '2cache', '<enum>', '>alist', '?at', '?of', 'assoc', 'assoc-all?',
+        'assoc-any?', 'assoc-clone-like', 'assoc-combine', 'assoc-diff',
+        'assoc-diff!', 'assoc-differ', 'assoc-each', 'assoc-empty?',
+        'assoc-filter', 'assoc-filter!', 'assoc-filter-as', 'assoc-find',
+        'assoc-hashcode', 'assoc-intersect', 'assoc-like', 'assoc-map',
+        'assoc-map-as', 'assoc-partition', 'assoc-refine', 'assoc-size',
+        'assoc-stack', 'assoc-subset?', 'assoc-union', 'assoc-union!',
+        'assoc=', 'assoc>map', 'assoc?', 'at', 'at+', 'at*', 'cache', 
'change-at',
+        'clear-assoc', 'delete-at', 'delete-at*', 'enum', 'enum?', 
'extract-keys',
+        'inc-at', 'key?', 'keys', 'map>assoc', 'maybe-set-at', 'new-assoc', 
'of',
+        'push-at', 'rename-at', 'set-at', 'sift-keys', 'sift-values', 
'substitute',
+        'unzip', 'value-at', 'value-at*', 'value?', 'values', 'zip',
+        '2cleave', '2cleave>quot', '3cleave', '3cleave>quot', '4cleave',
+        '4cleave>quot', 'alist>quot', 'call-effect', 'case', 'case-find',
+        'case>quot', 'cleave', 'cleave>quot', 'cond', 'cond>quot', 
'deep-spread>quot',
+        'execute-effect', 'linear-case-quot', 'no-case', 'no-case?', 'no-cond',
+        'no-cond?', 'recursive-hashcode', 'shallow-spread>quot', 'spread',
+        'to-fixed-point', 'wrong-values', 'wrong-values?',
+        '>bignum', '>fixnum', '>float', '>integer', '(all-integers?)',
+        '(each-integer)', '(find-integer)', '*', '+', '?1+',
+        'abs', 'align', 'all-integers?', 'bignum', 'bignum?', 'bit?', 'bitand',
+        'bitnot', 'bitor', 'bits>double', 'bits>float', 'bitxor', 'complex',
+        'complex?', 'denominator', 'double>bits', 'each-integer', 'even?',
+        'find-integer', 'find-last-integer', 'fixnum', 'fixnum?', 'float',
+        'float>bits', 'float?', 'fp-bitwise=', 'fp-infinity?', 
'fp-nan-payload',
+        'fp-nan?', 'fp-qnan?', 'fp-sign', 'fp-snan?', 'fp-special?',
+        'if-zero', 'imaginary-part', 'integer', 'integer>fixnum',
+        'integer>fixnum-strict', 'integer?', 'log2', 'log2-expects-positive',
+        'log2-expects-positive?', 'mod', 'neg', 'neg?', 'next-float',
+        'next-power-of-2', 'number', 'number=', 'number?', 'numerator', 'odd?',
+        'out-of-fixnum-range', 'out-of-fixnum-range?', 'power-of-2?',
+        'prev-float', 'ratio', 'ratio?', 'rational', 'rational?', 'real',
+        'real-part', 'real?', 'recip', 'rem', 'sgn', 'shift', 'sq', 'times',
+        'u<', 'u<=', 'u>', 'u>=', 'unless-zero', 'unordered?', 'when-zero',
+        'zero?',
+        '1sequence', '2all?', '2each', '2map', '2map-as', '2map-reduce', 
'2reduce',
+        '2selector', '2sequence', '3append', '3append-as', '3each', '3map', 
'3map-as',
+        '3sequence', '4sequence', '<repetition>', '<reversed>', '<slice>', 
'?first',
+        '?last', '?nth', '?second', '?set-nth', 'accumulate', 'accumulate!',
+        'accumulate-as', 'all?', 'any?', 'append', 'append!', 'append-as',
+        'assert-sequence', 'assert-sequence=', 'assert-sequence?',
+        'binary-reduce', 'bounds-check', 'bounds-check?', 'bounds-error',
+        'bounds-error?', 'but-last', 'but-last-slice', 'cartesian-each',
+        'cartesian-map', 'cartesian-product', 'change-nth', 'check-slice',
+        'check-slice-error', 'clone-like', 'collapse-slice', 'collector',
+        'collector-for', 'concat', 'concat-as', 'copy', 'count', 'cut', 
'cut-slice',
+        'cut*', 'delete-all', 'delete-slice', 'drop-prefix', 'each', 
'each-from',
+        'each-index', 'empty?', 'exchange', 'filter', 'filter!', 'filter-as', 
'find',
+        'find-from', 'find-index', 'find-index-from', 'find-last', 
'find-last-from',
+        'first', 'first2', 'first3', 'first4', 'flip', 'follow', 'fourth', 
'glue', 'halves',
+        'harvest', 'head', 'head-slice', 'head-slice*', 'head*', 'head?',
+        'if-empty', 'immutable', 'immutable-sequence', 'immutable-sequence?',
+        'immutable?', 'index', 'index-from', 'indices', 'infimum', 
'infimum-by',
+        'insert-nth', 'interleave', 'iota', 'iota-tuple', 'iota-tuple?', 
'join',
+        'join-as', 'last', 'last-index', 'last-index-from', 'length', 
'lengthen',
+        'like', 'longer', 'longer?', 'longest', 'map', 'map!', 'map-as', 
'map-find',
+        'map-find-last', 'map-index', 'map-integers', 'map-reduce', 'map-sum',
+        'max-length', 'member-eq?', 'member?', 'midpoint@', 'min-length',
+        'mismatch', 'move', 'new-like', 'new-resizable', 'new-sequence',
+        'non-negative-integer-expected', 'non-negative-integer-expected?',
+        'nth', 'nths', 'pad-head', 'pad-tail', 'padding', 'partition', 'pop', 
'pop*',
+        'prefix', 'prepend', 'prepend-as', 'produce', 'produce-as', 'product', 
'push',
+        'push-all', 'push-either', 'push-if', 'reduce', 'reduce-index', 
'remove',
+        'remove!', 'remove-eq', 'remove-eq!', 'remove-nth', 'remove-nth!', 
'repetition',
+        'repetition?', 'replace-slice', 'replicate', 'replicate-as', 'rest',
+        'rest-slice', 'reverse', 'reverse!', 'reversed', 'reversed?', 'second',
+        'selector', 'selector-for', 'sequence', 'sequence-hashcode', 
'sequence=',
+        'sequence?', 'set-first', 'set-fourth', 'set-last', 'set-length', 
'set-nth',
+        'set-second', 'set-third', 'short', 'shorten', 'shorter', 'shorter?',
+        'shortest', 'sift', 'slice', 'slice-error', 'slice-error?', 'slice?',
+        'snip', 'snip-slice', 'start', 'start*', 'subseq', 'subseq?', 'suffix',
+        'suffix!', 'sum', 'sum-lengths', 'supremum', 'supremum-by', 
'surround', 'tail',
+        'tail-slice', 'tail-slice*', 'tail*', 'tail?', 'third', 'trim',
+        'trim-head', 'trim-head-slice', 'trim-slice', 'trim-tail', 
'trim-tail-slice',
+        'unclip', 'unclip-last', 'unclip-last-slice', 'unclip-slice', 
'unless-empty',
+        'virtual-exemplar', 'virtual-sequence', 'virtual-sequence?', 
'virtual@',
+        'when-empty',
+        '+@', 'change', 'change-global', 'counter', 'dec', 'get', 'get-global',
+        'global', 'inc', 'init-namespaces', 'initialize', 'is-global', 
'make-assoc',
+        'namespace', 'namestack', 'off', 'on', 'set', 'set-global', 
'set-namestack',
+        'toggle', 'with-global', 'with-scope', 'with-variable', 
'with-variables',
+        '1array', '2array', '3array', '4array', '<array>', '>array', 'array',
+        'array?', 'pair', 'pair?', 'resize-array',
+        '(each-stream-block-slice)', '(each-stream-block)',
+        '(stream-contents-by-block)', '(stream-contents-by-element)',
+        '(stream-contents-by-length-or-block)',
+        '(stream-contents-by-length)', '+byte+', '+character+',
+        'bad-seek-type', 'bad-seek-type?', 'bl', 'contents', 'each-block',
+        'each-block-size', 'each-block-slice', 'each-line', 'each-morsel',
+        'each-stream-block', 'each-stream-block-slice', 'each-stream-line',
+        'error-stream', 'flush', 'input-stream', 'input-stream?',
+        'invalid-read-buffer', 'invalid-read-buffer?', 'lines', 'nl',
+        'output-stream', 'output-stream?', 'print', 'read', 'read-into',
+        'read-partial', 'read-partial-into', 'read-until', 'read1', 'readln',
+        'seek-absolute', 'seek-absolute?', 'seek-end', 'seek-end?',
+        'seek-input', 'seek-output', 'seek-relative', 'seek-relative?',
+        'stream-bl', 'stream-contents', 'stream-contents*', 'stream-copy',
+        'stream-copy*', 'stream-element-type', 'stream-flush',
+        'stream-length', 'stream-lines', 'stream-nl', 'stream-print',
+        'stream-read', 'stream-read-into', 'stream-read-partial',
+        'stream-read-partial-into', 'stream-read-partial-unsafe',
+        'stream-read-unsafe', 'stream-read-until', 'stream-read1',
+        'stream-readln', 'stream-seek', 'stream-seekable?', 'stream-tell',
+        'stream-write', 'stream-write1', 'tell-input', 'tell-output',
+        'with-error-stream', 'with-error-stream*', 'with-error>output',
+        'with-input-output+error-streams',
+        'with-input-output+error-streams*', 'with-input-stream',
+        'with-input-stream*', 'with-output-stream', 'with-output-stream*',
+        'with-output>error', 'with-output+error-stream',
+        'with-output+error-stream*', 'with-streams', 'with-streams*',
+        'write', 'write1',
+        '1string', '<string>', '>string', 'resize-string', 'string',
+        'string?',
+        '1vector', '<vector>', '>vector', '?push', 'vector', 'vector?',
+        '<condition>', '<continuation>', '<restart>', 'attempt-all',
+        'attempt-all-error', 'attempt-all-error?', 'callback-error-hook',
+        'callcc0', 'callcc1', 'cleanup', 'compute-restarts', 'condition',
+        'condition?', 'continuation', 'continuation?', 'continue',
+        'continue-restart', 'continue-with', 'current-continuation',
+        'error', 'error-continuation', 'error-in-thread', 'error-thread',
+        'ifcc', 'ignore-errors', 'in-callback?', 'original-error', 'recover',
+        'restart', 'restart?', 'restarts', 'rethrow', 'rethrow-restarts',
+        'return', 'return-continuation', 'thread-error-hook', 'throw-continue',
+        'throw-restarts', 'with-datastack', 'with-return' }
+  },
+  { Id=2,
+    List={  "t", "f" }
+  },
+  { Id=4,
+    Regex=[[\:\s+([\w-]+)?\s]],
+  },
+  { Id=5,
+    Regex=[[^([\w-]+?)\:\s+]],
+  },
+
+}
+
+Strings={
+  Delimiter=[["]]
+}
+
+IgnoreCase=false
+
+Comments = {
+  { Block=true,
+    Nested=false,
+    Delimiter = { [[\/\*]], [[\*\/]] }
+  },
+  {
+    Block=false,
+    Delimiter = { [[\!]] }
+  }
+}
+
+Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\.|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-|\@|\||\^]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/langDefs/rst.lang 
new/highlight-v4.9/langDefs/rst.lang
--- old/highlight-v4.8/langDefs/rst.lang        2023-08-25 16:54:40.000000000 
+0200
+++ new/highlight-v4.9/langDefs/rst.lang        2023-10-18 14:46:12.000000000 
+0200
@@ -32,7 +32,7 @@
     Regex=[[ ^(\:.*?:|^\/\w|^\-{1,2}[\S]+) ]],
   },
   { Id=5,
-    Regex=[[ (\[[\w#\*]+?\])? ]],
+    Regex=[=[ (\[[\w#\*]+?\])? ]=],
   },
   --references
   { Id=5,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/cli/main.cpp 
new/highlight-v4.9/src/cli/main.cpp
--- old/highlight-v4.8/src/cli/main.cpp 2023-08-25 16:54:40.000000000 +0200
+++ new/highlight-v4.9/src/cli/main.cpp 2023-10-18 14:46:12.000000000 +0200
@@ -32,6 +32,7 @@
 #include <memory>
 #include <algorithm>
 #include <Diluculum/LuaState.hpp>
+#include <astyle/astyle.h>
 
 #include "main.h"
 #include "datadir.h"
@@ -48,7 +49,7 @@
             << "\n Copyright (C) 2002-2023 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.4.6)"
+            << "\n\n Artistic Style Classes (" << ASTYLE_VERSION << ")"
             << "\n Copyright (C) 1998-2023 The Artistic Style Authors"
             << "\n\n Diluculum Lua wrapper (1.0)"
             << "\n Copyright (C) 2005-2013 by Leandro Motta Barros"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/core/Diluculum/InternalUtils.cpp 
new/highlight-v4.9/src/core/Diluculum/InternalUtils.cpp
--- old/highlight-v4.8/src/core/Diluculum/InternalUtils.cpp     2023-08-25 
16:54:40.000000000 +0200
+++ new/highlight-v4.9/src/core/Diluculum/InternalUtils.cpp     2023-10-18 
14:46:12.000000000 +0200
@@ -28,6 +28,8 @@
 #include "InternalUtils.hpp"
 #include <Diluculum/LuaUtils.hpp>
 #include <cstring>
+#include <boost/scoped_array.hpp>
+
 
 namespace Diluculum
 {
@@ -110,7 +112,7 @@
 
          size_t newSize = f->getSize() + size;
 
-         std::unique_ptr<char> buff (new char[newSize]);
+         boost::scoped_array<char> buff (new char[newSize]);
 
          memcpy (buff.get(), f->getData(), f->getSize());
          memcpy (buff.get() + f->getSize(), data, size);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/core/astyle/ASBeautifier.cpp 
new/highlight-v4.9/src/core/astyle/ASBeautifier.cpp
--- old/highlight-v4.8/src/core/astyle/ASBeautifier.cpp 2023-08-25 
16:54:40.000000000 +0200
+++ new/highlight-v4.9/src/core/astyle/ASBeautifier.cpp 2023-10-18 
14:46:12.000000000 +0200
@@ -1389,7 +1389,7 @@
        // this is not done for an in-statement array
        if (continuationIndentCount > maxContinuationIndent
                && !(prevNonLegalCh == '=' && currentNonLegalCh == '{'))
-               continuationIndentCount = indentLength * 2 + spaceIndentCount_;
+               continuationIndentCount = indentLength /* * 2*/ + 
spaceIndentCount_; // GH16
 
        if (!continuationIndentStack->empty()
                && continuationIndentCount < continuationIndentStack->back())
@@ -2466,6 +2466,34 @@
        return -1;
 }
 
+/* chatgpt
+
+int ASBeautifier::findObjCColonAlignment(const std::string& line) const
+{
+    bool haveTernary = false;
+    for (char c : line)
+    {
+        if (c == ':' || c == '?')
+        {
+            if (c == '?')
+            {
+                haveTernary = true;
+                continue;
+            }
+
+            if (haveTernary)
+            {
+                haveTernary = false;
+                continue;
+            }
+
+            return &c - line.c_str(); // Calculate the index of the found 
character
+        }
+    }
+    return -1;
+}
+*/
+
 /**
  * Compute the spaceIndentCount necessary to align the current line colon
  * with the colon position in the argument.
@@ -2517,7 +2545,8 @@
        size_t keyPos = line.find_first_not_of(" \t", objectEnd + 1);
        if (keyPos == std::string::npos)
                return 0;
-       return keyPos - firstText;
+
+    return static_cast<int>(keyPos - firstText); // Cast to int for return 
value
 }
 
 /**
@@ -2817,7 +2846,9 @@
 
                prevNonSpaceCh = currentNonSpaceCh;
                currentNonSpaceCh = ch;
-               if (!isLegalNameChar(ch) && ch != ',' && ch != ';')
+
+               // #SF 97
+               if (!isLegalNameChar(ch) /*&& ch != ',' && ch != ';'*/)
                {
                        prevNonLegalCh = currentNonLegalCh;
                        currentNonLegalCh = ch;
@@ -2895,7 +2926,8 @@
                                                && prevNonSpaceCh != ']'
                                                && prevNonSpaceCh != ')'
                                                && prevNonSpaceCh != '*'  // GH 
#11
-                                               && line.find(AS_AUTO, 0 ) == 
std::string::npos)
+                                               //&& line.find(AS_AUTO, 0 ) == 
std::string::npos
+                                          )
                                        {
                                                lambdaIndicator = true;
                                        }
@@ -3325,6 +3357,8 @@
                if (ch == '?')
                        isInQuestion = true;
 
+
+
                // special handling of colons XXX 533
                if (ch == ':')
                {
@@ -3421,11 +3455,11 @@
                        }
                }
 
-               if ((ch == ';' || (parenDepth > 0 && ch == ',')) && 
!continuationIndentStackSizeStack->empty())
+               if ((ch == ';' || (parenDepth > 0 && ch == ',')) && 
!continuationIndentStackSizeStack->empty()){
                        while ((int) continuationIndentStackSizeStack->back() + 
(parenDepth > 0 ? 1 : 0)
                                < (int) continuationIndentStack->size())
                                continuationIndentStack->pop_back();
-
+               }
                else if (ch == ',' && (isInEnum || isInStruct) && 
isNonInStatementArray && !continuationIndentStack->empty())
                        continuationIndentStack->pop_back();
 
@@ -3812,14 +3846,15 @@
                                if (foundNonAssignmentOp->length() > 1)
                                        i += foundNonAssignmentOp->length() - 1;
 
-                               // For C++ input/output, operator<< and >> 
should be
+                               // For C++ input/output, operator<<, >> and . 
method calls should be
                                // aligned, if we are not in a statement 
already and
                                // also not in the "operator<<(...)" header line
                                if (!isInOperator
                                        && continuationIndentStack->empty()
                                        && isCStyle()
                                        && (foundNonAssignmentOp == &AS_GR_GR
-                                           || foundNonAssignmentOp == 
&AS_LS_LS))
+                                           || foundNonAssignmentOp == &AS_LS_LS
+                            || (foundNonAssignmentOp == &AS_DOT && 
line.find(AS_OPEN_PAREN, i) != std::string::npos)))
                                {
                                        // this will be true if the line begins 
with the operator
                                        if (i < foundNonAssignmentOp->length() 
&& spaceIndentCount == 0)
@@ -3864,6 +3899,11 @@
                                        {
                                                if (i == 0 && spaceIndentCount 
== 0)
                                                        spaceIndentCount += 
indentLength;
+
+                                               // #SF 97
+                                               if (prevNonLegalCh == '=' && 
currentNonLegalCh == '=')
+                                                       spaceIndentCount = 0;
+
                                                
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, 0, false);
                                                isContinuation = true;
                                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/core/astyle/ASFormatter.cpp 
new/highlight-v4.9/src/core/astyle/ASFormatter.cpp
--- old/highlight-v4.8/src/core/astyle/ASFormatter.cpp  2023-08-25 
16:54:40.000000000 +0200
+++ new/highlight-v4.9/src/core/astyle/ASFormatter.cpp  2023-10-18 
14:46:12.000000000 +0200
@@ -11,6 +11,7 @@
 
 #include <algorithm>
 #include <fstream>
+#include <set>
 
 //-----------------------------------------------------------------------------
 // astyle namespace
@@ -47,6 +48,7 @@
        shouldPadOperators = false;
        shouldPadParensOutside = false;
        shouldPadFirstParen = false;
+       shouldPadEmptyParens = false;
        shouldPadParensInside = false;
        shouldPadHeader = false;
        shouldStripCommentPrefix = false;
@@ -854,7 +856,9 @@
                                }
                                else
                                {
-                                       isInLineBreak = true;
+                                       // GH16 only break if header is present
+                                       if (currentHeader)
+                                               isInLineBreak = true;
                                }
                        }
 
@@ -1039,7 +1043,6 @@
                                        squareBracketCount = 0;
                                        objCColonAlign = 0;
                                }
-
                        }
 
                        // GH16 break
@@ -1052,6 +1055,8 @@
                        }
                }
 
+
+
                // handle braces
                if (currentChar == '{' || currentChar == '}')
                {
@@ -1177,6 +1182,18 @@
                        continue;
                }
 
+               // #126
+               if ( currentChar == '*' && shouldPadOperators &&
+                       ( currentHeader == &AS_IF || currentHeader == &AS_WHILE 
|| currentHeader == &AS_DO || currentHeader == &AS_FOR)
+                       && ( previousChar == ')' || std::isalpha(previousChar) )
+                       && !isOperatorPaddingDisabled() ) {
+                       appendSpacePad();
+                       appendOperator(AS_MULT);
+                       goForward(0);
+                       appendSpaceAfter();
+                       continue;
+               }
+
                if ((((previousCommandChar == '{' && 
isPreviousBraceBlockRelated)
                        || ((previousCommandChar == '}'
                             && !isImmediatelyPostEmptyBlock
@@ -1475,7 +1492,7 @@
 
                if (previousNonWSChar == '}' || currentChar == ';')
                {
-                       if (currentChar == ';')
+                       if (currentChar == ';' && !isInAsmBlock)
                        {
                                squareBracketCount = 0;
                                //assert(methodBreakCharNum == 
std::string::npos);      // comment out
@@ -2258,6 +2275,19 @@
 }
 
 /**
+ * set padding mode for empty parentheses.
+ * options:
+ *    true     padding will be applied
+ *    false    no padding (default)
+ *
+ * @param state         the padding mode.
+ */
+void ASFormatter::setEmptyParensPaddingMode(bool state)
+{
+       shouldPadEmptyParens = state;
+}
+
+/**
  * set header padding mode.
  * options:
  *    true     headers will be padded with spaces around them.
@@ -3136,6 +3166,7 @@
                returnVal = (BraceType)(ARRAY_TYPE | ENUM_TYPE);
        }
        else if (isSharpStyle() &&
+                               !isOneLineBlockReached(currentLine, charNum) &&
                                (currentHeader == &AS_IF || currentHeader == 
&AS_WHILE
                                || currentHeader == &AS_USING || currentHeader 
== &AS_WHILE
                                || currentHeader == &AS_FOR  || currentHeader 
== &AS_FOREACH) ) { // GH16
@@ -3415,14 +3446,11 @@
        }
 
        // checks on operators in parens with following '('
+       std::set<char> disallowedChars = {',', '(', '!', '&', '*', '|'};
+
        if (parenStack->back() > 0
                && nextChar == '('
-               && previousNonWSChar != ','
-               && previousNonWSChar != '('
-               && previousNonWSChar != '!'
-               && previousNonWSChar != '&'
-               && previousNonWSChar != '*'
-               && previousNonWSChar != '|')
+               && disallowedChars.find(previousNonWSChar) == 
disallowedChars.end())
                return false;
 
        if (nextChar == '-'
@@ -3474,13 +3502,10 @@
                return false;
        }
 
-       if (previousNonWSChar == '='
+       std::set<char> allowedChars = {'=', '.', '{', '>', '<', '?'};
+
+       if ( allowedChars.find(previousNonWSChar) != allowedChars.end()
                || (previousNonWSChar == ',' && currentChar == '&')  // #537, 
#552
-               || previousNonWSChar == '.'
-               || previousNonWSChar == '{'
-               || previousNonWSChar == '>'
-               || previousNonWSChar == '<'
-               || previousNonWSChar == '?'
                || isCharImmediatelyPostLineComment
                || isCharImmediatelyPostComment
                || isCharImmediatelyPostReturn)
@@ -4170,6 +4195,8 @@
        assert(newOperator != nullptr);
 
        char nextNonWSChar = ASBase::peekNextChar(currentLine, charNum);
+       std::set<char> allowedChars = {'(', '[', '=', ',', ':', '{'};
+
        bool shouldPad = (newOperator != &AS_SCOPE_RESOLUTION
                          && newOperator != &AS_PLUS_PLUS
                          && newOperator != &AS_MINUS_MINUS
@@ -4183,12 +4210,7 @@
                          && !(newOperator == &AS_PLUS && isInExponent())
                          && !(newOperator == &AS_GR && previousChar == '-') 
//https://sourceforge.net/p/astyle/bugs/544/
                          && !((newOperator == &AS_PLUS || newOperator == 
&AS_MINUS)    // check for unary plus or minus
-                              && (previousNonWSChar == '('
-                                  || previousNonWSChar == '['
-                                  || previousNonWSChar == '='
-                                  || previousNonWSChar == ','
-                                  || previousNonWSChar == ':'
-                                  || previousNonWSChar == '{'))
+                              && (allowedChars.find(previousNonWSChar) != 
allowedChars.end()))
                          && !(newOperator == &AS_MULT
                               && (previousNonWSChar == '.'
                                   || previousNonWSChar == '>'))    // check 
for ->
@@ -4791,11 +4813,12 @@
 
                // pad open paren outside
                char peekedCharOutside = peekNextChar();
-               if (shouldPadFirstParen && previousChar != openDelim && 
peekedCharOutside != closeDelim)
+               if (shouldPadFirstParen && ( (previousChar != openDelim && 
peekedCharOutside != closeDelim)  || shouldPadEmptyParens ) )
                        appendSpacePad();
                else if (shouldPadParensOutside)
                {
-                       if (!(currentChar == openDelim && peekedCharOutside == 
closeDelim))
+                       // GH19
+                       if (!(currentChar == openDelim && peekedCharOutside == 
closeDelim) || shouldPadEmptyParens)
                                appendSpacePad();
                }
 
@@ -5268,8 +5291,12 @@
                                && nextText.substr(0, 5) != "break")
                                isAppendPostBlockEmptyLineRequested = true;
                }
-               else
-                       isAppendPostBlockEmptyLineRequested = true;
+               else {
+                       // GH18
+                       isAppendPostBlockEmptyLineRequested = 
!(shouldBreakBlocks && shouldAttachClosingWhile)
+                                                    || currentHeader != &AS_DO;
+               }
+
        }
 }
 
@@ -6556,7 +6583,7 @@
        if (firstBrace != std::string::npos)
                previousLineIsOneLineBlock = 
isOneLineBlockReached(formattedLine, firstBrace);
        if (!previousLineIsEmpty
-               && previousLineIsOneLineBlock == 0)
+           && previousLineIsOneLineBlock == 0)
        {
                isInLineBreak = false;
                appendSpacePad();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/core/astyle/ASResource.cpp 
new/highlight-v4.9/src/core/astyle/ASResource.cpp
--- old/highlight-v4.8/src/core/astyle/ASResource.cpp   2023-08-25 
16:54:40.000000000 +0200
+++ new/highlight-v4.9/src/core/astyle/ASResource.cpp   2023-10-18 
14:46:12.000000000 +0200
@@ -8,6 +8,7 @@
 //-----------------------------------------------------------------------------
 
 #include "astyle/astyle.h"
+
 #include <algorithm>
 
 //-----------------------------------------------------------------------------
@@ -159,6 +160,7 @@
 const std::string ASResource::AS_QUESTION = std::string("?");
 const std::string ASResource::AS_COLON = std::string(":");
 const std::string ASResource::AS_COMMA = std::string(",");
+const std::string ASResource::AS_DOT = std::string(".");
 const std::string ASResource::AS_SEMICOLON = std::string(";");
 
 
@@ -314,8 +316,6 @@
 void ASResource::buildIndentableHeaders(std::vector<const std::string*>* 
indentableHeaders)
 {
        indentableHeaders->emplace_back(&AS_RETURN);
-
-//     sort(indentableHeaders->begin(), indentableHeaders->end(), sortOnName);
 }
 
 /**
@@ -357,7 +357,7 @@
  */
 void ASResource::buildNonAssignmentOperators(std::vector<const std::string*>* 
nonAssignmentOperators)
 {
-       const size_t elements = 15;
+       const size_t elements = 16;
        nonAssignmentOperators->reserve(elements);
 
        nonAssignmentOperators->emplace_back(&AS_EQUAL);
@@ -374,6 +374,7 @@
        nonAssignmentOperators->emplace_back(&AS_AND);
        nonAssignmentOperators->emplace_back(&AS_OR);
        nonAssignmentOperators->emplace_back(&AS_LAMBDA);
+       nonAssignmentOperators->emplace_back(&AS_DOT);
 
        assert(nonAssignmentOperators->size() < elements);
        sort(nonAssignmentOperators->begin(), nonAssignmentOperators->end(), 
sortOnLength);
@@ -663,7 +664,7 @@
                if ((header == &AS_GET
                        || header == &AS_SET
                        || header == &AS_DEFAULT)
-                       && (peekChar == ';' || peekChar == '(' || peekChar == 
'='))
+                       && (peekChar == '.' || peekChar == ';' || peekChar == 
'(' || peekChar == '='))
                        break;
                return header;
        }
@@ -673,7 +674,6 @@
 // check if a specific line position contains a keyword.
 bool ASBase::findKeyword(const std::string& line, int i, const std::string& 
keyword) const
 {
-       //std::cerr << "findKeyword "<< i << " "<< line << " -< "<< keyword << 
"\n";
        assert(isCharPotentialHeader(line, i));
        // check the word
        const size_t keywordLength = keyword.length();
@@ -724,12 +724,14 @@
 // index must point to the beginning of the word
 std::string ASBase::getCurrentWord(const std::string& line, size_t index) const
 {
-       assert(isCharPotentialHeader(line, index));
+       //assert(isCharPotentialHeader(line, index));
        size_t lineLength = line.length();
        size_t i;
        for (i = index; i < lineLength; i++)
        {
-               if (!isLegalNameChar(line[i]))
+               if (!isLegalNameChar(line[i])
+                       || ( (isCStyle() || isJavaStyle()) && i > index && 
line[i]=='.')
+                       )
                        break;
        }
        return line.substr(index, i - index);
@@ -743,8 +745,8 @@
        if ((unsigned char) ch > 127)
                return false;
        return (isalnum((unsigned char) ch)
-               || (!isSharpStyle() && ch == '.')
-               || ch == '_'
+            || ch == '_'
+            || (!isSharpStyle() && ch == '.' )
                || (isJavaStyle() && ch == '$')
                || (isSharpStyle() && ch == '@'));  // may be used as a prefix
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/core/platform_fs.cpp 
new/highlight-v4.9/src/core/platform_fs.cpp
--- old/highlight-v4.8/src/core/platform_fs.cpp 2023-08-25 16:54:40.000000000 
+0200
+++ new/highlight-v4.9/src/core/platform_fs.cpp 2023-10-18 14:46:12.000000000 
+0200
@@ -41,6 +41,20 @@
 #include <iostream>
 #include <errno.h>
 
+#ifdef _WIN32
+
+#include <windows.h>
+
+#else
+
+#include <unistd.h>
+#include <sys/types.h>
+#include <pwd.h>
+#include <string.h>
+
+#endif
+
+
 using std::string;
 using std::vector;
 
@@ -48,7 +62,6 @@
 {
 
 #ifdef _WIN32
-#include <windows.h>
 const char pathSeparator = '\\';
 
 #ifndef QT
@@ -88,10 +101,6 @@
 }
 
 #else
-#include <unistd.h>
-#include <sys/types.h>
-#include <pwd.h>
-#include <string.h>
 
 const char pathSeparator = '/';
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/include/Diluculum/LuaUserData.hpp 
new/highlight-v4.9/src/include/Diluculum/LuaUserData.hpp
--- old/highlight-v4.8/src/include/Diluculum/LuaUserData.hpp    2023-08-25 
16:54:40.000000000 +0200
+++ new/highlight-v4.9/src/include/Diluculum/LuaUserData.hpp    2023-10-18 
14:46:12.000000000 +0200
@@ -28,7 +28,10 @@
 #define _DILUCULUM_LUA_USER_DATA_HPP_
 
 #include <lua.hpp>
-#include <memory>
+
+//https://stackoverflow.com/questions/31135178/c-array-of-char-using-unique-ptr
+#include <boost/scoped_array.hpp>
+
 #include <Diluculum/Types.hpp>
 
 
@@ -110,7 +113,7 @@
          size_t size_;
 
          /// A (smart) pointer to the data owned by this \c LuaUserData.
-         std::unique_ptr<char> data_;
+         boost::scoped_array<char> data_;
    };
 
 } // namespace Diluculum
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/include/astyle/astyle.h 
new/highlight-v4.9/src/include/astyle/astyle.h
--- old/highlight-v4.8/src/include/astyle/astyle.h      2023-08-25 
16:54:40.000000000 +0200
+++ new/highlight-v4.9/src/include/astyle/astyle.h      2023-10-18 
14:46:12.000000000 +0200
@@ -52,6 +52,8 @@
        #pragma clang diagnostic ignored "-Wshorten-64-to-32"
 #endif
 
+#define ASTYLE_VERSION "3.4.9"
+
 //-----------------------------------------------------------------------------
 // astyle namespace
 //-----------------------------------------------------------------------------
@@ -277,7 +279,7 @@
        static const std::string AS_SCOPE_RESOLUTION;
        static const std::string AS_PLUS, AS_MINUS, AS_MULT, AS_DIV, AS_MOD, 
AS_GR, AS_LS;
        static const std::string AS_NOT, AS_BIT_XOR, AS_BIT_OR, AS_BIT_AND, 
AS_BIT_NOT;
-       static const std::string AS_QUESTION, AS_COLON, AS_SEMICOLON, AS_COMMA;
+       static const std::string AS_QUESTION, AS_COLON, AS_SEMICOLON, AS_COMMA, 
AS_DOT;
        static const std::string AS_ASM, AS__ASM__, AS_MS_ASM, AS_MS__ASM;
        static const std::string AS_QFOREACH, AS_QFOREVER, AS_FOREVER;
        static const std::string AS_FOREACH, AS_LOCK, AS_UNSAFE, AS_FIXED;
@@ -720,6 +722,9 @@
        void setOperatorPaddingMode(bool state);
        void setParensOutsidePaddingMode(bool state);
        void setParensFirstPaddingMode(bool state);
+
+       void setEmptyParensPaddingMode(bool state);
+
        void setParensInsidePaddingMode(bool state);
        void setParensHeaderPaddingMode(bool state);
        void setParensUnPaddingMode(bool state);
@@ -940,6 +945,8 @@
        bool shouldPadOperators;
        bool shouldPadParensOutside;
        bool shouldPadFirstParen;
+
+       bool shouldPadEmptyParens;
        bool shouldPadParensInside;
        bool shouldPadHeader;
        bool shouldStripCommentPrefix;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/highlight-v4.8/src/include/version.h 
new/highlight-v4.9/src/include/version.h
--- old/highlight-v4.8/src/include/version.h    2023-08-25 16:54:40.000000000 
+0200
+++ new/highlight-v4.9/src/include/version.h    2023-10-18 14:46:12.000000000 
+0200
@@ -31,7 +31,7 @@
 #include <string>
 
 #define HIGHLIGHT_MAJOR "4"
-#define HIGHLIGHT_MINOR "8"
+#define HIGHLIGHT_MINOR "9"
 
 #define HIGHLIGHT_VERSION  HIGHLIGHT_MAJOR "." HIGHLIGHT_MINOR
 

Reply via email to