zsh-users
 help / color / mirror / code / Atom feed
From: "Lawrence Velázquez" <larryv@zsh.org>
To: "Ray Andrews" <rayandrews@eastlink.ca>
Cc: zsh-users@zsh.org
Subject: Re: uninvited members of associative array
Date: Thu, 15 Dec 2022 22:21:56 -0500	[thread overview]
Message-ID: <46161d8a-c177-4134-836e-592e5c048887@app.fastmail.com> (raw)
In-Reply-To: <ef79416b-19cd-c530-019c-37908525df23@eastlink.ca>

On Thu, Dec 15, 2022, at 9:56 PM, Ray Andrews wrote:
> On 2022-12-15 18:09, Dominik Vogt wrote:
>> Probability of 95% or more that the array gets modified after the
>> initialisation by some stray code.  Put prints all over the place
>> to find the place where the array gets modified.
>
> Nope, I showed the output directly after the init.  If something goes 
> wrong, it goes wrong during the init itself.

Or before.


> Lawrence:
>
>> It makes no sense to question the code before verifying that your
> data isn't garbage.
>
> All the named keywords have exactly correct data, there's nothing not 
> to like as far as that.  Dunno, it wouldn't be the first time that 
> there was some silly issue in the printout, no real problem at all, so 
> my first question assumed nothing.

Wrong.  It assumed that "main" contained the expected data and
nothing extra.  I've already asked you to use "typeset -p" to verify
its actual contents, but you still haven't.


> I think I'm on the scent, the array is global.  If I zero it before all 
> the assignments (they're just numbers, no need to show the full 
> genealogy of them), then the interlopers disappear.

If you're implementing this in one of your sourced scripts, then
you should clear "main" anyway, or you risk reusing a preexisting
array.


> So now the 
> question is where the bogus elements come from.  They aren't actually 
> assigned anywhere, that's for sure.

I don't trust your judgment on this.


> Variable crosstalk?  How does an 
> associative array get corrupted?  Let me root around a bit ...
> hey ... you don't suppose a zcurses crash might do it?

It's far more likely that you've been using a preexisting array or
are inadvertently assigning to "main" from a function or your
dotfiles or another location you haven't considered than that you've
encountered a bug in zsh or zcurses.


-- 
vq


  reply	other threads:[~2022-12-16  3:24 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-15 23:48 Ray Andrews
2022-12-16  0:05 ` Lawrence Velázquez
2022-12-16  0:48   ` Ray Andrews
2022-12-16  1:29     ` Lawrence Velázquez
2022-12-16  2:09     ` Dominik Vogt
2022-12-16  2:56       ` Ray Andrews
2022-12-16  3:21         ` Lawrence Velázquez [this message]
2022-12-16  4:16           ` Ray Andrews
2022-12-16 10:05             ` Dominik Vogt
2022-12-16 14:13               ` Ray Andrews
2022-12-16 15:19                 ` Dominik Vogt
2022-12-16 19:14                   ` Ray Andrews
2022-12-16 16:30                 ` Daniel Shahaf
2022-12-16 18:21                   ` Ray Andrews
2022-12-16 19:04                     ` Dominik Vogt
2022-12-16 20:10                       ` Ray Andrews
2022-12-16 21:15                         ` Dominik Vogt
2022-12-16 21:33                           ` Bart Schaefer
2022-12-16 21:59                             ` Dominik Vogt
2022-12-16 22:15                               ` Bart Schaefer
2022-12-16 23:33                                 ` Ray Andrews
2022-12-17 12:47                                   ` Pier Paolo Grassi
2022-12-17 17:32                                     ` Ray Andrews
2022-12-17 18:10                                 ` Ray Andrews
2022-12-17 18:19                                   ` Roman Perepelitsa
2022-12-17 20:31                                     ` Ray Andrews
2022-12-17 20:49                                       ` Bart Schaefer
2022-12-17 21:07                                       ` Lawrence Velázquez
2022-12-17 21:52                                         ` Ray Andrews
2022-12-17 22:10                                           ` Bart Schaefer
2022-12-17 23:41                                             ` Daniel Shahaf
2022-12-18  0:15                                             ` Ray Andrews
2022-12-18  0:25                                               ` Daniel Shahaf
2022-12-18  2:13                                                 ` Ray Andrews
2022-12-18 20:12                                                   ` Daniel Shahaf
2022-12-18 20:26                                                     ` Bart Schaefer
2022-12-18 20:41                                                       ` Ray Andrews
2022-12-18  3:44                                               ` Lawrence Velázquez
2022-12-17 23:25                                         ` Daniel Shahaf
2022-12-16 21:33                           ` Ray Andrews
2022-12-16 20:25                       ` Daniel Shahaf
2022-12-16 21:43                         ` Dominik Vogt
2022-12-16  3:20 ` Bart Schaefer
2022-12-16  4:15   ` Ray Andrews
2022-12-16  8:12 ` Roman Perepelitsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46161d8a-c177-4134-836e-592e5c048887@app.fastmail.com \
    --to=larryv@zsh.org \
    --cc=rayandrews@eastlink.ca \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).