aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2023-06-13 18:52:21 +0000
committerCy Schubert <cy@FreeBSD.org>2023-06-13 18:53:29 +0000
commit7727c1a56b036f6c32134778474b2f16751505cf (patch)
treee357a10ff46269e31d7d8a2f535a745998336e0c
parentf3cb8cd9bedd45c427e2d9f34c907ba12a26adc6 (diff)
shells/ksh-devel: update to the latest ksh93/ksh github commit
This includes an urgent bugfix release that fixes a serious regression in pathname expansion, see: https://github.com/ksh93/ksh/issues/660
-rw-r--r--shells/ksh-devel/Makefile5
-rw-r--r--shells/ksh-devel/distinfo6
-rw-r--r--shells/ksh-devel/files/patch-src_cmd_ksh93_sh_macro.c84
3 files changed, 5 insertions, 90 deletions
diff --git a/shells/ksh-devel/Makefile b/shells/ksh-devel/Makefile
index 90300f060f96..e991db8811d1 100644
--- a/shells/ksh-devel/Makefile
+++ b/shells/ksh-devel/Makefile
@@ -10,7 +10,6 @@
PORTNAME= ksh
PORTVERSION= ${AST_COMMIT_DATE}
-PORTREVISION= 1
CATEGORIES= shells
PKGNAMESUFFIX= -devel
@@ -22,8 +21,8 @@ LICENSE= EPL
BROKEN_FreeBSD_12= exit code 139 making lib/libcmd
-HASH= c6ee0aa6
-AST_COMMIT_DATE= 2023.06.09
+HASH= 943089ec
+AST_COMMIT_DATE= 2023.06.13
USES= compiler:c11
diff --git a/shells/ksh-devel/distinfo b/shells/ksh-devel/distinfo
index 28c1c081e574..6047c11f7899 100644
--- a/shells/ksh-devel/distinfo
+++ b/shells/ksh-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1686561387
-SHA256 (ksh93-ksh-2023.06.09-c6ee0aa6_GH0.tar.gz) = d609c245bc1dc1ecbedb49a2b4161c7e6cf35e67ad2c205ffd9c1a0759a41e7d
-SIZE (ksh93-ksh-2023.06.09-c6ee0aa6_GH0.tar.gz) = 2107610
+TIMESTAMP = 1686682002
+SHA256 (ksh93-ksh-2023.06.13-943089ec_GH0.tar.gz) = 18dcc47bf0435af5d797066d2356be4728e8bd6f620284d06d1eaf6c62a7f97d
+SIZE (ksh93-ksh-2023.06.13-943089ec_GH0.tar.gz) = 2109804
diff --git a/shells/ksh-devel/files/patch-src_cmd_ksh93_sh_macro.c b/shells/ksh-devel/files/patch-src_cmd_ksh93_sh_macro.c
deleted file mode 100644
index a3b6a4f2585e..000000000000
--- a/shells/ksh-devel/files/patch-src_cmd_ksh93_sh_macro.c
+++ /dev/null
@@ -1,84 +0,0 @@
---- src/cmd/ksh93/sh/macro.c.orig 2023-06-08 23:30:08.000000000 -0700
-+++ src/cmd/ksh93/sh/macro.c 2023-06-12 19:26:31.718942000 -0700
-@@ -76,6 +76,7 @@
- char macsub; /* set to 1 when running mac_substitute */
- int dotdot; /* set for .. in subscript */
- void *nvwalk; /* for name space walking */
-+ char bracketexpr; /* set when in [brackets] within a non-ERE glob pattern */
- } Mac_t;
-
- #undef ESCAPE
-@@ -437,7 +438,6 @@
- char oldquote = mp->quote; /* save "double quoted" state */
- char ansi_c = 0; /* set when processing ANSI C escape codes */
- int32_t ere = 0; /* bitmask of pattern options indicating an extended regular expression */
-- char bracketexpr = 0; /* set when in [brackets] within a non-ERE glob pattern */
- Sfio_t *sp = mp->sp;
- Stk_t *stkp = sh.stk;
- char *resume = 0;
-@@ -533,7 +533,7 @@
- if(mp->pattern)
- {
- /* preserve \ for escaping glob pattern bracket expression operators */
-- if(bracketexpr && n==S_BRAOP)
-+ if(mp->bracketexpr && n==S_BRAOP)
- break;
- /* preserve \digit for pattern matching */
- /* also \alpha for extended patterns */
-@@ -636,8 +636,8 @@
- mp->pattern = c;
- break;
- case S_ENDCH:
-- if(bracketexpr && cp[-1]==RBRACT && !(mp->quote || mp->lit))
-- bracketexpr--;
-+ if(mp->bracketexpr && cp[-1]==RBRACT && !(mp->quote || mp->lit))
-+ mp->bracketexpr--;
- if((mp->lit || cp[-1]!=endch || mp->quote!=newquote))
- goto pattern;
- if(endch==RBRACE && mp->pattern && brace)
-@@ -738,12 +738,12 @@
- cp = first = fcseek(0);
- break;
- }
-- if(mp->pattern==1 && !ere && !bracketexpr)
-+ if(mp->pattern==1 && !ere && !mp->bracketexpr)
- {
-- bracketexpr++;
-+ mp->bracketexpr++;
- /* a ] following [, as in []abc], should not close the bracket expression */
- if(cp[0]==RBRACT && cp[1])
-- bracketexpr++;
-+ mp->bracketexpr++;
- }
- /* FALLTHROUGH */
- case S_PAT:
-@@ -883,7 +883,7 @@
- break;
- case S_BRAOP:
- /* escape a quoted !^- within a bracket expression */
-- if(!bracketexpr || !(mp->quote || mp->lit))
-+ if(!mp->bracketexpr || !(mp->quote || mp->lit))
- continue;
- if(c)
- sfwrite(stkp,first,c);
-@@ -2481,7 +2481,10 @@
- continue;
- }
- if(n==S_ESC)
-- sfputc(stkp,ESCAPE);
-+ {
-+ if(!mp->bracketexpr)
-+ sfputc(stkp,ESCAPE);
-+ }
- else if(n==S_EPAT)
- {
- /* don't allow extended patterns in this case */
-@@ -2583,7 +2586,7 @@
- mp->atmode = 0;
- if(mp->patfound)
- {
-- int musttrim = mp->wasexpan && !mp->noextpat && strchr(argp->argval,'\\');
-+ int musttrim = mp->wasexpan && !mp->quoted && !mp->noextpat && strchr(argp->argval,'\\');
- sh.argaddr = 0;
- #if SHOPT_BRACEPAT
- /* in POSIX mode, disallow brace expansion for unquoted expansions */