Fix deinstall of multiplexer when a default exists.
authorDaniel White <daniel@whitehouse.id.au>
Mon, 2 Jan 2017 14:20:21 +0000 (23:50 +0930)
committerTaylor R Campbell <campbell@mumble.net>
Mon, 2 Jan 2017 15:43:45 +0000 (15:43 +0000)
commit6546deb1adb706506e32798af7df306cb9a1ff31
tree4c75adba8e483d7480e15a25d929218e60d04bda
parentecf44f5a6312bf0313a508e1c7eeef8e04101674
Fix deinstall of multiplexer when a default exists.

This copes with a somewhat subtle case where a default exists but the
last generator is removed. By inverting the checks, we can ensure we
only look at the cdr of the generator list when generators is actually a
pair.

The bug was originally exhibited by an error when removing the last
generator with remove-generic-procedure-generator on a generic procedure
with a default generator.
src/runtime/genmult.scm
tests/check.scm
tests/runtime/test-genmult.scm [new file with mode: 0644]