• Robert Goldman's avatar
    fix #51; add comments to `ensure-package` · caf89a8a
    Robert Goldman authored
    Prior to this commit, we were trying to be far too smart when updating
    a package's package-local-nicknames: we'd only call
    `remove-package-local-nickname` on the set difference of the old
    nicknames and the new nicknames; that is, we would not remove and then
    reinstall a package-local-nickname which was already present and we
    wanted to keep. The bug which caused #51 was that the set-difference
    considered only the nickname, not the package to which it
    referred. But rather than worrying about accurately computing the
    minimal set of nicknames to remove, this commit just has
    `ensure-package` remove all package-local-nicknames, then reinstall
    the ones it wants. This may be either a performance improvement or
    regression depending on whether computing set differences is more or
    less expensive than manipulating package data structures, but my
    suspicion is that no one cares either way.
    
    Also, during the course of my debugging, I [Phoebe Goldman] added a few line-comments
    to the definition of `ensure-package` so that I could tell what
    various parts of its body were doing. I'd rather not write those
    comments again, so I'm including them in this commit.
    
    Tests incorporated and changelog updated.
    caf89a8a
test-package-local-nicknames.script 6.17 KB