Opened 9 years ago

Last modified 2 years ago

#423 assigned defect

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

Reported by: Alan Post Owned by: Alex Shinn
Priority: minor Milestone:
Component: extensions Version: 4.6.x
Keywords: Cc: Alex Shinn
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 9 years ago by felix winkelmann

Cc: Alex Shinn 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 9 years ago by felix winkelmann

Owner: set to Alex Shinn
Status: newassigned

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

comment:3 Changed 9 years ago by Alex Shinn

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 9 years ago by felix winkelmann

Milestone: 4.7.0

comment:5 Changed 2 years 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.