Opened 7 years ago

Last modified 4 weeks ago

#423 assigned defect

chicken-uninstall -s leaves unicode-char-sets in lib/chicken/5

Reported by: alanpost Owned by: ashinn
Priority: minor Milestone:
Component: extensions Version: 4.6.x
Keywords: Cc: ashinn
Estimated difficulty:

Description

After uninstalling utf8 with the command:

chicken-uninstall -s utf8

The following files remain in lib/chicken/5:

unicode-char-sets.import.so
unicode-char-sets.setup-info
unicode-char-sets.so

I would expect these files to be removed when the utf8 egg is removed.

I've seen this behavior on OpenBSD 4.8 and Debian 5.0.6.

I'm running chicken revision ce65dcc50b02d740a2a74ad1c5915acffff97170 from the experimental branch.

Change History (5)

comment:1 Changed 7 years ago by felix

  • Cc ashinn added

The utf8 egg installs several "subextension" (I just made this up): most of them begin with the string "utf8", so chicken-uninstall will match all extensions that contain the string "utf8" and remove them. One subextension unfortunately does not have the "utf8" string in its name, so it is not matched.

I would recommend to rename this file in the utf8 egg (say utf8-unicode-char-sets).

comment:2 Changed 7 years ago by felix

  • Owner set to ashinn
  • Status changed from new to assigned

Reassigned to alex, I really think this file should be renamed.

comment:3 Changed 7 years ago by ashinn

The unicode-char-sets module is so named because it doesn't
have anything to do with utf8 - it could theoretically be
used with an egg that provided utf16 or euc-jp or whatever
encoding for Chicken. In that respect it should probably
be provided as a separate egg (which utf8 would depend on).

More generally, though, we should have a policy for subextensions.
Just using substring match seems like a bad idea. I think
either the "parent" extension should track its subextensions,
or once installed they should only be removable separately.

comment:4 Changed 7 years ago by felix

  • Milestone 4.7.0 deleted

comment:5 Changed 4 weeks ago by sjamaan

This strange pattern-matching behaviour has been fixed in CHICKEN 5, I think. So if you don't want to change this in the egg, can you check that this works as intended there, and close the ticket?

Note: See TracTickets for help on using tickets.