MantisBT - Core Inform
View Issue Details
0000624Core InformTablespublic2011-03-23 08:122014-05-07 07:34
mattweiner 
graham 
normalseriousalways
closedfixed 
x86Mac OS X10.5
6G60 
6L02 
(serious/mild) Game compiles but misbehaves
0000624: Can't blank out block value entries in a table
"Blank out the action entry" doesn't seem to be blanking out the action entry when that is a stored action. Similar code succeeded in blanking out text entries.
Table of Pointless Actions
rank action
1 the action of jumping
2 --
3 --
4 the action of waiting

Lab is a room. Pointlessing is an action applying to nothing. Understand "pointless" as pointlessing.

Carry out pointlessing:
repeat through the Table of Pointless Actions:
say the rank entry;
say line break;
if there is an action entry:
try the action entry;
blank out the action entry;
otherwise:
say "nothing[line break]".

Test me with "pointless/pointless".
No tags attached.
Issue History
2011-03-23 08:12mattweinerNew Issue
2011-03-23 18:38jmcgrewStatusnew => acknowledged
2011-03-23 18:38jmcgrewCategoryPhrases and functional programming => Tables
2011-03-23 18:38jmcgrewSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=466#r466
2011-03-24 18:35EmacsUserNote Added: 0001107
2011-03-24 18:35EmacsUserStatusacknowledged => confirmed
2011-03-24 18:35EmacsUserSummaryCan't blank out stored action entries in a table => Can't blank out block value entries in a table
2011-04-18 17:05mslatteryNote Added: 0001140
2014-01-12 13:43grahamNote Added: 0002282
2014-01-12 13:43grahamStatusconfirmed => resolved
2014-01-12 13:43grahamResolutionopen => fixed
2014-01-12 13:43grahamAssigned To => graham
2014-05-07 07:34jmcgrewFixed in Version => 6L02
2014-05-07 07:34jmcgrewStatusresolved => closed

Notes
(0001107)
EmacsUser   
2011-03-24 18:35   
Looks like the write flag that should be passed to TableLookUpEntry is becoming an argument to BlkValueCopy instead:

- - - -
BlkValueCopy((blockv_stack-->(I7BASPL+1)), TableLookUpEntry(ct_0,108,ct_1),4);
- - - -

Other block values, like indexed text and lists, are also affected.
(0001140)
mslattery   
2011-04-18 17:05   
I don't think it makes sense to call BlkValueCopy() here at all - I think the problem is that the table entry reference is being dereferenced unnecessarily.

I reckon this can be fixed by replacing

    To blank out (tr - table-reference)
            (documented at ph_blankout):
            (- {tr}{-backspace},4); -).

with

    To blank out (tr - table-reference)
            (documented at ph_blankout):
            (- {-do-not-dereference:tr}{-backspace},4); -).

in section SR5/2/8 of the Standard Rules (and similarly for the deprecated "To delete (tr - table-reference)" syntax a few lines below that).
(0002282)
graham   
2014-01-12 13:43   
Fixed.