Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: mikachu/badarrays (Re: Valgrind testing, ideas)

On Wed, May 31, 2017 at 7:47 AM, Bart Schaefer
<schaefer@xxxxxxxxxxxxxxxx> wrote:
> On May 29,  3:21pm, Mikael Magnusson wrote:
> }
> } Well, it never worked in the first place, that's why i put "bad" in
> } the name. It's basically just a documentation of the places I found
> } that would need to be updated to use a cached length value, but since
> } it doesn't work I guess I didn't find all of them, or I misunderstood
> } some parts of the code that I changed...
> It also appears we've run out of bits for PM_CACHELEN and PM_CHECKEN,
> the 19 and 20 bit positions are are now occupied by PM_DONTIMPORT_SUID
> and PM_SINGLE, though I suppose PM_KSHSTORED and PM_ZSHSTORED could do
> double duty as they won't apply to arrays and functions at once.
> With respect to "it doesn't work" -- in commits f4ab07b4 and b7c2ddf6
> you say you're adding typeset -C and typeset -c to control PM_CACHELEN
> and PM_CHECKLEN but looking at the diffs you only added the argument
> parsing; I can't find anywhere that PM_CACHELEN or PM_CHECKLEN are ever
> assigned to the parameter flags?
> I believe I've now merged params.c ... I tried forcing both of the new
> flags on for non-special PM_ARRAY params in createparam(), and all tests
> seem to pass except those involving the $match array, which implies one
> of us did something wrong in setarrvalue() for post_assignment_length.
> I think.

The existing code probably does something fun like assigning these
flags based on the order of flags in the TYPESET_OPTSTR define. If you
don't use typeset -c/-C for anything, then none of the new code should
be activated and it is indeed expected that things would work.

Mikael Magnusson

Messages sorted by: Reverse Date, Date, Thread, Author