Just FYI, gawk's dfa.c is now in sync w/Gnulib's. There are still some problems on Vax/VMS. I suspect it's environmental but will let you know if not.
Thanks! Arnold arn...@skeeve.com wrote: > Paul, > > Thanks for this. I will work on reducing the differences between > what's in Gnulib and what's in gawk. > > Vax/VMS is dead as a commercial system, true. But it remains alive as > a hobbyist system, especially as it's very easy to run in simulation > under SIMH. > > Thanks! > > Arnold > > Paul Eggert <egg...@cs.ucla.edu> wrote: > > > On 1/29/20 7:34 AM, Bruno Haible wrote: > > > I would say that it's not worth the effort - except for the person(s) > > > who care a lot about Vax/VMS. > > > > Normally I'd agree, but if Arnold cares about VAX/VMS and if we want > > Gnulib dfa.c to match Gawk dfa.c, then in this particular case it makes > > some sense to support 32-bit-only platforms, as it's easy to revert the > > recent patch that made dfa.c assume 64-bit. So I installed the attached. > > > > However, I see some other parts of departure for Gawk dfa.c: > > > > * Gawk dfa.c/dfa.h does not use flexible array members or the > > portable-to-7th-edition-Unix substitute provided by Gnulib, so I suggest > > that Gawk import Gnulib lib/flexmember.h, and either "#define > > FLEXIBLE_ARRAY_MEMBER 1" in config.h or (better) import Gnulib > > m4/flexmember.m4. > > > > * Gawk dfa.c doesn't use isblank, but instead defines its own is_blank > > that is hard-coded to the C locale. Isn't [[:blank:]] supposed to be > > locale-dependent? Or are you assuming that space and tab are the only > > blank characters in all single-byte locales? > > > > * Gawk dfa.c includes mbsupport.h if __DJGPP__ is defined. I suggest > > moving this to Gawk config.h so that dfa.c need not worry about it. > > > > * Gawk dfa.c replaces "#include <stdint.h>" with: > > > > #ifndef VMS > > #include <stdint.h> > > #else > > #define SIZE_MAX __INT32_MAX > > #define PTRDIFF_MAX __INT32_MAX > > #endif > > > > I suppose we could add something like this to Gnulib dfa.c but it's a > > bit ugly; is there a cleaner way to do it? Perhaps Gawk could supply its > > own little substitute stdint.h on VMS. (Gnulib does this too but I > > assume Gnulib's stdint.h is too heavyweight for Gawk.)