Issues
- WrappedMacroResultException when a macro is used in the arguments to TABLE inside a routineZILF-252Resolved issue: ZILF-252Tara J. McGrew
- Expand SPLICEs in calls to Z-builtins and routinesZILF-251Resolved issue: ZILF-251Tara J. McGrew
- ZAPF silently truncates START field in headerZILF-250
- CONS copies a FORM tail instead of linking it inZILF-249
- SEGMENTs inside parens or angle brackets are copied instead of splicedZILF-248
- Use compile-time codegen instead of runtime reflection where feasibleZILF-247
- Confusing "bare atom" error with wrong line info for missed comma in TELLZILF-246
- Partial command disambiguation failure: SHOW GUN [TO PAULINE] vs. SHOW PAULINE [THE GUN]ZILF-245
- Add version number to the Z-code headerZILF-244
- Error when assigning globals with FUNNY-GLOBALS?ZILF-243Resolved issue: ZILF-243Tara J. McGrew
- CAPACITY check for PUT IN/ON works differently from TAKEZILF-242
- DESCFCN doesn' work like described in Learning ZILZILF-241Tara J. McGrew
- Overflow in data directive (.BYTE) isn't detectedZILF-240
- PROPDEF DIRECTIONS shouldn't create a property called DIRECTIONSZILF-239Resolved issue: ZILF-239Tara J. McGrew
- Improve/rework ALL-INCLUDES? so TAKE ALL FROM X can be handled correctlyZILF-238
- Explain how to define flags when FSET/FCLEAR/FSET? parameter is undefinedZILF-237
- Improved appllication of abbreviationsZILF-236Resolved issue: ZILF-236Tara J. McGrew
- Overlapping matches in abbreviationsZILF-235
- Improve abbreviation algorithmZILF-234
- COMPACT-PREACTIONS? DirectiveZILF-233
- Deduplicate strings used in TELLZILF-232
- Look harder for abbreviationsZILF-231Resolved issue: ZILF-231Tara J. McGrew
- Using a synonym in the syntax table corrupts the synonymZILF-230Resolved issue: ZILF-230Tara J. McGrew
- Wearable objects automatically worn and taken off when taken and droppedZILF-229Resolved issue: ZILF-229Alex Proudfoot
- Be able to run the interpreter more "like" MDLZILF-228
- Accept CHTYPE as call to FUNCTIONZILF-227
- ASSOCIATIONS stored in reverse orderZILF-226Resolved issue: ZILF-226Tara J. McGrew
- Optimize INC/DEC pairsZILF-225
- Codegen regression for BOR with constantsZILF-224
- Zilf give false warning in some caseZILF-223Resolved issue: ZILF-223Henrik Åsman
- Newlines aren't filtered out of DESCZILF-222Resolved issue: ZILF-222Tara J. McGrew
- Bitbucket is ending Mercurial supportZILF-221Resolved issue: ZILF-221Tara J. McGrew
- Overflow in table length prefix isn't detectedZILF-220Resolved issue: ZILF-220Tara J. McGrew
- Compiler hangs when WORD-FLAGS-LIST has duplicate entriesZILF-219Resolved issue: ZILF-219Tara J. McGrew
- LOW-DIRECTION isn't emitted as a ZAP constantZILF-218
- Missing dependencies with netcore on ZILF 0.9 release.ZILF-217Resolved issue: ZILF-217Tara J. McGrew
- Package compiled games for easy distributionZILF-216Tara J. McGrew
- Strange behaviour if "Drop All" or "Get All" when you're empty-handed or there is nothing takeable in roomZILF-215
- VERSION 7 build dies a quick deathZILF-214Resolved issue: ZILF-214Tara J. McGrew
- REPLACE-DEFINITION without matching definition should warnZILF-213
- COND doesn't complain about stray FORMsZILF-212Resolved issue: ZILF-212Tara J. McGrew
- Empty FORMs should be ==? like empty LISTsZILF-211Resolved issue: ZILF-211Tara J. McGrew
- Uncaught exception when adding local variables to GO, even in V6ZILF-210Resolved issue: ZILF-210Tara J. McGrew
- Can't use AGAIN to repeat a KLUDGEBIT actionZILF-209Resolved issue: ZILF-209Tara J. McGrew
- Update ZIL_ZILF_differences.txtZILF-208
- Printing a PROPDEF prints the equal signs as "Eq"ZILF-207Resolved issue: ZILF-207Tara J. McGrew
- <==? <FORM> '<>> should be TZILF-206Resolved issue: ZILF-206Tara J. McGrew
- SET/SETG fails misleadingly with a complex first argument in value contextZILF-205
- Primitive structure of OBLIST is incompatible with MDLZILF-204Resolved issue: ZILF-204Tara J. McGrew
- Allow <OPEN "PRINT" name> and add <LOAD channel>.ZILF-203
50 of 252
Deduplicate strings used in TELL
Description
Details
Assignee
UnassignedUnassignedReporter
Tara J. McGrewTara J. McGrewComponents
Priority
MediumAffects versions
Details
Details
Assignee
Unassigned
UnassignedReporter
Tara J. McGrew
Tara J. McGrewComponents
Priority
Affects versions
Created February 10, 2021 at 7:42 AM
Updated February 13, 2021 at 1:15 PM
Activity
Tara J. McGrewFebruary 13, 2021 at 1:15 PM
Only the limited number of global variable slots. Some games have plenty to spare; others have so many globals that they have to spill out into arrays.
If a game isn’t using all the available globals, any constant that’s used more than twice could safely be moved into a global to save space, I think. Besides saving a byte in the operand itself, that would also allow some 2OP instructions to be assembled in long form instead of variable form, saving another byte per instruction.
Henrik ÅsmanFebruary 12, 2021 at 9:33 PM
Using GLOBALs instead of CONSTANTs will save an additional byte per PRINT. Is there any downside to this?
One way to save text space, without relying on the abbreviation algorithm, is to move strings that are printed more than once into constants, changing PRINTI instructions into PRINTs:
becomes
This would be easy to do automatically - it's mostly just a matter of finding the right place in the build process to do it.