* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
@ 2016-10-16 1:14 ` Bart Schaefer
2016-10-16 17:03 ` Daniel Shahaf
2016-10-18 11:36 ` Peter Stephenson
0 siblings, 2 replies; 12+ messages in thread
From: Bart Schaefer @ 2016-10-16 1:14 UTC (permalink / raw)
To: zsh-workers
[I originally sent this 12 hours ago but it still hasn't shown up in the
mailing list archives. Seems to be problems with mail from the gmail web
interface again. Sorry if this eventually appears multiple times.]
On Sat, Oct 15, 2016 at 1:30 AM, Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
>
> Does anyone have a way to get type checking that doesn't involve
> adding .v everywhere?
Wouldn't it suffice to use
typedef char *unmeta_t;
typedef unsigned char *meta_t;
(or the reverse if we believe we're mostly going to be working on
meta_t). If we do that and also enable the GCC warnings -Wtype-limits
-Wconversion -Wformat-signedness would we not get adequate verbosity
without changing pointer arithmetic and dereferencing?
I hadn't even considered all the places where using a struct would
change memory allocation strategy. Oof.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-16 1:14 ` type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile()) Bart Schaefer
@ 2016-10-16 17:03 ` Daniel Shahaf
2016-10-18 11:36 ` Peter Stephenson
1 sibling, 0 replies; 12+ messages in thread
From: Daniel Shahaf @ 2016-10-16 17:03 UTC (permalink / raw)
To: zsh-workers
Bart Schaefer wrote on Sat, Oct 15, 2016 at 18:14:44 -0700:
> On Sat, Oct 15, 2016 at 1:30 AM, Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
> >
> > Does anyone have a way to get type checking that doesn't involve
> > adding .v everywhere?
>
> Wouldn't it suffice to use
> typedef char *unmeta_t;
> typedef unsigned char *meta_t;
>
Another option: use incomplete struct types:
.
typedef char *unmeta_t;
typedef struct incomplete_meta_t *meta_t;
> (or the reverse if we believe we're mostly going to be working on
> meta_t). If we do that and also enable the GCC warnings -Wtype-limits
> -Wconversion -Wformat-signedness would we not get adequate verbosity
> without changing pointer arithmetic and dereferencing?
>
> I hadn't even considered all the places where using a struct would
> change memory allocation strategy. Oof.
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-16 1:14 ` type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile()) Bart Schaefer
2016-10-16 17:03 ` Daniel Shahaf
@ 2016-10-18 11:36 ` Peter Stephenson
1 sibling, 0 replies; 12+ messages in thread
From: Peter Stephenson @ 2016-10-18 11:36 UTC (permalink / raw)
To: zsh-workers
On Sat, 15 Oct 2016 18:14:44 -0700
Bart Schaefer <schaefer@brasslantern.com> wrote:
> Wouldn't it suffice to use
> typedef char *unmeta_t;
> typedef unsigned char *meta_t;
>
> (or the reverse if we believe we're mostly going to be working on
> meta_t). If we do that and also enable the GCC warnings -Wtype-limits
> -Wconversion -Wformat-signedness would we not get adequate verbosity
> without changing pointer arithmetic and dereferencing?
-Wformat-signedness didn't exist when I tried (old version, 4.5.1), but
adding -Wtype-limits and -Wconversion produced 2348 type conversion
errors and 63 implicit conversion of negative integer errors.
But we don't need new warnings --- compilers, including gcc, are much
more finnicky about converting pointer types than the base types, and
assigning individual characters from strings around isn't part of our
problems (except where we alrady have the STOUC() hack).
The only possible subtlety is on some systems char is already unsigned.
However, it seems gcc considers all three of "unsigned char *", "signed
char *", and "char *" as distinct pointer types and making meta_t either
of the first two throws up errors like:
ptr.c:11:9: warning: comparison of distinct pointer types lacks a cast
So this looks workable. Obviously this means continuing to keep
unmetafied lengths separate.
pws
^ permalink raw reply [flat|nested] 12+ messages in thread
* Cores almost on demand in patcompile()
@ 2016-10-09 9:00 Sebastian Gniazdowski
2016-10-09 9:16 ` Sebastian Gniazdowski
0 siblings, 1 reply; 12+ messages in thread
From: Sebastian Gniazdowski @ 2016-10-09 9:00 UTC (permalink / raw)
To: Zsh hackers list; +Cc: Bart Schaefer, Peter Stephenson
[-- Attachment #1: Type: text/plain, Size: 5713 bytes --]
Hello,
I have this tool that shows me Git log (screenshot attached). I've
added a commit whose message apparently triggers cores. Luckily I have
-g, no -O2, near-HEAD (ccc0b6f) zsh running with ulimit -c unlimited.
Making things visual, the collection of cores is:
core.54623 core.80705 core.89143 core.89731 core.90081
easily to extend. The back traces are the same in 4 tested back traces:
(lldb) target create "/usr/local/bin/zsh-5.2-dev-2" --core "/cores/core.90081"
warning: (x86_64) /cores/core.90081 load command 134 LC_SEGMENT_64 has
a fileoff + filesize (0x28b73000) that extends beyond the end of the
file (0x28b72000), the segment will be truncated to match
warning: (x86_64) /cores/core.90081 load command 135 LC_SEGMENT_64 has
a fileoff (0x28b73000) that extends beyond the end of the file
(0x28b72000), ignoring this section
Core file '/cores/core.90081' (x86_64) was loaded.
(lldb) bt
* thread #1: tid = 0x0000, 0x000000010e5d42cb
zsh-5.2-dev-2`patcompile(exp="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh
� initial commit of skylite21 submission\"\x19", inflags=200,
endexp=0x0000000000000000) + 1435 at pattern.c:651, stop reason =
signal SIGSTOP
* frame #0: 0x000000010e5d42cb
zsh-5.2-dev-2`patcompile(exp="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh
� initial commit of skylite21 submission\"\x19", inflags=200,
endexp=0x0000000000000000) + 1435 at pattern.c:651
frame #1: 0x000000010e5833af
zsh-5.2-dev-2`compgetmatch(pat="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh
� initial commit of skylite21 submission\"\x19",
flp=0x00007fff5169a664, replstrp=0x00007fff5169a658) + 127 at
glob.c:2612
frame #2: 0x000000010e5832e1
zsh-5.2-dev-2`getmatch(sp=0x00007fff5169ae40,
pat="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh
� initial commit of skylite21 submission\"\x19", fl=16, n=1,
replstr=0x0000000000000000) + 49 at glob.c:2652
frame #3: 0x000000010e5eee37
zsh-5.2-dev-2`paramsubst(l=0x00007fff5169b188, n=0x00007fff5169b170,
str=0x00007fff5169b020, qt=1, pf_flags=4,
ret_flags=0x00007fff5169b0dc) + 15527 at subst.c:3033
frame #4: 0x000000010e5e8475
zsh-5.2-dev-2`stringsubst(list=0x00007fff5169b188,
node=0x00007fff5169b170, pf_flags=4, ret_flags=0x00007fff5169b0dc,
asssub=0) + 1109 at subst.c:247
frame #5: 0x000000010e5e7a00
zsh-5.2-dev-2`prefork(list=0x00007fff5169b188, flags=6,
ret_flags=0x00007fff5169b0dc) + 256 at subst.c:85
frame #6: 0x000000010e57119e
zsh-5.2-dev-2`addvars(state=0x00007fff5169bf40, pc=0x00007f93230620c0,
addflags=0) + 606 at exec.c:2380
frame #7: 0x000000010e56b69d
zsh-5.2-dev-2`execsimple(state=0x00007fff5169bf40) + 317 at
exec.c:1155
frame #8: 0x000000010e56ab28
zsh-5.2-dev-2`execlist(state=0x00007fff5169bf40, dont_change_job=1,
exiting=0) + 1096 at exec.c:1293
frame #9: 0x000000010e5a8b14
zsh-5.2-dev-2`execfor(state=0x00007fff5169bf40, do_exec=0) + 1716 at
loop.c:175
frame #10: 0x000000010e576ee0
zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5169bf40,
eparams=0x00007fff5169bbf0, input=0, output=0, how=2, last1=2) + 16272
at exec.c:3652
frame #11: 0x000000010e572989
zsh-5.2-dev-2`execpline2(state=0x00007fff5169bf40, pcode=2947, how=2,
input=0, output=0, last1=0) + 441 at exec.c:1837
frame #12: 0x000000010e56bc90
zsh-5.2-dev-2`execpline(state=0x00007fff5169bf40, slcode=106498,
how=2, last1=0) + 1008 at exec.c:1567
frame #13: 0x000000010e56ad4e
zsh-5.2-dev-2`execlist(state=0x00007fff5169bf40, dont_change_job=1,
exiting=0) + 1646 at exec.c:1325
frame #14: 0x000000010e56a6ac
zsh-5.2-dev-2`execode(p=0x00007f9324b40000, dont_change_job=1,
exiting=0, context="shfunc") + 284 at exec.c:1112
frame #15: 0x000000010e5709af
zsh-5.2-dev-2`runshfunc(prog=0x00007f9324b40000,
wrap=0x0000000000000000, name="__zcmdr-process-buffer") + 575 at
exec.c:5567
frame #16: 0x000000010e5702b1
zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d22a20,
doshargs=0x000000010e9dcb70, noreturnval=0) + 2049 at exec.c:5432
frame #17: 0x000000010e5720fd
zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d22a20,
args=0x000000010e9dcb70) + 541 at exec.c:5058
frame #18: 0x000000010e57715a
zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5169cd50,
eparams=0x00007fff5169ca00, input=0, output=0, how=2, last1=2) + 16906
at exec.c:3704
frame #19: 0x000000010e572989
zsh-5.2-dev-2`execpline2(state=0x00007fff5169cd50, pcode=1347, how=2,
input=0, output=0, last1=0) + 441 at exec.c:1837
frame #20: 0x000000010e56bc90
zsh-5.2-dev-2`execpline(state=0x00007fff5169cd50, slcode=4098, how=2,
last1=0) + 1008 at exec.c:1567
First frame points to pattern.c:651. It is "next = PATNEXT(pscan);"
(my exact HEAD is: ccc0b6f). I did:
(lldb) p next
(Upat) $0 = 0x0000ff9324b59968
(lldb) p pscan
(Upat) $1 = 0x0000ff9324b59968
(lldb) p exp
(char *) $2 = 0x000000010e9e8ad8
"\xffffff88\xffffff84m\xffffff8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh
\xffffffe2\xffffff80\xffffff83\xffffffb3 initial commit of skylite21
submission"\x19"
Not sure what to do next. Two complete back traces are attached.
Best regards,
Sebastian Gniazdowski
[-- Attachment #2: bt_core.89143.txt --]
[-- Type: text/plain, Size: 37214 bytes --]
# lldb /usr/local/bin/zsh-5.2-dev-2 -c /cores/core.89143 (git)-[master]
(lldb) target create "/usr/local/bin/zsh-5.2-dev-2" --core "/cores/core.89143"
warning: (x86_64) /cores/core.89143 load command 133 LC_SEGMENT_64 has a fileoff + filesize (0x28a73000) that extends beyond the end of the file (0x28a72000), the segment will be truncated to match
warning: (x86_64) /cores/core.89143 load command 134 LC_SEGMENT_64 has a fileoff (0x28a73000) that extends beyond the end of the file (0x28a72000), ignoring this section
Core file '/cores/core.89143' (x86_64) was loaded.
(lldb) bt
* thread #1: tid = 0x0000, 0x000000010f7f42cb zsh-5.2-dev-2`patcompile(exp="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh � initial commit of skylite21 submission\"\x19", inflags=200, endexp=0x0000000000000000) + 1435 at pattern.c:651, stop reason = signal SIGSTOP
* frame #0: 0x000000010f7f42cb zsh-5.2-dev-2`patcompile(exp="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh � initial commit of skylite21 submission\"\x19", inflags=200, endexp=0x0000000000000000) + 1435 at pattern.c:651
frame #1: 0x000000010f7a33af zsh-5.2-dev-2`compgetmatch(pat="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh � initial commit of skylite21 submission\"\x19", flp=0x00007fff5047a664, replstrp=0x00007fff5047a658) + 127 at glob.c:2612
frame #2: 0x000000010f7a32e1 zsh-5.2-dev-2`getmatch(sp=0x00007fff5047ae40, pat="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh � initial commit of skylite21 submission\"\x19", fl=16, n=1, replstr=0x0000000000000000) + 49 at glob.c:2652
frame #3: 0x000000010f80ee37 zsh-5.2-dev-2`paramsubst(l=0x00007fff5047b188, n=0x00007fff5047b170, str=0x00007fff5047b020, qt=1, pf_flags=4, ret_flags=0x00007fff5047b0dc) + 15527 at subst.c:3033
frame #4: 0x000000010f808475 zsh-5.2-dev-2`stringsubst(list=0x00007fff5047b188, node=0x00007fff5047b170, pf_flags=4, ret_flags=0x00007fff5047b0dc, asssub=0) + 1109 at subst.c:247
frame #5: 0x000000010f807a00 zsh-5.2-dev-2`prefork(list=0x00007fff5047b188, flags=6, ret_flags=0x00007fff5047b0dc) + 256 at subst.c:85
frame #6: 0x000000010f79119e zsh-5.2-dev-2`addvars(state=0x00007fff5047bf40, pc=0x00007fa36112bac0, addflags=0) + 606 at exec.c:2380
frame #7: 0x000000010f78b69d zsh-5.2-dev-2`execsimple(state=0x00007fff5047bf40) + 317 at exec.c:1155
frame #8: 0x000000010f78ab28 zsh-5.2-dev-2`execlist(state=0x00007fff5047bf40, dont_change_job=1, exiting=0) + 1096 at exec.c:1293
frame #9: 0x000000010f7c8b14 zsh-5.2-dev-2`execfor(state=0x00007fff5047bf40, do_exec=0) + 1716 at loop.c:175
frame #10: 0x000000010f796ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5047bf40, eparams=0x00007fff5047bbf0, input=0, output=0, how=2, last1=2) + 16272 at exec.c:3652
frame #11: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5047bf40, pcode=2947, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #12: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5047bf40, slcode=106498, how=2, last1=0) + 1008 at exec.c:1567
frame #13: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5047bf40, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #14: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa363aa1a10, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #15: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa363aa1a10, wrap=0x0000000000000000, name="__zcmdr-process-buffer") + 575 at exec.c:5567
frame #16: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c0a2a0, doshargs=0x000000010fbfcb70, noreturnval=0) + 2049 at exec.c:5432
frame #17: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360c0a2a0, args=0x000000010fbfcb70) + 541 at exec.c:5058
frame #18: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5047cd50, eparams=0x00007fff5047ca00, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #19: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5047cd50, pcode=1347, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #20: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5047cd50, slcode=4098, how=2, last1=0) + 1008 at exec.c:1567
frame #21: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5047cd50, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #22: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa363a979f0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #23: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa363a979f0, wrap=0x0000000000000000, name="-zcmdrlist_mark_current_segment_in_current_element") + 575 at exec.c:5567
frame #24: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa363a97a30, doshargs=0x000000010fc1f2e0, noreturnval=0) + 2049 at exec.c:5432
frame #25: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa363a97a30, args=0x000000010fc1f2e0) + 541 at exec.c:5058
frame #26: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5047f120, eparams=0x00007fff5047d810, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #27: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5047f120, pcode=32131, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #28: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5047f120, slcode=3074, how=2, last1=0) + 1008 at exec.c:1567
frame #29: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5047f120, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #30: 0x000000010f7c9e49 zsh-5.2-dev-2`execif(state=0x00007fff5047f120, do_exec=0) + 521 at loop.c:569
frame #31: 0x000000010f796ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5047f120, eparams=0x00007fff5047e2f0, input=0, output=0, how=2, last1=2) + 16272 at exec.c:3652
frame #32: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5047f120, pcode=22147, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #33: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5047f120, slcode=669698, how=2, last1=0) + 1008 at exec.c:1567
frame #34: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5047f120, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #35: 0x000000010f7c995e zsh-5.2-dev-2`execwhile(state=0x00007fff5047f120, do_exec=0) + 510 at loop.c:454
frame #36: 0x000000010f796ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5047f120, eparams=0x00007fff5047edd0, input=0, output=0, how=18, last1=2) + 16272 at exec.c:3652
frame #37: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5047f120, pcode=22019, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #38: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5047f120, slcode=1959938, how=18, last1=0) + 1008 at exec.c:1567
frame #39: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5047f120, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #40: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa363a7c7c0, dont_change_job=1, exiting=0, context="loadautofunc") + 284 at exec.c:1112
frame #41: 0x000000010f792794 zsh-5.2-dev-2`execautofn_basic(state=0x00007fff5047fc40, do_exec=0) + 196 at exec.c:5104
frame #42: 0x000000010f796ea8 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5047fc40, eparams=0x00007fff5047f8f0, input=0, output=0, how=18, last1=2) + 16216 at exec.c:3650
frame #43: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5047fc40, pcode=3, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #44: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5047fc40, slcode=3074, how=18, last1=0) + 1008 at exec.c:1567
frame #45: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5047fc40, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #46: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa36398a310, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #47: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa36398a310, wrap=0x0000000000000000, name="__zcmdr-list") + 575 at exec.c:5567
frame #48: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c49a00, doshargs=0x000000010fbf4528, noreturnval=0) + 2049 at exec.c:5432
frame #49: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360c49a00, args=0x000000010fbf4528) + 541 at exec.c:5058
frame #50: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50480a50, eparams=0x00007fff50480700, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #51: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50480a50, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #52: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50480a50, slcode=4098, how=18, last1=0) + 1008 at exec.c:1567
frame #53: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50480a50, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #54: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x000000010fbf44c0, dont_change_job=1, exiting=0, context="eval") + 284 at exec.c:1112
frame #55: 0x000000010f781fef zsh-5.2-dev-2`eval(argv=0x00007fff50480b70) + 495 at builtin.c:5568
frame #56: 0x000000010f7787f0 zsh-5.2-dev-2`bin_eval(nam="__zcmdr-list", argv=0x00007fff50480b70, ops=0x00007fff50480e68, func=0) + 32 at builtin.c:5754
frame #57: 0x000000010f778646 zsh-5.2-dev-2`eval_autoload(shf=0x00007fa360c49a00, name="__zcmdr-list", ops=0x00007fff50480e68, func=0) + 198 at builtin.c:2914
frame #58: 0x000000010f77617e zsh-5.2-dev-2`bin_functions(name="autoload", argv=0x000000010fbf43e8, ops=0x00007fff50480e68, func=0) + 4494 at builtin.c:3194
frame #59: 0x000000010f76de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010fbf4360, assigns=0x0000000000000000, bn=0x000000010f838130) + 3238 at builtin.c:484
frame #60: 0x000000010f797841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff504819b0, eparams=0x00007fff50481660, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #61: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff504819b0, pcode=195, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #62: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff504819b0, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #63: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff504819b0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #64: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360c499c0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #65: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360c499c0, wrap=0x0000000000000000, name="__zcmdr-list") + 575 at exec.c:5567
frame #66: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c49a00, doshargs=0x000000010fbf0c68, noreturnval=0) + 2049 at exec.c:5432
frame #67: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360c49a00, args=0x000000010fbf0c68) + 541 at exec.c:5058
frame #68: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff504827c0, eparams=0x00007fff50482470, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #69: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff504827c0, pcode=4675, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #70: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff504827c0, slcode=12290, how=2, last1=0) + 1008 at exec.c:1567
frame #71: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff504827c0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #72: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa363a6c770, dont_change_job=1, exiting=0, context="loadautofunc") + 284 at exec.c:1112
frame #73: 0x000000010f792794 zsh-5.2-dev-2`execautofn_basic(state=0x00007fff504832e0, do_exec=0) + 196 at exec.c:5104
frame #74: 0x000000010f796ea8 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff504832e0, eparams=0x00007fff50482f90, input=0, output=0, how=18, last1=2) + 16216 at exec.c:3650
frame #75: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff504832e0, pcode=3, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #76: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff504832e0, slcode=3074, how=18, last1=0) + 1008 at exec.c:1567
frame #77: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff504832e0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #78: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa363985600, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #79: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa363985600, wrap=0x0000000000000000, name="__zcmdr-list-wrapper") + 575 at exec.c:5567
frame #80: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c42600, doshargs=0x000000010fbec558, noreturnval=0) + 2049 at exec.c:5432
frame #81: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360c42600, args=0x000000010fbec558) + 541 at exec.c:5058
frame #82: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff504840f0, eparams=0x00007fff50483da0, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #83: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff504840f0, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #84: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff504840f0, slcode=4098, how=18, last1=0) + 1008 at exec.c:1567
frame #85: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff504840f0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #86: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x000000010fbec4e8, dont_change_job=1, exiting=0, context="eval") + 284 at exec.c:1112
frame #87: 0x000000010f781fef zsh-5.2-dev-2`eval(argv=0x00007fff50484210) + 495 at builtin.c:5568
frame #88: 0x000000010f7787f0 zsh-5.2-dev-2`bin_eval(nam="__zcmdr-list-wrapper", argv=0x00007fff50484210, ops=0x00007fff50484508, func=0) + 32 at builtin.c:5754
frame #89: 0x000000010f778646 zsh-5.2-dev-2`eval_autoload(shf=0x00007fa360c42600, name="__zcmdr-list-wrapper", ops=0x00007fff50484508, func=0) + 198 at builtin.c:2914
frame #90: 0x000000010f77617e zsh-5.2-dev-2`bin_functions(name="autoload", argv=0x000000010fbec3f8, ops=0x00007fff50484508, func=0) + 4494 at builtin.c:3194
frame #91: 0x000000010f76de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010fbec370, assigns=0x0000000000000000, bn=0x000000010f838130) + 3238 at builtin.c:484
frame #92: 0x000000010f797841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50485050, eparams=0x00007fff50484d00, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #93: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50485050, pcode=195, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #94: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50485050, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #95: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50485050, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #96: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360c425c0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #97: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360c425c0, wrap=0x0000000000000000, name="__zcmdr-list-wrapper") + 575 at exec.c:5567
frame #98: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c42600, doshargs=0x000000010fbde6f0, noreturnval=0) + 2049 at exec.c:5432
frame #99: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360c42600, args=0x000000010fbde6f0) + 541 at exec.c:5058
frame #100: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50485e60, eparams=0x00007fff50485b10, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #101: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50485e60, pcode=2243, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #102: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50485e60, slcode=3074, how=2, last1=0) + 1008 at exec.c:1567
frame #103: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50485e60, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #104: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa363982670, dont_change_job=1, exiting=0, context="loadautofunc") + 284 at exec.c:1112
frame #105: 0x000000010f792794 zsh-5.2-dev-2`execautofn_basic(state=0x00007fff50486980, do_exec=0) + 196 at exec.c:5104
frame #106: 0x000000010f796ea8 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50486980, eparams=0x00007fff50486630, input=0, output=0, how=18, last1=2) + 16216 at exec.c:3650
frame #107: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50486980, pcode=3, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #108: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50486980, slcode=3074, how=18, last1=0) + 1008 at exec.c:1567
frame #109: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50486980, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #110: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa36397e1b0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #111: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa36397e1b0, wrap=0x0000000000000000, name="__zcmdr-usetty-wrapper") + 575 at exec.c:5567
frame #112: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c498f0, doshargs=0x000000010fbda558, noreturnval=0) + 2049 at exec.c:5432
frame #113: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360c498f0, args=0x000000010fbda558) + 541 at exec.c:5058
frame #114: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50487790, eparams=0x00007fff50487440, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #115: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50487790, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #116: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50487790, slcode=4098, how=18, last1=0) + 1008 at exec.c:1567
frame #117: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50487790, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #118: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x000000010fbda4e8, dont_change_job=1, exiting=0, context="eval") + 284 at exec.c:1112
frame #119: 0x000000010f781fef zsh-5.2-dev-2`eval(argv=0x00007fff504878b0) + 495 at builtin.c:5568
frame #120: 0x000000010f7787f0 zsh-5.2-dev-2`bin_eval(nam="__zcmdr-usetty-wrapper", argv=0x00007fff504878b0, ops=0x00007fff50487ba8, func=0) + 32 at builtin.c:5754
frame #121: 0x000000010f778646 zsh-5.2-dev-2`eval_autoload(shf=0x00007fa360c498f0, name="__zcmdr-usetty-wrapper", ops=0x00007fff50487ba8, func=0) + 198 at builtin.c:2914
frame #122: 0x000000010f77617e zsh-5.2-dev-2`bin_functions(name="autoload", argv=0x000000010fbda3f8, ops=0x00007fff50487ba8, func=0) + 4494 at builtin.c:3194
frame #123: 0x000000010f76de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010fbda370, assigns=0x0000000000000000, bn=0x000000010f838130) + 3238 at builtin.c:484
frame #124: 0x000000010f797841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff504886f0, eparams=0x00007fff504883a0, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #125: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff504886f0, pcode=195, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #126: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff504886f0, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #127: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff504886f0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #128: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360c498b0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #129: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360c498b0, wrap=0x0000000000000000, name="__zcmdr-usetty-wrapper") + 575 at exec.c:5567
frame #130: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c498f0, doshargs=0x000000010fbd5018, noreturnval=0) + 2049 at exec.c:5432
frame #131: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360c498f0, args=0x000000010fbd5018) + 541 at exec.c:5058
frame #132: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50489fe0, eparams=0x00007fff504891b0, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #133: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50489fe0, pcode=43651, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #134: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50489fe0, slcode=7170, how=2, last1=0) + 1008 at exec.c:1567
frame #135: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50489fe0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #136: 0x000000010f7c995e zsh-5.2-dev-2`execwhile(state=0x00007fff50489fe0, do_exec=0) + 510 at loop.c:454
frame #137: 0x000000010f796ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50489fe0, eparams=0x00007fff50489c90, input=0, output=0, how=2, last1=2) + 16272 at exec.c:3652
frame #138: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50489fe0, pcode=24323, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #139: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50489fe0, slcode=1610754, how=2, last1=0) + 1008 at exec.c:1567
frame #140: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50489fe0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #141: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa363a92b50, dont_change_job=1, exiting=0, context="loadautofunc") + 284 at exec.c:1112
frame #142: 0x000000010f792794 zsh-5.2-dev-2`execautofn_basic(state=0x00007fff5048ab00, do_exec=0) + 196 at exec.c:5104
frame #143: 0x000000010f796ea8 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5048ab00, eparams=0x00007fff5048a7b0, input=0, output=0, how=18, last1=2) + 16216 at exec.c:3650
frame #144: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5048ab00, pcode=3, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #145: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5048ab00, slcode=3074, how=18, last1=0) + 1008 at exec.c:1567
frame #146: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5048ab00, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #147: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa36396bbd0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #148: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa36396bbd0, wrap=0x0000000000000000, name="uizcm") + 575 at exec.c:5567
frame #149: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c3dd50, doshargs=0x000000010fbca4c8, noreturnval=0) + 2049 at exec.c:5432
frame #150: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360c3dd50, args=0x000000010fbca4c8) + 541 at exec.c:5058
frame #151: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5048b910, eparams=0x00007fff5048b5c0, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #152: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5048b910, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #153: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5048b910, slcode=4098, how=18, last1=0) + 1008 at exec.c:1567
frame #154: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5048b910, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #155: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x000000010fbca468, dont_change_job=1, exiting=0, context="eval") + 284 at exec.c:1112
frame #156: 0x000000010f781fef zsh-5.2-dev-2`eval(argv=0x00007fff5048ba30) + 495 at builtin.c:5568
frame #157: 0x000000010f7787f0 zsh-5.2-dev-2`bin_eval(nam="uizcm", argv=0x00007fff5048ba30, ops=0x00007fff5048bd28, func=0) + 32 at builtin.c:5754
frame #158: 0x000000010f778646 zsh-5.2-dev-2`eval_autoload(shf=0x00007fa360c3dd50, name="uizcm", ops=0x00007fff5048bd28, func=0) + 198 at builtin.c:2914
frame #159: 0x000000010f77617e zsh-5.2-dev-2`bin_functions(name="autoload", argv=0x000000010fbca3a8, ops=0x00007fff5048bd28, func=0) + 4494 at builtin.c:3194
frame #160: 0x000000010f76de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010fbca320, assigns=0x0000000000000000, bn=0x000000010f838130) + 3238 at builtin.c:484
frame #161: 0x000000010f797841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5048c870, eparams=0x00007fff5048c520, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #162: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5048c870, pcode=195, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #163: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5048c870, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #164: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5048c870, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #165: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360c49930, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #166: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360c49930, wrap=0x0000000000000000, name="uizcm") + 575 at exec.c:5567
frame #167: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360c3dd50, doshargs=0x0000000000000000, noreturnval=1) + 2049 at exec.c:5432
frame #168: 0x000000010fab5091 zle.so`execzlefunc(func=0x00007fa360e56bf0, args=0x000000010fbc6190, set_bindk=0) + 1601 at zle_main.c:1467
frame #169: 0x000000010faca436 zle.so`bin_zle_call(name="zle", args=0x000000010fbc6190, ops=0x00007fff5048ce88, func='\0') + 1126 at zle_thingy.c:763
frame #170: 0x000000010fac8c66 zle.so`bin_zle(name="zle", args=0x000000010fbc6180, ops=0x00007fff5048ce88, func=0) + 438 at zle_thingy.c:388
frame #171: 0x000000010f76de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010fbc60c8, assigns=0x0000000000000000, bn=0x000000010faea980) + 3238 at builtin.c:484
frame #172: 0x000000010f797841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5048d9d0, eparams=0x00007fff5048d680, input=0, output=0, how=2, last1=2) + 18673 at exec.c:3826
frame #173: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5048d9d0, pcode=195, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #174: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5048d9d0, slcode=5154, how=2, last1=0) + 1008 at exec.c:1567
frame #175: 0x000000010f78ada1 zsh-5.2-dev-2`execlist(state=0x00007fff5048d9d0, dont_change_job=1, exiting=0) + 1729 at exec.c:1334
frame #176: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360d1f970, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #177: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360d1f970, wrap=0x0000000000000000, name="_zsh_highlight_call_widget") + 575 at exec.c:5567
frame #178: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360d1fa00, doshargs=0x000000010fbc2100, noreturnval=0) + 2049 at exec.c:5432
frame #179: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360d1fa00, args=0x000000010fbc2100) + 541 at exec.c:5058
frame #180: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5048e7e0, eparams=0x00007fff5048e490, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #181: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff5048e7e0, pcode=67, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #182: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5048e7e0, slcode=6146, how=18, last1=0) + 1008 at exec.c:1567
frame #183: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5048e7e0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #184: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360e56c20, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #185: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360e56c20, wrap=0x0000000000000000, name="_zsh_highlight_widget_orig-s0.0000060000-r4614-uizcm") + 575 at exec.c:5567
frame #186: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360e56b40, doshargs=0x0000000000000000, noreturnval=1) + 2049 at exec.c:5432
frame #187: 0x000000010fab5091 zle.so`execzlefunc(func=0x00007fa363962650, args=0x000000010fbbe6b0, set_bindk=0) + 1601 at zle_main.c:1467
frame #188: 0x000000010faca436 zle.so`bin_zle_call(name="zle", args=0x000000010fbbe6b0, ops=0x00007fff5048edf8, func='\0') + 1126 at zle_thingy.c:763
frame #189: 0x000000010fac8c66 zle.so`bin_zle(name="zle", args=0x000000010fbbe6a0, ops=0x00007fff5048edf8, func=0) + 438 at zle_thingy.c:388
frame #190: 0x000000010f76de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010fbbe5d8, assigns=0x0000000000000000, bn=0x000000010faea980) + 3238 at builtin.c:484
frame #191: 0x000000010f797841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50490420, eparams=0x00007fff5048f5f0, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #192: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50490420, pcode=643, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #193: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50490420, slcode=6146, how=18, last1=0) + 1008 at exec.c:1567
frame #194: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50490420, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #195: 0x000000010f7c9e49 zsh-5.2-dev-2`execif(state=0x00007fff50490420, do_exec=0) + 521 at loop.c:569
frame #196: 0x000000010f796ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50490420, eparams=0x00007fff504900d0, input=0, output=0, how=18, last1=2) + 16272 at exec.c:3652
frame #197: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50490420, pcode=579, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #198: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50490420, slcode=18434, how=18, last1=0) + 1008 at exec.c:1567
frame #199: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50490420, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #200: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360e466d0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #201: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360e466d0, wrap=0x0000000000000000, name="_zsh_autosuggest_invoke_original_widget") + 575 at exec.c:5567
frame #202: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360e46710, doshargs=0x000000010fbb21b0, noreturnval=0) + 2049 at exec.c:5432
frame #203: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360e46710, args=0x000000010fbb21b0) + 541 at exec.c:5058
frame #204: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50491230, eparams=0x00007fff50490ee0, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #205: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50491230, pcode=515, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #206: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50491230, slcode=4098, how=2, last1=0) + 1008 at exec.c:1567
frame #207: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50491230, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #208: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360e223b0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #209: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360e223b0, wrap=0x0000000000000000, name="_zsh_autosuggest_modify") + 575 at exec.c:5567
frame #210: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360e223f0, doshargs=0x000000010fb821d0, noreturnval=0) + 2049 at exec.c:5432
frame #211: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360e223f0, args=0x000000010fb821d0) + 541 at exec.c:5058
frame #212: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50492040, eparams=0x00007fff50491cf0, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #213: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50492040, pcode=387, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #214: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50492040, slcode=4098, how=2, last1=0) + 1008 at exec.c:1567
frame #215: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50492040, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #216: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa360e2b770, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #217: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa360e2b770, wrap=0x0000000000000000, name="_zsh_autosuggest_widget_modify") + 575 at exec.c:5567
frame #218: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa360e2b7b0, doshargs=0x000000010fb75088, noreturnval=0) + 2049 at exec.c:5432
frame #219: 0x000000010f7920fd zsh-5.2-dev-2`execshfunc(shf=0x00007fa360e2b7b0, args=0x000000010fb75088) + 541 at exec.c:5058
frame #220: 0x000000010f79715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff50492e50, eparams=0x00007fff50492b00, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #221: 0x000000010f792989 zsh-5.2-dev-2`execpline2(state=0x00007fff50492e50, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #222: 0x000000010f78bc90 zsh-5.2-dev-2`execpline(state=0x00007fff50492e50, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #223: 0x000000010f78ad4e zsh-5.2-dev-2`execlist(state=0x00007fff50492e50, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #224: 0x000000010f78a6ac zsh-5.2-dev-2`execode(p=0x00007fa36395b950, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #225: 0x000000010f7909af zsh-5.2-dev-2`runshfunc(prog=0x00007fa36395b950, wrap=0x0000000000000000, name="_zsh_autosuggest_bound_uizcm") + 575 at exec.c:5567
frame #226: 0x000000010f7902b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007fa36395b010, doshargs=0x0000000000000000, noreturnval=1) + 2049 at exec.c:5432
frame #227: 0x000000010fab5091 zle.so`execzlefunc(func=0x00007fa360e4fec0, args=0x000000010faeaef0, set_bindk=0) + 1601 at zle_main.c:1467
frame #228: 0x000000010fab5383 zle.so`zlecore + 451 at zle_main.c:1113
frame #229: 0x000000010fab5d1b zle.so`zleread(lp=0x000000010f841c68, rp=0x000000010f841ca8, flags=3, context=0, init="zle-line-init", finish="zle-line-finish") + 1883 at zle_main.c:1319
frame #230: 0x000000010fab6b43 zle.so`zle_main_entry(cmd=1, ap=0x00007fff50493800) + 739 at zle_main.c:2030
frame #231: 0x000000010f7b8257 zsh-5.2-dev-2`zleentry(cmd=1) + 615 at init.c:1536
frame #232: 0x000000010f7b9a7d zsh-5.2-dev-2`inputline + 509 at input.c:293
frame #233: 0x000000010f7b9675 zsh-5.2-dev-2`ingetc + 325 at input.c:226
frame #234: 0x000000010f7ab32d zsh-5.2-dev-2`ihgetc + 13 at hist.c:391
frame #235: 0x000000010f7c3206 zsh-5.2-dev-2`gettok + 38 at lex.c:611
frame #236: 0x000000010f7c2f79 zsh-5.2-dev-2`zshlex + 121 at lex.c:275
frame #237: 0x000000010f7e90c7 zsh-5.2-dev-2`parse_event(endtok=37) + 55 at parse.c:569
frame #238: 0x000000010f7b4294 zsh-5.2-dev-2`loop(toplevel=1, justonce=0) + 308 at init.c:146
frame #239: 0x000000010f7b886f zsh-5.2-dev-2`zsh_main(argc=2, argv=0x00007fff50493b78) + 847 at init.c:1692
frame #240: 0x000000010f76ce92 zsh-5.2-dev-2`main(argc=2, argv=0x00007fff50493b78) + 34 at main.c:93
frame #241: 0x00007fff8ceb65ad libdyld.dylib`start + 1
frame #242: 0x00007fff8ceb65ad libdyld.dylib`start + 1
(lldb) p next
(Upat) $0 = 0x000bcfa360ded188
(lldb) p pscan
(Upat) $1 = 0x000bcfa360ded188
(lldb) p exp
(char *) $2 = 0x000000010fc08ad8 "\xffffff88\xffffff84m\xffffff8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh \xffffffe2\xffffff80\xffffff83\xffffffb3 initial commit of skylite21 submission"\x19"
[-- Attachment #3: thetool.png --]
[-- Type: image/png, Size: 119688 bytes --]
[-- Attachment #4: bt_core.90081.txt --]
[-- Type: text/plain, Size: 37217 bytes --]
# lldb /usr/local/bin/zsh-5.2-dev-2 -c /cores/core.90081 (git)-[master]
(lldb) target create "/usr/local/bin/zsh-5.2-dev-2" --core "/cores/core.90081"
warning: (x86_64) /cores/core.90081 load command 134 LC_SEGMENT_64 has a fileoff + filesize (0x28b73000) that extends beyond the end of the file (0x28b72000), the segment will be truncated to match
warning: (x86_64) /cores/core.90081 load command 135 LC_SEGMENT_64 has a fileoff (0x28b73000) that extends beyond the end of the file (0x28b72000), ignoring this section
Core file '/cores/core.90081' (x86_64) was loaded.
(lldb) bt
* thread #1: tid = 0x0000, 0x000000010e5d42cb zsh-5.2-dev-2`patcompile(exp="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh � initial commit of skylite21 submission\"\x19", inflags=200, endexp=0x0000000000000000) + 1435 at pattern.c:651, stop reason = signal SIGSTOP
* frame #0: 0x000000010e5d42cb zsh-5.2-dev-2`patcompile(exp="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh � initial commit of skylite21 submission\"\x19", inflags=200, endexp=0x0000000000000000) + 1435 at pattern.c:651
frame #1: 0x000000010e5833af zsh-5.2-dev-2`compgetmatch(pat="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh � initial commit of skylite21 submission\"\x19", flp=0x00007fff5169a664, replstrp=0x00007fff5169a658) + 127 at glob.c:2612
frame #2: 0x000000010e5832e1 zsh-5.2-dev-2`getmatch(sp=0x00007fff5169ae40, pat="\x88\x84m\x8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06\"znt-tmux.zsh � initial commit of skylite21 submission\"\x19", fl=16, n=1, replstr=0x0000000000000000) + 49 at glob.c:2652
frame #3: 0x000000010e5eee37 zsh-5.2-dev-2`paramsubst(l=0x00007fff5169b188, n=0x00007fff5169b170, str=0x00007fff5169b020, qt=1, pf_flags=4, ret_flags=0x00007fff5169b0dc) + 15527 at subst.c:3033
frame #4: 0x000000010e5e8475 zsh-5.2-dev-2`stringsubst(list=0x00007fff5169b188, node=0x00007fff5169b170, pf_flags=4, ret_flags=0x00007fff5169b0dc, asssub=0) + 1109 at subst.c:247
frame #5: 0x000000010e5e7a00 zsh-5.2-dev-2`prefork(list=0x00007fff5169b188, flags=6, ret_flags=0x00007fff5169b0dc) + 256 at subst.c:85
frame #6: 0x000000010e57119e zsh-5.2-dev-2`addvars(state=0x00007fff5169bf40, pc=0x00007f93230620c0, addflags=0) + 606 at exec.c:2380
frame #7: 0x000000010e56b69d zsh-5.2-dev-2`execsimple(state=0x00007fff5169bf40) + 317 at exec.c:1155
frame #8: 0x000000010e56ab28 zsh-5.2-dev-2`execlist(state=0x00007fff5169bf40, dont_change_job=1, exiting=0) + 1096 at exec.c:1293
frame #9: 0x000000010e5a8b14 zsh-5.2-dev-2`execfor(state=0x00007fff5169bf40, do_exec=0) + 1716 at loop.c:175
frame #10: 0x000000010e576ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5169bf40, eparams=0x00007fff5169bbf0, input=0, output=0, how=2, last1=2) + 16272 at exec.c:3652
frame #11: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff5169bf40, pcode=2947, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #12: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5169bf40, slcode=106498, how=2, last1=0) + 1008 at exec.c:1567
frame #13: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5169bf40, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #14: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9324b40000, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #15: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9324b40000, wrap=0x0000000000000000, name="__zcmdr-process-buffer") + 575 at exec.c:5567
frame #16: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d22a20, doshargs=0x000000010e9dcb70, noreturnval=0) + 2049 at exec.c:5432
frame #17: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d22a20, args=0x000000010e9dcb70) + 541 at exec.c:5058
frame #18: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5169cd50, eparams=0x00007fff5169ca00, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #19: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff5169cd50, pcode=1347, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #20: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5169cd50, slcode=4098, how=2, last1=0) + 1008 at exec.c:1567
frame #21: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5169cd50, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #22: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9324980eb0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #23: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9324980eb0, wrap=0x0000000000000000, name="-zcmdrlist_mark_current_segment_in_current_element") + 575 at exec.c:5567
frame #24: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f93249819f0, doshargs=0x000000010ea032e0, noreturnval=0) + 2049 at exec.c:5432
frame #25: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f93249819f0, args=0x000000010ea032e0) + 541 at exec.c:5058
frame #26: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5169f120, eparams=0x00007fff5169d810, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #27: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff5169f120, pcode=32131, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #28: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5169f120, slcode=3074, how=2, last1=0) + 1008 at exec.c:1567
frame #29: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5169f120, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #30: 0x000000010e5a9e49 zsh-5.2-dev-2`execif(state=0x00007fff5169f120, do_exec=0) + 521 at loop.c:569
frame #31: 0x000000010e576ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5169f120, eparams=0x00007fff5169e2f0, input=0, output=0, how=2, last1=2) + 16272 at exec.c:3652
frame #32: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff5169f120, pcode=22147, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #33: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5169f120, slcode=669698, how=2, last1=0) + 1008 at exec.c:1567
frame #34: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5169f120, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #35: 0x000000010e5a995e zsh-5.2-dev-2`execwhile(state=0x00007fff5169f120, do_exec=0) + 510 at loop.c:454
frame #36: 0x000000010e576ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5169f120, eparams=0x00007fff5169edd0, input=0, output=0, how=18, last1=2) + 16272 at exec.c:3652
frame #37: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff5169f120, pcode=22019, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #38: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5169f120, slcode=1959938, how=18, last1=0) + 1008 at exec.c:1567
frame #39: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5169f120, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #40: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321c4fcb0, dont_change_job=1, exiting=0, context="loadautofunc") + 284 at exec.c:1112
frame #41: 0x000000010e572794 zsh-5.2-dev-2`execautofn_basic(state=0x00007fff5169fc40, do_exec=0) + 196 at exec.c:5104
frame #42: 0x000000010e576ea8 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff5169fc40, eparams=0x00007fff5169f8f0, input=0, output=0, how=18, last1=2) + 16216 at exec.c:3650
frame #43: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff5169fc40, pcode=3, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #44: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff5169fc40, slcode=3074, how=18, last1=0) + 1008 at exec.c:1567
frame #45: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff5169fc40, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #46: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9324b534d0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #47: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9324b534d0, wrap=0x0000000000000000, name="__zcmdr-list") + 575 at exec.c:5567
frame #48: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d23410, doshargs=0x000000010e9d4528, noreturnval=0) + 2049 at exec.c:5432
frame #49: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d23410, args=0x000000010e9d4528) + 541 at exec.c:5058
frame #50: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a0a50, eparams=0x00007fff516a0700, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #51: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a0a50, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #52: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a0a50, slcode=4098, how=18, last1=0) + 1008 at exec.c:1567
frame #53: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a0a50, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #54: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x000000010e9d44c0, dont_change_job=1, exiting=0, context="eval") + 284 at exec.c:1112
frame #55: 0x000000010e561fef zsh-5.2-dev-2`eval(argv=0x00007fff516a0b70) + 495 at builtin.c:5568
frame #56: 0x000000010e5587f0 zsh-5.2-dev-2`bin_eval(nam="__zcmdr-list", argv=0x00007fff516a0b70, ops=0x00007fff516a0e68, func=0) + 32 at builtin.c:5754
frame #57: 0x000000010e558646 zsh-5.2-dev-2`eval_autoload(shf=0x00007f9321d23410, name="__zcmdr-list", ops=0x00007fff516a0e68, func=0) + 198 at builtin.c:2914
frame #58: 0x000000010e55617e zsh-5.2-dev-2`bin_functions(name="autoload", argv=0x000000010e9d43e8, ops=0x00007fff516a0e68, func=0) + 4494 at builtin.c:3194
frame #59: 0x000000010e54de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010e9d4360, assigns=0x0000000000000000, bn=0x000000010e618130) + 3238 at builtin.c:484
frame #60: 0x000000010e577841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a19b0, eparams=0x00007fff516a1660, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #61: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a19b0, pcode=195, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #62: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a19b0, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #63: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a19b0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #64: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321d23240, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #65: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321d23240, wrap=0x0000000000000000, name="__zcmdr-list") + 575 at exec.c:5567
frame #66: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d23410, doshargs=0x000000010e9d0c68, noreturnval=0) + 2049 at exec.c:5432
frame #67: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d23410, args=0x000000010e9d0c68) + 541 at exec.c:5058
frame #68: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a27c0, eparams=0x00007fff516a2470, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #69: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a27c0, pcode=4675, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #70: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a27c0, slcode=12290, how=2, last1=0) + 1008 at exec.c:1567
frame #71: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a27c0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #72: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9324a31fb0, dont_change_job=1, exiting=0, context="loadautofunc") + 284 at exec.c:1112
frame #73: 0x000000010e572794 zsh-5.2-dev-2`execautofn_basic(state=0x00007fff516a32e0, do_exec=0) + 196 at exec.c:5104
frame #74: 0x000000010e576ea8 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a32e0, eparams=0x00007fff516a2f90, input=0, output=0, how=18, last1=2) + 16216 at exec.c:3650
frame #75: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a32e0, pcode=3, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #76: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a32e0, slcode=3074, how=18, last1=0) + 1008 at exec.c:1567
frame #77: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a32e0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #78: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9324b34b90, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #79: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9324b34b90, wrap=0x0000000000000000, name="__zcmdr-list-wrapper") + 575 at exec.c:5567
frame #80: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d22b00, doshargs=0x000000010e9cc558, noreturnval=0) + 2049 at exec.c:5432
frame #81: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d22b00, args=0x000000010e9cc558) + 541 at exec.c:5058
frame #82: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a40f0, eparams=0x00007fff516a3da0, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #83: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a40f0, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #84: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a40f0, slcode=4098, how=18, last1=0) + 1008 at exec.c:1567
frame #85: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a40f0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #86: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x000000010e9cc4e8, dont_change_job=1, exiting=0, context="eval") + 284 at exec.c:1112
frame #87: 0x000000010e561fef zsh-5.2-dev-2`eval(argv=0x00007fff516a4210) + 495 at builtin.c:5568
frame #88: 0x000000010e5587f0 zsh-5.2-dev-2`bin_eval(nam="__zcmdr-list-wrapper", argv=0x00007fff516a4210, ops=0x00007fff516a4508, func=0) + 32 at builtin.c:5754
frame #89: 0x000000010e558646 zsh-5.2-dev-2`eval_autoload(shf=0x00007f9321d22b00, name="__zcmdr-list-wrapper", ops=0x00007fff516a4508, func=0) + 198 at builtin.c:2914
frame #90: 0x000000010e55617e zsh-5.2-dev-2`bin_functions(name="autoload", argv=0x000000010e9cc3f8, ops=0x00007fff516a4508, func=0) + 4494 at builtin.c:3194
frame #91: 0x000000010e54de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010e9cc370, assigns=0x0000000000000000, bn=0x000000010e618130) + 3238 at builtin.c:484
frame #92: 0x000000010e577841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a5050, eparams=0x00007fff516a4d00, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #93: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a5050, pcode=195, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #94: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a5050, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #95: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a5050, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #96: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321d22ac0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #97: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321d22ac0, wrap=0x0000000000000000, name="__zcmdr-list-wrapper") + 575 at exec.c:5567
frame #98: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d22b00, doshargs=0x000000010e9be6f0, noreturnval=0) + 2049 at exec.c:5432
frame #99: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d22b00, args=0x000000010e9be6f0) + 541 at exec.c:5058
frame #100: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a5e60, eparams=0x00007fff516a5b10, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #101: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a5e60, pcode=2243, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #102: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a5e60, slcode=3074, how=2, last1=0) + 1008 at exec.c:1567
frame #103: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a5e60, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #104: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321d5cc10, dont_change_job=1, exiting=0, context="loadautofunc") + 284 at exec.c:1112
frame #105: 0x000000010e572794 zsh-5.2-dev-2`execautofn_basic(state=0x00007fff516a6980, do_exec=0) + 196 at exec.c:5104
frame #106: 0x000000010e576ea8 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a6980, eparams=0x00007fff516a6630, input=0, output=0, how=18, last1=2) + 16216 at exec.c:3650
frame #107: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a6980, pcode=3, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #108: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a6980, slcode=3074, how=18, last1=0) + 1008 at exec.c:1567
frame #109: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a6980, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #110: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9324a34780, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #111: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9324a34780, wrap=0x0000000000000000, name="__zcmdr-usetty-wrapper") + 575 at exec.c:5567
frame #112: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d22800, doshargs=0x000000010e9ba558, noreturnval=0) + 2049 at exec.c:5432
frame #113: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d22800, args=0x000000010e9ba558) + 541 at exec.c:5058
frame #114: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a7790, eparams=0x00007fff516a7440, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #115: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a7790, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #116: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a7790, slcode=4098, how=18, last1=0) + 1008 at exec.c:1567
frame #117: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a7790, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #118: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x000000010e9ba4e8, dont_change_job=1, exiting=0, context="eval") + 284 at exec.c:1112
frame #119: 0x000000010e561fef zsh-5.2-dev-2`eval(argv=0x00007fff516a78b0) + 495 at builtin.c:5568
frame #120: 0x000000010e5587f0 zsh-5.2-dev-2`bin_eval(nam="__zcmdr-usetty-wrapper", argv=0x00007fff516a78b0, ops=0x00007fff516a7ba8, func=0) + 32 at builtin.c:5754
frame #121: 0x000000010e558646 zsh-5.2-dev-2`eval_autoload(shf=0x00007f9321d22800, name="__zcmdr-usetty-wrapper", ops=0x00007fff516a7ba8, func=0) + 198 at builtin.c:2914
frame #122: 0x000000010e55617e zsh-5.2-dev-2`bin_functions(name="autoload", argv=0x000000010e9ba3f8, ops=0x00007fff516a7ba8, func=0) + 4494 at builtin.c:3194
frame #123: 0x000000010e54de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010e9ba370, assigns=0x0000000000000000, bn=0x000000010e618130) + 3238 at builtin.c:484
frame #124: 0x000000010e577841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a86f0, eparams=0x00007fff516a83a0, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #125: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a86f0, pcode=195, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #126: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a86f0, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #127: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a86f0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #128: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321d227c0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #129: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321d227c0, wrap=0x0000000000000000, name="__zcmdr-usetty-wrapper") + 575 at exec.c:5567
frame #130: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d22800, doshargs=0x000000010e9b5000, noreturnval=0) + 2049 at exec.c:5432
frame #131: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d22800, args=0x000000010e9b5000) + 541 at exec.c:5058
frame #132: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a9fe0, eparams=0x00007fff516a91b0, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #133: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a9fe0, pcode=43651, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #134: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a9fe0, slcode=7170, how=2, last1=0) + 1008 at exec.c:1567
frame #135: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a9fe0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #136: 0x000000010e5a995e zsh-5.2-dev-2`execwhile(state=0x00007fff516a9fe0, do_exec=0) + 510 at loop.c:454
frame #137: 0x000000010e576ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516a9fe0, eparams=0x00007fff516a9c90, input=0, output=0, how=2, last1=2) + 16272 at exec.c:3652
frame #138: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516a9fe0, pcode=24323, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #139: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516a9fe0, slcode=1610754, how=2, last1=0) + 1008 at exec.c:1567
frame #140: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516a9fe0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #141: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9324a2da70, dont_change_job=1, exiting=0, context="loadautofunc") + 284 at exec.c:1112
frame #142: 0x000000010e572794 zsh-5.2-dev-2`execautofn_basic(state=0x00007fff516aab00, do_exec=0) + 196 at exec.c:5104
frame #143: 0x000000010e576ea8 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516aab00, eparams=0x00007fff516aa7b0, input=0, output=0, how=18, last1=2) + 16216 at exec.c:3650
frame #144: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516aab00, pcode=3, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #145: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516aab00, slcode=3074, how=18, last1=0) + 1008 at exec.c:1567
frame #146: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516aab00, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #147: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f932498be40, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #148: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f932498be40, wrap=0x0000000000000000, name="uizcm") + 575 at exec.c:5567
frame #149: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d241e0, doshargs=0x000000010e9aa4c8, noreturnval=0) + 2049 at exec.c:5432
frame #150: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d241e0, args=0x000000010e9aa4c8) + 541 at exec.c:5058
frame #151: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516ab910, eparams=0x00007fff516ab5c0, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #152: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516ab910, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #153: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516ab910, slcode=4098, how=18, last1=0) + 1008 at exec.c:1567
frame #154: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516ab910, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #155: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x000000010e9aa468, dont_change_job=1, exiting=0, context="eval") + 284 at exec.c:1112
frame #156: 0x000000010e561fef zsh-5.2-dev-2`eval(argv=0x00007fff516aba30) + 495 at builtin.c:5568
frame #157: 0x000000010e5587f0 zsh-5.2-dev-2`bin_eval(nam="uizcm", argv=0x00007fff516aba30, ops=0x00007fff516abd28, func=0) + 32 at builtin.c:5754
frame #158: 0x000000010e558646 zsh-5.2-dev-2`eval_autoload(shf=0x00007f9321d241e0, name="uizcm", ops=0x00007fff516abd28, func=0) + 198 at builtin.c:2914
frame #159: 0x000000010e55617e zsh-5.2-dev-2`bin_functions(name="autoload", argv=0x000000010e9aa3a8, ops=0x00007fff516abd28, func=0) + 4494 at builtin.c:3194
frame #160: 0x000000010e54de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010e9aa320, assigns=0x0000000000000000, bn=0x000000010e618130) + 3238 at builtin.c:484
frame #161: 0x000000010e577841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516ac870, eparams=0x00007fff516ac520, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #162: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516ac870, pcode=195, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #163: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516ac870, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #164: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516ac870, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #165: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321d241a0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #166: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321d241a0, wrap=0x0000000000000000, name="uizcm") + 575 at exec.c:5567
frame #167: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d241e0, doshargs=0x0000000000000000, noreturnval=1) + 2049 at exec.c:5432
frame #168: 0x000000010e895091 zle.so`execzlefunc(func=0x00007f9321d60c90, args=0x000000010e9a6198, set_bindk=0) + 1601 at zle_main.c:1467
frame #169: 0x000000010e8aa436 zle.so`bin_zle_call(name="zle", args=0x000000010e9a6198, ops=0x00007fff516ace88, func='\0') + 1126 at zle_thingy.c:763
frame #170: 0x000000010e8a8c66 zle.so`bin_zle(name="zle", args=0x000000010e9a6188, ops=0x00007fff516ace88, func=0) + 438 at zle_thingy.c:388
frame #171: 0x000000010e54de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010e9a60c8, assigns=0x0000000000000000, bn=0x000000010e8ca980) + 3238 at builtin.c:484
frame #172: 0x000000010e577841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516ad9d0, eparams=0x00007fff516ad680, input=0, output=0, how=2, last1=2) + 18673 at exec.c:3826
frame #173: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516ad9d0, pcode=195, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #174: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516ad9d0, slcode=5154, how=2, last1=0) + 1008 at exec.c:1567
frame #175: 0x000000010e56ada1 zsh-5.2-dev-2`execlist(state=0x00007fff516ad9d0, dont_change_job=1, exiting=0) + 1729 at exec.c:1334
frame #176: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321f0bcc0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #177: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321f0bcc0, wrap=0x0000000000000000, name="_zsh_highlight_call_widget") + 575 at exec.c:5567
frame #178: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321f0bd80, doshargs=0x000000010e9a2100, noreturnval=0) + 2049 at exec.c:5432
frame #179: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321f0bd80, args=0x000000010e9a2100) + 541 at exec.c:5058
frame #180: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516ae7e0, eparams=0x00007fff516ae490, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #181: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516ae7e0, pcode=67, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #182: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516ae7e0, slcode=6146, how=18, last1=0) + 1008 at exec.c:1567
frame #183: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516ae7e0, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #184: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321d60cc0, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #185: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321d60cc0, wrap=0x0000000000000000, name="_zsh_highlight_widget_orig-s0.0000110000-r25146-uizcm") + 575 at exec.c:5567
frame #186: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d621d0, doshargs=0x0000000000000000, noreturnval=1) + 2049 at exec.c:5432
frame #187: 0x000000010e895091 zle.so`execzlefunc(func=0x00007f9321c57560, args=0x000000010e99e6b0, set_bindk=0) + 1601 at zle_main.c:1467
frame #188: 0x000000010e8aa436 zle.so`bin_zle_call(name="zle", args=0x000000010e99e6b0, ops=0x00007fff516aedf8, func='\0') + 1126 at zle_thingy.c:763
frame #189: 0x000000010e8a8c66 zle.so`bin_zle(name="zle", args=0x000000010e99e6a0, ops=0x00007fff516aedf8, func=0) + 438 at zle_thingy.c:388
frame #190: 0x000000010e54de06 zsh-5.2-dev-2`execbuiltin(args=0x000000010e99e5d8, assigns=0x0000000000000000, bn=0x000000010e8ca980) + 3238 at builtin.c:484
frame #191: 0x000000010e577841 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516b0420, eparams=0x00007fff516af5f0, input=0, output=0, how=18, last1=2) + 18673 at exec.c:3826
frame #192: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516b0420, pcode=643, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #193: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516b0420, slcode=6146, how=18, last1=0) + 1008 at exec.c:1567
frame #194: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516b0420, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #195: 0x000000010e5a9e49 zsh-5.2-dev-2`execif(state=0x00007fff516b0420, do_exec=0) + 521 at loop.c:569
frame #196: 0x000000010e576ee0 zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516b0420, eparams=0x00007fff516b00d0, input=0, output=0, how=18, last1=2) + 16272 at exec.c:3652
frame #197: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516b0420, pcode=579, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #198: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516b0420, slcode=18434, how=18, last1=0) + 1008 at exec.c:1567
frame #199: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516b0420, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #200: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321d5ab90, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #201: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321d5ab90, wrap=0x0000000000000000, name="_zsh_autosuggest_invoke_original_widget") + 575 at exec.c:5567
frame #202: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d5bd90, doshargs=0x000000010e9921b0, noreturnval=0) + 2049 at exec.c:5432
frame #203: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d5bd90, args=0x000000010e9921b0) + 541 at exec.c:5058
frame #204: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516b1230, eparams=0x00007fff516b0ee0, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #205: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516b1230, pcode=515, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #206: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516b1230, slcode=4098, how=2, last1=0) + 1008 at exec.c:1567
frame #207: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516b1230, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #208: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321d20a00, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #209: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321d20a00, wrap=0x0000000000000000, name="_zsh_autosuggest_modify") + 575 at exec.c:5567
frame #210: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321d20c60, doshargs=0x000000010e9621d0, noreturnval=0) + 2049 at exec.c:5432
frame #211: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321d20c60, args=0x000000010e9621d0) + 541 at exec.c:5058
frame #212: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516b2040, eparams=0x00007fff516b1cf0, input=0, output=0, how=2, last1=2) + 16906 at exec.c:3704
frame #213: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516b2040, pcode=387, how=2, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #214: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516b2040, slcode=4098, how=2, last1=0) + 1008 at exec.c:1567
frame #215: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516b2040, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #216: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9321e07530, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #217: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9321e07530, wrap=0x0000000000000000, name="_zsh_autosuggest_widget_modify") + 575 at exec.c:5567
frame #218: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9321e07680, doshargs=0x000000010e955088, noreturnval=0) + 2049 at exec.c:5432
frame #219: 0x000000010e5720fd zsh-5.2-dev-2`execshfunc(shf=0x00007f9321e07680, args=0x000000010e955088) + 541 at exec.c:5058
frame #220: 0x000000010e57715a zsh-5.2-dev-2`execcmd_exec(state=0x00007fff516b2e50, eparams=0x00007fff516b2b00, input=0, output=0, how=18, last1=2) + 16906 at exec.c:3704
frame #221: 0x000000010e572989 zsh-5.2-dev-2`execpline2(state=0x00007fff516b2e50, pcode=131, how=18, input=0, output=0, last1=0) + 441 at exec.c:1837
frame #222: 0x000000010e56bc90 zsh-5.2-dev-2`execpline(state=0x00007fff516b2e50, slcode=5122, how=18, last1=0) + 1008 at exec.c:1567
frame #223: 0x000000010e56ad4e zsh-5.2-dev-2`execlist(state=0x00007fff516b2e50, dont_change_job=1, exiting=0) + 1646 at exec.c:1325
frame #224: 0x000000010e56a6ac zsh-5.2-dev-2`execode(p=0x00007f9324b46c80, dont_change_job=1, exiting=0, context="shfunc") + 284 at exec.c:1112
frame #225: 0x000000010e5709af zsh-5.2-dev-2`runshfunc(prog=0x00007f9324b46c80, wrap=0x0000000000000000, name="_zsh_autosuggest_bound_uizcm") + 575 at exec.c:5567
frame #226: 0x000000010e5702b1 zsh-5.2-dev-2`doshfunc(shfunc=0x00007f9324b46d20, doshargs=0x0000000000000000, noreturnval=1) + 2049 at exec.c:5432
frame #227: 0x000000010e895091 zle.so`execzlefunc(func=0x00007f9321d22470, args=0x000000010e8caef0, set_bindk=0) + 1601 at zle_main.c:1467
frame #228: 0x000000010e895383 zle.so`zlecore + 451 at zle_main.c:1113
frame #229: 0x000000010e895d1b zle.so`zleread(lp=0x000000010e621c68, rp=0x000000010e621ca8, flags=3, context=0, init="zle-line-init", finish="zle-line-finish") + 1883 at zle_main.c:1319
frame #230: 0x000000010e896b43 zle.so`zle_main_entry(cmd=1, ap=0x00007fff516b3800) + 739 at zle_main.c:2030
frame #231: 0x000000010e598257 zsh-5.2-dev-2`zleentry(cmd=1) + 615 at init.c:1536
frame #232: 0x000000010e599a7d zsh-5.2-dev-2`inputline + 509 at input.c:293
frame #233: 0x000000010e599675 zsh-5.2-dev-2`ingetc + 325 at input.c:226
frame #234: 0x000000010e58b32d zsh-5.2-dev-2`ihgetc + 13 at hist.c:391
frame #235: 0x000000010e5a3206 zsh-5.2-dev-2`gettok + 38 at lex.c:611
frame #236: 0x000000010e5a2f79 zsh-5.2-dev-2`zshlex + 121 at lex.c:275
frame #237: 0x000000010e5c90c7 zsh-5.2-dev-2`parse_event(endtok=37) + 55 at parse.c:569
frame #238: 0x000000010e594294 zsh-5.2-dev-2`loop(toplevel=1, justonce=0) + 308 at init.c:146
frame #239: 0x000000010e59886f zsh-5.2-dev-2`zsh_main(argc=2, argv=0x00007fff516b3b78) + 847 at init.c:1692
frame #240: 0x000000010e54ce92 zsh-5.2-dev-2`main(argc=2, argv=0x00007fff516b3b78) + 34 at main.c:93
frame #241: 0x00007fff8ceb65ad libdyld.dylib`start + 1
frame #242: 0x00007fff8ceb65ad libdyld.dylib`start + 1
(lldb) p next
(Upat) $0 = 0x0000ff9324b59968
(lldb) p pscan
(Upat) $1 = 0x0000ff9324b59968
(lldb) p exp
(char *) $2 = 0x000000010e9e8ad8 "\xffffff88\xffffff84m\xffffff8a\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh \xffffffe2\xffffff80\xffffff83\xffffffb3 initial commit of skylite21 submission"\x19"
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Cores almost on demand in patcompile()
2016-10-09 9:00 Cores almost on demand in patcompile() Sebastian Gniazdowski
@ 2016-10-09 9:16 ` Sebastian Gniazdowski
2016-10-09 10:15 ` Sebastian Gniazdowski
0 siblings, 1 reply; 12+ messages in thread
From: Sebastian Gniazdowski @ 2016-10-09 9:16 UTC (permalink / raw)
To: Zsh hackers list; +Cc: Bart Schaefer, Peter Stephenson
[-- Attachment #1: Type: text/plain, Size: 560 bytes --]
PS. Last runshfunc() uses this file:
https://github.com/psprint/zcommodore/blob/master/__zcmdr-process-buffer
I've added debug marks to this file – attached is diff where I've
added them. The resulted debug-prints file contains also the text
processed, with the ^A, ^B, etc. – this is what patcompile() is feed
with. Mark 8 is the last one generated before core, and points to this
lines as the source of core-triggering patcompile():
# Remove the word
MATCH=""
buf="${buf#(#m)$word}"
Best regards,
Sebastian Gniazdowski
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: final_marks.txt --]
[-- Type: text/plain; charset=US-ASCII; name="final_marks.txt", Size: 7654 bytes --]
Mark 1
Mark 2
Mark 3
Mark 5
Mark 6
Mark 7 [\x01zcmdr_checkbox_1\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x01/Mark\ for\ feature/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x014\x02[_]]
Mark 8 [\x01zcmdr_checkbox_1\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x01/Mark\ for\ feature/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x014\x02[_] \x01glogA\x010\x01/Open\ commit/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x038fda582\x19 \x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x06"Updated README.md"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x05((3 days ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 9 [ \x01glogA\x010\x01/Open\ commit/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x038fda582\x19 \x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x06"Updated README.md"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x05((3 days ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 10
Mark 11
Mark 7 [\x01glogA\x010\x01/Open\ commit/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x038fda582\x19]
Mark 8 [\x01glogA\x010\x01/Open\ commit/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x038fda582\x19 \x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x06"Updated README.md"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x05((3 days ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 9 [ \x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x06"Updated README.md"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x05((3 days ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 10
Mark 11
Mark 7 [\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x06"Updated README.md"\x19]
Mark 8 [\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x06"Updated README.md"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x05((3 days ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 9 [ \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x05((3 days ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 10
Mark 11
Mark 7 [\x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x05((3 days ago))\x19]
Mark 8 [\x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x018fda582ec5fd98c00e8178613810dc239ba6cb7f\x02\x05((3 days ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 9 [ \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 10
Mark 11
Mark 7 [\x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 8 [\x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 9 []
Mark 10
Mark 11
Mark 12
Mark 13
Mark 14
Mark 15
Mark 1
Mark 2
Mark 3
Mark 5
Mark 6
Mark 7 [\x01zcmdr_checkbox_1\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x01/Mark\ for\ feature/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x013\x02[_]]
Mark 8 [\x01zcmdr_checkbox_1\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x01/Mark\ for\ feature/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x013\x02[_] \x01glogA\x010\x01/Open\ commit/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x030a87c80\x19 \x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh – initial commit of skylite21 submission"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x05((70 minutes ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 9 [ \x01glogA\x010\x01/Open\ commit/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x030a87c80\x19 \x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh – initial commit of skylite21 submission"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x05((70 minutes ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 10
Mark 11
Mark 7 [\x01glogA\x010\x01/Open\ commit/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x030a87c80\x19]
Mark 8 [\x01glogA\x010\x01/Open\ commit/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x030a87c80\x19 \x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh – initial commit of skylite21 submission"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x05((70 minutes ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 9 [ \x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh – initial commit of skylite21 submission"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x05((70 minutes ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
Mark 10
Mark 11
Mark 7 [\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh – initial commit of skylite21 submission"\x19]
Mark 8 [\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh – initial commit of skylite21 submission"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x05((70 minutes ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`]
HERE CORE DUMP STARTED TO BE GENERATED
[-- Attachment #3: process-buffer.diff.txt --]
[-- Type: text/plain, Size: 3158 bytes --]
diff --git a/__zcmdr-process-buffer b/__zcmdr-process-buffer
index 61592b3..3107e8b 100644
--- a/__zcmdr-process-buffer
+++ b/__zcmdr-process-buffer
@@ -14,24 +14,30 @@
emulate -LR zsh
setopt typesetsilent extendedglob noshortloops
+echo "Mark 1" >> /tmp/reply
local MBEGIN MEND MATCH mbegin mend match
local buf="${1:-$BUFFER}"
local cursor="${2:-$CURSOR}"
+echo "Mark 2" >> /tmp/reply
ZCMDR_PB_WORDS=( "${(Z+n+)buf}" )
ZCMDR_PB_SPACES=( )
ZCMDR_PB_WORDS_BEGINNINGS=( )
ZCMDR_PB_SELECTED_WORD="-1"
+echo "Mark 3" >> /tmp/reply
# (Z+n+) will return 1 element for buf that is empty or only whitespace
if [[ "$buf" = ( |$'\t')# ]]; then
ZCMDR_PB_WORDS=( )
integer nwords=0
+ echo "Mark 4" >> /tmp/reply
else
integer nwords="${#ZCMDR_PB_WORDS}"
+ echo "Mark 5" >> /tmp/reply
fi
+echo "Mark 6" >> /tmp/reply
# Remove ZCMDR_PB_WORDS one by one, counting characters,
# computing beginning of each word, to find
# place to break the word into 2 halves (for
@@ -50,6 +56,7 @@ for (( i=1; i<=nwords; i++ )); do
ZCMDR_PB_WORDS[i]="${ZCMDR_PB_WORDS[i]%% ##}"
word="${ZCMDR_PB_WORDS[i]}"
+ echo "Mark 7 [${ZCMDR_PB_WORDS[i]}]" >> /tmp/reply
# In general, $buf can start with white spaces
# We will not search for them, but instead for
# leading character of current shell word,
@@ -58,6 +65,7 @@ for (( i=1; i<=nwords; i++ )); do
# Remove white spaces
buf="${buf##(#m)[^$word[1]]#}"
+ echo "Mark 8 [$buf]" >> /tmp/reply
# Count them
char_count=char_count+"$#MATCH"
# This is the beginning of current word
@@ -69,6 +77,7 @@ for (( i=1; i<=nwords; i++ )); do
MATCH=""
buf="${buf#(#m)$word}"
+ echo "Mark 9 [$buf]" >> /tmp/reply
# If shell word not found, return. This shoudln't happen
[ -z "$MATCH" ] && return 1
@@ -76,25 +85,31 @@ for (( i=1; i<=nwords; i++ )); do
# Visual cursor right after spaces (-ge) -> not enough to select previous word (-gt required)
[[ "$ZCMDR_PB_SELECTED_WORD" -eq "-1" && "$char_count" -gt "$cursor" ]] && ZCMDR_PB_SELECTED_WORD=$(( i-1 ))
+ echo "Mark 10" >> /tmp/reply
# Actual characters point to current shell word
# Visual cursor right after letters (-ge) -> enough to select current word
char_count=char_count+"$#word"
[[ "$ZCMDR_PB_SELECTED_WORD" -eq "-1" && "$char_count" -ge "$cursor" ]] && ZCMDR_PB_SELECTED_WORD="$i"
+ echo "Mark 11" >> /tmp/reply
done
+echo "Mark 12" >> /tmp/reply
# What's left in $buf can be only white spaces
char_count=char_count+"$#buf"
ZCMDR_PB_SPACES[i]="$buf"
+echo "Mark 13" >> /tmp/reply
# Visual cursor right after spaces (-ge) -> enough to select last word
[[ "$ZCMDR_PB_SELECTED_WORD" -eq "-1" && "$char_count" -ge "$cursor" ]] && ZCMDR_PB_SELECTED_WORD=$(( i-1 ))
+echo "Mark 14" >> /tmp/reply
# Divide active word into two halves
integer diff=$(( cursor - ZCMDR_PB_WORDS_BEGINNINGS[ZCMDR_PB_SELECTED_WORD] + 1 ))
word="${ZCMDR_PB_WORDS[ZCMDR_PB_SELECTED_WORD]}"
ZCMDR_PB_LEFT="${word[1,diff]}"
ZCMDR_PB_RIGHT="${word[diff+1,-1]}"
+echo "Mark 15" >> /tmp/reply
# This function should be tested
return 0
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Cores almost on demand in patcompile()
2016-10-09 9:16 ` Sebastian Gniazdowski
@ 2016-10-09 10:15 ` Sebastian Gniazdowski
2016-10-09 16:09 ` Sebastian Gniazdowski
0 siblings, 1 reply; 12+ messages in thread
From: Sebastian Gniazdowski @ 2016-10-09 10:15 UTC (permalink / raw)
To: Zsh hackers list; +Cc: Bart Schaefer, Peter Stephenson
[-- Attachment #1: Type: text/plain, Size: 311 bytes --]
OK – here's minimal test case. It contains error in first filename,
but the core was triggered anyway, in each run of two that I've done.
Two files, input1.txt, input2.txt, with the problematic strings, then:
MATCH=""
buf="${buf#(#m)$word}"
in test.zsh
Best regards,
Sebastian Gniazdowski
[-- Attachment #2: input1.txt --]
[-- Type: text/plain, Size: 442 bytes --]
\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh ā€“ initial commit of skylite21 submission"\x19 \x01glogC\x010\x01/Same-files\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x05((2 hours ago))\x19 \x01glogD\x010\x01/Same-author\ commits/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x01Sebastian\ Gniazdowski\x02`Sebastian Gniazdowski`
[-- Attachment #3: input2.txt --]
[-- Type: text/plain, Size: 169 bytes --]
\x01glogB\x010\x01/Diff/\x01/Users/sgniazdowski/github/zsh-navigation-tools.git\x010a87c8044c1c6677a38ccdabd36334cc2aaab496\x02\x06"znt-tmux.zsh ā€“ initial commit of skylite21 submission"\x19
[-- Attachment #4: test.zsh --]
[-- Type: application/octet-stream, Size: 133 bytes --]
#!/usr/local/bin/zsh-5.2-dev-2
buf="$(<input1.txt0)"
word="$(<input2.txt)"
MATCH=""
buf="${buf#(#m)$word}"
echo "Processed: $buf"
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Cores almost on demand in patcompile()
2016-10-09 10:15 ` Sebastian Gniazdowski
@ 2016-10-09 16:09 ` Sebastian Gniazdowski
2016-10-10 15:31 ` Sebastian Gniazdowski
0 siblings, 1 reply; 12+ messages in thread
From: Sebastian Gniazdowski @ 2016-10-09 16:09 UTC (permalink / raw)
To: Zsh hackers list; +Cc: Bart Schaefer, Peter Stephenson
[-- Attachment #1: Type: text/plain, Size: 391 bytes --]
I have extended_glob set in zshenv. It is needed. However it seems
that the additional ABSD setting (huh I did fork in .zshenv, turns
out) helps to make the core more often. With only extended_glob ~15
runs are needed. I attach complete test.zsh.
ABSD=0
[[ `uname` = "Darwin" ]] && ABSD=1
[[ `uname` = "SunOS" ]] && ABSD=1
setopt extended_glob
...
...
Best regards,
Sebastian Gniazdowski
[-- Attachment #2: test.zsh --]
[-- Type: application/octet-stream, Size: 257 bytes --]
#!/usr/local/bin/zsh-5.2-dev-2 -f
# Check for bsd system
ABSD=0
[[ `uname` = "Darwin" ]] && ABSD=1
[[ `uname` = "SunOS" ]] && ABSD=1
setopt extended_glob
buf="$(<input1.txt0)"
word="$(<input2.txt)"
MATCH=""
buf="${buf#(#m)$word}"
echo "Processed: $buf"
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Cores almost on demand in patcompile()
2016-10-09 16:09 ` Sebastian Gniazdowski
@ 2016-10-10 15:31 ` Sebastian Gniazdowski
2016-10-11 2:46 ` Bart Schaefer
0 siblings, 1 reply; 12+ messages in thread
From: Sebastian Gniazdowski @ 2016-10-10 15:31 UTC (permalink / raw)
To: Zsh hackers list
[-- Attachment #1: Type: text/plain, Size: 482 bytes --]
My new observations:
– ^A, ^B, ^F, ^Y don't have meaning: replacing them with A, B, F, Y
doesn't stop core dump
– the "ndash", .i.e. this char: >>> – <<<, has a role, because
replacing it with other char, also one like §, stops core dump
– length of the string has a role, tired shortening the string on the
left and no core dump then
I attach input2b.txt with no control chars and test2.zsh (zsh -f) that
opens that file
Best regards,
Sebastian Gniazdowski
[-- Attachment #2: input2b.txt --]
[-- Type: text/plain, Size: 169 bytes --]
AglogBA0A/Diff/A/Users/sgniazdowski/github/zsh-navigation-tools.gitA0a87c8044c1c6677a38ccdabd36334cc2aaab496BF"znt-tmux.zsh – initial commit of skylite21 submission"Y
[-- Attachment #3: test2.zsh --]
[-- Type: application/octet-stream, Size: 258 bytes --]
#!/usr/local/bin/zsh-5.2-dev-2 -f
# Check for bsd system
ABSD=0
[[ `uname` = "Darwin" ]] && ABSD=1
[[ `uname` = "SunOS" ]] && ABSD=1
setopt extended_glob
buf="$(<input1.txt0)"
word="$(<input2b.txt)"
MATCH=""
buf="${buf#(#m)$word}"
echo "Processed: $buf"
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Cores almost on demand in patcompile()
2016-10-10 15:31 ` Sebastian Gniazdowski
@ 2016-10-11 2:46 ` Bart Schaefer
2016-10-11 6:51 ` type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile()) Daniel Shahaf
0 siblings, 1 reply; 12+ messages in thread
From: Bart Schaefer @ 2016-10-11 2:46 UTC (permalink / raw)
To: Sebastian Gniazdowski; +Cc: Zsh hackers list
[-- Attachment #1: Type: text/plain, Size: 672 bytes --]
On Mon, Oct 10, 2016 at 8:31 AM, Sebastian Gniazdowski <
sgniazdowski@gmail.com> wrote:
> My new observations:
> – the "ndash", .i.e. this char: >>> – <<<, has a role, because
> replacing it with other char, also one like §, stops core dump
>
Your stack trace in the first message on this thread has a string as the
"exp" argument of patcompile() that makes me suspicious. The comments say
that this argument is expected to be metafied (pattern.c 522), but as best
I can tell it's passed down from paramsubst() tokenized but not metafied.
(I don't have access to my usual debugging platform this week.) One of the
multibyte characters in the string
^ permalink raw reply [flat|nested] 12+ messages in thread
* type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-11 2:46 ` Bart Schaefer
@ 2016-10-11 6:51 ` Daniel Shahaf
2016-10-13 10:22 ` Peter Stephenson
0 siblings, 1 reply; 12+ messages in thread
From: Daniel Shahaf @ 2016-10-11 6:51 UTC (permalink / raw)
To: Zsh hackers list; +Cc: Sebastian Gniazdowski
Bart Schaefer wrote on Mon, Oct 10, 2016 at 19:46:18 -0700:
> The comments say that this argument is expected to be metafied
> (pattern.c 522), but as best I can tell it's passed down from
> paramsubst() tokenized but not metafied.
Pardon me if this has been discussed before, but why don't we introduce
the type definitions
.
struct metafied_t { char *v; };
struct unmetafied_t { char *v; };
.
and start incrementally replacing uses of "char *" with uses of these
types? This will gain type checking for metafied v. unmetafied strings,
as these two types do not implicitly convert into each other (attempts
to do so generate a compiler warning).
Cheers,
Daniel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-11 6:51 ` type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile()) Daniel Shahaf
@ 2016-10-13 10:22 ` Peter Stephenson
2016-10-13 13:46 ` Bart Schaefer
0 siblings, 1 reply; 12+ messages in thread
From: Peter Stephenson @ 2016-10-13 10:22 UTC (permalink / raw)
To: Zsh hackers list
On Tue, 11 Oct 2016 06:51:05 +0000
Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
> Pardon me if this has been discussed before, but why don't we introduce
> the type definitions
> .
> struct metafied_t { char *v; };
> struct unmetafied_t { char *v; };
> .
> and start incrementally replacing uses of "char *" with uses of these
> types? This will gain type checking for metafied v. unmetafied strings,
> as these two types do not implicitly convert into each other (attempts
> to do so generate a compiler warning).
This probably is a good idea, although the intermediate state where this
has been only partly done is likely to be a bit of a mess. Modern
compilers should be able to keep this working efficiently.
Some thought could be given as to whether the unmetafied structure should
contain the length, too. The only uses of unmetafied strings I can
think of that wouldn't need it are at the library / system interface,
which requires unmetafied null-terminated strings.
pws
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-13 10:22 ` Peter Stephenson
@ 2016-10-13 13:46 ` Bart Schaefer
2016-10-14 6:36 ` Daniel Shahaf
0 siblings, 1 reply; 12+ messages in thread
From: Bart Schaefer @ 2016-10-13 13:46 UTC (permalink / raw)
To: Zsh hackers list
On Thu, Oct 13, 2016 at 3:22 AM, Peter Stephenson
<p.stephenson@samsung.com> wrote:
> On Tue, 11 Oct 2016 06:51:05 +0000
> Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
>> Pardon me if this has been discussed before, but why don't we introduce
>> the type definitions
>> and start incrementally replacing uses of "char *" with uses of these
>> types?
>
> This probably is a good idea, although the intermediate state where this
> has been only partly done is likely to be a bit of a mess.
I'd expect to encounter a lot of problems with (char **) arrays where
every element of the array is (or not) metafied. (Hopefully there
aren't any that are mixed). As was noted in the discussion of passing
around lengths of arrays when manipulating array parameters, the older
code makes a lot of assumptions about pointer arithmetic and s[1][1]
subscripting and so on.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-13 13:46 ` Bart Schaefer
@ 2016-10-14 6:36 ` Daniel Shahaf
2016-10-14 16:53 ` Peter Stephenson
2016-10-14 23:04 ` Oliver Kiddle
0 siblings, 2 replies; 12+ messages in thread
From: Daniel Shahaf @ 2016-10-14 6:36 UTC (permalink / raw)
To: Zsh hackers list
Bart Schaefer wrote on Thu, Oct 13, 2016 at 06:46:38 -0700:
> On Thu, Oct 13, 2016 at 3:22 AM, Peter Stephenson
> <p.stephenson@samsung.com> wrote:
> > On Tue, 11 Oct 2016 06:51:05 +0000
> > Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
> >> Pardon me if this has been discussed before, but why don't we introduce
> >> the type definitions
> >> and start incrementally replacing uses of "char *" with uses of these
> >> types?
> >
> > This probably is a good idea, although the intermediate state where this
> > has been only partly done is likely to be a bit of a mess.
>
> I'd expect to encounter a lot of problems with (char **) arrays where
> every element of the array is (or not) metafied. (Hopefully there
> aren't any that are mixed). As was noted in the discussion of passing
> around lengths of arrays when manipulating array parameters, the older
> code makes a lot of assumptions about pointer arithmetic and s[1][1]
> subscripting and so on.
A 'char **' would become a 'struct metafied_t *', i.e., an array of
structs. This is not equivalent: the array stride of the latter may be
larger than the array stride of the former.¹ However, this would only
be a problem if the code makes assumptions about where elements are
allocated relative to each other, e.g., if the code assumes that
«ary[1] - ary[0] == 1+strlen(ary[0])» or otherwise uses the values of
ary[N] and ary[M] in a single expression.
Does the code make such assumptions?
Cheers,
Daniel
¹ The array stride is sizeof() of the array element's type. The
sizeof() of the struct type may be larger than sizeof() of its member
because structs are allowed to contain padding after the last element.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-14 6:36 ` Daniel Shahaf
@ 2016-10-14 16:53 ` Peter Stephenson
2016-10-14 17:28 ` Bart Schaefer
2016-10-14 20:08 ` Daniel Shahaf
2016-10-14 23:04 ` Oliver Kiddle
1 sibling, 2 replies; 12+ messages in thread
From: Peter Stephenson @ 2016-10-14 16:53 UTC (permalink / raw)
To: Zsh hackers list
On Fri, 14 Oct 2016 06:36:25 +0000
Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
> A 'char **' would become a 'struct metafied_t *', i.e., an array of
> structs. This is not equivalent: the array stride of the latter may be
> larger than the array stride of the former.¹ However, this would only
> be a problem if the code makes assumptions about where elements are
> allocated relative to each other, e.g., if the code assumes that
> «ary[1] - ary[0] == 1+strlen(ary[0])» or otherwise uses the values of
> ary[N] and ary[M] in a single expression.
>
> Does the code make such assumptions?
No, char ** is used fairly generically.
I don't think arrays of unmetafied strings are that common, and in at
least one case (the print builtin) having the length as part of the
unmetafied_t structure, avoiding a parallel length structure, is
beneficial.
pws
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-14 16:53 ` Peter Stephenson
@ 2016-10-14 17:28 ` Bart Schaefer
2016-10-14 20:08 ` Daniel Shahaf
1 sibling, 0 replies; 12+ messages in thread
From: Bart Schaefer @ 2016-10-14 17:28 UTC (permalink / raw)
To: Peter Stephenson; +Cc: Zsh hackers list
On Fri, Oct 14, 2016 at 9:53 AM, Peter Stephenson
<p.stephenson@samsung.com> wrote:
> On Fri, 14 Oct 2016 06:36:25 +0000
> Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
>> A 'char **' would become a 'struct metafied_t *', i.e., an array of
>> structs.
>
> I don't think arrays of unmetafied strings are that common, and in at
> least one case (the print builtin) having the length as part of the
> unmetafied_t structure, avoiding a parallel length structure, is
> beneficial.
I am more concerned about the large number of places where s[0][1]
would have to become s[0].v[1] than about whether the strings are
metafied or not. Similarly *s++ and so on.
Including the even larger number of places where we'd have to convert
e.g. "if (!s)" to "if (!s.v)" because it's not possible to pass a
null struct by value.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-14 16:53 ` Peter Stephenson
2016-10-14 17:28 ` Bart Schaefer
@ 2016-10-14 20:08 ` Daniel Shahaf
1 sibling, 0 replies; 12+ messages in thread
From: Daniel Shahaf @ 2016-10-14 20:08 UTC (permalink / raw)
To: Peter Stephenson; +Cc: Zsh hackers list
Peter Stephenson wrote on Fri, Oct 14, 2016 at 17:53:17 +0100:
> I don't think arrays of unmetafied strings are that common, and in at
> least one case (the print builtin) having the length as part of the
> unmetafied_t structure, avoiding a parallel length structure, is
> beneficial.
Ack. I saw you say this in your previous mail; I didn't respond since
I don't have an opinion one way or the other as to how often the length
would be needed.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-14 6:36 ` Daniel Shahaf
2016-10-14 16:53 ` Peter Stephenson
@ 2016-10-14 23:04 ` Oliver Kiddle
2016-10-15 8:30 ` Daniel Shahaf
1 sibling, 1 reply; 12+ messages in thread
From: Oliver Kiddle @ 2016-10-14 23:04 UTC (permalink / raw)
To: Zsh hackers list
Daniel Shahaf wrote:
> > > This probably is a good idea, although the intermediate state where this
> > > has been only partly done is likely to be a bit of a mess.
Starting out with a simple typedef would at least add documentation and
allow an incremental approach. Would still need to add .v everywhere en
masse when going to a struct, though.
I did some work on a code base that had a convention of uint8_t*
for UTF-8. Seemed to work well as far as I could tell.
For the history file we should perhaps consider not using locale
dependent metafied strings. UTF-8 with an overlong encoding for a null
perhaps? grep etc might still not like the overlong null but they should
be rarer.
> allocated relative to each other, e.g., if the code assumes that
> «ary[1] - ary[0] == 1+strlen(ary[0])» or otherwise uses the values of
Even with char**, that condition is only likely if the array was
created with a literal assignment. And it is easy to test for
problems by forcing the size of the struct and running the test
cases.
Oliver
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile())
2016-10-14 23:04 ` Oliver Kiddle
@ 2016-10-15 8:30 ` Daniel Shahaf
0 siblings, 0 replies; 12+ messages in thread
From: Daniel Shahaf @ 2016-10-15 8:30 UTC (permalink / raw)
To: zsh-workers
Oliver Kiddle wrote on Sat, Oct 15, 2016 at 01:04:58 +0200:
> Daniel Shahaf wrote:
> > > > This probably is a good idea, although the intermediate state where this
> > > > has been only partly done is likely to be a bit of a mess.
>
> Starting out with a simple typedef would at least add documentation and
> allow an incremental approach. Would still need to add .v everywhere en
> masse when going to a struct, though.
Does anyone have a way to get type checking that doesn't involve
adding .v everywhere? The solution doesn't _have_ to be portable; we
can use compiler-specific magic of gcc or clang, for example, so long as
some developers use that compiler routinely.
If we do the typedefs first, then adding .v later should be easy with
something like coccinelle's patching tool. (It allows doing
search/replace in terms of the C syntax tree.)
> I did some work on a code base that had a convention of uint8_t*
> for UTF-8. Seemed to work well as far as I could tell.
>
What's the advantage over chars or unsigned chars?
> For the history file we should perhaps consider not using locale
> dependent metafied strings. UTF-8 with an overlong encoding for a null
> perhaps? grep etc might still not like the overlong null but they should
> be rarer.
+1 to making the history file locale-agnostic.
> > allocated relative to each other, e.g., if the code assumes that
> > «ary[1] - ary[0] == 1+strlen(ary[0])» or otherwise uses the values of
>
> Even with char**, that condition is only likely if the array was
> created with a literal assignment. And it is easy to test for
> problems by forcing the size of the struct and running the test
> cases.
I was thinking of code that allocates multiple elements in a single
malloc() chunk:
char **array, *storage;
for (i = 0; i < LENGTH_OF_LIST; i++)
sum_of_lengths += strlen(list[i]) + 1;
storage = malloc(sum_of_lengths);
for (i = 0; i < LENGTH_OF_LIST; i++) {
array[i] = strcpy(storage, list[i]);
storage += strlen(array[i]) + 1;
}
> Oliver
>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-10-18 11:47 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20161016014741eucas1p189be6c2fa19aaf9d31733cae5f716178@eucas1p1.samsung.com>
2016-10-16 1:14 ` type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile()) Bart Schaefer
2016-10-16 17:03 ` Daniel Shahaf
2016-10-18 11:36 ` Peter Stephenson
2016-10-09 9:00 Cores almost on demand in patcompile() Sebastian Gniazdowski
2016-10-09 9:16 ` Sebastian Gniazdowski
2016-10-09 10:15 ` Sebastian Gniazdowski
2016-10-09 16:09 ` Sebastian Gniazdowski
2016-10-10 15:31 ` Sebastian Gniazdowski
2016-10-11 2:46 ` Bart Schaefer
2016-10-11 6:51 ` type-checking for metafiedness? (was: Re: Cores almost on demand in patcompile()) Daniel Shahaf
2016-10-13 10:22 ` Peter Stephenson
2016-10-13 13:46 ` Bart Schaefer
2016-10-14 6:36 ` Daniel Shahaf
2016-10-14 16:53 ` Peter Stephenson
2016-10-14 17:28 ` Bart Schaefer
2016-10-14 20:08 ` Daniel Shahaf
2016-10-14 23:04 ` Oliver Kiddle
2016-10-15 8:30 ` Daniel Shahaf
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).