Re: [RFC] Adding a real HashTable implementation to gnulib

2018-12-03 Thread Bruno Haible
Hi Tim, > We have 'hashmap' [1] in GNU Wget2. Things I like about the implementation: - Collision resolution through linked list (a robust algorithm). - Reasonably generic API. - The user-definable destructor functions. Things that could be improved: - The ability to set a growth

Re: [PATCH v2 0/2] Fix syntax-check on macOS/FreeBSD

2018-12-03 Thread Bruno Haible
Roman Bolshakov wrote: > - added /dev/null as an extra file for uniform grep output regardless of > number of files. The file isn't added if grep invocation has "-L" flag Good point. And likewise, you don't need to add a /dev/null argument when the grep invocation has a '-l' option (because in

generic container for sets

2018-12-03 Thread Bruno Haible
Hi, In gnulib, so far, we have generic containers for the abstract concepts of - list, - ordered set. This proposed series of patches adds a container for - set. The difference between "ordered set" and "set" is that for ordered set, there is a comparison function that introduces a total

[PATCH v2 1/2] maint.mk: Split long argument lists

2018-12-03 Thread Roman Bolshakov
$(VC_LIST_EXCEPT) is usually expanded into arguments for a command. When a project contains too many, some operating systems can't pass all the arguments because they hit the limit of arguments. FreeBSD and macOS are known to have the limit of 256k of arguments. More on the issue:

[PATCH v2 2/2] maint.mk: Replace grep with $(GREP)

2018-12-03 Thread Roman Bolshakov
A project that uses maint.mk can specify regular expressions that are not supported in system grep. Autoconf can discover an alias for GNU grep and set it in GREP but it takes no effect for maint.mk The patch provides an ability to use GNU grep if it was discovered by autoconf and by calling GNU

[PATCH v2 0/2] Fix syntax-check on macOS/FreeBSD

2018-12-03 Thread Roman Bolshakov
Hello, There was an issue with syntax-check on FreeBSD reported a few years ago: https://www.redhat.com/archives/libvir-list/2015-August/msg00758.html http://lists.gnu.org/archive/html/bug-gnulib/2015-08/msg00019.html The patch series attempts to resolve the issue on gnulib side. With related

Re: [PATCH 2/2] maint.mk: Replace grep with $(GREP)

2018-12-03 Thread Roman Bolshakov
On Sun, Dec 02, 2018 at 01:31:03PM +0100, Bruno Haible wrote: > Roman Bolshakov wrote: > > I'm quite new to gnulib but thanks to Eric and your comments that should do > > it: > > > > diff --git a/modules/maintainer-makefile b/modules/maintainer-makefile > > index 39b51583c..13b8c546a 100644 > >

Re: [PATCH 1/2] maint.mk: Split long argument lists

2018-12-03 Thread Roman Bolshakov
On Sun, Dec 02, 2018 at 01:26:52PM +0100, Bruno Haible wrote: > Roman Bolshakov wrote: > > But then we will need to correct calculation of VC_ARG_MAX. We can take > > formulae from [2]: > > expr `getconf ARG_MAX` - `env|wc -c` - `env|egrep '^[^ ]+='|wc -l` \* 4 - > > 2048 > > This formula

Re: [PATCH 1/2] maint.mk: Split long argument lists

2018-12-03 Thread Roman Bolshakov
On Mon, Dec 03, 2018 at 08:16:22AM +0100, Bernhard Voelker wrote: > On 11/30/18 12:14 PM, Roman Bolshakov wrote: > > May I ask you to review what way we should go with ARG_MAX? > > > > I'm okay with both ways whether it's: > > * computing effective argument length and passing it to "-s" option;

Re: [RFC] Adding a real HashTable implementation to gnulib

2018-12-03 Thread Tim Rühsen
On 12/2/18 2:41 PM, Bruno Haible wrote: > Hi, > > Darshit Shah wrote: >> I recently tried to use the hash table implementation in gnulib which resides >> in the "hash" module. However, I quickly realised that the hash table in >> gnulib >> seems to be what is otherwise popularly known as a hash