Fix for Gitlab issue #65: revisiting "fee fie foe foo" and "fum".
authorEric S. Raymond <esr@thyrsus.com>
Mon, 3 Apr 2023 13:24:21 +0000 (09:24 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Mon, 3 Apr 2023 13:24:21 +0000 (09:24 -0400)
100% coverage, "make oldcompare" passes.

actions.c
tests/magicwords.chk
tests/magicwords.log

index 936e4d80978d9aeebfc135a6576e2be9c109d7f2..05c59d5def25b248365282abbf6dfcf184c02489 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -202,10 +202,9 @@ static phase_codes_t bigwords(vocab_t id)
     if ((foobar == WORD_EMPTY && id == FEE) ||
         (foobar == FEE && id == FIE) ||
         (foobar == FIE && id == FOE) ||
-        (foobar == FOE && id == FOO) ||
-        (foobar == FOE && id == FUM)) {
+        (foobar == FOE && id == FOO)) {
         game.foobar = id;
-        if ((id != FOO) && (id != FUM)) {
+        if (id != FOO) {
             rspeak(OK_MAN);
             return GO_CLEAROBJ;
         }
@@ -214,8 +213,6 @@ static phase_codes_t bigwords(vocab_t id)
             (TOTING(EGGS) && game.loc == objects[EGGS].plac)) {
             rspeak(NOTHING_HAPPENS);
             return GO_CLEAROBJ;
-        } else if (id == FUM) {
-            goto fum;
         } else {
             /*  Bring back troll if we steal the eggs back from him before
              *  crossing. */
@@ -232,7 +229,6 @@ static phase_codes_t bigwords(vocab_t id)
             return GO_CLEAROBJ;
         }
     } else {
-fum:
        rspeak(START_OVER);
         game.foobar = WORD_EMPTY;
         return GO_CLEAROBJ;
index 54ab5a5206bd60bdfea3c1c5b0b0b7ca63c16506..24df443515b5d3c3644cb2a947e28f452e5064ff 100644 (file)
@@ -65,10 +65,18 @@ OK
 
 OK
 
+> say fum
+
+What's the matter, can't you read?  Now you'd best start over.
+
 > z
 
 OK
 
+> find foo
+
+Nothing happens.
+
 > z
 
 OK
@@ -1871,7 +1879,7 @@ OK
 What's the matter, can't you read?  Now you'd best start over.
 
 > 
-You scored 253 out of a possible 430, using 315 turns.
+You scored 253 out of a possible 430, using 317 turns.
 
 You have reached "Junior Master" status.
 
index f636711172ce151456aab79628d058a4f9128697..4b86370d7a3c696df58c447af7d1ac9e15707217 100644 (file)
@@ -46,7 +46,7 @@ z
 say fee
 say fie
 say foe
-#say fum
+say fum
 z
 find foo
 z