|Anonymous | Login | Signup for a new account||2019-04-22 12:54 PDT|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001391||I6 Library||General||public||2014-08-17 12:39||2015-05-10 17:46|
|Priority||normal||Severity||serious||Reproducibility||have not tried|
|Target Version||6/12||Fixed in Version||6/12|
|Summary||0001391: PAUL, TAKE ALL provokes a cascade of "Paul has better things to do."|
|Description||Report from Nathan Schwartzman:|
I've discovered a regression. In the attached game, PAUL, TAKE GOLD will be rejected since "Paul has better things to do" but PAUL, TAKE ALL will go ahead and have Paul take everything. Same for DROP ALL.
|Tags||No tags attached.|
edited on: 2014-08-17 12:40
From Nathan Schwartzman:
I think I've tracked the regression down to something that changed between September 29, 2012 and October 12, 2012. Unfortunately I get a ton of errors when I try to compile the versions from in between those dates.
|Clarification. When the player orders Paul to do something that isn't expected, the standard response is "Paul has better things to do.". If Paul is ordered to take many things, there should be only one response of "Paul has better things to do.". Instead this message is printed for each object Paul is ordered to take.|
edited on: 2014-08-18 23:16
This bug appeared sometime between https://github.com/DavidGriffith/inform6lib/commit/f5599dc76f6008877a0a3591f9963ea3decab21c [^] https://github.com/DavidGriffith/inform6lib/commit/9abf2dd82318ad5406ee2f171462e8c7ed596e5b. [^] The first commit is just before the R_Process invocation <action [noun] [second]> was expanded to allow for an "actor" parameter. The new grammar became <actor, action [noun] [second]>. About a month later this grammar was deemed too disruptive and changed to <action [noun] [second], actor>. In this way the old code would compile and the actor parameter would default to the player and things would work as they always had. This brief change, however, required changes in the compiler itself. Therefore the current compiler cannot compile code that uses the Library between these two commits. These changes were done sometime in 2005 or 2006 and copied over from the old CVS repo.
Weeding out the cause of this regression is going to be... interesting.
Under no circumstances does it appear that InformLibrary.actor_act() returns anything other than 0 (or false). Of what use is checking if that property returns something positive? According to what I see in the old CVS, Roger Firth wrote that property in 2004. I posted a question in http://www.intfiction.org/forum/viewtopic.php?f=7&t=16001 [^] asking about what might have been intended. In the meantime, here's what seems like an acceptable fix:
I'll leave this ticket open until I'm sure this fix is good.
|I'm sure that this bug is squashed for good.|
|Closing all resolved issues from 2014 and earlier.|
|2014-08-17 12:39||DavidG||New Issue|
|2014-08-17 12:39||DavidG||Status||new => assigned|
|2014-08-17 12:39||DavidG||Assigned To||=> DavidG|
|2014-08-17 12:40||DavidG||Note Added: 0003084|
|2014-08-17 12:40||DavidG||Note Edited: 0003084||View Revisions|
|2014-08-18 23:03||DavidG||Note Added: 0003085|
|2014-08-18 23:12||DavidG||Note Added: 0003086|
|2014-08-18 23:16||DavidG||Note Edited: 0003086||View Revisions|
|2014-08-19 00:37||DavidG||Note Added: 0003087|
|2014-08-19 23:22||DavidG||Summary||PAUL, TAKE ALL works but not PAUL, TAKE GOLD => PAUL, TAKE ALL provokes a cascade of "Paul has better things to do."|
|2014-08-28 21:43||DavidG||Note Added: 0003123|
|2014-08-28 21:43||DavidG||Status||assigned => resolved|
|2014-08-28 21:43||DavidG||Fixed in Version||=> 6/12|
|2014-08-28 21:43||DavidG||Resolution||open => fixed|
|2015-05-10 17:46||jmcgrew||Note Added: 0003459|
|2015-05-10 17:46||jmcgrew||Status||resolved => closed|
|Copyright © 2000 - 2010 MantisBT Group|