head	1.6;
access;
symbols;
locks; strict;
comment	@# @;


1.6
date	2026.11.01.01.15.21;	author agc;	state Exp;
branches;
next	1.5;
commitid	oGO7DQxFoUiOaH1H;

1.5
date	2026.10.20.02.19.23;	author agc;	state Exp;
branches;
next	1.4;
commitid	xwh6cT185juNU90H;

1.4
date	2026.10.19.20.30.29;	author agc;	state Exp;
branches;
next	1.3;
commitid	8eSuWykGkdyRY70H;

1.3
date	2026.10.17.23.39.36;	author agc;	state Exp;
branches;
next	1.2;
commitid	cLJr5JjtWioQ5TZG;

1.2
date	2026.10.14.21.33.36;	author agc;	state Exp;
branches;
next	1.1;
commitid	hX45u69PjJGwuuZG;

1.1
date	2026.10.14.04.05.11;	author agc;	state Exp;
branches;
next	;
commitid	aqdlLZNNrNTVGoZG;


desc
@@


1.6
log
@devel/libagcre and textproc/agcre: update from versino 20261019 to 20261020

   agcre - update to version 20261020

    Bring over changes from the development branch:

    + improvements to unicode character searching, and for unicode case mapping
    + be smarter about icase set searching, don't do any more work than is needed,
      use othercase() function to pre-calculate the other case of what's wanted at
      regex compile time
    + added an agcre_dispose() function, kind of opaque-like
    + in agcre_regexec, fix a bug whereby breaking out of loop with non-zero context
      would previously be ignored
    + add the basic khadafy tests
    + space-efficient and performant searching for map1, map2, tolower and toupper
@
text
@$NetBSD: distinfo,v 1.5 2026/10/20 02:19:23 agc Exp $

BLAKE2s (agcre-20261020.tar.gz) = 01256e47328b50d31f08dc4d5c45d52709b40c959f932d89d124eca4fa0f6fae
SHA512 (agcre-20261020.tar.gz) = 9bc4bbbf368523c5a51e8055a575755c3c55e28a4cd2de2150d04d7d910a20626f926872750de0ab424706f8e95b1fbf60cbbdc10ab53cacbc267aa9bb762286
Size (agcre-20261020.tar.gz) = 819331 bytes
@


1.5
log
@devel/libagcre and textproc/agcre: update from version 20261017 to 20261019

Changes from previous version:

    + bumped devel version to 20261019
    + use a small chardet to determine 16 and 32bit wide chars for the expression
      to be compiled
    + extend the bom/chardet recognition to files searched in regexec
    + print the results of any matches properly for multibyte files
    + got rid of lint in agcre.c and main.c
    + tagged release-20261019
@
text
@d1 1
a1 1
$NetBSD: distinfo,v 1.4 2026/10/19 20:30:29 agc Exp $
d3 3
a5 3
BLAKE2s (agcre-20261019.tar.gz) = 7098c9ddc9f00c9f0b13c92cc7177f9174389587b7d47095ea2c57cab2363395
SHA512 (agcre-20261019.tar.gz) = 34aad305748e51b60d356d9398e71560e89f1bc96c4b1ed5f2db59e17c92c0e4dcf7e6c8fae7a0ff9150cd060ec1cb14646eee75ad8220873ee941e318df4a81
Size (agcre-20261019.tar.gz) = 825679 bytes
@


1.4
log
@devel/libagcre and textproc/agcre: Update from version 20261015 to 20261017

Bring over changes from development branch:

+ bump devel version to 20261017
+ better tolower and toupper code (and isprint and isgraph)
+ use case mapping table from UCD for tolower_table
+ use quick implementations for briefly doing case insensitive
  matching (sets and icase), and use table-based case folding
  for strict char matches and icase.
+ build a toupper table dynamically from the tolower table when
  needed, and transition to use these all over
+ micro-optimisation - in charmatch(), try the equality test first, then icase
+ convert main to have compile time flags and runtime flags
+ allow the expresssion to be read from a wide char file via -W
+ wide chars are supported in regexec via the -w arg
+ ignore BOM marker if expression is read from a wide char file
+ tests for multibyte
+ more robust version of regextend
+ enhance program tracing, print instruction, threads, current char
+ add errors to the error buffer, don't overwrite it, so that
  programs can see (via agcre_regerror) the true error of their ways,
  and the sequence of occurrence
