diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2017-03-23 21:31:26 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2017-03-23 21:31:26 +0200 |
commit | f0a99fcb278d35d28d7dd92c92cf13c05b5fbb81 (patch) | |
tree | 6bd4c17d9c86acb7e0e1a8c07d15a8537e3a3d32 | |
parent | 57fe842dfdf94ed6e646294f82131fa059f2c586 (diff) | |
parent | 10c17fe33a10746bd44fc4b62f764ca4c3f3c5a6 (diff) | |
download | egawk-f0a99fcb278d35d28d7dd92c92cf13c05b5fbb81.tar.gz egawk-f0a99fcb278d35d28d7dd92c92cf13c05b5fbb81.tar.bz2 egawk-f0a99fcb278d35d28d7dd92c92cf13c05b5fbb81.zip |
Merge branch 'master' into feature/stringfix
-rw-r--r-- | ChangeLog | 4 | ||||
-rwxr-xr-x | config.sub | 7 | ||||
-rw-r--r-- | extension/build-aux/ChangeLog | 4 | ||||
-rwxr-xr-x | extension/build-aux/config.sub | 7 | ||||
-rw-r--r-- | support/ChangeLog | 4 | ||||
-rw-r--r-- | support/dfa.c | 35 |
6 files changed, 36 insertions, 25 deletions
@@ -1,3 +1,7 @@ +2017-03-23 Arnold D. Robbins <arnold@skeeve.com> + + * config.sub: Updated again. + 2017-03-20 Arnold D. Robbins <arnold@skeeve.com> Improve handling of EPIPE. Problems reported by @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2017-02-07' +timestamp='2017-03-21' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -315,6 +315,7 @@ case $basic_machine in | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ + | wasm32 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -446,6 +447,7 @@ case $basic_machine in | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ + | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -1246,6 +1248,9 @@ case $basic_machine in basic_machine=a29k-wrs os=-vxworks ;; + wasm32) + basic_machine=wasm32-unknown + ;; w65*) basic_machine=w65-wdc os=-none diff --git a/extension/build-aux/ChangeLog b/extension/build-aux/ChangeLog index af726346..0851fdf4 100644 --- a/extension/build-aux/ChangeLog +++ b/extension/build-aux/ChangeLog @@ -1,3 +1,7 @@ +2017-03-23 Arnold D. Robbins <arnold@skeeve.com> + + * config.sub: Updated again. + 2017-03-20 Arnold D. Robbins <arnold@skeeve.com> * config.guess, config.rpath, config.sub, install-sh: diff --git a/extension/build-aux/config.sub b/extension/build-aux/config.sub index 87abeab6..7203bf1e 100755 --- a/extension/build-aux/config.sub +++ b/extension/build-aux/config.sub @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2017-02-07' +timestamp='2017-03-21' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -315,6 +315,7 @@ case $basic_machine in | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ + | wasm32 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -446,6 +447,7 @@ case $basic_machine in | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ + | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -1246,6 +1248,9 @@ case $basic_machine in basic_machine=a29k-wrs os=-vxworks ;; + wasm32) + basic_machine=wasm32-unknown + ;; w65*) basic_machine=w65-wdc os=-none diff --git a/support/ChangeLog b/support/ChangeLog index 027b6db7..1c6015f3 100644 --- a/support/ChangeLog +++ b/support/ChangeLog @@ -1,3 +1,7 @@ +2017-03-23 Arnold D. Robbins <arnold@skeeve.com> + + * dfa.c: Sync with GNULIB. + 2017-01-19 Arnold D. Robbins <arnold@skeeve.com> * localeinfo.h: Sync with GNULIB. diff --git a/support/dfa.c b/support/dfa.c index ad5b3a41..2003ac55 100644 --- a/support/dfa.c +++ b/support/dfa.c @@ -581,8 +581,9 @@ struct dfa bool, size_t *, bool *); /* The locale is simple, like the C locale. These locales can be - processed more efficiently, e.g., the relationship between lower- - and upper-case letters is 1-1. */ + processed more efficiently, as they are single-byte, their native + character set is in collating-sequence order, and they do not + have multi-character collating elements. */ bool simple_locale; /* Other cached information derived from the locale. */ @@ -1059,7 +1060,6 @@ parse_bracket_exp (struct dfa *dfa) if (invert) { c = bracket_fetch_wc (dfa); - invert = true; known_bracket_exp = dfa->simple_locale; } wint_t wc = dfa->lex.wctok; @@ -1190,24 +1190,14 @@ parse_bracket_exp (struct dfa *dfa) /* Treat [x-y] as a range if x != y. */ if (wc != wc2 || wc == WEOF) { - if (dfa->localeinfo.multibyte) - known_bracket_exp = false; - else if (dfa->simple_locale) + if (dfa->simple_locale + || (isasciidigit (c) & isasciidigit (c2))) { - int ci; - for (ci = c; ci <= c2; ci++) - setbit (ci, &ccl); - if (dfa->syntax.case_fold) - { - int uc = toupper (c); - int uc2 = toupper (c2); - for (ci = 0; ci < NOTCHAR; ci++) - { - int uci = toupper (ci); - if (uc <= uci && uci <= uc2) - setbit (ci, &ccl); - } - } + for (int ci = c; ci <= c2; ci++) + if (dfa->syntax.case_fold && isalpha (ci)) + setbit_case_fold_c (ci, &ccl); + else + setbit (ci, &ccl); } else known_bracket_exp = false; @@ -1221,7 +1211,7 @@ parse_bracket_exp (struct dfa *dfa) if (!dfa->localeinfo.multibyte) { - if (dfa->syntax.case_fold) + if (dfa->syntax.case_fold && isalpha (c)) setbit_case_fold_c (c, &ccl); else setbit (c, &ccl); @@ -1256,7 +1246,7 @@ parse_bracket_exp (struct dfa *dfa) if (! known_bracket_exp) return BACKREF; - if (dfa->localeinfo.multibyte) + if (dfa->localeinfo.multibyte && (invert || dfa->lex.brack.nchars != 0)) { dfa->lex.brack.invert = invert; dfa->lex.brack.cset = emptyset (&ccl) ? -1 : charclass_index (dfa, &ccl); @@ -1265,7 +1255,6 @@ parse_bracket_exp (struct dfa *dfa) if (invert) { - assert (!dfa->localeinfo.multibyte); notset (&ccl); if (dfa->syntax.syntax_bits & RE_HAT_LISTS_NOT_NEWLINE) clrbit ('\n', &ccl); |