fix #4005 - paranoid_confirm:Autoall

When paranoid confirmation for menustyle:full's "Autoselect all" is
enabled, it is handling yes vs no backwards.

The initial implementation had it right, then a negation got dropped
when it was expanded to support yes|no via paranoid_confirm:Confirm.

ESC is being treated as 'n' rather than as cancel.  Fixing that will
take some more work.  This just adds the missing negation to make 'y'
and 'n' behave properly.
This commit is contained in:
PatR
2023-09-17 16:43:26 -07:00
parent 56036ed5c7
commit 11bfb09daa
2 changed files with 4 additions and 2 deletions
+2
View File
@@ -1673,6 +1673,8 @@ using wizard mode #wizkill outside the endgame followed by m^V to enter the
endgame without any intervening moves would result in impossible endgame without any intervening moves would result in impossible
"dmonsfree: 0 removed doesn't match N pending on <endgame level>" "dmonsfree: 0 removed doesn't match N pending on <endgame level>"
dwarf/elf/orc/gnome hero killed by zombie would rise as human zombie for bones dwarf/elf/orc/gnome hero killed by zombie would rise as human zombie for bones
paranoid_confirm:Autoall for menustyle:full has the test handling backward and
was treating 'yes' as no and 'n' or ESC as 'y'
Fixes to 3.7.0-x Platform and/or Interface Problems Exposed Via git Repository Fixes to 3.7.0-x Platform and/or Interface Problems Exposed Via git Repository
+2 -2
View File
@@ -1364,8 +1364,8 @@ query_category(
/* ParanoidAutoAll is set (otherwise verify_All is false); /* ParanoidAutoAll is set (otherwise verify_All is false);
if ParanoidConfirm is also set, require "yes" rather than if ParanoidConfirm is also set, require "yes" rather than
just "y" to accept (and "no" rather than "n" to decline) */ just "y" to accept (and "no" rather than "n" to decline) */
if (paranoid_query(ParanoidConfirm, if (!paranoid_query(ParanoidConfirm,
"Really autoselect All?")) { "Really autoselect All?")) {
/* answer is "no", so take 'A' out of the list; /* answer is "no", so take 'A' out of the list;
if it is the only entry, we'll return nothing, if it is the only entry, we'll return nothing,
otherwise go on to next menu without autoselect */ otherwise go on to next menu without autoselect */