+ released 20261017 to codeberg repo
@
text
@d1 1
a1 1
$NetBSD: distinfo,v 1.3 2026/10/17 23:39:36 agc Exp $
d3 3
a5 3
BLAKE2s (agcre-20261017.tar.gz) = f90299f9f3a49d6785b0ad05fccedb7990f3fc7d3238eadf20de314a07ac1fc6
SHA512 (agcre-20261017.tar.gz) = a2602b25aa853c179732e4348a374c9e3216534039d0f61f6ebf0ae98d1617ca9139c6b6a3dc3160da5b866d3a2604b7bfea891e503de6be8b0746a4745ff5a4
Size (agcre-20261017.tar.gz) = 824062 bytes
@


1.3
log
@devel/libagcre and textproc/agcre: Update to version 20261015

Changes since previous version:

    Bring over changes from the development branch:

    + unicode escapes can be set with \xNNNN as well as \uNNNN
    + tighten up bounds checking when looking ahead while compiling
    + make sure illegal utf8 sequences are handled as single bytes
    + fill out the unicode sequences recognised by unicode_isprint
      and unicode_isgraph
    + update unicode_isspace to not recognise 0x200e and 0x200f (they're
      directional markers for BiDi text, not whitespace)
    + tighten up the way hex numbers are calculated in unicode escapes
    + bump version number to 20261015
@
text
@d1 1
a1 1
$NetBSD: distinfo,v 1.2 2026/10/14 21:33:36 agc Exp $
d3 3
a5 3
BLAKE2s (agcre-20261015.tar.gz) = ff23cb336d171e6a354298db32e7423c6243240ff534bcb63cb9065c76e21333
SHA512 (agcre-20261015.tar.gz) = 05536fb0bd19b2c0162f107f35b4b1934d9d5f2ca93a5f454cd19835940d233126b0bfda1bebde761000ae69789aa5c023d046892c224362b7520671bddf223c
Size (agcre-20261015.tar.gz) = 803275 bytes
@


1.2
log
@textproc/agcre: update package to version 20261014

Upstream were very quick to merge the pkgsrc patch, so update to the
latest version, 20261014

	agcre: various bug fixes, mainly relating to packaging:

	Fix up the main Makefile, bump version number, don't install manual
	pages that aren't ours
@
text
@d1 1
a1 1
$NetBSD: distinfo,v 1.1 2026/10/14 04:05:11 agc Exp $
d3 3
a5 3
BLAKE2s (agcre-20261014.tar.gz) = 68033139c68db3203945aee38fadfb5424eff5278025f36c9fb3be46700d472d
SHA512 (agcre-20261014.tar.gz) = f9aae91ceeda232f73da6af8f737ae753106fca55a0619a0e30ba080f9f72e9b579bdbd8babe1da318fc2c57a1d68ca17e080403624642665723635e89e293a9
Size (agcre-20261014.tar.gz) = 802438 bytes
@


1.1
log
@textproc/agcre: Add new package which uses the libagcre library to provide
an egrep-style program for searching.

	This is agcre, the egrep-alike which uses the libagcre regular expression
	library (see pkgsrc/devel/libagcre) to search for regular expressions
	in files or in data streams.

	In general, the emphasis is on using a modern, predictable, VM-style,
	well-featured regexp library, in C, with an MIT license.  In
	particular, most Perl regexp features are supported, as are back
	references, and UTF-8, and wide characters (wchar_t).

	I wouldn't expect anyone to use this as their main regex engine a la egrep
	but this may prove food for thought:

		% time agcre '(a?){9999}aaaaaaaaaaaaaaaaaaaaaaaaaaaaa' dist/tests/2.in
		aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
		0.063u 0.000s 0:00.06 100.0%    0+0k 0+0io 0pf+0w
		% time egrep '(a?){9999}aaaaaaaaaaaaaaaaaaaaaaaaaaaaa' dist/tests/2.in
		^C88.462u 0.730s 1:29.21 99.9%  0+0k 0+0io 0pf+0w
		%
@
text
@d1 1
a1 1
$NetBSD$
d3 3
a5 4
BLAKE2s (agcre-20261013.tar.gz) = 8387cba28a9d3fd5d63ec096681587a5439786354439ed260e364dfb59bfceb0
SHA512 (agcre-20261013.tar.gz) = 603107c62e137f55bc587fe3586c03a24d65853ab20caf3596a6a8fa953cbab9b53aa234cfa3054b42b640e6da1ca5139799ff0c8e9c87e7be6bd1d47b99c0ee
Size (agcre-20261013.tar.gz) = 802495 bytes
SHA1 (patch-Makefile.in) = af6c31cc0908d9581f3bfd2f659657936b1e9b8c
@

