| ofs | hex dump | ascii |
|---|
| 0000 | 6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e 32 31 32 35 2f 00 00 00 00 00 00 00 00 00 00 00 | malyon-20161208.2125/........... |
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 |
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 33 30 35 00 20 35 00 00 00 | 0000000.00000000000.012305..5... |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e 32 31 32 35 2f 6d 61 6c 79 6f 6e 2d 70 6b 67 2e | malyon-20161208.2125/malyon-pkg. |
| 0220 | 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | el.............................. |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0280 | 30 30 30 31 31 33 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 37 30 35 00 20 30 00 00 00 | 0001135.00000000000.014705..0... |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 | ;;.-*-.no-byte-compile:.t;.lexic |
| 0420 | 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b | al-binding:.nil.-*-.(define-pack |
| 0440 | 61 67 65 20 22 6d 61 6c 79 6f 6e 22 20 22 32 30 31 36 31 32 30 38 2e 32 31 32 35 22 0a 20 20 22 | age."malyon"."20161208.2125"..." |
| 0460 | 4d 6f 64 65 20 74 6f 20 65 78 65 63 75 74 65 20 5a 2d 63 6f 64 65 20 66 69 6c 65 73 20 76 65 72 | Mode.to.execute.Z-code.files.ver |
| 0480 | 73 69 6f 6e 20 33 2c 20 35 2c 20 38 2e 22 0a 20 20 27 28 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 | sion.3,.5,.8."...'((cl-lib."0.5" |
| 04a0 | 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 70 | ))...:url."https://github.com/sp |
| 04c0 | 65 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79 6f 6e 22 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 30 64 39 | eedenator/malyon"...:commit."0d9 |
| 04e0 | 38 38 32 36 35 30 37 32 30 62 34 61 37 39 31 35 35 36 66 35 65 32 64 39 31 37 33 38 38 39 36 35 | 882650720b4a791556f5e2d917388965 |
| 0500 | 64 36 66 63 30 22 0a 20 20 3a 72 65 76 64 65 73 63 20 22 30 64 39 38 38 32 36 35 30 37 32 30 22 | d6fc0"...:revdesc."0d9882650720" |
| 0520 | 0a 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 67 61 6d 65 73 22 20 22 65 6d 75 6c 61 74 69 6f | ...:keywords.'("games"."emulatio |
| 0540 | 6e 73 22 29 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 50 65 74 65 72 20 49 6c 62 65 72 67 | ns")...:authors.'(("Peter.Ilberg |
| 0560 | 22 20 2e 20 22 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 0a 20 20 | "..."peter.ilberg@gmail.com")... |
| 0580 | 20 20 20 20 20 20 20 20 20 20 20 28 22 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73 65 6e 22 | ...........("Christopher.Madsen" |
| 05a0 | 20 2e 20 22 63 6a 6d 40 63 6a 6d 77 65 62 2e 6e 65 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ..."cjm@cjmweb.net")............ |
| 05c0 | 20 20 28 22 45 72 69 6b 20 53 65 6c 62 65 72 67 22 20 2e 20 22 65 72 69 6b 40 73 65 6c 62 65 72 | ..("Erik.Selberg"..."erik@selber |
| 05e0 | 67 2e 6f 72 67 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 27 28 28 22 43 68 72 69 | g.org"))...:maintainers.'(("Chri |
| 0600 | 73 74 6f 70 68 65 72 20 4d 61 64 73 65 6e 22 20 2e 20 22 63 6a 6d 40 63 6a 6d 77 65 62 2e 6e 65 | stopher.Madsen"..."cjm@cjmweb.ne |
| 0620 | 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 45 72 69 6b 20 53 65 6c 62 | t")..................("Erik.Selb |
| 0640 | 65 72 67 22 20 2e 20 22 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f 72 67 22 29 29 29 0a 00 00 00 | erg"..."erik@selberg.org"))).... |
| 0660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 6d 61 6c 79 6f 6e 2d 32 30 31 36 31 32 30 38 2e 32 31 32 35 2f 6d 61 6c 79 6f 6e 2e 65 6c 00 00 | malyon-20161208.2125/malyon.el.. |
| 0820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0860 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0880 | 30 33 36 35 32 32 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 31 34 35 00 20 30 00 00 00 | 0365227.00000000000.014145..0... |
| 08a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 08c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 08e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0900 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0920 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 09a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 09c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 09e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0a00 | 3b 3b 3b 20 6d 61 6c 79 6f 6e 2e 65 6c 20 2d 2d 2d 20 6d 6f 64 65 20 74 6f 20 65 78 65 63 75 74 | ;;;.malyon.el.---.mode.to.execut |
| 0a20 | 65 20 5a 2d 63 6f 64 65 20 66 69 6c 65 73 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 38 0a 0a | e.Z-code.files.version.3,.5,.8.. |
| 0a40 | 3b 3b 20 41 75 74 68 6f 72 3a 20 50 65 74 65 72 20 49 6c 62 65 72 67 20 3c 70 65 74 65 72 2e 69 | ;;.Author:.Peter.Ilberg.<peter.i |
| 0a60 | 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 2c 20 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 | lberg@gmail.com>,.Christopher.Ma |
| 0a80 | 64 73 65 6e 20 3c 63 6a 6d 40 63 6a 6d 77 65 62 2e 6e 65 74 3e 2c 20 45 72 69 6b 20 53 65 6c 62 | dsen.<cjm@cjmweb.net>,.Erik.Selb |
| 0aa0 | 65 72 67 20 3c 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f 72 67 3e 0a 3b 3b 20 4d 61 69 6e 74 61 | erg.<erik@selberg.org>.;;.Mainta |
| 0ac0 | 69 6e 65 72 3a 20 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73 65 6e 20 3c 63 6a 6d 40 63 6a | iner:.Christopher.Madsen.<cjm@cj |
| 0ae0 | 6d 77 65 62 2e 6e 65 74 3e 2c 20 45 72 69 6b 20 53 65 6c 62 65 72 67 20 3c 65 72 69 6b 40 73 65 | mweb.net>,.Erik.Selberg.<erik@se |
| 0b00 | 6c 62 65 72 67 2e 6f 72 67 3e 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 | lberg.org>.;;.Package-Version:.2 |
| 0b20 | 30 31 36 31 32 30 38 2e 32 31 32 35 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 76 69 73 69 6f 6e | 0161208.2125.;;.Package-Revision |
| 0b40 | 3a 20 30 64 39 38 38 32 36 35 30 37 32 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 | :.0d9882650720.;;.Package-Requir |
| 0b60 | 65 73 3a 20 28 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 | es:.((cl-lib."0.5")).;;.Keywords |
| 0b80 | 3a 20 67 61 6d 65 73 2c 20 65 6d 75 6c 61 74 69 6f 6e 73 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 | :.games,.emulations.;;.URL:.http |
| 0ba0 | 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 70 65 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79 6f | s://github.com/speedenator/malyo |
| 0bc0 | 6e 0a 0a 3b 3b 20 4f 6c 64 2d 4d 61 69 6e 74 61 69 6e 65 72 3a 20 50 65 74 65 72 20 49 6c 62 65 | n..;;.Old-Maintainer:.Peter.Ilbe |
| 0be0 | 72 67 20 3c 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 28 | rg.<peter.ilberg@gmail.com>.;;.( |
| 0c00 | 49 20 61 6d 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 73 75 70 70 6f 72 74 69 | I.am.unable.to.continue.supporti |
| 0c20 | 6e 67 20 6d 61 6c 79 6f 6e 2e 65 6c 2e 20 50 6c 65 61 73 65 20 73 65 6e 64 20 6d 65 20 61 6e 0a | ng.malyon.el..Please.send.me.an. |
| 0c40 | 3b 3b 20 20 65 6d 61 69 6c 20 69 66 20 79 6f 75 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 64 20 | ;;..email.if.you.are.interested. |
| 0c60 | 69 6e 20 74 61 6b 69 6e 67 20 6f 76 65 72 20 74 68 65 20 70 72 6f 6a 65 63 74 2e 20 54 68 61 6e | in.taking.over.the.project..Than |
| 0c80 | 6b 73 2e 29 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 39 39 2d 32 30 31 36 | ks.)..;;.Copyright.(C).1999-2016 |
| 0ca0 | 20 50 65 74 65 72 20 49 6c 62 65 72 67 2c 20 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73 65 | .Peter.Ilberg,.Christopher.Madse |
| 0cc0 | 6e 2c 20 45 72 69 6b 20 53 65 6c 62 65 72 67 0a 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 | n,.Erik.Selberg..;;.Permission.i |
| 0ce0 | 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 | s.hereby.granted,.free.of.charge |
| 0d00 | 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 0a 3b 3b 20 63 | ,.to.any.person.obtaining.a.;;.c |
| 0d20 | 6f 70 79 20 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 | opy.of.this.software.and.associa |
| 0d40 | 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f | ted.documentation.files.(the."So |
| 0d60 | 66 74 77 61 72 65 22 29 2c 0a 3b 3b 20 74 6f 20 64 65 61 6c 20 69 6e 20 74 68 65 20 53 6f 66 74 | ftware"),.;;.to.deal.in.the.Soft |
| 0d80 | 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 | ware.without.restriction,.includ |
| 0da0 | 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 0a 3b 3b 20 74 68 65 20 72 69 | ing.without.limitation.;;.the.ri |
| 0dc0 | 67 68 74 73 20 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 | ghts.to.use,.copy,.modify,.merge |
| 0de0 | 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 | ,.publish,.distribute,.sublicens |
| 0e00 | 65 2c 0a 3b 3b 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 | e,.;;.and/or.sell.copies.of.the. |
| 0e20 | 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 | Software,.and.to.permit.persons. |
| 0e40 | 74 6f 20 77 68 6f 6d 20 74 68 65 0a 3b 3b 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 | to.whom.the.;;.Software.is.furni |
| 0e60 | 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f | shed.to.do.so,.subject.to.the.fo |
| 0e80 | 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 3b 3b 20 54 68 65 20 61 62 6f 76 | llowing.conditions:..;;.The.abov |
| 0ea0 | 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d | e.copyright.notice.and.this.perm |
| 0ec0 | 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 | ission.notice.shall.be.included. |
| 0ee0 | 69 6e 0a 3b 3b 20 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 | in.;;.all.copies.or.substantial. |
| 0f00 | 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 3b 3b 20 54 48 | portions.of.the.Software...;;.TH |
| 0f20 | 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 | E.SOFTWARE.IS.PROVIDED."AS.IS",. |
| 0f40 | 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 | WITHOUT.WARRANTY.OF.ANY.KIND,.EX |
| 0f60 | 50 52 45 53 53 20 4f 52 0a 3b 3b 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 | PRESS.OR.;;.IMPLIED,.INCLUDING.B |
| 0f80 | 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 | UT.NOT.LIMITED.TO.THE.WARRANTIES |
| 0fa0 | 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 20 | .OF.MERCHANTABILITY,.;;.FITNESS. |
| 0fc0 | 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e | FOR.A.PARTICULAR.PURPOSE.AND.NON |
| 0fe0 | 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 | INFRINGEMENT..IN.NO.EVENT.SHALL. |
| 1000 | 54 48 45 0a 3b 3b 20 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 | THE.;;.AUTHORS.OR.COPYRIGHT.HOLD |
| 1020 | 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d | ERS.BE.LIABLE.FOR.ANY.CLAIM,.DAM |
| 1040 | 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 3b 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 | AGES.OR.OTHER.;;.LIABILITY,.WHET |
| 1060 | 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f | HER.IN.AN.ACTION.OF.CONTRACT,.TO |
| 1080 | 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 0a 3b 3b 20 46 52 4f 4d | RT.OR.OTHERWISE,.ARISING.;;.FROM |
| 10a0 | 2c 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 | ,.OUT.OF.OR.IN.CONNECTION.WITH.T |
| 10c0 | 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 0a | HE.SOFTWARE.OR.THE.USE.OR.OTHER. |
| 10e0 | 3b 3b 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b 3b | ;;.DEALINGS.IN.THE.SOFTWARE...;; |
| 1100 | 3b 20 43 72 65 64 69 74 73 3a 0a 0a 3b 3b 20 20 20 54 68 65 20 61 75 74 68 6f 72 20 77 6f 75 6c | ;.Credits:..;;...The.author.woul |
| 1120 | 64 20 6c 69 6b 65 20 74 6f 20 74 68 61 6e 6b 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 | d.like.to.thank.the.following.pe |
| 1140 | 6f 70 6c 65 20 66 6f 72 20 72 65 70 6f 72 74 69 6e 67 0a 3b 3b 20 20 20 62 75 67 73 2c 20 74 65 | ople.for.reporting.;;...bugs,.te |
| 1160 | 73 74 69 6e 67 2c 20 73 75 67 67 65 73 74 69 6e 67 20 61 6e 64 2f 6f 72 20 63 6f 6e 74 72 69 62 | sting,.suggesting.and/or.contrib |
| 1180 | 75 74 69 6e 67 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 3a 0a 3b 3b 20 20 20 20 20 42 65 72 6e 68 | uting.improvements:.;;.....Bernh |
| 11a0 | 61 72 64 20 42 61 72 64 65 2c 20 4a 6f 6e 61 74 68 61 6e 20 43 72 61 76 65 6e 2c 20 41 6c 62 65 | ard.Barde,.Jonathan.Craven,.Albe |
| 11c0 | 72 74 6f 20 50 65 74 72 6f 66 73 6b 79 2c 20 41 6c 61 6e 20 53 68 75 74 6b 6f 0a 0a 3b 3b 3b 20 | rto.Petrofsky,.Alan.Shutko..;;;. |
| 11e0 | 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 70 72 6f | Commentary:..;;.This.package.pro |
| 1200 | 76 69 64 65 73 20 61 20 62 61 73 69 63 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 6f 72 20 76 65 | vides.a.basic.interpreter.for.ve |
| 1220 | 72 73 69 6f 6e 20 33 2c 20 35 2c 20 38 20 5a 2d 63 6f 64 65 0a 3b 3b 20 73 74 6f 72 79 20 66 69 | rsion.3,.5,.8.Z-code.;;.story.fi |
| 1240 | 6c 65 73 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 49 6e 66 6f 72 6d 20 28 43 29 20 47 | les.as.generated.by.Inform.(C).G |
| 1260 | 72 61 68 61 6d 20 4e 65 6c 73 6f 6e 20 61 6e 64 20 49 6e 66 6f 63 6f 6d 2e 0a 0a 3b 3b 20 49 66 | raham.Nelson.and.Infocom...;;.If |
| 1280 | 20 79 6f 75 20 65 6e 63 6f 75 6e 74 65 72 20 61 20 62 75 67 20 70 6c 65 61 73 65 20 73 65 6e 64 | .you.encounter.a.bug.please.send |
| 12a0 | 20 61 20 72 65 70 6f 72 74 20 74 6f 20 50 65 74 65 72 20 49 6c 62 65 72 67 20 61 74 0a 3b 3b 20 | .a.report.to.Peter.Ilberg.at.;;. |
| 12c0 | 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 2e 20 54 68 61 6e 6b 20 79 6f | peter.ilberg@gmail.com..Thank.yo |
| 12e0 | 75 21 0a 0a 3b 3b 20 54 6f 20 70 6c 61 79 20 61 20 73 74 6f 72 79 20 66 69 6c 65 20 73 69 6d 70 | u!..;;.To.play.a.story.file.simp |
| 1300 | 6c 79 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c 79 6f 6e 20 61 6e 64 20 65 6e 74 65 72 20 74 68 65 | ly.type.M-x.malyon.and.enter.the |
| 1320 | 20 70 61 74 68 20 74 6f 20 74 68 65 0a 3b 3b 20 73 74 6f 72 79 20 66 69 6c 65 2e 20 49 66 20 61 | .path.to.the.;;.story.file..If.a |
| 1340 | 6e 79 74 68 69 6e 67 20 67 6f 65 73 20 77 72 6f 6e 67 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 | nything.goes.wrong.and.you.want. |
| 1360 | 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 0a 3b 3b 20 75 70 20 74 79 70 65 20 4d 2d 78 | to.manually.clean.;;.up.type.M-x |
| 1380 | 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 63 | .malyon-quit..In.addition,.you.c |
| 13a0 | 61 6e 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a 3b 3b 20 70 | an.switch.back.to.a.game.in.;;.p |
| 13c0 | 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69 6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65 73 | rogress.by.typing.M-x.malyon-res |
| 13e0 | 74 6f 72 65 2e 0a 0a 3b 3b 20 41 20 6e 6f 74 65 20 6f 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 6f | tore...;;.A.note.on.the.format.o |
| 1400 | 66 20 73 61 76 65 64 20 67 61 6d 65 20 73 74 61 74 65 73 3a 0a 0a 3b 3b 20 41 73 20 6f 66 20 76 | f.saved.game.states:..;;.As.of.v |
| 1420 | 65 72 73 69 6f 6e 20 31 2e 30 2c 20 4d 61 6c 79 6f 6e 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 | ersion.1.0,.Malyon.supports.the. |
| 1440 | 71 75 65 74 7a 61 6c 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 66 6f 72 20 73 61 76 65 64 0a 3b 3b | quetzal.file.format.for.saved.;; |
| 1460 | 20 67 61 6d 65 73 2e 20 53 75 70 70 6f 72 74 20 66 6f 72 20 74 68 69 73 20 66 6f 72 6d 61 74 20 | .games..Support.for.this.format. |
| 1480 | 72 65 71 75 69 72 65 64 20 63 68 61 6e 67 65 73 20 74 6f 20 73 65 76 65 72 61 6c 20 69 6e 74 65 | required.changes.to.several.inte |
| 14a0 | 72 6e 61 6c 0a 3b 3b 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 28 73 74 61 63 6b 20 66 | rnal.;;.data.structures.(stack.f |
| 14c0 | 72 61 6d 65 73 20 61 6e 64 20 63 61 74 63 68 2d 74 68 72 6f 77 29 20 74 68 61 74 20 61 72 65 20 | rames.and.catch-throw).that.are. |
| 14e0 | 69 6e 63 6f 6d 70 61 74 69 62 6c 65 0a 3b 3b 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20 69 6d 70 | incompatible.;;.with.the.old.imp |
| 1500 | 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 74 68 65 20 | lementation..Unfortunately,.the. |
| 1520 | 6f 6c 64 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 66 6f 72 0a 3b 3b 20 73 61 76 65 64 20 67 61 6d | old.file.format.for.;;.saved.gam |
| 1540 | 65 73 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 71 75 65 74 | es.cannot.be.converted.into.quet |
| 1560 | 7a 61 6c 2e 0a 0a 3b 3b 20 46 6f 72 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 | zal...;;.For.backwards.compatibi |
| 1580 | 6c 69 74 79 2c 20 68 6f 77 65 76 65 72 2c 20 4d 61 6c 79 6f 6e 20 73 74 69 6c 6c 20 73 75 70 70 | lity,.however,.Malyon.still.supp |
| 15a0 | 6f 72 74 73 20 74 68 65 20 6f 6c 64 0a 3b 3b 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 20 41 6e 64 | orts.the.old.;;.file.format..And |
| 15c0 | 20 79 6f 75 20 63 61 6e 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 6c 61 79 20 79 6f 75 72 20 6f | .you.can.continue.to.play.your.o |
| 15e0 | 6c 64 20 67 61 6d 65 20 73 74 61 74 65 73 2e 0a 0a 3b 3b 20 42 65 63 61 75 73 65 20 6f 66 20 74 | ld.game.states...;;.Because.of.t |
| 1600 | 68 65 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 74 77 6f 20 66 69 | he.incompatibility.of.the.two.fi |
| 1620 | 6c 65 20 66 6f 72 6d 61 74 73 2c 20 4d 61 6c 79 6f 6e 20 6e 6f 77 0a 3b 3b 20 72 75 6e 73 2c 20 | le.formats,.Malyon.now.;;.runs,. |
| 1640 | 61 73 20 66 6f 6c 6c 6f 77 73 2c 20 69 6e 20 65 69 74 68 65 72 20 6f 66 20 74 77 6f 20 6d 6f 64 | as.follows,.in.either.of.two.mod |
| 1660 | 65 73 3a 20 71 75 65 74 7a 61 6c 20 61 6e 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 0a | es:.quetzal.and.compatibility... |
| 1680 | 3b 3b 20 2d 20 69 6e 20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 2c 20 67 61 6d 65 20 73 74 61 74 65 | ;;.-.in.quetzal.mode,.game.state |
| 16a0 | 73 20 61 72 65 20 73 61 76 65 64 20 69 6e 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 0a 3b 3b | s.are.saved.in.quetzal.format.;; |
| 16c0 | 20 2d 20 69 6e 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6d 6f 64 65 2c 20 67 61 6d 65 73 20 | .-.in.compatibility.mode,.games. |
| 16e0 | 73 74 61 74 65 73 20 61 72 65 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 6f 6c 64 20 66 6f 72 6d | states.are.saved.in.the.old.form |
| 1700 | 61 74 0a 3b 3b 20 2d 20 6c 6f 61 64 69 6e 67 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 69 6e 20 | at.;;.-.loading.a.game.state.in. |
| 1720 | 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 20 73 77 69 74 63 68 65 73 20 74 6f 20 71 75 65 74 7a | quetzal.format.switches.to.quetz |
| 1740 | 61 6c 20 6d 6f 64 65 0a 3b 3b 20 2d 20 6c 6f 61 64 69 6e 67 20 61 6e 20 6f 6c 64 20 67 61 6d 65 | al.mode.;;.-.loading.an.old.game |
| 1760 | 20 73 74 61 74 65 20 73 77 69 74 63 68 65 73 20 74 6f 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 | .state.switches.to.compatibility |
| 1780 | 20 6d 6f 64 65 0a 3b 3b 20 2d 20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 20 69 73 20 74 68 65 20 64 | .mode.;;.-.quetzal.mode.is.the.d |
| 17a0 | 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 0a 0a 3b 3b 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 | efault.setting..;;.In.other.word |
| 17c0 | 73 2c 20 4d 61 6c 79 6f 6e 20 77 69 6c 6c 20 6f 6e 6c 79 20 75 73 65 20 74 68 65 20 6f 6c 64 20 | s,.Malyon.will.only.use.the.old. |
| 17e0 | 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 66 20 79 6f 75 27 76 65 0a 3b 3b 20 72 65 73 74 6f 72 65 | file.format.if.you've.;;.restore |
| 1800 | 64 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 73 61 76 65 64 20 69 6e 20 74 68 65 20 6f 6c 64 20 | d.a.game.state.saved.in.the.old. |
| 1820 | 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a 0a 3b 3b 20 45 6e 6a 6f 79 21 0a 0a 3b 3b 3b 20 43 6f 64 | file.format...;;.Enjoy!..;;;.Cod |
| 1840 | 65 3a 0a 0a 3b 3b 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 20 2d 20 6d 6f 76 65 64 20 | e:..;;.global.variables.-.moved. |
| 1860 | 68 65 72 65 20 74 6f 20 61 70 70 65 61 73 65 20 74 68 65 20 62 79 74 65 2d 63 6f 64 65 20 63 6f | here.to.appease.the.byte-code.co |
| 1880 | 6d 70 69 6c 65 72 0a 0a 3b 3b 20 72 65 71 75 69 72 65 6d 65 6e 74 73 0a 0a 28 72 65 71 75 69 72 | mpiler..;;.requirements..(requir |
| 18a0 | 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 62 69 6e 64 61 74 29 0a 0a 28 64 | e.'cl-lib).(require.'bindat)..(d |
| 18c0 | 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f 6e 2d 76 65 72 73 69 6f 6e 20 22 31 2e 32 22 20 22 4d 61 | efconst.malyon-version."1.2"."Ma |
| 18e0 | 6c 79 6f 6e 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 22 29 0a 0a 28 64 65 66 67 72 6f 75 70 | lyon.version.number")..(defgroup |
| 1900 | 20 6d 61 6c 79 6f 6e 20 6e 69 6c 0a 20 20 22 50 6c 61 79 20 5a 2d 6d 61 63 68 69 6e 65 20 69 6e | .malyon.nil..."Play.Z-machine.in |
| 1920 | 74 65 72 61 63 74 69 76 65 20 66 69 63 74 69 6f 6e 20 67 61 6d 65 73 2e 22 0a 20 20 3a 70 72 65 | teractive.fiction.games."...:pre |
| 1940 | 66 69 78 20 22 6d 61 6c 79 6f 6e 2d 22 0a 20 20 3a 67 72 6f 75 70 20 27 67 61 6d 65 73 29 0a 0a | fix."malyon-"...:group.'games).. |
| 1960 | 3b 3b 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 20 76 61 72 69 61 62 6c 65 73 0a 0a 28 64 65 66 63 | ;;.customizable.variables..(defc |
| 1980 | 75 73 74 6f 6d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 69 65 73 2d 64 69 72 65 63 74 6f 72 79 20 6e | ustom.malyon-stories-directory.n |
| 19a0 | 69 6c 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 6c | il..."The.default.directory.to.l |
| 19c0 | 6f 6f 6b 20 66 6f 72 20 73 74 6f 72 79 20 66 69 6c 65 73 2e 0a 4e 69 6c 20 6d 65 61 6e 73 20 75 | ook.for.story.files..Nil.means.u |
| 19e0 | 73 65 20 74 68 65 20 62 75 66 66 65 72 27 73 20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f 72 | se.the.buffer's.default.director |
| 1a00 | 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 6e 69 6c 29 | y."...:type.'(choice.(const.nil) |
| 1a20 | 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 0a | .directory)...:group.'malyon)... |
| 1a40 | 3b 3b 20 73 74 6f 72 79 20 66 69 6c 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 28 64 65 66 76 | ;;.story.file.information..(defv |
| 1a60 | 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 0a 20 20 | ar.malyon-story-file-name.nil... |
| 1a80 | 22 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 62 65 69 6e | "The.name.of.the.story.file.bein |
| 1aa0 | 67 20 65 78 65 63 75 74 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 | g.executed.")..(defvar.malyon-st |
| 1ac0 | 6f 72 79 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 77 | ory-file.nil..."The.story.file.w |
| 1ae0 | 68 69 63 68 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 62 65 69 6e 67 20 72 75 6e 2e 22 29 0a 0a | hich.is.currently.being.run.").. |
| 1b00 | 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6e 69 6c | (defvar.malyon-story-version.nil |
| 1b20 | 0a 20 20 22 54 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 76 65 72 73 69 6f 6e 2e 22 29 0a 0a 28 | ..."The.story.file.version.")..( |
| 1b40 | 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 75 70 70 6f 72 74 65 64 2d 76 65 72 73 69 6f 6e 73 | defvar.malyon-supported-versions |
| 1b60 | 20 27 28 33 20 35 20 38 29 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20 73 75 70 70 6f 72 74 65 64 | .'(3.5.8)..."A.list.of.supported |
| 1b80 | 20 73 74 6f 72 79 20 66 69 6c 65 20 76 65 72 73 69 6f 6e 73 2e 22 29 0a 0a 3b 3b 20 73 74 61 74 | .story.file.versions.")..;;.stat |
| 1ba0 | 75 73 20 61 6e 64 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 73 0a 0a 28 64 65 66 76 | us.and.transcript.buffers..(defv |
| 1bc0 | 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 6e 69 6c 0a | ar.malyon-transcript-buffer.nil. |
| 1be0 | 20 20 22 54 68 65 20 6d 61 69 6e 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 20 6f 66 | .."The.main.transcript.buffer.of |
| 1c00 | 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 65 78 65 63 75 74 69 6f 6e 2e 22 29 0a 0a 28 64 | .the.story.file.execution.")..(d |
| 1c20 | 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d 62 | efvar.malyon-transcript-buffer-b |
| 1c40 | 75 66 66 65 72 65 64 20 6e 69 6c 0a 20 20 22 49 73 20 6f 75 74 70 75 74 20 69 6e 20 74 68 65 20 | uffered.nil..."Is.output.in.the. |
| 1c60 | 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 20 62 75 66 66 65 72 65 64 3f 22 29 0a 0a 28 | transcript.buffer.buffered?")..( |
| 1c80 | 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 6e 69 6c 0a | defvar.malyon-status-buffer.nil. |
| 1ca0 | 20 20 22 54 68 65 20 73 74 61 74 75 73 20 62 61 72 20 62 75 66 66 65 72 20 6f 66 20 74 68 65 20 | .."The.status.bar.buffer.of.the. |
| 1cc0 | 73 74 6f 72 79 20 66 69 6c 65 20 65 78 65 63 75 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 | story.file.execution.")..(defvar |
| 1ce0 | 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 6e 69 6c 0a | .malyon-status-buffer-lines.nil. |
| 1d00 | 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e 20 74 68 65 20 73 74 | .."The.number.of.lines.in.the.st |
| 1d20 | 61 74 75 73 20 62 61 72 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 | atus.bar.buffer.")..(defvar.maly |
| 1d40 | 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e | on-status-buffer-delayed-split.n |
| 1d60 | 69 6c 0a 20 20 22 49 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e 20 | il..."If.the.number.of.lines.in. |
| 1d80 | 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 20 69 73 20 72 65 64 75 63 65 64 2c 0a 74 68 | the.status.buffer.is.reduced,.th |
| 1da0 | 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 63 68 | e.window.configuration.is.not.ch |
| 1dc0 | 61 6e 67 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 20 49 74 0a 69 73 20 63 68 61 6e 67 65 64 | anged.immediately..It.is.changed |
| 1de0 | 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 74 20 74 75 72 6e 20 28 72 65 61 64 20 6f 72 20 72 65 | .after.the.next.turn.(read.or.re |
| 1e00 | 61 64 5f 63 68 61 72 29 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 | ad_char).")..(defvar.malyon-stat |
| 1e20 | 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 70 6f 69 6e 74 | us-buffer-point.nil..."The.point |
| 1e40 | 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 61 74 75 73 20 62 61 72 20 62 75 66 66 | .location.in.the.status.bar.buff |
| 1e60 | 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e | er.")..(defvar.malyon-max-column |
| 1e80 | 20 37 32 0a 20 20 22 4d 61 78 69 6d 75 6d 20 63 6f 6c 75 6d 6e 20 66 6f 72 20 74 65 78 74 20 64 | .72..."Maximum.column.for.text.d |
| 1ea0 | 69 73 70 6c 61 79 2e 22 29 0a 0a 3b 3b 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e 74 0a | isplay.")..;;.window.management. |
| 1ec0 | 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 | .(defvar.malyon-window-configura |
| 1ee0 | 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 20 63 | tion.nil..."The.current.window.c |
| 1f00 | 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65 72 | onfiguration.of.the.malyon.inter |
| 1f20 | 70 72 65 74 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e | preter.")..(defvar.malyon-curren |
| 1f40 | 74 2d 77 69 6e 64 6f 77 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 65 6e 74 6c 79 20 61 63 | t-window.nil..."The.currently.ac |
| 1f60 | 74 69 76 65 20 77 69 6e 64 6f 77 20 66 6f 72 20 74 65 78 74 20 6f 75 74 70 75 74 2e 22 29 0a 0a | tive.window.for.text.output.").. |
| 1f80 | 3b 3b 20 7a 20 6d 61 63 68 69 6e 65 20 72 65 67 69 73 74 65 72 73 0a 0a 28 64 65 66 76 61 72 20 | ;;.z.machine.registers..(defvar. |
| 1fa0 | 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 61 63 6b 20 6f 66 | malyon-stack.nil..."The.stack.of |
| 1fc0 | 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f | .the.z.machine.")..(defvar.malyo |
| 1fe0 | 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 61 63 6b | n-stack-pointer.nil..."The.stack |
| 2000 | 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a 0a 28 64 | .pointer.of.the.z.machine.")..(d |
| 2020 | 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 | efvar.malyon-frame-pointer.nil.. |
| 2040 | 20 22 54 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 20 7a 20 6d 61 63 | ."The.frame.pointer.of.the.z.mac |
| 2060 | 68 69 6e 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 | hine.")..(defvar.malyon-instruct |
| 2080 | 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 69 6e 73 74 72 75 63 74 69 | ion-pointer.nil..."The.instructi |
| 20a0 | 6f 6e 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a 0a | on.pointer.of.the.z.machine.").. |
| 20c0 | 3b 3b 20 67 61 6d 65 20 66 69 6c 65 20 72 65 6c 61 74 65 64 20 67 6c 6f 62 61 6c 20 76 61 72 69 | ;;.game.file.related.global.vari |
| 20e0 | 61 62 6c 65 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 | ables..(defvar.malyon-score-game |
| 2100 | 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 69 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65 | .nil..."A.flag.indicating.whethe |
| 2120 | 72 20 74 68 69 73 20 73 74 6f 72 79 20 75 73 65 73 20 73 63 6f 72 65 20 6f 72 20 74 69 6d 65 2e | r.this.story.uses.score.or.time. |
| 2140 | 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 | ")..(defvar.malyon-packed-multip |
| 2160 | 6c 69 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 61 6d 6f 75 6e 74 20 62 79 20 77 68 69 63 68 20 | lier.nil..."The.amount.by.which. |
| 2180 | 70 61 63 6b 65 64 20 61 64 64 72 65 73 73 65 73 20 61 72 65 20 6d 75 6c 74 69 70 6c 69 65 64 20 | packed.addresses.are.multiplied. |
| 21a0 | 74 6f 20 67 65 74 20 62 79 74 65 0a 61 64 64 72 65 73 73 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 | to.get.byte.addresses.")..(defva |
| 21c0 | 72 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c 0a 20 20 | r.malyon-global-variables.nil... |
| 21e0 | 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c | "A.pointer.to.the.global.variabl |
| 2200 | 65 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 29 0a 0a | e.section.in.the.story.file.").. |
| 2220 | 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 6e 69 6c | (defvar.malyon-abbreviations.nil |
| 2240 | 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 61 62 62 72 65 76 69 61 74 69 6f | ..."A.pointer.to.the.abbreviatio |
| 2260 | 6e 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 | ns.in.the.story.file.")..(defvar |
| 2280 | 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 7a 20 6d 61 | .malyon-alphabet.nil..."The.z.ma |
| 22a0 | 63 68 69 6e 65 27 73 20 74 65 78 74 20 61 6c 70 68 61 62 65 74 2e 22 29 0a 0a 28 64 65 66 76 61 | chine's.text.alphabet.")..(defva |
| 22c0 | 72 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 20 6e 69 6c 0a 20 20 22 41 20 73 74 72 | r.malyon-whitespace.nil..."A.str |
| 22e0 | 69 6e 67 20 6f 66 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 20 72 65 63 | ing.of.whitespace.characters.rec |
| 2300 | 6f 67 6e 69 7a 65 64 20 62 79 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 29 0a 0a 3b | ognized.by.the.interpreter.")..; |
| 2320 | 3b 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d | ;.object.tables..(defvar.malyon- |
| 2340 | 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f | object-table.nil..."A.pointer.to |
| 2360 | 20 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 | .the.object.table.in.the.story.f |
| 2380 | 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 | ile.")..(defvar.malyon-object-ta |
| 23a0 | 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 69 7a 65 20 6f | ble-entry-size.nil..."The.size.o |
| 23c0 | 66 20 6f 6e 65 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 2e | f.one.entry.in.the.object.table. |
| 23e0 | 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 | ")..(defvar.malyon-object-proper |
| 2400 | 74 69 65 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 70 65 72 | ties.nil..."The.number.of.proper |
| 2420 | 74 69 65 73 20 70 65 72 20 6f 62 6a 65 63 74 20 6d 69 6e 75 73 20 6f 6e 65 2e 22 29 0a 0a 28 64 | ties.per.object.minus.one.")..(d |
| 2440 | 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 | efvar.malyon-object-property-off |
| 2460 | 73 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 74 68 | set.nil..."The.byte.offset.of.th |
| 2480 | 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 61 62 6c 65 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 | e.properties.table.in.the.object |
| 24a0 | 2e 22 29 0a 0a 3b 3b 20 64 69 63 74 69 6f 6e 61 72 69 65 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 | .")..;;.dictionaries..(defvar.ma |
| 24c0 | 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 | lyon-dictionary.nil..."A.pointer |
| 24e0 | 20 74 6f 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 | .to.the.dictionary.of.the.story. |
| 2500 | 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 | file.")..(defvar.malyon-dictiona |
| 2520 | 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 65 6e 67 74 | ry-entry-length.nil..."The.lengt |
| 2540 | 68 20 6f 66 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 79 2e 22 29 0a 0a 28 64 65 66 | h.of.a.dictionary.entry.")..(def |
| 2560 | 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e 74 72 69 65 | var.malyon-dictionary-num-entrie |
| 2580 | 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 | s.nil..."The.number.of.dictionar |
| 25a0 | 79 20 65 6e 74 72 69 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 | y.entries.")..(defvar.malyon-dic |
| 25c0 | 74 69 6f 6e 61 72 79 2d 65 6e 74 72 69 65 73 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 | tionary-entries.nil..."A.pointer |
| 25e0 | 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 79 2e 22 | .to.the.first.dictionary.entry." |
| 2600 | 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 | )..(defvar.malyon-dictionary-wor |
| 2620 | 64 2d 6c 65 6e 67 74 68 20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 61 20 | d-length.nil..."The.length.of.a. |
| 2640 | 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 2e 22 29 0a 0a 3b 3b 20 67 61 6d 65 20 73 74 61 74 | dictionary.word.")..;;.game.stat |
| 2660 | 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 67 61 | e.information..(defvar.malyon-ga |
| 2680 | 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 6d 61 63 68 | me-state-restart.nil..."The.mach |
| 26a0 | 69 6e 65 20 73 74 61 74 65 20 66 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 72 65 73 74 61 | ine.state.for.implementing.resta |
| 26c0 | 72 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 | rt.")..(defvar.malyon-game-state |
| 26e0 | 2d 75 6e 64 6f 20 6e 69 6c 0a 20 20 22 54 68 65 20 6d 61 63 68 69 6e 65 20 73 74 61 74 65 20 66 | -undo.nil..."The.machine.state.f |
| 2700 | 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 75 6e 64 6f 2e 22 29 0a 0a 28 64 65 66 76 61 72 | or.implementing.undo.")..(defvar |
| 2720 | 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 74 0a 20 20 22 | .malyon-game-state-quetzal.t..." |
| 2740 | 53 74 6f 72 65 20 67 61 6d 65 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 | Store.game.state.information.for |
| 2760 | 20 71 75 65 74 7a 61 6c 2e 22 29 0a 0a 3b 3b 20 76 61 72 69 6f 75 73 0a 0a 28 64 65 66 76 61 72 | .quetzal.")..;;.various..(defvar |
| 2780 | 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 63 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 | .malyon-current-face.nil..."The. |
| 27a0 | 63 75 72 72 65 6e 74 20 66 61 63 65 20 69 6e 20 77 68 69 63 68 20 74 6f 20 64 69 73 70 6c 61 79 | current.face.in.which.to.display |
| 27c0 | 20 74 65 78 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 | .text.")..(defvar.malyon-last-cu |
| 27e0 | 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 20 6e 69 6c 0a 20 20 | rsor-position-after-input.nil... |
| 2800 | 22 54 68 65 20 6c 61 73 74 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 | "The.last.cursor.position.after. |
| 2820 | 72 65 61 64 69 6e 67 20 69 6e 70 75 74 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e | reading.input.from.the.keyboard. |
| 2840 | 22 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 74 72 61 70 70 69 6e 67 0a 0a 28 64 65 66 6d 61 63 72 6f | ")..;;.error.trapping..(defmacro |
| 2860 | 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 28 6d 65 | .malyon-hide-internal-errors.(me |
| 2880 | 73 73 61 67 65 20 62 6f 64 79 66 6f 72 6d 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 | ssage.bodyform)..."Evaluate.BODY |
| 28a0 | 46 4f 52 4d 2c 20 73 75 62 73 74 69 74 75 74 69 6e 67 20 4d 45 53 53 41 47 45 20 66 6f 72 20 61 | FORM,.substituting.MESSAGE.for.a |
| 28c0 | 6e 79 20 65 72 72 6f 72 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 | ny.error."...(declare.(indent.1) |
| 28e0 | 29 0a 20 20 60 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 2c | )...`(condition-case.nil......., |
| 2900 | 62 6f 64 79 66 6f 72 6d 0a 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e | bodyform.....(error......(malyon |
| 2920 | 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 2c 6d 65 73 73 61 67 65 29 29 29 29 0a 0a 3b 3b 20 77 68 | -fatal-error.,message))))..;;.wh |
| 2940 | 65 6e 20 64 65 62 75 67 67 69 6e 67 2c 20 75 6e 63 6f 6d 6d 65 6e 74 20 74 68 69 73 20 4e 4f 50 | en.debugging,.uncomment.this.NOP |
| 2960 | 20 76 65 72 73 69 6f 6e 20 6f 66 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c | .version.of.malyon-hide-internal |
| 2980 | 2d 65 72 72 6f 72 73 0a 3b 28 64 65 66 6d 61 63 72 6f 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 | -errors.;(defmacro.malyon-hide-i |
| 29a0 | 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 28 6d 73 67 20 62 6f 64 79 29 20 28 64 65 63 6c 61 | nternal-errors.(msg.body).(decla |
| 29c0 | 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 20 62 6f 64 79 29 0a 0a 3b 3b 20 69 6e 74 65 72 61 63 | re.(indent.1)).body)..;;.interac |
| 29e0 | 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 73 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 | tive.functions.;;;###autoload.(d |
| 2a00 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 50 6c 61 79 20 | efun.malyon.(file-name)..."Play. |
| 2a20 | 61 20 5a 2d 6d 61 63 68 69 6e 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 66 69 63 74 69 6f 6e 20 | a.Z-machine.interactive.fiction. |
| 2a40 | 67 61 6d 65 2e 0a 49 66 20 61 20 67 61 6d 65 20 69 73 20 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 | game..If.a.game.is.in.progress,. |
| 2a60 | 72 65 73 74 6f 72 65 73 20 74 68 65 20 67 61 6d 65 27 73 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 | restores.the.game's.window.confi |
| 2a80 | 67 75 72 61 74 69 6f 6e 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 79 6f 75 20 61 72 65 20 70 72 6f | guration..Otherwise,.you.are.pro |
| 2aa0 | 6d 70 74 65 64 20 66 6f 72 20 61 20 73 74 6f 72 79 20 66 69 6c 65 20 74 6f 20 6c 6f 61 64 2c 20 | mpted.for.a.story.file.to.load,. |
| 2ac0 | 77 68 69 63 68 20 6d 61 79 20 62 65 0a 65 69 74 68 65 72 20 61 20 72 61 77 20 5a 2d 63 6f 64 65 | which.may.be.either.a.raw.Z-code |
| 2ae0 | 20 66 69 6c 65 20 6f 72 20 6f 6e 65 20 70 61 63 6b 61 67 65 64 20 69 6e 20 61 20 42 6c 6f 72 62 | .file.or.one.packaged.in.a.Blorb |
| 2b00 | 20 66 69 6c 65 2e 0a 5a 2d 63 6f 64 65 20 76 65 72 73 69 6f 6e 73 20 33 2c 20 35 2c 20 61 6e 64 | .file..Z-code.versions.3,.5,.and |
| 2b20 | 20 38 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 | .8.are.supported."...(interactiv |
| 2b40 | 65 0a 20 20 20 28 6c 69 73 74 0a 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d | e....(list.....(if.malyon-story- |
| 2b60 | 66 69 6c 65 20 6e 69 6c 0a 20 20 20 20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 | file.nil.......(read-file-name." |
| 2b80 | 53 74 6f 72 79 20 66 69 6c 65 20 6e 61 6d 65 3a 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 69 65 | Story.file.name:.".malyon-storie |
| 2ba0 | 73 2d 64 69 72 65 63 74 6f 72 79 20 6e 69 6c 20 74 29 29 29 29 0a 20 20 28 69 66 20 6d 61 6c 79 | s-directory.nil.t))))...(if.maly |
| 2bc0 | 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20 20 20 20 20 20 28 69 66 20 66 69 6c 65 2d 6e 61 6d | on-story-file.......(if.file-nam |
| 2be0 | 65 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 59 6f 75 20 61 72 65 20 61 6c 72 65 | e...........(error."You.are.alre |
| 2c00 | 61 64 79 20 70 6c 61 79 69 6e 67 20 61 20 67 61 6d 65 2e 22 29 0a 20 20 20 20 20 20 20 20 28 6d | ady.playing.a.game.").........(m |
| 2c20 | 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 29 29 0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 | alyon-restore)).....;;.Otherwise |
| 2c40 | 2c 20 77 65 27 72 65 20 73 74 61 72 74 69 6e 67 20 61 20 6e 65 77 20 67 61 6d 65 3a 0a 20 20 20 | ,.we're.starting.a.new.game:.... |
| 2c60 | 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 2e 5c | .(cond......((string-match."\\.\ |
| 2c80 | 5c 28 3f 3a 7a 3f 62 6c 6f 72 62 5c 5c 7c 62 6c 62 5c 5c 7c 7a 6c 62 5c 5c 29 24 22 20 66 69 6c | \(?:z?blorb\\|blb\\|zlb\\)$".fil |
| 2ca0 | 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72 62 | e-name).......(malyon-load-blorb |
| 2cc0 | 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d | -file.file-name))......((string- |
| 2ce0 | 6d 61 74 63 68 20 22 5c 5c 2e 7a 5b 33 35 38 5d 24 22 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 | match."\\.z[358]$".file-name)... |
| 2d00 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 | ....(malyon-hide-internal-errors |
| 2d20 | 20 22 6c 6f 61 64 69 6e 67 20 6f 66 20 73 74 6f 72 79 20 66 69 6c 65 20 66 61 69 6c 65 64 2e 22 | ."loading.of.story.file.failed." |
| 2d40 | 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c 65 | .........(malyon-load-story-file |
| 2d60 | 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 65 72 72 | .file-name)))......(t.......(err |
| 2d80 | 6f 72 20 22 25 73 20 69 73 20 6e 6f 74 20 61 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 6f 72 | or."%s.is.not.a.version.3,.5,.or |
| 2da0 | 20 38 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 | .8.story.file.".file-name))).... |
| 2dc0 | 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 28 61 72 65 | .(setq.malyon-story-version.(are |
| 2de0 | 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 63 6f 6e | f.malyon-story-file.0)).....(con |
| 2e00 | 64 20 28 28 6d 65 6d 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6d 61 | d.((memq.malyon-story-version.ma |
| 2e20 | 6c 79 6f 6e 2d 73 75 70 70 6f 72 74 65 64 2d 76 65 72 73 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 | lyon-supported-versions)........ |
| 2e40 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 | ....(malyon-hide-internal-errors |
| 2e60 | 20 22 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 69 6e 74 65 72 70 72 65 74 65 72 20 | ."initialization.of.interpreter. |
| 2e80 | 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e | failed."..............(malyon-in |
| 2ea0 | 69 74 69 61 6c 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e | itialize))............(malyon-in |
| 2ec0 | 74 65 72 70 72 65 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 | terpreter))...........(t........ |
| 2ee0 | 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 20 69 73 20 6e 6f 74 20 61 20 76 65 72 73 69 6f | ....(message."%s.is.not.a.versio |
| 2f00 | 6e 20 33 2c 20 35 2c 20 6f 72 20 38 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 20 66 69 6c 65 2d 6e | n.3,.5,.or.8.story.file.".file-n |
| 2f20 | 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 | ame)............(malyon-cleanup) |
| 2f40 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 20 28 29 0a 20 | ))))..(defun.malyon-restore.().. |
| 2f60 | 20 22 52 65 73 74 6f 72 65 20 74 68 65 20 73 61 76 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 | ."Restore.the.save.window.config |
| 2f80 | 75 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 | uration.for.the.interpreter."... |
| 2fa0 | 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 | (interactive)...(malyon-hide-int |
| 2fc0 | 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 72 65 73 74 6f 72 69 6e 67 20 77 69 6e 64 6f 77 20 63 | ernal-errors."restoring.window.c |
| 2fe0 | 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e | onfiguration.failed.".....(progn |
| 3000 | 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f | .......(malyon-restore-window-co |
| 3020 | 6e 66 69 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 | nfiguration).......(malyon-adjus |
| 3040 | 74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | t-transcript))))..(defun.malyon- |
| 3060 | 71 75 69 74 20 28 29 0a 20 20 22 45 78 69 74 20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65 72 | quit.()..."Exit.the.malyon.inter |
| 3080 | 70 72 65 74 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 6d | preter."...(interactive)...(if.m |
| 30a0 | 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 | alyon-story-file.......(progn... |
| 30c0 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20 28 | ......(malyon-restore).........( |
| 30e0 | 69 66 20 28 6d 61 6c 79 6f 6e 2d 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 22 | if.(malyon-yes-or-no-p-minibuf." |
| 3100 | 44 6f 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 71 75 69 74 3f 20 22 29 0a 20 | Do.you.really.want.to.quit?.").. |
| 3120 | 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 29 29 29 29 0a | ...........(malyon-cleanup))))). |
| 3140 | 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f | .;;;###autoload.(defun.malyon-mo |
| 3160 | 64 65 20 28 29 0a 20 20 22 54 68 69 73 20 6d 6f 64 65 20 70 72 6f 76 69 64 65 73 20 61 20 62 61 | de.()..."This.mode.provides.a.ba |
| 3180 | 73 69 63 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 6f 72 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 | sic.interpreter.for.version.3,.5 |
| 31a0 | 2c 20 38 20 5a 2d 63 6f 64 65 0a 73 74 6f 72 79 20 66 69 6c 65 73 20 61 73 20 67 65 6e 65 72 61 | ,.8.Z-code.story.files.as.genera |
| 31c0 | 74 65 64 20 62 79 20 49 6e 66 6f 72 6d 20 28 43 29 20 47 72 61 68 61 6d 20 4e 65 6c 73 6f 6e 20 | ted.by.Inform.(C).Graham.Nelson. |
| 31e0 | 61 6e 64 20 49 6e 66 6f 63 6f 6d 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 70 61 63 | and.Infocom...Note.that.this.pac |
| 3200 | 6b 61 67 65 20 69 73 20 62 79 20 6e 6f 20 6d 65 61 6e 73 20 63 6f 6d 70 6c 65 74 65 20 61 6e 64 | kage.is.by.no.means.complete.and |
| 3220 | 20 62 75 67 20 66 72 65 65 2e 0a 49 66 20 79 6f 75 20 65 6e 63 6f 75 6e 74 65 72 20 61 20 62 75 | .bug.free..If.you.encounter.a.bu |
| 3240 | 67 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 72 65 70 6f 72 74 20 74 6f 20 50 65 74 65 72 20 | g.please.send.a.report.to.Peter. |
| 3260 | 49 6c 62 65 72 67 20 61 74 0a 70 65 74 65 72 2e 69 6c 62 65 72 67 40 6e 61 74 69 6e 73 74 2e 63 | Ilberg.at.peter.ilberg@natinst.c |
| 3280 | 6f 6d 2e 20 54 68 61 6e 6b 20 79 6f 75 21 0a 0a 54 6f 20 70 6c 61 79 20 61 20 73 74 6f 72 79 20 | om..Thank.you!..To.play.a.story. |
| 32a0 | 66 69 6c 65 20 73 69 6d 70 6c 65 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c 79 6f 6e 20 61 6e 64 20 | file.simple.type.M-x.malyon.and. |
| 32c0 | 65 6e 74 65 72 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 0a 73 74 6f 72 79 20 66 69 6c 65 | enter.the.path.to.the.story.file |
| 32e0 | 2e 20 49 66 20 61 6e 79 74 68 69 6e 67 20 67 6f 65 73 20 77 72 6f 6e 67 20 61 6e 64 20 79 6f 75 | ..If.anything.goes.wrong.and.you |
| 3300 | 20 77 61 6e 74 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 0a 75 70 20 74 79 70 65 20 | .want.to.manually.clean.up.type. |
| 3320 | 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f | M-x.malyon-quit..In.addition,.yo |
| 3340 | 75 20 63 61 6e 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a 70 | u.can.switch.back.to.a.game.in.p |
| 3360 | 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69 6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65 73 | rogress.by.typing.M-x.malyon-res |
| 3380 | 74 6f 72 65 2e 0a 0a 54 68 65 20 61 75 74 68 6f 72 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 | tore...The.author.would.like.to. |
| 33a0 | 74 68 61 6e 6b 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 20 66 6f 72 20 72 | thank.the.following.people.for.r |
| 33c0 | 65 70 6f 72 74 69 6e 67 0a 62 75 67 73 2c 20 74 65 73 74 69 6e 67 2c 20 73 75 67 67 65 73 74 69 | eporting.bugs,.testing,.suggesti |
| 33e0 | 6e 67 20 61 6e 64 2f 6f 72 20 63 6f 6e 74 72 69 62 75 74 69 6e 67 20 69 6d 70 72 6f 76 65 6d 65 | ng.and/or.contributing.improveme |
| 3400 | 6e 74 73 3a 0a 20 20 20 20 42 65 72 6e 68 61 72 64 20 42 61 72 64 65 2c 20 4a 6f 6e 61 74 68 61 | nts:.....Bernhard.Barde,.Jonatha |
| 3420 | 6e 20 43 72 61 76 65 6e 2c 20 41 6c 62 65 72 74 6f 20 50 65 74 72 6f 66 73 6b 79 2c 20 41 6c 61 | n.Craven,.Alberto.Petrofsky,.Ala |
| 3440 | 6e 20 53 68 75 74 6b 6f 22 0a 20 20 28 6d 65 73 73 61 67 65 20 22 55 73 65 20 4d 2d 78 20 6d 61 | n.Shutko"...(message."Use.M-x.ma |
| 3460 | 6c 79 6f 6e 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 6c 61 79 20 61 20 7a 63 6f 64 65 | lyon.if.you.want.to.play.a.zcode |
| 3480 | 20 67 61 6d 65 2e 22 29 29 0a 0a 3b 3b 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 | .game."))..;;.compatibility.func |
| 34a0 | 74 69 6f 6e 73 20 66 6f 72 20 47 4e 55 20 65 6d 61 63 73 0a 3b 3b 20 6e 75 6b 65 64 20 31 32 2f | tions.for.GNU.emacs.;;.nuked.12/ |
| 34c0 | 34 2f 31 36 20 62 79 20 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f 72 67 20 2d 2d 2d 20 74 68 65 | 4/16.by.erik@selberg.org.---.the |
| 34e0 | 73 65 20 61 72 65 6e 27 74 20 6e 65 65 64 65 64 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 | se.aren't.needed..;;.(if.(fbound |
| 3500 | 70 20 27 63 61 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f | p.'cadr).;;.....(defalias.'malyo |
| 3520 | 6e 2d 63 61 64 72 20 27 63 61 64 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | n-cadr.'cadr).;;...(defun.malyon |
| 3540 | 2d 63 61 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 20 63 61 | -cadr.(list).;;....."Take.the.ca |
| 3560 | 64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63 64 | dr.of.the.list.".;;.....(car.(cd |
| 3580 | 72 20 6c 69 73 74 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 61 64 | r.list))))..;;.(if.(fboundp.'cad |
| 35a0 | 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 61 64 | dr).;;.....(defalias.'malyon-cad |
| 35c0 | 64 72 20 27 63 61 64 64 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 61 | dr.'caddr).;;...(defun.malyon-ca |
| 35e0 | 64 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 20 63 61 64 64 | ddr.(list).;;....."Take.the.cadd |
| 3600 | 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63 64 72 | r.of.the.list.".;;.....(car.(cdr |
| 3620 | 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 | .(cdr.list)))))..;;.(if.(fboundp |
| 3640 | 20 27 63 64 64 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f | .'cdddr).;;.....(defalias.'malyo |
| 3660 | 6e 2d 63 64 64 64 72 20 27 63 64 64 64 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 | n-cdddr.'cdddr).;;...(defun.maly |
| 3680 | 6f 6e 2d 63 64 64 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 | on-cdddr.(list).;;....."Take.the |
| 36a0 | 20 63 64 64 64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 64 72 | .cdddr.of.the.list.".;;.....(cdr |
| 36c0 | 20 28 63 64 72 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 | .(cdr.(cdr.list)))))..;;.(if.(fb |
| 36e0 | 6f 75 6e 64 70 20 27 63 68 61 72 2d 62 65 66 6f 72 65 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 | oundp.'char-before).;;.....(defa |
| 3700 | 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 62 65 66 6f 72 65 20 27 63 68 61 72 2d 62 | lias.'malyon-char-before.'char-b |
| 3720 | 65 66 6f 72 65 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 62 | efore).;;...(defun.malyon-char-b |
| 3740 | 65 66 6f 72 65 20 28 29 0a 3b 3b 20 20 20 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 68 61 72 | efore.().;;....."Return.the.char |
| 3760 | 61 63 74 65 72 20 62 65 66 6f 72 65 20 74 68 65 20 70 6f 69 6e 74 2e 22 0a 3b 3b 20 20 20 20 20 | acter.before.the.point.".;;..... |
| 3780 | 28 63 68 61 72 2d 61 66 74 65 72 20 28 2d 20 28 70 6f 69 6e 74 29 20 31 29 29 29 29 0a 0a 28 64 | (char-after.(-.(point).1))))..(d |
| 37a0 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 63 29 0a 20 20 22 43 | efun.malyon-char-to-int.(c)..."C |
| 37c0 | 6f 6e 76 65 72 74 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 67 | onvert.a.character.into.an.integ |
| 37e0 | 65 72 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 68 61 72 2d 74 6f 2d 69 6e 74 | er."...(if.(fboundp.'char-to-int |
| 3800 | 29 0a 20 20 20 20 20 20 28 63 68 61 72 2d 74 6f 2d 69 6e 74 20 63 29 0a 20 20 20 20 63 29 29 0a | ).......(char-to-int.c).....c)). |
| 3820 | 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a 3b 3b | .;;.(if.(fboundp.'characterp).;; |
| 3840 | 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 | .....(defalias.'malyon-character |
| 3860 | 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f | p.'characterp).;;...(defun.malyo |
| 3880 | 6e 2d 63 68 61 72 61 63 74 65 72 70 20 28 78 29 0a 3b 3b 20 20 20 20 20 22 54 65 73 74 20 66 6f | n-characterp.(x).;;....."Test.fo |
| 38a0 | 72 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 3b 3b 20 20 20 20 20 28 61 6e 64 20 28 6e 75 6d | r.a.character.".;;.....(and.(num |
| 38c0 | 62 65 72 70 20 78 29 20 28 3c 3d 20 30 20 78 29 20 28 3c 20 78 20 32 35 36 29 29 29 29 0a 0a 28 | berp.x).(<=.0.x).(<.x.256))))..( |
| 38e0 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 69 62 79 74 65 20 28 | defun.malyon-disable-multibyte.( |
| 3900 | 29 0a 20 20 22 44 69 73 61 62 6c 65 20 6d 75 6c 74 69 62 79 74 65 20 73 75 70 70 6f 72 74 20 69 | )..."Disable.multibyte.support.i |
| 3920 | 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 63 6f 6e 64 69 74 | n.the.current.buffer."...(condit |
| 3940 | 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62 79 | ion-case.nil.(set-buffer-multiby |
| 3960 | 74 65 20 6e 69 6c 29 20 28 65 72 72 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | te.nil).(error)))..(defun.malyon |
| 3980 | 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 29 | -erase-buffer.(&optional.buffer) |
| 39a0 | 0a 20 20 22 45 72 61 73 65 20 74 68 65 20 67 69 76 65 6e 20 62 75 66 66 65 72 2e 22 0a 20 20 28 | ..."Erase.the.given.buffer."...( |
| 39c0 | 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 69 66 20 62 75 66 66 65 72 20 28 73 | save-excursion.....(if.buffer.(s |
| 39e0 | 65 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 | et-buffer.buffer)).....(if.(and. |
| 3a00 | 62 75 66 66 65 72 20 28 65 71 20 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 | buffer.(eq.buffer.malyon-transcr |
| 3a20 | 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 62 65 67 | ipt-buffer)).........(malyon-beg |
| 3a40 | 69 6e 2d 73 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 | in-section).......(erase-buffer) |
| 3a60 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 | )))..(defun.malyon-int-to-char.( |
| 3a80 | 69 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 69 6e 74 6f 20 61 20 | i)..."Convert.an.integer.into.a. |
| 3aa0 | 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 69 6e 74 2d | character."...(if.(fboundp.'int- |
| 3ac0 | 74 6f 2d 63 68 61 72 29 0a 20 20 20 20 28 69 6e 74 2d 74 6f 2d 63 68 61 72 20 69 29 0a 20 20 20 | to-char).....(int-to-char.i).... |
| 3ae0 | 20 69 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6d 61 70 63 29 0a 3b 3b 20 | .i))..;;.(if.(fboundp.'mapc).;;. |
| 3b00 | 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 6d 61 70 63 20 27 6d 61 70 63 | ....(defalias.'malyon-mapc.'mapc |
| 3b20 | 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 70 63 20 28 66 75 6e 63 74 | ).;;...(defun.malyon-mapc.(funct |
| 3b40 | 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 41 70 70 6c 79 20 66 75 6e 20 74 6f 20 65 | ion.list).;;....."Apply.fun.to.e |
| 3b60 | 76 65 72 79 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 72 67 73 20 69 67 6e 6f 72 69 6e 67 20 74 68 | very.element.of.args.ignoring.th |
| 3b80 | 65 20 72 65 73 75 6c 74 73 2e 22 0a 3b 3b 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69 73 | e.results.".;;.....(if.(null.lis |
| 3ba0 | 74 29 0a 3b 3b 20 09 27 28 29 0a 3b 3b 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e | t).;;..'().;;.......(funcall.fun |
| 3bc0 | 63 74 69 6f 6e 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 6d 61 6c 79 | ction.(car.list)).;;.......(maly |
| 3be0 | 6f 6e 2d 6d 61 70 63 20 66 75 6e 63 74 69 6f 6e 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 0a | on-mapc.function.(cdr.list))))). |
| 3c00 | 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6d 61 70 63 61 6e 29 0a 3b 3b 20 20 20 20 | .;;.(if.(fboundp.'mapcan).;;.... |
| 3c20 | 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 27 6d 61 70 63 61 | .(defalias.'malyon-mapcan.'mapca |
| 3c40 | 6e 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 28 66 75 | n).;;...(defun.malyon-mapcan.(fu |
| 3c60 | 6e 63 74 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 41 70 70 6c 79 20 66 75 6e 20 74 | nction.list).;;....."Apply.fun.t |
| 3c80 | 6f 20 65 76 65 72 79 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 72 67 73 20 6e 63 6f 6e 63 27 69 6e | o.every.element.of.args.nconc'in |
| 3ca0 | 67 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a 3b 3b 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 | g.the.result.".;;.....(if.(null. |
| 3cc0 | 6c 69 73 74 29 0a 3b 3b 20 09 27 28 29 0a 3b 3b 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 66 | list).;;..'().;;.......(nconc.(f |
| 3ce0 | 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 09 | uncall.function.(car.list)).;;.. |
| 3d00 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 66 75 6e 63 74 69 6f 6e 20 28 63 64 | .....(malyon-mapcan.function.(cd |
| 3d20 | 72 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 0a 3b 20 44 6f 20 6e 6f 74 20 75 73 65 20 74 68 65 20 | r.list))))))...;.Do.not.use.the. |
| 3d40 | 62 75 69 6c 74 2d 69 6e 20 63 6f 6e 76 65 72 73 69 6f 6e 20 76 69 61 20 27 6d 75 6c 74 69 62 79 | built-in.conversion.via.'multiby |
| 3d60 | 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 79 74 65 2e 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | te-char-to-unibyte..(defun.malyo |
| 3d80 | 6e 2d 6d 75 6c 74 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 79 74 65 20 28 63 68 61 | n-multibyte-char-to-unibyte.(cha |
| 3da0 | 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 | r)..."Convert.a.multibyte.charac |
| 3dc0 | 74 65 72 20 74 6f 20 75 6e 69 62 79 74 65 2e 22 0a 20 20 63 68 61 72 29 0a 0a 28 64 65 66 75 6e | ter.to.unibyte."...char)..(defun |
| 3de0 | 20 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 | .malyon-point-max.(&optional.buf |
| 3e00 | 66 65 72 29 0a 20 20 22 47 65 74 20 74 68 65 20 70 6f 69 6e 74 2d 6d 61 78 20 6f 66 20 74 68 65 | fer)..."Get.the.point-max.of.the |
| 3e20 | 20 67 69 76 65 6e 20 62 75 66 66 65 72 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f | .given.buffer."...(save-excursio |
| 3e40 | 6e 0a 20 20 20 20 28 69 66 20 62 75 66 66 65 72 20 28 73 65 74 2d 62 75 66 66 65 72 20 62 75 66 | n.....(if.buffer.(set-buffer.buf |
| 3e60 | 66 65 72 29 29 0a 20 20 20 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 | fer)).....(point-max)))..(defun. |
| 3e80 | 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72 61 6d 65 20 28 66 72 61 6d 65 20 26 72 | malyon-redisplay-frame.(frame.&r |
| 3ea0 | 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22 52 65 64 69 73 70 6c 61 79 20 74 68 65 20 67 69 76 | est.ignore)..."Redisplay.the.giv |
| 3ec0 | 65 6e 20 66 72 61 6d 65 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 72 65 64 69 73 | en.frame."...(if.(fboundp.'redis |
| 3ee0 | 70 6c 61 79 2d 66 72 61 6d 65 29 0a 20 20 20 20 20 20 28 72 65 64 69 73 70 6c 61 79 2d 66 72 61 | play-frame).......(redisplay-fra |
| 3f00 | 6d 65 20 66 72 61 6d 65 20 69 67 6e 6f 72 65 29 29 29 0a 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f | me.frame.ignore)))...;;.(if.(fbo |
| 3f20 | 75 6e 64 70 20 27 72 65 6d 6f 76 65 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 | undp.'remove).;;.....(defalias.' |
| 3f40 | 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 27 72 65 6d 6f 76 65 29 0a 3b 3b 20 20 20 28 64 65 66 | malyon-remove.'remove).;;...(def |
| 3f60 | 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 28 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29 0a | un.malyon-remove.(element.list). |
| 3f80 | 3b 3b 20 20 20 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 | ;;....."Remove.the.element.from. |
| 3fa0 | 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c | the.list.".;;.....(cond.((null.l |
| 3fc0 | 69 73 74 29 0a 3b 3b 20 09 20 20 20 27 28 29 29 0a 3b 3b 20 09 20 20 28 28 65 71 20 65 6c 65 6d | ist).;;.....'()).;;....((eq.elem |
| 3fe0 | 65 6e 74 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 09 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 | ent.(car.list)).;;.....(malyon-r |
| 4000 | 65 6d 6f 76 65 20 65 6c 65 6d 65 6e 74 20 28 63 64 72 20 6c 69 73 74 29 29 29 0a 3b 3b 20 09 20 | emove.element.(cdr.list))).;;... |
| 4020 | 20 28 28 65 71 75 61 6c 20 65 6c 65 6d 65 6e 74 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 | .((equal.element.(car.list)).;;. |
| 4040 | 09 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 65 6c 65 6d 65 6e 74 20 28 63 64 72 20 | ....(malyon-remove.element.(cdr. |
| 4060 | 6c 69 73 74 29 29 29 0a 3b 3b 20 09 20 20 28 74 0a 3b 3b 20 09 20 20 20 28 63 6f 6e 73 20 28 63 | list))).;;....(t.;;.....(cons.(c |
| 4080 | 61 72 20 6c 69 73 74 29 0a 3b 3b 20 09 09 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 65 6c | ar.list).;;....(malyon-remove.el |
| 40a0 | 65 6d 65 6e 74 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 29 29 0a 0a 3b 3b 20 6c 65 67 61 63 | ement.(cdr.list)))))))..;;.legac |
| 40c0 | 79 20 74 68 69 6e 67 2e 2e 2e 20 6e 6f 72 6d 61 6c 6c 79 20 74 68 69 73 20 69 73 20 61 20 6e 6f | y.thing....normally.this.is.a.no |
| 40e0 | 6f 70 20 66 6f 72 20 46 53 46 20 45 6d 61 63 73 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 | op.for.FSF.Emacs.(defun.malyon-s |
| 4100 | 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 28 6b 65 79 6d 61 70 20 6e 61 6d 65 29 0a 20 20 22 | et-keymap-name.(keymap.name)..." |
| 4120 | 53 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6b 65 79 6d 61 70 2e 22 0a 20 20 28 | Set.the.name.of.the.keymap."...( |
| 4140 | 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 29 0a 20 20 | if.(fboundp.'set-keymap-name)... |
| 4160 | 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6b 65 79 6d 61 70 20 6e 61 6d 65 | ....(set-keymap-name.keymap.name |
| 4180 | 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f 2d | )))..;;.(if.(fboundp.'string-to- |
| 41a0 | 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 73 | list).;;.....(defalias.'malyon-s |
| 41c0 | 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 27 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 29 0a 3b | tring-to-list.'string-to-list).; |
| 41e0 | 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 | ;...(defun.malyon-string-to-list |
| 4200 | 20 28 73 29 0a 3b 3b 20 20 20 20 20 22 43 6f 6e 76 65 72 74 20 61 20 73 74 72 69 6e 67 20 69 6e | .(s).;;....."Convert.a.string.in |
| 4220 | 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 3b 3b 20 20 20 20 | to.a.list.of.characters.".;;.... |
| 4240 | 20 28 6c 65 74 20 28 28 69 20 28 2d 20 28 6c 65 6e 67 74 68 20 73 29 20 31 29 29 20 28 6c 20 27 | .(let.((i.(-.(length.s).1)).(l.' |
| 4260 | 28 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 30 20 69 29 0a 3b 3b | ())).;;.......(while.(<=.0.i).;; |
| 4280 | 20 09 28 73 65 74 71 20 6c 20 28 63 6f 6e 73 20 28 61 72 65 66 20 73 20 69 29 20 6c 29 0a 3b 3b | ..(setq.l.(cons.(aref.s.i).l).;; |
| 42a0 | 20 09 20 20 20 20 20 20 69 20 28 2d 20 69 20 31 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 6c 29 29 | ........i.(-.i.1))).;;.......l)) |
| 42c0 | 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76 65 | )..;;.(if.(fboundp.'string-to-ve |
| 42e0 | 63 74 6f 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 73 | ctor).;;.....(defalias.'malyon-s |
| 4300 | 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f | tring-to-vector.'string-to-vecto |
| 4320 | 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d | r).;;...(defun.malyon-string-to- |
| 4340 | 76 65 63 74 6f 72 20 28 73 29 0a 3b 3b 20 20 20 20 20 22 43 6f 6e 76 65 72 74 20 61 20 73 74 72 | vector.(s).;;....."Convert.a.str |
| 4360 | 69 6e 67 20 69 6e 74 6f 20 61 20 76 65 63 74 6f 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e | ing.into.a.vector.of.characters. |
| 4380 | 22 0a 3b 3b 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 20 30 29 20 28 6c 20 28 6c 65 6e 67 74 68 | ".;;.....(let*.((i.0).(l.(length |
| 43a0 | 20 73 29 29 20 28 76 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 6c 20 30 29 29 29 0a 3b 3b 20 20 | .s)).(v.(make-vector.l.0))).;;.. |
| 43c0 | 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 29 0a 3b 3b 20 09 28 61 73 65 74 20 76 20 | .....(while.(<.i.l).;;..(aset.v. |
| 43e0 | 69 20 28 61 72 65 66 20 73 20 69 29 29 0a 3b 3b 20 09 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 | i.(aref.s.i)).;;..(setq.i.(+.1.i |
| 4400 | 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 76 29 29 29 0a 0a 3b 20 44 6f 20 6e 6f 74 20 75 73 65 20 | ))).;;.......v)))..;.Do.not.use. |
| 4420 | 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 63 6f 6e 76 65 72 73 69 6f 6e 20 76 69 61 20 27 75 6e 69 | the.built-in.conversion.via.'uni |
| 4440 | 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 65 2e 0a 28 64 65 66 75 6e 20 6d | byte-char-to-multibyte..(defun.m |
| 4460 | 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 65 20 | alyon-unibyte-char-to-multibyte. |
| 4480 | 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 75 6e 69 62 79 74 65 20 63 68 61 72 | (char)..."Convert.a.unibyte.char |
| 44a0 | 61 63 74 65 72 20 74 6f 20 6d 75 6c 74 69 62 79 74 65 2e 22 0a 20 20 63 68 61 72 29 0a 0a 28 64 | acter.to.multibyte."...char)..(d |
| 44c0 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 76 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 28 76 20 62 65 | efun.malyon-vector-to-list.(v.be |
| 44e0 | 67 69 6e 20 65 6e 64 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 65 6c 65 | gin.end)..."Return.a.list.of.ele |
| 4500 | 6d 65 6e 74 73 20 69 6e 20 76 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 5b 62 65 67 69 6e 2c 20 | ments.in.v.in.the.range.[begin,. |
| 4520 | 65 6e 64 29 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 27 28 29 29 29 0a 20 20 20 | end)."...(let.((result.'())).... |
| 4540 | 20 28 77 68 69 6c 65 20 28 3c 20 62 65 67 69 6e 20 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65 74 | .(while.(<.begin.end).......(set |
| 4560 | 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 73 20 28 61 72 65 66 20 76 20 62 65 67 69 6e 29 20 72 65 | q.result.(cons.(aref.v.begin).re |
| 4580 | 73 75 6c 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 69 6e 20 28 2b 20 31 20 62 65 | sult)).......(setq.begin.(+.1.be |
| 45a0 | 67 69 6e 29 29 29 0a 20 20 20 20 28 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 0a | gin))).....(reverse.result)))... |
| 45c0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 | (defun.malyon-window-displayed-h |
| 45e0 | 65 69 67 68 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 77 69 6e 64 6f 77 29 0a 20 20 22 47 65 74 20 | eight.(&optional.window)..."Get. |
| 4600 | 74 68 65 20 68 65 69 67 68 74 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20 64 69 73 70 6c | the.height.of.the.window's.displ |
| 4620 | 61 79 65 64 20 72 65 67 69 6f 6e 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 77 69 | ayed.region."...(if.(fboundp.'wi |
| 4640 | 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 28 77 69 | ndow-displayed-height).......(wi |
| 4660 | 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 20 77 69 6e 64 6f 77 29 0a 20 20 | ndow-displayed-height.window)... |
| 4680 | 20 20 28 2d 20 28 77 69 6e 64 6f 77 2d 68 65 69 67 68 74 29 20 31 29 29 29 0a 0a 28 64 65 66 75 | ..(-.(window-height).1)))..(defu |
| 46a0 | 6e 20 6d 61 6c 79 6f 6e 2d 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 28 70 72 | n.malyon-yes-or-no-p-minibuf.(pr |
| 46c0 | 6f 6d 70 74 29 0a 20 20 22 41 73 6b 20 61 20 79 65 73 20 6f 72 20 6e 6f 20 71 75 65 73 74 69 6f | ompt)..."Ask.a.yes.or.no.questio |
| 46e0 | 6e 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d | n."...(if.(fboundp.'yes-or-no-p- |
| 4700 | 6d 69 6e 69 62 75 66 29 0a 20 20 20 20 20 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 | minibuf).......(yes-or-no-p-mini |
| 4720 | 62 75 66 20 70 72 6f 6d 70 74 29 0a 20 20 20 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 70 72 6f | buf.prompt).....(yes-or-no-p.pro |
| 4740 | 6d 70 74 29 29 29 0a 0a 3b 3b 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72 20 | mpt)))..;;.global.variables.for. |
| 4760 | 74 68 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d | the.malyon.mode..(defvar.malyon- |
| 4780 | 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 53 79 6e 74 61 78 20 74 61 62 6c 65 | syntax-table.nil..."Syntax.table |
| 47a0 | 20 75 73 65 64 20 77 68 69 6c 65 20 69 6e 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 28 73 61 6d 65 | .used.while.in.malyon.mode.(same |
| 47c0 | 20 61 73 20 69 6e 20 74 65 78 74 2d 6d 6f 64 65 29 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e | .as.in.text-mode).")..(if.malyon |
| 47e0 | 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 | -syntax-table.....'()...(setq.ma |
| 4800 | 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d 74 | lyon-syntax-table.(make-syntax-t |
| 4820 | 61 62 6c 65 29 29 0a 20 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c | able))...(modify-syntax-entry.?\ |
| 4840 | 22 20 22 2e 20 20 20 22 20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 | "."....".malyon-syntax-table)... |
| 4860 | 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 5c 20 22 2e 20 20 20 22 20 | (modify-syntax-entry.?\\."....". |
| 4880 | 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 28 6d 6f 64 69 66 79 2d 73 | malyon-syntax-table)...(modify-s |
| 48a0 | 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 27 20 20 22 77 20 20 20 22 20 6d 61 6c 79 6f 6e 2d 73 79 | yntax-entry.?'.."w...".malyon-sy |
| 48c0 | 6e 74 61 78 2d 74 61 62 6c 65 29 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 | ntax-table))..(defvar.malyon-key |
| 48e0 | 6d 61 70 2d 72 65 61 64 20 6e 69 6c 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79 6f | map-read.nil..."Keymap.for.malyo |
| 4900 | 6e 20 6d 6f 64 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 69 6e 70 75 74 20 69 6e 74 6f 20 61 20 | n.mode.for.reading.input.into.a. |
| 4920 | 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 | buffer.")..(defvar.malyon-histor |
| 4940 | 79 2d 73 61 76 65 64 2d 75 70 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 61 76 65 64 20 62 69 6e 64 | y-saved-up.nil..."The.saved.bind |
| 4960 | 69 6e 67 20 66 6f 72 20 74 68 65 20 75 70 20 61 72 72 6f 77 20 6b 65 79 2e 22 29 0a 0a 28 64 65 | ing.for.the.up.arrow.key.")..(de |
| 4980 | 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 64 6f 77 6e 20 6e | fvar.malyon-history-saved-down.n |
| 49a0 | 69 6c 0a 20 20 22 54 68 65 20 73 61 76 65 64 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65 20 | il..."The.saved.binding.for.the. |
| 49c0 | 64 6f 77 6e 20 61 72 72 6f 77 20 6b 65 79 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 | down.arrow.key.")..(if.malyon-ke |
| 49e0 | 79 6d 61 70 2d 72 65 61 64 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | ymap-read.....'()...(setq.malyon |
| 4a00 | 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 | -keymap-read.(make-sparse-keymap |
| 4a20 | 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6d 61 6c | ))...(malyon-set-keymap-name.mal |
| 4a40 | 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 | yon-keymap-read.'malyon-keymap-r |
| 4a60 | 65 61 64 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 | ead)...(setq.malyon-history-save |
| 4a80 | 64 2d 75 70 20 20 20 28 67 6c 6f 62 61 6c 2d 6b 65 79 2d 62 69 6e 64 69 6e 67 20 5b 75 70 5d 29 | d-up...(global-key-binding.[up]) |
| 4aa0 | 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 64 | )...(setq.malyon-history-saved-d |
| 4ac0 | 6f 77 6e 20 28 67 6c 6f 62 61 6c 2d 6b 65 79 2d 62 69 6e 64 69 6e 67 20 5b 64 6f 77 6e 5d 29 29 | own.(global-key-binding.[down])) |
| 4ae0 | 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 | ...(define-key.malyon-keymap-rea |
| 4b00 | 64 20 22 5c 72 22 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e 70 75 74 29 | d."\r"........'malyon-end-input) |
| 4b20 | 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 | ...(define-key.malyon-keymap-rea |
| 4b40 | 64 20 5b 75 70 5d 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 | d.[up]........'malyon-history-pr |
| 4b60 | 65 76 69 6f 75 73 2d 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f | evious-char)...(define-key.malyo |
| 4b80 | 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 64 6f 77 6e 5d 20 20 20 20 20 20 27 6d 61 6c 79 6f | n-keymap-read.[down]......'malyo |
| 4ba0 | 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b | n-history-next-char)...(define-k |
| 4bc0 | 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 4d 2d 70 22 20 20 20 20 | ey.malyon-keymap-read."\M-p".... |
| 4be0 | 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 73 2d 63 68 61 72 29 | ..'malyon-history-previous-char) |
| 4c00 | 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 | ...(define-key.malyon-keymap-rea |
| 4c20 | 64 20 22 5c 4d 2d 6e 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 | d."\M-n"......'malyon-history-ne |
| 4c40 | 78 74 2d 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 | xt-char)...(define-key.malyon-ke |
| 4c60 | 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 61 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 62 65 | ymap-read."\C-a"......'malyon-be |
| 4c80 | 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d | ginning-of-line)...(define-key.m |
| 4ca0 | 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 77 22 20 20 20 20 20 20 27 6d | alyon-keymap-read."\C-w"......'m |
| 4cc0 | 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 6f 6e 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 | alyon-kill-region)...(define-key |
| 4ce0 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 6b 22 20 20 20 20 20 20 | .malyon-keymap-read."\C-k"...... |
| 4d00 | 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 6c 69 6e 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 | 'malyon-kill-line)...(define-key |
| 4d20 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 4d 2d 64 22 20 20 20 20 20 20 | .malyon-keymap-read."\M-d"...... |
| 4d40 | 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 77 6f 72 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 | 'malyon-kill-word)...(define-key |
| 4d60 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 79 22 20 20 20 20 20 20 | .malyon-keymap-read."\C-y"...... |
| 4d80 | 27 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 | 'malyon-yank)...(define-key.maly |
| 4da0 | 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 4d 2d 79 22 20 20 20 20 20 20 27 6d 61 6c 79 | on-keymap-read."\M-y"......'maly |
| 4dc0 | 6f 6e 2d 79 61 6e 6b 2d 70 6f 70 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f | on-yank-pop)...(define-key.malyo |
| 4de0 | 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 43 2d 64 22 20 20 20 20 20 20 27 6d 61 6c 79 6f | n-keymap-read."\C-d"......'malyo |
| 4e00 | 6e 2d 64 65 6c 65 74 65 2d 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c | n-delete-char)...(define-key.mal |
| 4e20 | 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 64 22 20 20 20 20 20 20 20 20 27 6d 61 6c | yon-keymap-read."\d"........'mal |
| 4e40 | 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 6c 65 74 65 2d 63 68 61 72 29 0a 20 20 28 64 65 66 | yon-backward-delete-char)...(def |
| 4e60 | 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 64 65 6c 5d | ine-key.malyon-keymap-read.[del] |
| 4e80 | 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 64 65 6c 65 74 65 2d 63 68 61 72 29 0a 20 20 28 64 | .......'malyon-delete-char)...(d |
| 4ea0 | 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 62 61 | efine-key.malyon-keymap-read.[ba |
| 4ec0 | 63 6b 73 70 61 63 65 5d 20 27 6d 61 6c 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 6c 65 74 65 | ckspace].'malyon-backward-delete |
| 4ee0 | 2d 63 68 61 72 29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 | -char)...(substitute-key-definit |
| 4f00 | 69 6f 6e 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d | ion.(lookup-key.(current-global- |
| 4f20 | 6d 61 70 29 20 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | map)."a")....................... |
| 4f40 | 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d 61 | .......'malyon-self-insert-comma |
| 4f60 | 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nd.............................. |
| 4f80 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 | malyon-keymap-read.(current-glob |
| 4fa0 | 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 | al-map)))..(defvar.malyon-keymap |
| 4fc0 | 2d 72 65 61 64 63 68 61 72 20 6e 69 6c 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79 | -readchar.nil..."Keymap.for.maly |
| 4fe0 | 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 77 61 69 74 69 6e 67 20 66 6f 72 20 69 6e 70 75 74 2e 22 29 | on.mode.for.waiting.for.input.") |
| 5000 | 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 0a 20 20 20 | ..(if.malyon-keymap-readchar.... |
| 5020 | 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 | .'()...(setq.malyon-keymap-readc |
| 5040 | 68 61 72 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 28 6d 61 6c | har.(make-sparse-keymap))...(mal |
| 5060 | 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 | yon-set-keymap-name.malyon-keyma |
| 5080 | 70 2d 72 65 61 64 63 68 61 72 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 | p-readchar.'malyon-keymap-readch |
| 50a0 | 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d | ar)...(define-key.malyon-keymap- |
| 50c0 | 72 65 61 64 63 68 61 72 20 22 5c 72 22 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 29 | readchar."\r".'malyon-wait-char) |
| 50e0 | 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 6c | ...(substitute-key-definition.(l |
| 5100 | 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 | ookup-key.(current-global-map)." |
| 5120 | 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | a")............................. |
| 5140 | 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .'malyon-wait-char.............. |
| 5160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 | ................malyon-keymap-re |
| 5180 | 61 64 63 68 61 72 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 | adchar.(current-global-map)))..( |
| 51a0 | 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 20 6e 69 6c 0a 20 20 | defvar.malyon-keymap-more.nil... |
| 51c0 | 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 62 72 6f 77 | "Keymap.for.malyon.mode.for.brow |
| 51e0 | 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 65 78 74 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e | sing.through.text.")..(if.malyon |
| 5200 | 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c | -keymap-more.....'()...(setq.mal |
| 5220 | 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 | yon-keymap-more.(make-sparse-key |
| 5240 | 6d 61 70 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 | map))...(malyon-set-keymap-name. |
| 5260 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 | malyon-keymap-more.'malyon-keyma |
| 5280 | 70 2d 6d 6f 72 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 | p-more)...(define-key.malyon-key |
| 52a0 | 6d 61 70 2d 6d 6f 72 65 20 22 5c 72 22 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 29 | map-more."\r".'malyon-more-char) |
| 52c0 | 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 6c | ...(substitute-key-definition.(l |
| 52e0 | 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 | ookup-key.(current-global-map)." |
| 5300 | 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | a")............................. |
| 5320 | 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .'malyon-more-char.............. |
| 5340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f | ................malyon-keymap-mo |
| 5360 | 72 65 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 64 65 66 76 | re.(current-global-map)))..(defv |
| 5380 | 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 6e 69 6c | ar.malyon-keymap-more-status.nil |
| 53a0 | 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 62 | ..."Keymap.for.malyon.mode.for.b |
| 53c0 | 72 6f 77 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 | rowsing.through.the.status.buffe |
| 53e0 | 72 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 | r.")..(if.malyon-keymap-more-sta |
| 5400 | 74 75 73 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 | tus.....'()...(setq.malyon-keyma |
| 5420 | 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 | p-more-status.(make-sparse-keyma |
| 5440 | 70 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 6d 61 | p))...(malyon-set-keymap-name.ma |
| 5460 | 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 27 6d 61 6c 79 6f 6e 2d | lyon-keymap-more-status.'malyon- |
| 5480 | 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 | keymap-more-status)...(define-ke |
| 54a0 | 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 22 5c 72 22 | y.malyon-keymap-more-status."\r" |
| 54c0 | 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75 73 29 0a 20 20 28 73 75 | .'malyon-more-char-status)...(su |
| 54e0 | 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 6c 6f 6f 6b 75 70 2d | bstitute-key-definition.(lookup- |
| 5500 | 6b 65 79 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 61 22 29 0a 20 20 | key.(current-global-map)."a")... |
| 5520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 | ...........................'maly |
| 5540 | 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | on-more-char-status............. |
| 5560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d | .................malyon-keymap-m |
| 5580 | 6f 72 65 2d 73 74 61 74 75 73 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 29 | ore-status.(current-global-map)) |
| 55a0 | 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 0a 20 20 | )..(defface.malyon-face-plain... |
| 55c0 | 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20 22 42 61 73 69 63 | '((t.:inherit.default))..."Basic |
| 55e0 | 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 | .face.for.game.text."...:group.' |
| 5600 | 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 62 6f | malyon)..(defface.malyon-face-bo |
| 5620 | 6c 64 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 62 6f 6c 64 29 29 0a 20 20 22 42 6f 6c | ld...'((t.:inherit.bold))..."Bol |
| 5640 | 64 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 | d.face.for.game.text."...:group. |
| 5660 | 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 65 | 'malyon)..(defface.malyon-face-e |
| 5680 | 72 72 6f 72 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 65 72 72 6f 72 29 29 0a 20 20 22 | rror...'((t.:inherit.error))..." |
| 56a0 | 46 61 63 65 20 66 6f 72 20 67 61 6d 65 20 65 72 72 6f 72 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 | Face.for.game.errors."...:group. |
| 56c0 | 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 69 | 'malyon)..(defface.malyon-face-i |
| 56e0 | 74 61 6c 69 63 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 69 74 61 6c 69 63 29 29 0a 20 | talic...'((t.:inherit.italic)).. |
| 5700 | 20 22 49 74 61 6c 69 63 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20 74 65 78 74 2e 22 0a 20 20 | ."Italic.face.for.game.text."... |
| 5720 | 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e | :group.'malyon)..(defface.malyon |
| 5740 | 2d 66 61 63 65 2d 72 65 76 65 72 73 65 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 | -face-reverse...'((t.:inherit.de |
| 5760 | 66 61 75 6c 74 20 3a 69 6e 76 65 72 73 65 2d 76 69 64 65 6f 20 74 29 29 0a 20 20 22 46 61 63 65 | fault.:inverse-video.t))..."Face |
| 5780 | 20 66 6f 72 20 72 65 76 65 72 73 65 2d 76 69 64 65 6f 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f | .for.reverse-video.text."...:gro |
| 57a0 | 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 | up.'malyon)..(defvar.malyon-face |
| 57c0 | 73 0a 20 20 27 28 28 30 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 0a 20 20 | s...'((0...malyon-face-plain)... |
| 57e0 | 20 20 28 31 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 29 0a 20 20 20 20 | ..(1...malyon-face-reverse)..... |
| 5800 | 28 32 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 62 6f 6c 64 29 0a 20 20 20 20 28 34 20 2e 20 | (2...malyon-face-bold).....(4... |
| 5820 | 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 69 74 61 6c 69 63 29 0a 20 20 20 20 28 38 20 2e 20 6d 61 6c | malyon-face-italic).....(8...mal |
| 5840 | 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 29 0a 20 20 22 41 6e 20 61 73 73 6f 63 69 61 74 69 | yon-face-plain))..."An.associati |
| 5860 | 6f 6e 20 6c 69 73 74 20 6f 66 20 74 65 78 74 20 66 61 63 65 73 20 75 73 65 64 20 62 79 20 74 68 | on.list.of.text.faces.used.by.th |
| 5880 | 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e | e.malyon.mode.")..(defvar.malyon |
| 58a0 | 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f 72 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 69 | -print-separator.nil..."A.flag.i |
| 58c0 | 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65 72 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 2a | ndicating.whether.to.print.the.* |
| 58e0 | 20 2a 20 2a 20 73 65 70 61 72 61 74 6f 72 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | .*.*.separator.")..(defun.malyon |
| 5900 | 2d 62 65 67 69 6e 2d 73 65 63 74 69 6f 6e 20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 65 63 | -begin-section.()..."Print.a.sec |
| 5920 | 74 69 6f 6e 20 64 69 76 69 64 65 72 20 61 6e 64 20 62 65 67 69 6e 20 61 20 6e 65 77 20 73 65 63 | tion.divider.and.begin.a.new.sec |
| 5940 | 74 69 6f 6e 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 | tion."...(if.malyon-print-separa |
| 5960 | 74 6f 72 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 27 | tor.......(progn.........(mapc.' |
| 5980 | 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 20 27 28 3f 5c 6e 20 | malyon-putchar-transcript.'(?\n. |
| 59a0 | 3f 5c 6e 20 3f 2a 20 3f 20 20 3f 2a 20 3f 20 20 3f 2a 29 29 0a 20 20 20 20 20 20 20 20 28 63 65 | ?\n.?*.?..?*.?..?*)).........(ce |
| 59c0 | 6e 74 65 72 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 27 6d 61 6c 79 6f 6e | nter-line).........(mapc.'malyon |
| 59e0 | 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 20 27 28 3f 5c 6e 20 3f 5c 6e 29 29 0a | -putchar-transcript.'(?\n.?\n)). |
| 5a00 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 | ........(setq.malyon-print-separ |
| 5a20 | 61 74 6f 72 20 6e 69 6c 29 29 29 0a 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 | ator.nil)))...(narrow-to-region. |
| 5a40 | 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 0a 28 69 66 20 6d | (point-max).(point-max)))..(if.m |
| 5a60 | 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 | alyon-whitespace.....'()...(setq |
| 5a80 | 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e | .malyon-whitespace.(list.(malyon |
| 5aa0 | 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -char-to-int.?.)................ |
| 5ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f | .................(malyon-char-to |
| 5ae0 | 2d 69 6e 74 20 3f 5c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -int.?\t)....................... |
| 5b00 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 5c | ..........(malyon-char-to-int.?\ |
| 5b20 | 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n).............................. |
| 5b40 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 5c 72 29 29 29 29 0a 0a | ...(malyon-char-to-int.?\r)))).. |
| 5b60 | 3b 3b 20 6d 65 6d 6f 72 79 20 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 73 75 62 73 74 20 6d | ;;.memory.utilities..(defsubst.m |
| 5b80 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 61 | alyon-read-byte.(address)..."Rea |
| 5ba0 | 64 20 61 20 62 79 74 65 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 | d.a.byte.at.address.in.the.story |
| 5bc0 | 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20 20 | .file."...(if.(<=.0.address).... |
| 5be0 | 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 | ...(aref.malyon-story-file.addre |
| 5c00 | 73 73 29 0a 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 | ss).....(aref.malyon-story-file. |
| 5c20 | 28 2b 20 36 35 35 33 36 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 | (+.65536.address))))..(defsubst. |
| 5c40 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 | malyon-store-byte.(address.value |
| 5c60 | 29 0a 20 20 22 53 74 6f 72 65 20 61 20 62 79 74 65 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 | )..."Store.a.byte.at.address.in. |
| 5c80 | 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 | the.story.file."...(if.(<=.0.add |
| 5ca0 | 72 65 73 73 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 | ress).......(aset.malyon-story-f |
| 5cc0 | 69 6c 65 20 61 64 64 72 65 73 73 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 0a | ile.address.(logand.255.value)). |
| 5ce0 | 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 36 | ....(aset.malyon-story-file.(+.6 |
| 5d00 | 35 35 33 36 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 | 5536.address).(logand.255.value) |
| 5d20 | 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 | )))..(defsubst.malyon-read-word. |
| 5d40 | 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 61 64 20 61 20 77 6f 72 64 20 61 74 20 61 64 64 72 | (address)..."Read.a.word.at.addr |
| 5d60 | 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3c | ess.in.the.story.file."...(if.(< |
| 5d80 | 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 | =.0.address).......(logior.(lsh. |
| 5da0 | 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 73 73 29 | (aref.malyon-story-file.address) |
| 5dc0 | 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 | .8)...............(aref.malyon-s |
| 5de0 | 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28 6c | tory-file.(+.1.address))).....(l |
| 5e00 | 6f 67 69 6f 72 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 | ogior.(lsh.(aref.malyon-story-fi |
| 5e20 | 6c 65 20 28 2b 20 36 35 35 33 36 20 61 64 64 72 65 73 73 29 29 20 38 29 0a 20 20 20 20 20 20 20 | le.(+.65536.address)).8)........ |
| 5e40 | 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 | .....(aref.malyon-story-file.(+. |
| 5e60 | 36 35 35 33 37 20 61 64 64 72 65 73 73 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 | 65537.address)))))..(defsubst.ma |
| 5e80 | 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a | lyon-store-word.(address.value). |
| 5ea0 | 20 20 22 53 74 6f 72 65 20 61 20 77 6f 72 64 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 | .."Store.a.word.at.address.in.th |
| 5ec0 | 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 72 65 | e.story.file."...(if.(<=.0.addre |
| 5ee0 | 73 73 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d | ss).......(progn.........(aset.m |
| 5f00 | 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 73 73 20 28 6c 6f 67 61 6e 64 | alyon-story-file.address.(logand |
| 5f20 | 20 32 35 35 20 28 6c 73 68 20 76 61 6c 75 65 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 | .255.(lsh.value.-8))).........(a |
| 5f40 | 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 31 20 61 64 64 72 65 | set.malyon-story-file.(+.1.addre |
| 5f60 | 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 61 73 | ss).(logand.255.value))).....(as |
| 5f80 | 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 36 35 35 33 36 20 61 64 | et.malyon-story-file.(+.65536.ad |
| 5fa0 | 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 76 61 6c 75 65 20 2d 38 | dress).(logand.255.(lsh.value.-8 |
| 5fc0 | 29 29 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 | ))).....(aset.malyon-story-file. |
| 5fe0 | 28 2b 20 36 35 35 33 37 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 | (+.65537.address).(logand.255.va |
| 6000 | 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 | lue))))..(defsubst.malyon-read-c |
| 6020 | 6f 64 65 2d 62 79 74 65 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79 74 | ode-byte.()..."Read.the.next.byt |
| 6040 | 65 20 61 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 72 20 6c 6f 63 61 74 69 6f | e.at.the.program.counter.locatio |
| 6060 | 6e 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 | n."...(setq.malyon-instruction-p |
| 6080 | 6f 69 6e 74 65 72 20 28 2b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 | ointer.(+.malyon-instruction-poi |
| 60a0 | 6e 74 65 72 20 31 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2d 20 | nter.1))...(malyon-read-byte.(-. |
| 60c0 | 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 31 29 29 29 0a | malyon-instruction-pointer.1))). |
| 60e0 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 | .(defsubst.malyon-read-code-word |
| 6100 | 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 77 6f 72 64 20 61 74 20 74 68 65 | .()..."Read.the.next.word.at.the |
| 6120 | 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 72 20 6c 6f 63 61 74 69 6f 6e 2e 22 0a 20 20 28 73 | .program.counter.location."...(s |
| 6140 | 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 | etq.malyon-instruction-pointer.( |
| 6160 | 2b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 32 29 29 | +.malyon-instruction-pointer.2)) |
| 6180 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2d 20 6d 61 6c 79 6f 6e 2d 69 | ...(malyon-read-word.(-.malyon-i |
| 61a0 | 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 32 29 29 29 0a 0a 28 64 65 66 73 75 62 | nstruction-pointer.2)))..(defsub |
| 61c0 | 73 74 20 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 20 28 29 0a 20 20 22 50 6f 70 20 61 20 | st.malyon-pop-stack.()..."Pop.a. |
| 61e0 | 76 61 6c 75 65 20 6f 66 66 20 74 68 65 20 73 74 61 63 6b 2e 22 0a 20 20 28 69 66 20 28 3e 20 30 | value.off.the.stack."...(if.(>.0 |
| 6200 | 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 28 6d 61 | .malyon-stack-pointer).......(ma |
| 6220 | 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 73 74 61 63 6b 20 75 6e 64 65 72 66 6c 6f | lyon-fatal-error."stack.underflo |
| 6240 | 77 2e 22 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 | w."))...(setq.malyon-stack-point |
| 6260 | 65 72 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a 20 | er.(-.malyon-stack-pointer.1)).. |
| 6280 | 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 28 2b 20 6d 61 6c 79 6f 6e 2d 73 74 | .(aref.malyon-stack.(+.malyon-st |
| 62a0 | 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 | ack-pointer.1)))..(defsubst.maly |
| 62c0 | 6f 6e 2d 72 65 61 64 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 | on-read-local-variable.(variable |
| 62e0 | 29 0a 20 20 22 52 65 61 64 20 61 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 | )..."Read.a.local.variable."...( |
| 6300 | 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 28 2b 20 76 61 72 69 61 62 6c 65 20 6d 61 | aref.malyon-stack.(+.variable.ma |
| 6320 | 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 | lyon-frame-pointer)))..(defsubst |
| 6340 | 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 | .malyon-read-global-variable.(va |
| 6360 | 72 69 61 62 6c 65 29 0a 20 20 22 52 65 61 64 20 61 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c | riable)..."Read.a.global.variabl |
| 6380 | 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f | e."...(malyon-read-word.(+.malyo |
| 63a0 | 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 28 2a 20 32 20 76 61 72 69 61 62 6c 65 | n-global-variables.(*.2.variable |
| 63c0 | 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 | ))))..(defsubst.malyon-read-vari |
| 63e0 | 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20 22 52 65 61 64 20 61 20 76 61 72 69 61 62 | able.(variable)..."Read.a.variab |
| 6400 | 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3d 20 76 61 72 69 61 62 6c 65 20 30 29 20 20 28 6d | le."...(cond.((=.variable.0)..(m |
| 6420 | 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 76 61 | alyon-pop-stack)).........((<.va |
| 6440 | 72 69 61 62 6c 65 20 31 36 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 6c 6f 63 61 6c 2d 76 61 | riable.16).(malyon-read-local-va |
| 6460 | 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 20 20 | riable.variable)).........(t.... |
| 6480 | 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 | ...........(malyon-read-global-v |
| 64a0 | 61 72 69 61 62 6c 65 20 28 2d 20 76 61 72 69 61 62 6c 65 20 31 36 29 29 29 29 29 0a 0a 28 64 65 | ariable.(-.variable.16)))))..(de |
| 64c0 | 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 76 61 6c 75 65 29 | fsubst.malyon-push-stack.(value) |
| 64e0 | 0a 20 20 22 50 75 73 68 20 61 20 76 61 6c 75 65 20 6f 6e 74 6f 20 74 68 65 20 73 74 61 63 6b 2e | ..."Push.a.value.onto.the.stack. |
| 6500 | 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 28 | "...(setq.malyon-stack-pointer.( |
| 6520 | 2b 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a 20 20 28 61 73 | +.malyon-stack-pointer.1))...(as |
| 6540 | 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 | et.malyon-stack.malyon-stack-poi |
| 6560 | 6e 74 65 72 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 | nter.value))..(defsubst.malyon-s |
| 6580 | 74 6f 72 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 20 76 61 | tore-local-variable.(variable.va |
| 65a0 | 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20 69 6e 20 61 20 6c 6f 63 61 6c | lue)..."Store.a.value.in.a.local |
| 65c0 | 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b | .variable."...(aset.malyon-stack |
| 65e0 | 20 28 2b 20 76 61 72 69 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 | .(+.variable.malyon-frame-pointe |
| 6600 | 72 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f | r).value))..(defsubst.malyon-sto |
| 6620 | 72 65 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 20 76 61 6c | re-global-variable.(variable.val |
| 6640 | 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20 69 6e 20 61 20 67 6c 6f 62 61 6c | ue)..."Store.a.value.in.a.global |
| 6660 | 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 | .variable."...(malyon-store-word |
| 6680 | 20 28 2b 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 28 2a 20 32 | .(+.malyon-global-variables.(*.2 |
| 66a0 | 20 76 61 72 69 61 62 6c 65 29 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d | .variable)).value))..(defsubst.m |
| 66c0 | 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 20 76 61 6c 75 65 29 | alyon-store-variable.(var.value) |
| 66e0 | 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 61 20 76 61 72 69 61 62 6c | ..."Store.the.value.in.a.variabl |
| 6700 | 65 2e 22 0a 20 20 28 73 65 74 71 20 76 61 6c 75 65 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 20 | e."...(setq.value.(logand.65535. |
| 6720 | 76 61 6c 75 65 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 3d 20 76 61 72 20 30 29 20 20 28 6d 61 6c | value))...(cond.((=.var.0)..(mal |
| 6740 | 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 28 | yon-push-stack.value)).........( |
| 6760 | 28 3c 20 76 61 72 20 31 36 29 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 6c 6f 63 61 6c 2d 76 | (<.var.16).(malyon-store-local-v |
| 6780 | 61 72 69 61 62 6c 65 20 76 61 72 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 | ariable.var.value)).........(t.. |
| 67a0 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 67 6c 6f 62 61 6c 2d 76 61 72 | ........(malyon-store-global-var |
| 67c0 | 69 61 62 6c 65 20 28 2d 20 76 61 72 20 31 36 29 20 76 61 6c 75 65 29 29 29 29 0a 0a 3b 3b 20 6c | iable.(-.var.16).value))))..;;.l |
| 67e0 | 69 73 74 20 6f 66 20 6f 70 63 6f 64 65 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f | ist.of.opcodes..(defvar.malyon-o |
| 6800 | 70 63 6f 64 65 73 0a 20 20 5b 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d | pcodes...[malyon-opcode-nop....m |
| 6820 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c | alyon-opcode-je..............mal |
| 6840 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a | yon-opcode-jl....malyon-opcode-j |
| 6860 | 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 | g..............malyon-opcode-dec |
| 6880 | 2d 63 68 6b 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 20 20 | -chk....malyon-opcode-inc-chk... |
| 68a0 | 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f | ......malyon-opcode-jin....malyo |
| 68c0 | 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d | n-opcode-test............malyon- |
| 68e0 | 6f 70 63 6f 64 65 2d 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20 20 | opcode-or....malyon-opcode-and.. |
| 6900 | 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61 74 | ...........malyon-opcode-test-at |
| 6920 | 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 20 20 | tr....malyon-opcode-set-attr.... |
| 6940 | 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 20 20 | ....malyon-opcode-clear-attr.... |
| 6960 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 6d 61 | malyon-opcode-store...........ma |
| 6980 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e | lyon-opcode-insert-obj....malyon |
| 69a0 | 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-loadw...........malyon-o |
| 69c0 | 70 63 6f 64 65 2d 6c 6f 61 64 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 | pcode-loadb....malyon-opcode-get |
| 69e0 | 2d 70 72 6f 70 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 | -prop........malyon-opcode-get-p |
| 6a00 | 72 6f 70 2d 61 64 64 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 6e 65 | rop-addr....malyon-opcode-get-ne |
| 6a20 | 78 74 2d 70 72 6f 70 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 20 6d | xt-prop...malyon-opcode-add....m |
| 6a40 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c | alyon-opcode-sub.............mal |
| 6a60 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | yon-opcode-mul....malyon-opcode- |
| 6a80 | 64 69 76 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f | div.............malyon-opcode-mo |
| 6aa0 | 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 20 20 | d....malyon-opcode-calls........ |
| 6ac0 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e | ...malyon-opcode-calln....malyon |
| 6ae0 | 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-set-color.......malyon-o |
| 6b00 | 70 63 6f 64 65 2d 74 68 72 6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 | pcode-throw....malyon-opcode-nop |
| 6b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 | .............malyon-opcode-nop.. |
| 6b40 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..malyon-opcode-nop............. |
| 6b60 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | malyon-opcode-nop....malyon-opco |
| 6b80 | 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | de-je..............malyon-opcode |
| 6ba0 | 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 20 20 20 20 20 20 20 20 | -jl....malyon-opcode-jg......... |
| 6bc0 | 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 0a 20 20 20 6d 61 | .....malyon-opcode-dec-chk....ma |
| 6be0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 20 20 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-inc-chk.........maly |
| 6c00 | 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 | on-opcode-jin....malyon-opcode-t |
| 6c20 | 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 72 0a | est............malyon-opcode-or. |
| 6c40 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20 20 20 20 20 20 20 20 20 20 20 20 | ...malyon-opcode-and............ |
| 6c60 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 | .malyon-opcode-test-attr....maly |
| 6c80 | 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e | on-opcode-set-attr........malyon |
| 6ca0 | 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | -opcode-clear-attr....malyon-opc |
| 6cc0 | 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-store...........malyon-opcod |
| 6ce0 | 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f | e-insert-obj....malyon-opcode-lo |
| 6d00 | 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 | adw...........malyon-opcode-load |
| 6d20 | 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 20 20 20 20 | b....malyon-opcode-get-prop..... |
| 6d40 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 72 0a 20 | ...malyon-opcode-get-prop-addr.. |
| 6d60 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 20 20 | ..malyon-opcode-get-next-prop... |
| 6d80 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | malyon-opcode-add....malyon-opco |
| 6da0 | 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | de-sub.............malyon-opcode |
| 6dc0 | 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 20 20 20 20 20 20 | -mul....malyon-opcode-div....... |
| 6de0 | 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 0a 20 20 20 6d 61 6c 79 6f | ......malyon-opcode-mod....malyo |
| 6e00 | 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d | n-opcode-calls...........malyon- |
| 6e20 | 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 | opcode-calln....malyon-opcode-se |
| 6e40 | 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 72 6f | t-color.......malyon-opcode-thro |
| 6e60 | 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 | w....malyon-opcode-nop.......... |
| 6e80 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | ...malyon-opcode-nop....malyon-o |
| 6ea0 | 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-nop.............malyon-opc |
| 6ec0 | 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 20 20 20 20 | ode-nop....malyon-opcode-je..... |
| 6ee0 | 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c | .........malyon-opcode-jl....mal |
| 6f00 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f | yon-opcode-jg..............malyo |
| 6f20 | 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | n-opcode-dec-chk....malyon-opcod |
| 6f40 | 65 2d 69 6e 63 2d 63 68 6b 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | e-inc-chk.........malyon-opcode- |
| 6f60 | 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 20 20 20 20 20 20 20 | jin....malyon-opcode-test....... |
| 6f80 | 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d | .....malyon-opcode-or....malyon- |
| 6fa0 | 6f 70 63 6f 64 65 2d 61 6e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 | opcode-and.............malyon-op |
| 6fc0 | 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | code-test-attr....malyon-opcode- |
| 6fe0 | 73 65 74 2d 61 74 74 72 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c | set-attr........malyon-opcode-cl |
| 7000 | 65 61 72 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 20 | ear-attr....malyon-opcode-store. |
| 7020 | 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f | ..........malyon-opcode-insert-o |
| 7040 | 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 20 20 20 20 20 20 | bj....malyon-opcode-loadw....... |
| 7060 | 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 62 0a 20 20 20 6d 61 6c 79 6f | ....malyon-opcode-loadb....malyo |
| 7080 | 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d | n-opcode-get-prop........malyon- |
| 70a0 | 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | opcode-get-prop-addr....malyon-o |
| 70c0 | 70 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-get-next-prop...malyon-opc |
| 70e0 | 6f 64 65 2d 61 64 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 20 20 20 | ode-add....malyon-opcode-sub.... |
| 7100 | 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 | .........malyon-opcode-mul....ma |
| 7120 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-div.............maly |
| 7140 | 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 | on-opcode-mod....malyon-opcode-c |
| 7160 | 61 6c 6c 73 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c | alls...........malyon-opcode-cal |
| 7180 | 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 20 20 | ln....malyon-opcode-set-color... |
| 71a0 | 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 72 6f 77 0a 20 20 20 6d 61 6c 79 6f | ....malyon-opcode-throw....malyo |
| 71c0 | 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d | n-opcode-nop.............malyon- |
| 71e0 | 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 | opcode-nop....malyon-opcode-nop. |
| 7200 | 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 | ............malyon-opcode-nop... |
| 7220 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d | .malyon-opcode-je..............m |
| 7240 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | alyon-opcode-jl....malyon-opcode |
| 7260 | 2d 6a 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 | -jg..............malyon-opcode-d |
| 7280 | 65 63 2d 63 68 6b 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 | ec-chk....malyon-opcode-inc-chk. |
| 72a0 | 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c | ........malyon-opcode-jin....mal |
| 72c0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f | yon-opcode-test............malyo |
| 72e0 | 6e 2d 6f 70 63 6f 64 65 2d 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 | n-opcode-or....malyon-opcode-and |
| 7300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d | .............malyon-opcode-test- |
| 7320 | 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 | attr....malyon-opcode-set-attr.. |
| 7340 | 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 | ......malyon-opcode-clear-attr.. |
| 7360 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 | ..malyon-opcode-store........... |
| 7380 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 | malyon-opcode-insert-obj....maly |
| 73a0 | 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e | on-opcode-loadw...........malyon |
| 73c0 | 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 | -opcode-loadb....malyon-opcode-g |
| 73e0 | 65 74 2d 70 72 6f 70 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 | et-prop........malyon-opcode-get |
| 7400 | 2d 70 72 6f 70 2d 61 64 64 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d | -prop-addr....malyon-opcode-get- |
| 7420 | 6e 65 78 74 2d 70 72 6f 70 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 | next-prop...malyon-opcode-add... |
| 7440 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d | .malyon-opcode-sub.............m |
| 7460 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | alyon-opcode-mul....malyon-opcod |
| 7480 | 65 2d 64 69 76 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | e-div.............malyon-opcode- |
| 74a0 | 6d 6f 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 | mod....malyon-opcode-calls...... |
| 74c0 | 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 | .....malyon-opcode-calln....maly |
| 74e0 | 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e | on-opcode-set-color.......malyon |
| 7500 | 2d 6f 70 63 6f 64 65 2d 74 68 72 6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e | -opcode-throw....malyon-opcode-n |
| 7520 | 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 | op.............malyon-opcode-nop |
| 7540 | 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 | ....malyon-opcode-nop........... |
| 7560 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | ..malyon-opcode-jz....malyon-opc |
| 7580 | 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-get-sibling.....malyon-opcod |
| 75a0 | 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 | e-get-child....malyon-opcode-get |
| 75c0 | 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 | -parent......malyon-opcode-get-p |
| 75e0 | 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20 20 | rop-len....malyon-opcode-inc.... |
| 7600 | 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d 61 | .........malyon-opcode-dec....ma |
| 7620 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-print-addr......maly |
| 7640 | 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | on-opcode-calls....malyon-opcode |
| 7660 | 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 | -remove-obj......malyon-opcode-p |
| 7680 | 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20 20 | rint-obj....malyon-opcode-ret... |
| 76a0 | 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20 20 | ..........malyon-opcode-jump.... |
| 76c0 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d 61 | malyon-opcode-print-paddr.....ma |
| 76e0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | lyon-opcode-load....malyon-opcod |
| 7700 | 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | e-calln...........malyon-opcode- |
| 7720 | 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20 | jz....malyon-opcode-get-sibling. |
| 7740 | 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20 6d | ....malyon-opcode-get-child....m |
| 7760 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61 6c | alyon-opcode-get-parent......mal |
| 7780 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79 6f | yon-opcode-get-prop-len....malyo |
| 77a0 | 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d | n-opcode-inc.............malyon- |
| 77c0 | 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e | opcode-dec....malyon-opcode-prin |
| 77e0 | 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a | t-addr......malyon-opcode-calls. |
| 7800 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20 20 | ...malyon-opcode-remove-obj..... |
| 7820 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 | .malyon-opcode-print-obj....maly |
| 7840 | 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e | on-opcode-ret.............malyon |
| 7860 | 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 | -opcode-jump....malyon-opcode-pr |
| 7880 | 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 | int-paddr.....malyon-opcode-load |
| 78a0 | 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20 20 | ....malyon-opcode-calln......... |
| 78c0 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 7a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | ..malyon-opcode-jz....malyon-opc |
| 78e0 | 6f 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-get-sibling.....malyon-opcod |
| 7900 | 65 2d 67 65 74 2d 63 68 69 6c 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 | e-get-child....malyon-opcode-get |
| 7920 | 2d 70 61 72 65 6e 74 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 | -parent......malyon-opcode-get-p |
| 7940 | 72 6f 70 2d 6c 65 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 20 20 20 | rop-len....malyon-opcode-inc.... |
| 7960 | 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 0a 20 20 20 6d 61 | .........malyon-opcode-dec....ma |
| 7980 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 61 64 64 72 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-print-addr......maly |
| 79a0 | 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | on-opcode-calls....malyon-opcode |
| 79c0 | 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 | -remove-obj......malyon-opcode-p |
| 79e0 | 72 69 6e 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 20 20 | rint-obj....malyon-opcode-ret... |
| 7a00 | 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 75 6d 70 0a 20 20 20 | ..........malyon-opcode-jump.... |
| 7a20 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20 20 20 20 20 6d 61 | malyon-opcode-print-paddr.....ma |
| 7a40 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | lyon-opcode-load....malyon-opcod |
| 7a60 | 65 2d 63 61 6c 6c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | e-calln...........malyon-opcode- |
| 7a80 | 72 74 72 75 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 20 20 20 | rtrue....malyon-opcode-rfalse... |
| 7aa0 | 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 0a 20 20 20 6d 61 | .......malyon-opcode-print....ma |
| 7ac0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 72 65 74 20 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-print-ret.......maly |
| 7ae0 | 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 | on-opcode-nop....malyon-opcode-i |
| 7b00 | 6c 6c 65 67 61 6c 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c | llegal.........malyon-opcode-ill |
| 7b20 | 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 61 72 74 20 20 20 | egal....malyon-opcode-restart... |
| 7b40 | 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 2d 70 6f 70 70 65 64 0a 20 | ......malyon-opcode-ret-popped.. |
| 7b60 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 74 63 68 20 20 20 20 20 20 20 20 20 20 20 | ..malyon-opcode-catch........... |
| 7b80 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | malyon-opcode-quit....malyon-opc |
| 7ba0 | 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-new-line........malyon-opcod |
| 7bc0 | 65 2d 69 6c 6c 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 76 65 72 69 66 | e-illegal....malyon-opcode-verif |
| 7be0 | 79 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c | y..........malyon-opcode-illegal |
| 7c00 | 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 69 72 61 63 79 20 20 20 20 20 20 20 20 | ....malyon-opcode-piracy........ |
| 7c20 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 | ..malyon-opcode-nop....malyon-op |
| 7c40 | 63 6f 64 65 2d 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | code-je..............malyon-opco |
| 7c60 | 64 65 2d 6a 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 20 20 20 20 20 20 | de-jl....malyon-opcode-jg....... |
| 7c80 | 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 0a 20 20 20 | .......malyon-opcode-dec-chk.... |
| 7ca0 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 20 20 20 20 20 20 20 20 6d 61 | malyon-opcode-inc-chk.........ma |
| 7cc0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | lyon-opcode-jin....malyon-opcode |
| 7ce0 | 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f | -test............malyon-opcode-o |
| 7d00 | 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20 20 20 20 20 20 20 20 20 20 | r....malyon-opcode-and.......... |
| 7d20 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 0a 20 20 20 6d 61 | ...malyon-opcode-test-attr....ma |
| 7d40 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 20 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-set-attr........maly |
| 7d60 | 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | on-opcode-clear-attr....malyon-o |
| 7d80 | 70 63 6f 64 65 2d 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-store...........malyon-opc |
| 7da0 | 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | ode-insert-obj....malyon-opcode- |
| 7dc0 | 6c 6f 61 64 77 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f | loadw...........malyon-opcode-lo |
| 7de0 | 61 64 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 20 20 | adb....malyon-opcode-get-prop... |
| 7e00 | 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 72 | .....malyon-opcode-get-prop-addr |
| 7e20 | 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 | ....malyon-opcode-get-next-prop. |
| 7e40 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 | ..malyon-opcode-add....malyon-op |
| 7e60 | 63 6f 64 65 2d 73 75 62 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | code-sub.............malyon-opco |
| 7e80 | 64 65 2d 6d 75 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 20 20 20 20 | de-mul....malyon-opcode-div..... |
| 7ea0 | 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 0a 20 20 20 6d 61 6c | ........malyon-opcode-mod....mal |
| 7ec0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f | yon-opcode-calls...........malyo |
| 7ee0 | 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | n-opcode-calln....malyon-opcode- |
| 7f00 | 73 65 74 2d 63 6f 6c 6f 72 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 | set-color.......malyon-opcode-th |
| 7f20 | 72 6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 | row....malyon-opcode-nop........ |
| 7f40 | 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e | .....malyon-opcode-nop....malyon |
| 7f60 | 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-nop.............malyon-o |
| 7f80 | 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f | pcode-calls....malyon-opcode-sto |
| 7fa0 | 72 65 77 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 | rew..........malyon-opcode-store |
| 7fc0 | 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 74 2d 70 72 6f 70 20 20 20 20 20 | b....malyon-opcode-put-prop..... |
| 7fe0 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 72 65 61 64 0a 20 20 20 6d 61 6c 79 6f 6e | ...malyon-opcode-aread....malyon |
| 8000 | 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 63 68 61 72 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-print-char......malyon-o |
| 8020 | 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6e 75 6d 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | pcode-print-num....malyon-opcode |
| 8040 | 2d 72 61 6e 64 6f 6d 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 | -random..........malyon-opcode-p |
| 8060 | 75 73 68 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 6c 6c 20 20 20 20 20 20 20 | ush....malyon-opcode-pull....... |
| 8080 | 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77 0a | .....malyon-opcode-split-window. |
| 80a0 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 77 69 6e 64 6f 77 20 20 20 20 20 | ...malyon-opcode-set-window..... |
| 80c0 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | .malyon-opcode-calls....malyon-o |
| 80e0 | 70 63 6f 64 65 2d 65 72 61 73 65 2d 77 69 6e 64 6f 77 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-erase-window....malyon-opc |
| 8100 | 6f 64 65 2d 65 72 61 73 65 2d 6c 69 6e 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | ode-erase-line....malyon-opcode- |
| 8120 | 73 65 74 2d 63 75 72 73 6f 72 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 | set-cursor......malyon-opcode-ge |
| 8140 | 74 2d 63 75 72 73 6f 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74 65 | t-cursor....malyon-opcode-set-te |
| 8160 | 78 74 2d 73 74 79 6c 65 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65 72 2d 6d | xt-style..malyon-opcode-buffer-m |
| 8180 | 6f 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 | ode....malyon-opcode-output-stre |
| 81a0 | 61 6d 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 70 75 74 2d 73 74 72 65 61 6d 0a | am...malyon-opcode-input-stream. |
| 81c0 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 20 20 20 | ...malyon-opcode-nop............ |
| 81e0 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 61 64 2d 63 68 61 72 0a 20 20 20 6d 61 6c 79 | .malyon-opcode-read-char....maly |
| 8200 | 6f 6e 2d 6f 70 63 6f 64 65 2d 73 63 61 6e 2d 74 61 62 6c 65 20 20 20 20 20 20 6d 61 6c 79 6f 6e | on-opcode-scan-table......malyon |
| 8220 | 2d 6f 70 63 6f 64 65 2d 6e 6f 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c | -opcode-not....malyon-opcode-cal |
| 8240 | 6c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e | ln...........malyon-opcode-calln |
| 8260 | 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 20 20 20 20 20 | ....malyon-opcode-tokenise...... |
| 8280 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 6e 63 6f 64 65 2d 74 65 78 74 0a 20 20 20 6d | ..malyon-opcode-encode-text....m |
| 82a0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6f 70 79 2d 74 61 62 6c 65 20 20 20 20 20 20 6d 61 6c | alyon-opcode-copy-table......mal |
| 82c0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 74 61 62 6c 65 0a 20 20 20 6d 61 6c 79 6f 6e | yon-opcode-print-table....malyon |
| 82e0 | 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 61 72 67 2d 63 6f 75 6e 74 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-check-arg-count.malyon-o |
| 8300 | 70 63 6f 64 65 2d 73 61 76 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 | pcode-save....malyon-opcode-rest |
| 8320 | 6f 72 65 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 67 2d 73 68 | ore.........malyon-opcode-log-sh |
| 8340 | 69 66 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 72 74 2d 73 68 69 66 74 20 20 | ift....malyon-opcode-art-shift.. |
| 8360 | 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 66 6f 6e 74 0a 20 20 20 6d | .....malyon-opcode-set-font....m |
| 8380 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 20 20 20 20 20 20 20 20 6d 61 6c | alyon-opcode-illegal.........mal |
| 83a0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | yon-opcode-illegal....malyon-opc |
| 83c0 | 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-illegal.........malyon-opcod |
| 83e0 | 65 2d 69 6c 6c 65 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 2d | e-illegal....malyon-opcode-save- |
| 8400 | 75 6e 64 6f 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 | undo.......malyon-opcode-restore |
| 8420 | 2d 75 6e 64 6f 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 75 6e 69 | -undo....malyon-opcode-print-uni |
| 8440 | 63 6f 64 65 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 63 6f | code...malyon-opcode-check-unico |
| 8460 | 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 20 20 20 20 20 20 20 20 | de....malyon-opcode-nop......... |
| 8480 | 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 0a 20 20 20 6d 61 6c 79 6f 6e 2d | ....malyon-opcode-nop....malyon- |
| 84a0 | 6f 70 63 6f 64 65 2d 6e 6f 70 5d 0a 20 20 22 41 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20 6b | opcode-nop]..."A.vector.of.all.k |
| 84c0 | 6e 6f 77 6e 20 6c 65 67 61 6c 20 5a 2d 63 6f 64 65 20 6f 70 63 6f 64 65 73 2e 22 29 0a 0a 3b 3b | nown.legal.Z-code.opcodes.")..;; |
| 84e0 | 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c | .initialization..(defun.malyon-l |
| 8500 | 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d 2d 62 75 66 66 65 72 20 28 6d 69 6e 20 6d 61 78 29 0a | oad-story-from-buffer.(min.max). |
| 8520 | 20 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 73 74 6f 72 79 20 69 6e 74 6f 20 61 6e 20 69 | .."Load.a.Z-code.story.into.an.i |
| 8540 | 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d | nternal.vector."...(setq.malyon- |
| 8560 | 73 74 6f 72 79 2d 66 69 6c 65 20 28 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 0a 20 20 20 | story-file.(string-to-vector.... |
| 8580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d | ........................(buffer- |
| 85a0 | 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 6d 69 6e 20 6d 61 78 29 | substring-no-properties.min.max) |
| 85c0 | 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 20 3f 5c 5e 41 20 31 29 29 0a 20 20 20 20 20 | ))...(if.(not.(eq.?\^A.1))...... |
| 85e0 | 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 | .(let.((i.0)).........(while.(<. |
| 8600 | 69 20 28 6c 65 6e 67 74 68 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29 0a 20 20 | i.(length.malyon-story-file))... |
| 8620 | 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a | ........(aset.malyon-story-file. |
| 8640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................i............... |
| 8660 | 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 61 72 65 66 20 6d 61 6c 79 | ..(malyon-char-to-int.(aref.maly |
| 8680 | 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 | on-story-file.i)))...........(se |
| 86a0 | 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29 0a 20 20 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | tq.i.(+.1.i)))))...)..(defun.mal |
| 86c0 | 79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 4c 6f 61 | yon-load-file.(file-name)..."Loa |
| 86e0 | 64 20 61 20 62 69 6e 61 72 79 20 66 69 6c 65 20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 | d.a.binary.file.into.the.current |
| 8700 | 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 | .buffer."...(malyon-disable-mult |
| 8720 | 69 62 79 74 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 | ibyte)...(malyon-erase-buffer).. |
| 8740 | 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20 27 | .(let.((coding-system-for-read.' |
| 8760 | 62 69 6e 61 72 79 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e | binary)).....(insert-file-conten |
| 8780 | 74 73 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f | ts.file-name)))..(defconst.malyo |
| 87a0 | 6e 2d 69 66 66 2d 63 68 75 6e 6b 2d 73 70 65 63 0a 20 20 27 28 28 3a 69 64 20 20 20 20 20 73 74 | n-iff-chunk-spec...'((:id.....st |
| 87c0 | 72 20 34 29 0a 20 20 20 20 28 3a 6c 65 6e 67 74 68 20 75 33 32 29 29 0a 20 20 22 44 65 73 63 72 | r.4).....(:length.u32))..."Descr |
| 87e0 | 69 70 74 69 6f 6e 20 6f 66 20 61 6e 20 49 46 46 20 63 68 75 6e 6b 20 68 65 61 64 65 72 2e 22 29 | iption.of.an.IFF.chunk.header.") |
| 8800 | 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f 6e 2d 52 49 64 78 2d 73 70 65 63 0a 20 20 27 | ..(defconst.malyon-RIdx-spec...' |
| 8820 | 28 28 3a 6e 75 6d 20 75 33 32 29 0a 20 20 20 20 28 3a 72 65 73 6f 75 72 63 65 73 20 72 65 70 65 | ((:num.u32).....(:resources.repe |
| 8840 | 61 74 20 28 3a 6e 75 6d 29 20 28 3a 75 73 61 67 65 20 73 74 72 20 34 29 20 28 3a 6e 75 6d 62 65 | at.(:num).(:usage.str.4).(:numbe |
| 8860 | 72 20 75 33 32 29 20 28 3a 73 74 61 72 74 20 75 33 32 29 29 29 0a 20 20 22 44 65 73 63 72 69 70 | r.u32).(:start.u32)))..."Descrip |
| 8880 | 74 69 6f 6e 20 6f 66 20 74 68 65 20 52 49 64 78 20 63 68 75 6e 6b 2e 22 29 0a 0a 28 64 65 66 75 | tion.of.the.RIdx.chunk.")..(defu |
| 88a0 | 6e 20 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b 20 28 73 70 65 63 20 73 74 61 72 74 20 6c 65 6e 67 | n.malyon-unpack.(spec.start.leng |
| 88c0 | 74 68 29 0a 20 20 22 55 6e 70 61 63 6b 20 4c 45 4e 47 54 48 20 62 79 74 65 73 20 61 74 20 30 2d | th)..."Unpack.LENGTH.bytes.at.0- |
| 88e0 | 62 61 73 65 64 20 6f 66 66 73 65 74 20 53 54 41 52 54 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 | based.offset.START.according.to. |
| 8900 | 53 50 45 43 2e 22 0a 20 20 28 62 69 6e 64 61 74 2d 75 6e 70 61 63 6b 20 73 70 65 63 20 28 62 75 | SPEC."...(bindat-unpack.spec.(bu |
| 8920 | 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 31 2b | ffer-substring-no-properties.(1+ |
| 8940 | 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .start)......................... |
| 8960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b | ..............................(+ |
| 8980 | 20 31 20 73 74 61 72 74 20 6c 65 6e 67 74 68 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | .1.start.length))))..(defun.maly |
| 89a0 | 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72 62 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 | on-load-blorb-file.(file-name).. |
| 89c0 | 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 42 6c 6f 72 62 20 66 69 6c 65 20 69 6e 74 6f 20 | ."Load.a.Z-code.Blorb.file.into. |
| 89e0 | 61 6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 2e 22 0a 20 20 28 72 65 71 75 69 72 65 20 | an.internal.vector."...(require. |
| 8a00 | 27 62 69 6e 64 61 74 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 20 20 28 | 'bindat)...(require.'cl-lib)...( |
| 8a20 | 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 | with-temp-buffer.....(malyon-loa |
| 8a40 | 64 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 74 | d-file.file-name).....;;.Check.t |
| 8a60 | 68 65 20 73 69 67 6e 61 74 75 72 65 2e 20 20 4d 75 73 74 20 62 65 20 61 6e 20 49 46 46 20 66 69 | he.signature...Must.be.an.IFF.fi |
| 8a80 | 6c 65 20 6f 66 20 74 79 70 65 20 49 46 52 53 0a 20 20 20 20 3b 3b 20 73 74 61 72 74 69 6e 67 20 | le.of.type.IFRS.....;;.starting. |
| 8aa0 | 77 69 74 68 20 61 6e 20 52 49 64 78 20 63 68 75 6e 6b 2e 0a 20 20 20 20 28 6f 72 20 28 61 6e 64 | with.an.RIdx.chunk......(or.(and |
| 8ac0 | 20 28 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d 22 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 | .(string=."FORM".(buffer-substri |
| 8ae0 | 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 31 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 | ng-no-properties.1.5)).......... |
| 8b00 | 20 20 20 20 28 73 74 72 69 6e 67 3d 20 22 49 46 52 53 52 49 64 78 22 20 28 62 75 66 66 65 72 2d | ....(string=."IFRSRIdx".(buffer- |
| 8b20 | 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 39 20 31 37 29 29 29 0a | substring-no-properties.9.17))). |
| 8b40 | 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 74 20 61 20 42 6c 6f 72 62 20 66 69 6c 65 | ........(error."Not.a.Blorb.file |
| 8b60 | 22 29 29 0a 20 20 20 20 3b 3b 20 55 6e 70 61 63 6b 20 74 68 65 20 52 49 64 78 20 63 68 75 6e 6b | ")).....;;.Unpack.the.RIdx.chunk |
| 8b80 | 2c 20 66 69 6e 64 20 74 68 65 20 45 78 65 63 20 63 68 75 6e 63 6b 2c 20 61 6e 64 20 75 6e 70 61 | ,.find.the.Exec.chunck,.and.unpa |
| 8ba0 | 63 6b 20 69 74 73 20 68 65 61 64 65 72 2e 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 72 69 64 78 2d | ck.its.header......(let*.((ridx- |
| 8bc0 | 68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66 66 | header.(malyon-unpack.malyon-iff |
| 8be0 | 2d 63 68 75 6e 6b 2d 73 70 65 63 20 31 32 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 | -chunk-spec.12.8))............(r |
| 8c00 | 69 64 78 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e | idx........(malyon-unpack.malyon |
| 8c20 | 2d 52 49 64 78 2d 73 70 65 63 20 32 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -RIdx-spec.20................... |
| 8c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71 20 | .....................(cdr.(assq. |
| 8c60 | 3a 6c 65 6e 67 74 68 20 72 69 64 78 2d 68 65 61 64 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 | :length.ridx-header))))......... |
| 8c80 | 20 20 20 28 65 78 65 63 20 28 63 6c 2d 66 69 6e 64 2d 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 | ...(exec.(cl-find-if............ |
| 8ca0 | 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......(function................ |
| 8cc0 | 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(lambda.(r)................. |
| 8ce0 | 20 20 20 20 20 28 61 6e 64 20 28 3d 20 30 20 28 63 64 72 20 28 61 73 73 71 20 3a 6e 75 6d 62 65 | .....(and.(=.0.(cdr.(assq.:numbe |
| 8d00 | 72 20 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.r))).......................... |
| 8d20 | 20 28 73 74 72 69 6e 67 3d 20 22 45 78 65 63 22 20 28 63 64 72 20 28 61 73 73 71 20 3a 75 73 61 | .(string=."Exec".(cdr.(assq.:usa |
| 8d40 | 67 65 20 72 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 | ge.r))))))...................(cd |
| 8d60 | 72 20 28 61 73 73 71 20 3a 72 65 73 6f 75 72 63 65 73 20 72 69 64 78 29 29 29 29 0a 20 20 20 20 | r.(assq.:resources.ridx))))..... |
| 8d80 | 20 20 20 20 20 20 20 28 73 74 6f 72 79 2d 73 74 61 72 74 20 28 63 64 72 20 28 61 73 73 71 20 3a | .......(story-start.(cdr.(assq.: |
| 8da0 | 73 74 61 72 74 20 65 78 65 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 78 65 63 2d 68 | start.exec)))............(exec-h |
| 8dc0 | 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66 66 2d | eader.(malyon-unpack.malyon-iff- |
| 8de0 | 63 68 75 6e 6b 2d 73 70 65 63 20 73 74 6f 72 79 2d 73 74 61 72 74 20 38 29 29 29 0a 20 20 20 20 | chunk-spec.story-start.8)))..... |
| 8e00 | 20 20 3b 3b 20 45 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 45 78 65 63 20 63 68 75 6e 6b 20 | ..;;.Ensure.that.the.Exec.chunk. |
| 8e20 | 69 73 20 5a 2d 63 6f 64 65 2e 0a 20 20 20 20 20 20 28 6f 72 20 28 73 74 72 69 6e 67 3d 20 22 5a | is.Z-code........(or.(string=."Z |
| 8e40 | 43 4f 44 22 20 28 63 64 72 20 28 61 73 73 71 20 3a 69 64 20 65 78 65 63 2d 68 65 61 64 65 72 29 | COD".(cdr.(assq.:id.exec-header) |
| 8e60 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 74 20 61 20 5a 2d 63 6f 64 | ))...........(error."Not.a.Z-cod |
| 8e80 | 65 20 42 6c 6f 72 62 20 66 69 6c 65 22 29 29 0a 20 20 20 20 20 20 3b 3b 20 4c 6f 61 64 20 74 68 | e.Blorb.file")).......;;.Load.th |
| 8ea0 | 65 20 5a 2d 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 63 68 75 6e 6b 2e 0a 20 20 20 20 20 20 28 | e.Z-code.from.the.chunk........( |
| 8ec0 | 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 | setq.malyon-story-file-name.file |
| 8ee0 | 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d | -name).......(malyon-load-story- |
| 8f00 | 66 72 6f 6d 2d 62 75 66 66 65 72 20 28 2b 20 39 20 73 74 6f 72 79 2d 73 74 61 72 74 29 0a 20 20 | from-buffer.(+.9.story-start)... |
| 8f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 8f40 | 20 20 20 28 2b 20 39 20 73 74 6f 72 79 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ...(+.9.story-start............. |
| 8f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 | ............................(cdr |
| 8f80 | 20 28 61 73 73 71 20 3a 6c 65 6e 67 74 68 20 65 78 65 63 2d 68 65 61 64 65 72 29 29 29 29 29 29 | .(assq.:length.exec-header)))))) |
| 8fa0 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c 65 | )..(defun.malyon-load-story-file |
| 8fc0 | 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 73 74 | .(file-name)..."Load.a.Z-code.st |
| 8fe0 | 6f 72 79 20 66 69 6c 65 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 | ory.file.into.an.internal.vector |
| 9000 | 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c 79 | ."...(with-temp-buffer.....(maly |
| 9020 | 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74 | on-load-file.file-name).....(set |
| 9040 | 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 | q.malyon-story-file-name.file-na |
| 9060 | 6d 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d 2d | me).....(malyon-load-story-from- |
| 9080 | 62 75 66 66 65 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 | buffer.(point-min).(point-max))) |
| 90a0 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 20 28 29 0a 20 | )..(defun.malyon-initialize.().. |
| 90c0 | 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 | ."Initialize.the.Z-code.interpre |
| 90e0 | 74 65 72 2e 22 0a 3b 20 20 28 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 66 69 6c 65 29 0a 20 20 28 | ter.".;..(malyon-trace-file)...( |
| 9100 | 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 74 | setq.malyon-game-state-quetzal.t |
| 9120 | 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 73 74 61 74 75 73 29 0a 20 | )...(malyon-initialize-status).. |
| 9140 | 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 74 72 61 6e 73 63 72 69 70 74 29 0a | .(malyon-initialize-transcript). |
| 9160 | 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 77 69 6e 64 6f 77 73 29 0a 20 20 | ..(malyon-initialize-windows)... |
| 9180 | 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 73 74 6f 72 79 2d 68 65 61 64 65 72 29 | (malyon-initialize-story-header) |
| 91a0 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 72 65 67 69 73 74 65 72 73 29 | ...(malyon-initialize-registers) |
| 91c0 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 6f 70 63 6f 64 65 73 29 0a 20 | ...(malyon-initialize-opcodes).. |
| 91e0 | 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 63 6c 65 61 72 29 0a 20 20 28 73 65 74 71 20 | .(malyon-history-clear)...(setq. |
| 9200 | 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 20 28 6d 61 6c 79 6f | malyon-game-state-restart.(malyo |
| 9220 | 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e | n-current-game-state))...(malyon |
| 9240 | 2d 70 72 69 6e 74 2d 68 65 61 64 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 | -print-header))..(defun.malyon-i |
| 9260 | 6e 69 74 69 61 6c 69 7a 65 2d 73 74 61 74 75 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a | nitialize-status.()..."Initializ |
| 9280 | 65 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 | e.the.status.buffer."...(setq.ma |
| 92a0 | 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 | lyon-status-buffer.(get-buffer-c |
| 92c0 | 72 65 61 74 65 20 22 4d 61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 29 0a 20 20 28 73 77 69 74 63 | reate."Malyon.Status"))...(switc |
| 92e0 | 68 2d 74 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 | h-to-buffer.malyon-status-buffer |
| 9300 | 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 28 6b 69 6c | )...(malyon-erase-buffer)...(kil |
| 9320 | 6c 2d 61 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 29 0a 20 20 28 73 65 74 71 20 63 | l-all-local-variables)...(setq.c |
| 9340 | 75 72 73 6f 72 2d 69 6e 2d 6e 6f 6e 2d 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 73 20 6e 69 | ursor-in-non-selected-windows.ni |
| 9360 | 6c 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 | l)...(setq.mode-line-format.nil) |
| 9380 | 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f | ...(setq.malyon-status-buffer-po |
| 93a0 | 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 | int.(point))...(setq.malyon-stat |
| 93c0 | 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 30 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | us-buffer-lines.0)...(setq.malyo |
| 93e0 | 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e 69 | n-status-buffer-delayed-split.ni |
| 9400 | 6c 29 0a 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 | l)...(use-local-map.malyon-keyma |
| 9420 | 70 2d 72 65 61 64 29 0a 20 20 28 73 65 74 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6d 61 6c 79 | p-read)...(set-syntax-table.maly |
| 9440 | 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6e 61 | on-syntax-table)...(setq.mode-na |
| 9460 | 6d 65 20 22 4d 61 6c 79 6f 6e 22 29 0a 20 20 28 73 65 74 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 | me."Malyon")...(setq.major-mode. |
| 9480 | 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6d 61 6c 79 | 'malyon-mode)...(run-hooks.'maly |
| 94a0 | 6f 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e | on-mode-hook))..(defun.malyon-in |
| 94c0 | 69 74 69 61 6c 69 7a 65 2d 74 72 61 6e 73 63 72 69 70 74 20 28 29 0a 20 20 22 49 6e 69 74 69 61 | itialize-transcript.()..."Initia |
| 94e0 | 6c 69 7a 65 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 | lize.the.transcript.buffer."...( |
| 9500 | 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 67 | setq.malyon-transcript-buffer.(g |
| 9520 | 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 22 4d 61 6c 79 6f 6e 20 54 72 61 6e 73 63 72 | et-buffer-create."Malyon.Transcr |
| 9540 | 69 70 74 22 29 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f | ipt"))...(switch-to-buffer.malyo |
| 9560 | 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 | n-transcript-buffer)...(malyon-e |
| 9580 | 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 28 6b 69 6c 6c 2d 61 6c 6c 2d 6c 6f 63 61 6c 2d 76 | rase-buffer)...(kill-all-local-v |
| 95a0 | 61 72 69 61 62 6c 65 73 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 | ariables)...(setq.malyon-last-cu |
| 95c0 | 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 | rsor-position-after-input....... |
| 95e0 | 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 | ..(malyon-point-max.malyon-trans |
| 9600 | 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 | cript-buffer))...(use-local-map. |
| 9620 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 29 0a 20 20 28 73 65 74 2d 73 79 6e 74 61 | malyon-keymap-read)...(set-synta |
| 9640 | 78 2d 74 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 28 | x-table.malyon-syntax-table)...( |
| 9660 | 73 65 74 71 20 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 | setq.fill-column.malyon-max-colu |
| 9680 | 6d 6e 29 0a 20 20 28 61 75 74 6f 2d 66 69 6c 6c 2d 6d 6f 64 65 20 31 29 0a 20 20 28 73 65 74 71 | mn)...(auto-fill-mode.1)...(setq |
| 96a0 | 20 6d 6f 64 65 2d 6e 61 6d 65 20 22 4d 61 6c 79 6f 6e 22 29 0a 20 20 28 73 65 74 71 20 6d 61 6a | .mode-name."Malyon")...(setq.maj |
| 96c0 | 6f 72 2d 6d 6f 64 65 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 20 20 28 72 75 6e 2d 68 6f 6f | or-mode.'malyon-mode)...(run-hoo |
| 96e0 | 6b 73 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d | ks.'malyon-mode-hook))..(defun.m |
| 9700 | 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 77 69 6e 64 6f 77 73 20 28 29 0a 20 20 22 49 | alyon-initialize-windows.()..."I |
| 9720 | 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 | nitialize.the.window.configurati |
| 9740 | 6f 6e 20 66 6f 72 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 0a 20 20 28 73 65 74 71 20 6d | on.for.the.z.machine."...(setq.m |
| 9760 | 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 | alyon-transcript-buffer-buffered |
| 9780 | 20 74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 | .t)...(malyon-set-window-configu |
| 97a0 | 72 61 74 69 6f 6e 20 30 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 77 | ration.0)...(malyon-opcode-set-w |
| 97c0 | 69 6e 64 6f 77 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c | indow.0))..(defun.malyon-initial |
| 97e0 | 69 7a 65 2d 73 74 6f 72 79 2d 68 65 61 64 65 72 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a | ize-story-header.()..."Initializ |
| 9800 | 65 73 20 74 68 65 20 68 65 61 64 65 72 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 6f | es.the.header.section.of.the.sto |
| 9820 | 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 31 | ry.file."...(malyon-store-byte.1 |
| 9840 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 6d 61 | ......................(if.(>=.ma |
| 9860 | 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 | lyon-story-version.5)........... |
| 9880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...............28............... |
| 98a0 | 20 20 20 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 23 78 32 30 20 28 6c 6f 67 61 6e 64 20 23 62 | .........(logior.#x20.(logand.#b |
| 98c0 | 31 31 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 29 29 29 29 29 0a 20 20 28 | 111.(malyon-read-byte.1)))))...( |
| 98e0 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 31 36 20 28 6c 6f 67 61 6e 64 20 34 34 30 | malyon-store-byte.16.(logand.440 |
| 9900 | 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 36 29 29 29 0a 20 20 28 6d 61 6c 79 | .(malyon-read-byte.16)))...(maly |
| 9920 | 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 33 30 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 | on-store-byte.30.1)...(malyon-st |
| 9940 | 6f 72 65 2d 62 79 74 65 20 33 31 20 36 35 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d | ore-byte.31.65)...(malyon-store- |
| 9960 | 62 79 74 65 20 33 32 20 32 35 35 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 | byte.32.255)...(malyon-store-byt |
| 9980 | 65 20 33 33 20 28 2d 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 20 31 29 29 0a 20 20 | e.33.(-.malyon-max-column.1))... |
| 99a0 | 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 34 20 28 2d 20 6d 61 6c 79 6f 6e 2d | (malyon-store-word.34.(-.malyon- |
| 99c0 | 6d 61 78 2d 63 6f 6c 75 6d 6e 20 31 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 | max-column.1))...(malyon-store-w |
| 99e0 | 6f 72 64 20 33 36 20 32 35 35 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 | ord.36.255)...(malyon-store-word |
| 9a00 | 20 33 38 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 39 20 31 | .38.1)...(malyon-store-word.39.1 |
| 9a20 | 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 34 34 20 30 29 0a 20 20 28 | )...(malyon-store-byte.44.0)...( |
| 9a40 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 34 35 20 30 29 0a 20 20 28 6d 61 6c 79 6f | malyon-store-byte.45.0)...(malyo |
| 9a60 | 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 35 30 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f | n-store-byte.50.1)...(malyon-sto |
| 9a80 | 72 65 2d 62 79 74 65 20 35 31 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e | re-byte.51.0))..(defun.malyon-in |
| 9aa0 | 69 74 69 61 6c 69 7a 65 2d 72 65 67 69 73 74 65 72 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c | itialize-registers.()..."Initial |
| 9ac0 | 69 7a 65 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 27 73 20 69 6e 74 65 72 6e 61 6c 20 72 | ize.the.interpreter's.internal.r |
| 9ae0 | 65 67 69 73 74 65 72 73 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 | egisters."...(setq.malyon-stack. |
| 9b00 | 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 31 30 32 34 20 30 29 29 0a 20 20 28 73 65 74 71 20 6d 61 | (make-vector.1024.0))...(setq.ma |
| 9b20 | 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 2d 31 29 0a 20 20 28 6d 61 6c 79 6f 6e | lyon-stack-pointer.-1)...(malyon |
| 9b40 | 2d 70 75 73 68 2d 69 6e 69 74 69 61 6c 2d 66 72 61 6d 65 29 0a 20 20 28 73 65 74 71 20 6d 61 6c | -push-initial-frame)...(setq.mal |
| 9b60 | 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 | yon-frame-pointer.malyon-stack-p |
| 9b80 | 6f 69 6e 74 65 72 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 | ointer)...(setq.malyon-instructi |
| 9ba0 | 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 36 29 29 | on-pointer.(malyon-read-word.6)) |
| 9bc0 | 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 | ...(setq.malyon-global-variables |
| 9be0 | 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 32 29 29 0a 20 20 28 73 65 74 71 20 | .(malyon-read-word.12))...(setq. |
| 9c00 | 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | malyon-object-table.(malyon-read |
| 9c20 | 2d 77 6f 72 64 20 31 30 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 | -word.10))...(cond.((<.malyon-st |
| 9c40 | 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 | ory-version.5)..........(setq.ma |
| 9c60 | 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 39 29 0a | lyon-object-table-entry-size.9). |
| 9c80 | 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f | .........(setq.malyon-object-pro |
| 9ca0 | 70 65 72 74 69 65 73 20 20 20 20 20 20 20 33 31 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | perties.......31)..........(setq |
| 9cc0 | 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20 20 | .malyon-object-property-offset.. |
| 9ce0 | 37 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 | 7)).........(t..........(setq.ma |
| 9d00 | 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 31 34 29 | lyon-object-table-entry-size.14) |
| 9d20 | 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 | ..........(setq.malyon-object-pr |
| 9d40 | 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20 36 33 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 | operties.......63)..........(set |
| 9d60 | 71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20 | q.malyon-object-property-offset. |
| 9d80 | 20 31 32 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74 69 | .12)))...(setq.malyon-abbreviati |
| 9da0 | 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 34 29 29 0a 20 20 28 69 66 | ons.(malyon-read-word.24))...(if |
| 9dc0 | 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 | .(<.malyon-story-version.5)..... |
| 9de0 | 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 20 28 7a 65 72 6f 70 | ..(setq.malyon-score-game.(zerop |
| 9e00 | 20 28 6c 6f 67 61 6e 64 20 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 29 29 | .(logand.2.(malyon-read-byte.1)) |
| 9e20 | 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 | )))...(setq.malyon-packed-multip |
| 9e40 | 6c 69 65 72 0a 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28 61 73 73 71 20 6d 61 6c 79 6f 6e 2d | lier.........(cadr.(assq.malyon- |
| 9e60 | 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 27 28 28 33 20 32 29 20 28 35 20 34 29 20 28 38 20 38 | story-version.'((3.2).(5.4).(8.8 |
| 9e80 | 29 29 29 29 29 0a 20 20 28 69 66 20 28 6f 72 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d | )))))...(if.(or.(<.malyon-story- |
| 9ea0 | 76 65 72 73 69 6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 | version.5).(zerop.(malyon-read-w |
| 9ec0 | 6f 72 64 20 35 32 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 6c 70 | ord.52))).......(setq.malyon-alp |
| 9ee0 | 68 61 62 65 74 20 28 63 6f 6e 63 61 74 20 22 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 | habet.(concat."abcdefghijklmnopq |
| 9f00 | 72 73 74 75 76 77 78 79 7a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rstuvwxyz"...................... |
| 9f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 | ..............."ABCDEFGHIJKLMNOP |
| 9f40 | 51 52 53 54 55 56 57 58 59 5a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | QRSTUVWXYZ"..................... |
| 9f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 5c 6e 30 31 32 33 34 35 36 37 38 39 2e 2c | ................".\n0123456789., |
| 9f80 | 21 3f 5f 23 27 5c 22 2f 5c 5c 2d 3a 28 29 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 | !?_#'\"/\\-:()")).....(setq.maly |
| 9fa0 | 6f 6e 2d 61 6c 70 68 61 62 65 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 37 38 20 3f 20 29 29 | on-alphabet.(make-string.78.?.)) |
| 9fc0 | 0a 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 | .....(let.((i.0)).......(while.( |
| 9fe0 | 3c 20 69 20 37 38 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 61 6c 70 | <.i.78).........(aset.malyon-alp |
| a000 | 68 61 62 65 74 20 69 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | habet.i...............(malyon-re |
| a020 | 61 64 2d 62 79 74 65 20 28 2b 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 35 | ad-byte.(+.i.(malyon-read-word.5 |
| a040 | 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 | 2)))).........(setq.i.(+.1.i)))) |
| a060 | 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f 64 65 2d 74 | )...(malyon-initialize-unicode-t |
| a080 | 61 62 6c 65 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20 | able)...(setq.malyon-dictionary. |
| a0a0 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 38 29 29 0a 20 20 28 73 65 74 71 20 6d 61 | (malyon-read-word.8))...(setq.ma |
| a0c0 | 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 0a 20 20 20 | lyon-dictionary-entry-length.... |
| a0e0 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 | .....(malyon-read-byte.......... |
| a100 | 28 2b 20 31 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20 28 6d 61 6c 79 6f 6e 2d 72 | (+.1.malyon-dictionary.(malyon-r |
| a120 | 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 | ead-byte.malyon-dictionary)))).. |
| a140 | 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e 74 | .(setq.malyon-dictionary-num-ent |
| a160 | 72 69 65 73 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 0a 20 | ries.........(malyon-read-word.. |
| a180 | 20 20 20 20 20 20 20 20 28 2b 20 32 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 20 28 | ........(+.2.malyon-dictionary.( |
| a1a0 | 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 | malyon-read-byte.malyon-dictiona |
| a1c0 | 72 79 29 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 | ry))))...(setq.malyon-dictionary |
| a1e0 | 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 28 2b 20 34 20 6d 61 6c 79 6f 6e 2d 64 69 63 | -entries.........(+.4.malyon-dic |
| a200 | 74 69 6f 6e 61 72 79 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e | tionary.(malyon-read-byte.malyon |
| a220 | 2d 64 69 63 74 69 6f 6e 61 72 79 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 69 | -dictionary)))...(setq.malyon-di |
| a240 | 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 2d 6c 65 6e 67 74 68 20 28 69 66 20 28 3c 20 6d 61 6c 79 | ctionary-word-length.(if.(<.maly |
| a260 | 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 33 20 35 29 29 0a 20 20 28 73 65 74 | on-story-version.5).3.5))...(set |
| a280 | 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 63 65 20 27 6d 61 6c 79 6f 6e 2d 66 61 | q.malyon-current-face.'malyon-fa |
| a2a0 | 63 65 2d 70 6c 61 69 6e 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 | ce-plain)...(setq.malyon-print-s |
| a2c0 | 65 70 61 72 61 74 6f 72 20 6e 69 6c 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 | eparator.nil)...(malyon-initiali |
| a2e0 | 7a 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | ze-output-streams))..(defun.maly |
| a300 | 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 6f 70 63 6f 64 65 73 20 28 29 0a 20 20 22 49 6e 69 74 | on-initialize-opcodes.()..."Init |
| a320 | 69 61 6c 69 7a 65 20 74 68 65 20 6f 70 63 6f 64 65 20 74 61 62 6c 65 20 75 73 65 64 20 62 79 20 | ialize.the.opcode.table.used.by. |
| a340 | 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c | the.story.file."...(cond.((<.mal |
| a360 | 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 28 61 | yon-story-version.5)..........(a |
| a380 | 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 34 33 20 27 6d 61 6c 79 6f 6e 2d 6f | set.malyon-opcodes.143.'malyon-o |
| a3a0 | 70 63 6f 64 65 2d 6e 6f 74 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e | pcode-not)..........(aset.malyon |
| a3c0 | 2d 6f 70 63 6f 64 65 73 20 31 38 31 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 | -opcodes.181.'malyon-opcode-save |
| a3e0 | 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 | )..........(aset.malyon-opcodes. |
| a400 | 31 38 32 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 29 0a 20 20 20 20 | 182.'malyon-opcode-restore)..... |
| a420 | 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 35 20 27 6d | .....(aset.malyon-opcodes.185.'m |
| a440 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 6f 70 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 | alyon-opcode-pop)..........(aset |
| a460 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 38 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | .malyon-opcodes.188.'malyon-opco |
| a480 | 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 | de-show-status)).........(t..... |
| a4a0 | 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 34 33 20 27 6d | .....(aset.malyon-opcodes.143.'m |
| a4c0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 | alyon-opcode-calln)..........(as |
| a4e0 | 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 31 20 27 6d 61 6c 79 6f 6e 2d 6f 70 | et.malyon-opcodes.181.'malyon-op |
| a500 | 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c | code-illegal)..........(aset.mal |
| a520 | 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 32 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 | yon-opcodes.182.'malyon-opcode-i |
| a540 | 6c 6c 65 67 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 | llegal)..........(aset.malyon-op |
| a560 | 63 6f 64 65 73 20 31 38 35 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 74 63 68 29 0a | codes.185.'malyon-opcode-catch). |
| a580 | 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 63 68 6e 69 63 61 6c 6c 79 2c 20 31 38 38 20 28 73 68 | .........;;.Technically,.188.(sh |
| a5a0 | 6f 77 5f 73 74 61 74 75 73 29 20 69 73 20 76 33 20 6f 6e 6c 79 2c 20 62 75 74 20 56 65 72 73 69 | ow_status).is.v3.only,.but.Versi |
| a5c0 | 6f 6e 20 35 20 52 65 6c 65 61 73 65 20 32 33 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 66 20 57 | on.5.Release.23..........;;.of.W |
| a5e0 | 69 73 68 62 72 69 6e 67 65 72 20 63 6f 6e 74 61 69 6e 73 20 69 74 20 62 79 20 61 63 63 69 64 65 | ishbringer.contains.it.by.accide |
| a600 | 6e 74 2c 20 73 6f 20 74 72 65 61 74 20 69 74 20 61 73 20 4e 4f 50 20 69 6e 73 74 65 61 64 2e 0a | nt,.so.treat.it.as.NOP.instead.. |
| a620 | 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 38 | .........(aset.malyon-opcodes.18 |
| a640 | 38 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 29 29 29 29 0a 0a 28 64 65 66 75 6e | 8.'malyon-opcode-nop))))..(defun |
| a660 | 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 68 65 61 64 65 72 20 28 29 0a 20 20 22 50 72 69 6e 74 | .malyon-print-header.()..."Print |
| a680 | 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 68 65 61 64 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e | .malyon.mode.header.information. |
| a6a0 | 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79 6c | "...(malyon-opcode-set-text-styl |
| a6c0 | 65 20 32 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 63 6f 6e 63 61 74 20 22 4d 61 | e.2)...(malyon-print.(concat."Ma |
| a6e0 | 6c 79 6f 6e 20 56 20 22 20 6d 61 6c 79 6f 6e 2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 28 6d 61 6c | lyon.V.".malyon-version))...(mal |
| a700 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79 6c 65 20 30 29 0a 20 20 28 | yon-opcode-set-text-style.0)...( |
| a720 | 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 | malyon-newline)...(malyon-print. |
| a740 | 22 41 20 7a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 6f 72 20 76 65 72 73 69 6f | "A.z-code.interpreter.for.versio |
| a760 | 6e 20 33 2c 20 35 2c 20 61 6e 64 20 38 20 67 61 6d 65 73 2e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e | n.3,.5,.and.8.games.")...(malyon |
| a780 | 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 22 28 63 29 20 31 | -newline)...(malyon-print."(c).1 |
| a7a0 | 39 39 39 2d 32 30 31 31 20 62 79 20 50 65 74 65 72 20 49 6c 62 65 72 67 20 3c 70 65 74 65 72 2e | 999-2011.by.Peter.Ilberg.<peter. |
| a7c0 | 69 6c 62 65 72 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 | ilberg@gmail.com>")...(malyon-ne |
| a7e0 | 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 22 28 63 29 20 32 30 31 36 | wline)...(malyon-print."(c).2016 |
| a800 | 20 62 79 20 45 72 69 6b 20 53 65 6c 62 65 72 67 20 3c 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f | .by.Erik.Selberg.<erik@selberg.o |
| a820 | 72 67 3e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 | rg>")...(malyon-newline)...(maly |
| a840 | 6f 6e 2d 6e 65 77 6c 69 6e 65 29 29 0a 0a 3b 3b 20 63 6c 65 61 6e 75 70 0a 0a 28 64 65 66 75 6e | on-newline))..;;.cleanup..(defun |
| a860 | 20 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 20 28 29 0a 20 20 22 43 6c 65 61 6e 20 75 70 20 74 | .malyon-cleanup.()..."Clean.up.t |
| a880 | 68 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f | he.Z-code.interpreter."...(malyo |
| a8a0 | 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 63 6c 65 61 6e 75 70 20 | n-hide-internal-errors."cleanup. |
| a8c0 | 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 73 65 74 71 20 | failed.".....(progn.......(setq. |
| a8e0 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 | malyon-story-file.nil).......(se |
| a900 | 74 71 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6e | tq.malyon-window-configuration.n |
| a920 | 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 | il).......(setq.malyon-game-stat |
| a940 | 65 2d 72 65 73 74 61 72 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | e-restart.nil).......(setq.malyo |
| a960 | 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 69 66 | n-game-state-undo.nil).......(if |
| a980 | 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 0a 20 20 | .(get-buffer."Malyon.Status")... |
| a9a0 | 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 | ........(kill-buffer.(get-buffer |
| a9c0 | 20 22 4d 61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 67 | ."Malyon.Status"))).......(if.(g |
| a9e0 | 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79 6f 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 0a 20 | et-buffer."Malyon.Transcript").. |
| aa00 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 | .........(progn.............(swi |
| aa20 | 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79 6f | tch-to-buffer.(get-buffer."Malyo |
| aa40 | 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | n.Transcript")).............(mal |
| aa60 | 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 | yon-redisplay-frame.(selected-fr |
| aa80 | 61 6d 65 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 6f 74 68 65 | ame).t).............(delete-othe |
| aaa0 | 72 2d 77 69 6e 64 6f 77 73 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 | r-windows.(get-buffer-window.(cu |
| aac0 | 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 | rrent-buffer))).............(wid |
| aae0 | 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 78 74 2d 6d 6f 64 65 29 29 29 0a 20 20 | en).............(text-mode)))... |
| ab00 | 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 6e | ....(setq.malyon-status-buffer.n |
| ab20 | 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 | il).......(setq.malyon-transcrip |
| ab40 | 74 2d 62 75 66 66 65 72 20 6e 69 6c 29 29 29 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 68 61 6e 64 6c | t-buffer.nil))))..;;.error.handl |
| ab60 | 69 6e 67 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 28 | ing..(defun.malyon-fatal-error.( |
| ab80 | 6d 65 73 73 61 67 65 29 0a 20 20 22 50 72 69 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 | message)..."Print.error.message. |
| aba0 | 61 6e 64 20 61 62 6f 72 74 2e 22 0a 20 20 28 73 65 74 71 20 6d 65 73 73 61 67 65 20 28 63 6f 6e | and.abort."...(setq.message.(con |
| abc0 | 63 61 74 20 22 4d 61 6c 79 6f 6e 20 66 61 74 61 6c 20 65 72 72 6f 72 3a 20 22 20 6d 65 73 73 61 | cat."Malyon.fatal.error:.".messa |
| abe0 | 67 65 29 29 0a 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 28 77 69 | ge))...(unwind-protect.......(wi |
| ac00 | 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 | th-current-buffer.malyon-transcr |
| ac20 | 69 70 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 | ipt-buffer.........(goto-char.(p |
| ac40 | 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 | oint-max)).........(newline).... |
| ac60 | 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 | .....(newline).........(put-text |
| ac80 | 2d 70 72 6f 70 65 72 74 79 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -property.0..................... |
| aca0 | 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 | .......(length.message)......... |
| acc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 0a 20 20 20 20 20 20 20 | ...................'face........ |
| ace0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 | ....................'malyon-face |
| ad00 | 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -error.......................... |
| ad20 | 20 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 6d 65 73 73 61 | ..message).........(insert.messa |
| ad40 | 67 65 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 0a 20 20 20 20 28 6d 61 6c 79 | ge).........(newline)).....(maly |
| ad60 | 6f 6e 2d 63 6c 65 61 6e 75 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 | on-cleanup).....(malyon-redispla |
| ad80 | 79 2d 66 72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 61 6d 65 29 20 74 29 0a 20 20 20 20 | y-frame.(selected-frame).t)..... |
| ada0 | 28 65 72 72 6f 72 20 6d 65 73 73 61 67 65 29 29 29 0a 0a 3b 3b 20 63 6f 6e 76 65 72 73 69 6f 6e | (error.message)))..;;.conversion |
| adc0 | 20 6f 66 20 7a 73 63 69 69 20 74 6f 20 61 73 63 69 69 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 | .of.zscii.to.ascii..(defvar.maly |
| ade0 | 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 41 6e 20 61 72 72 61 79 | on-unicode-table.nil..."An.array |
| ae00 | 20 6d 61 70 70 69 6e 67 20 7a 73 63 69 69 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 6c 61 74 | .mapping.zscii.characters.to.lat |
| ae20 | 69 6e 2d 31 20 6f 6e 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 65 66 | in-1.ones.")..(defvar.malyon-def |
| ae40 | 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 64 65 | ault-unicode-table.nil..."The.de |
| ae60 | 66 61 75 6c 74 20 61 72 72 61 79 20 6d 61 70 70 69 6e 67 20 7a 73 63 69 69 20 63 68 61 72 61 63 | fault.array.mapping.zscii.charac |
| ae80 | 74 65 72 73 20 74 6f 20 6c 61 74 69 6e 2d 31 20 6f 6e 65 73 2e 22 29 0a 0a 28 69 66 20 6d 61 6c | ters.to.latin-1.ones.")..(if.mal |
| aea0 | 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 0a 20 20 20 20 27 28 | yon-default-unicode-table.....'( |
| aec0 | 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 | )...(setq.malyon-default-unicode |
| aee0 | 2d 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 5b 33 32 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 | -table.........[32..........0... |
| af00 | 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 20 20 20 20 3b 20 20 20 | 0...0...0...0...0...0.......;... |
| af20 | 31 20 2d 20 20 20 37 0a 20 20 20 20 20 20 20 20 20 38 20 20 20 30 20 20 20 30 20 20 20 30 20 20 | 1.-...7..........8...0...0...0.. |
| af40 | 20 30 20 20 20 31 30 20 20 30 20 20 20 30 20 20 20 3b 20 20 20 38 20 2d 20 20 31 35 0a 20 20 20 | .0...10..0...0...;...8.-..15.... |
| af60 | 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 | ......0...0...0...0...0...0...0. |
| af80 | 20 20 30 20 20 20 3b 20 20 31 36 20 2d 20 20 32 33 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 | ..0...;..16.-..23..........0...0 |
| afa0 | 20 20 20 30 20 20 20 33 39 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 20 32 34 | ...0...39..0...0...0...0...;..24 |
| afc0 | 20 2d 20 20 33 31 0a 20 20 20 20 20 20 20 20 20 33 32 20 20 33 33 20 20 33 34 20 20 33 35 20 20 | .-..31..........32..33..34..35.. |
| afe0 | 33 36 20 20 33 37 20 20 33 38 20 20 33 39 20 20 3b 20 20 33 32 20 2d 20 20 33 39 0a 20 20 20 20 | 36..37..38..39..;..32.-..39..... |
| b000 | 20 20 20 20 20 34 30 20 20 34 31 20 20 34 32 20 20 34 33 20 20 34 34 20 20 34 35 20 20 34 36 20 | .....40..41..42..43..44..45..46. |
| b020 | 20 34 37 20 20 3b 20 20 34 30 20 2d 20 20 34 37 0a 20 20 20 20 20 20 20 20 20 34 38 20 20 34 39 | .47..;..40.-..47..........48..49 |
| b040 | 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35 33 20 20 35 34 20 20 35 35 20 20 3b 20 20 34 38 20 | ..50..51..52..53..54..55..;..48. |
| b060 | 2d 20 20 35 35 0a 20 20 20 20 20 20 20 20 20 35 36 20 20 35 37 20 20 35 38 20 20 35 39 20 20 36 | -..55..........56..57..58..59..6 |
| b080 | 30 20 20 36 31 20 20 36 32 20 20 36 33 20 20 3b 20 20 35 36 20 2d 20 20 36 33 0a 20 20 20 20 20 | 0..61..62..63..;..56.-..63...... |
| b0a0 | 20 20 20 20 36 34 20 20 36 35 20 20 36 36 20 20 36 37 20 20 36 38 20 20 36 39 20 20 37 30 20 20 | ....64..65..66..67..68..69..70.. |
| b0c0 | 37 31 20 20 3b 20 20 36 34 20 2d 20 20 37 31 0a 20 20 20 20 20 20 20 20 20 37 32 20 20 37 33 20 | 71..;..64.-..71..........72..73. |
| b0e0 | 20 37 34 20 20 37 35 20 20 37 36 20 20 37 37 20 20 37 38 20 20 37 39 20 20 3b 20 20 37 32 20 2d | .74..75..76..77..78..79..;..72.- |
| b100 | 20 20 37 39 0a 20 20 20 20 20 20 20 20 20 38 30 20 20 38 31 20 20 38 32 20 20 38 33 20 20 38 34 | ..79..........80..81..82..83..84 |
| b120 | 20 20 38 35 20 20 38 36 20 20 38 37 20 20 3b 20 20 38 30 20 2d 20 20 38 37 0a 20 20 20 20 20 20 | ..85..86..87..;..80.-..87....... |
| b140 | 20 20 20 38 38 20 20 38 39 20 20 39 30 20 20 39 31 20 20 39 32 20 20 39 33 20 20 39 34 20 20 39 | ...88..89..90..91..92..93..94..9 |
| b160 | 35 20 20 3b 20 20 38 38 20 2d 20 20 39 35 0a 20 20 20 20 20 20 20 20 20 39 36 20 20 39 37 20 20 | 5..;..88.-..95..........96..97.. |
| b180 | 39 38 20 20 39 39 20 20 31 30 30 20 31 30 31 20 31 30 32 20 31 30 33 20 3b 20 20 39 36 20 2d 20 | 98..99..100.101.102.103.;..96.-. |
| b1a0 | 31 30 33 0a 20 20 20 20 20 20 20 20 20 31 30 34 20 31 30 35 20 31 30 36 20 31 30 37 20 31 30 38 | 103..........104.105.106.107.108 |
| b1c0 | 20 31 30 39 20 31 31 30 20 31 31 31 20 3b 20 31 30 34 20 2d 20 31 31 31 0a 20 20 20 20 20 20 20 | .109.110.111.;.104.-.111........ |
| b1e0 | 20 20 31 31 32 20 31 31 33 20 31 31 34 20 31 31 35 20 31 31 36 20 31 31 37 20 31 31 38 20 31 31 | ..112.113.114.115.116.117.118.11 |
| b200 | 39 20 3b 20 31 31 32 20 2d 20 31 31 39 0a 20 20 20 20 20 20 20 20 20 31 32 30 20 31 32 31 20 31 | 9.;.112.-.119..........120.121.1 |
| b220 | 32 32 20 31 32 33 20 31 32 34 20 31 32 35 20 31 32 36 20 30 20 20 20 3b 20 31 32 30 20 2d 20 31 | 22.123.124.125.126.0...;.120.-.1 |
| b240 | 32 37 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 | 27..........0...0...0...0...0... |
| b260 | 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 31 32 38 20 2d 20 31 33 35 0a 20 20 20 20 20 20 20 20 | 0...0...0...;.128.-.135......... |
| b280 | 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 | .0...0...0...0...0...0...0...0.. |
| b2a0 | 20 3b 20 31 33 36 20 2d 20 31 34 33 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 34 38 20 20 34 39 | .;.136.-.143..........0...48..49 |
| b2c0 | 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35 33 20 20 35 34 20 20 3b 20 31 34 34 20 2d 20 31 35 | ..50..51..52..53..54..;.144.-.15 |
| b2e0 | 31 0a 20 20 20 20 20 20 20 20 20 35 35 20 20 35 36 20 20 35 37 20 20 32 32 38 20 32 34 36 20 32 | 1..........55..56..57..228.246.2 |
| b300 | 35 32 20 31 39 36 20 32 31 34 20 3b 20 31 35 32 20 2d 20 31 35 39 0a 20 20 20 20 20 20 20 20 20 | 52.196.214.;.152.-.159.......... |
| b320 | 32 32 30 20 32 32 33 20 31 38 37 20 31 37 31 20 32 33 35 20 32 33 39 20 32 35 35 20 32 30 33 20 | 220.223.187.171.235.239.255.203. |
| b340 | 3b 20 31 36 30 20 2d 20 31 36 37 0a 20 20 20 20 20 20 20 20 20 32 30 37 20 32 32 35 20 32 33 33 | ;.160.-.167..........207.225.233 |
| b360 | 20 32 33 37 20 32 34 33 20 32 35 30 20 32 35 33 20 31 39 33 20 3b 20 31 36 38 20 2d 20 31 37 35 | .237.243.250.253.193.;.168.-.175 |
| b380 | 0a 20 20 20 20 20 20 20 20 20 32 30 31 20 32 30 35 20 32 31 31 20 32 31 38 20 32 32 31 20 32 32 | ..........201.205.211.218.221.22 |
| b3a0 | 34 20 32 33 32 20 32 33 36 20 3b 20 31 37 36 20 2d 20 31 38 33 0a 20 20 20 20 20 20 20 20 20 32 | 4.232.236.;.176.-.183..........2 |
| b3c0 | 34 32 20 32 34 39 20 31 39 32 20 32 30 30 20 32 30 34 20 32 31 30 20 32 31 37 20 32 32 36 20 3b | 42.249.192.200.204.210.217.226.; |
| b3e0 | 20 31 38 34 20 2d 20 31 39 31 0a 20 20 20 20 20 20 20 20 20 32 33 34 20 32 33 38 20 32 34 34 20 | .184.-.191..........234.238.244. |
| b400 | 32 35 31 20 31 39 34 20 32 30 32 20 32 30 36 20 32 31 32 20 3b 20 31 39 32 20 2d 20 31 39 39 0a | 251.194.202.206.212.;.192.-.199. |
| b420 | 20 20 20 20 20 20 20 20 20 32 31 39 20 32 32 39 20 31 39 37 20 32 34 38 20 32 31 36 20 32 32 37 | .........219.229.197.248.216.227 |
| b440 | 20 32 34 31 20 32 34 35 20 3b 20 32 30 30 20 2d 20 32 30 37 0a 20 20 20 20 20 20 20 20 20 31 39 | .241.245.;.200.-.207..........19 |
| b460 | 35 20 32 30 39 20 32 31 33 20 32 33 30 20 31 39 38 20 32 33 31 20 31 39 39 20 32 35 34 20 3b 20 | 5.209.213.230.198.231.199.254.;. |
| b480 | 32 30 38 20 2d 20 32 31 35 0a 20 20 20 20 20 20 20 20 20 32 34 30 20 32 32 32 20 32 30 38 20 31 | 208.-.215..........240.222.208.1 |
| b4a0 | 36 33 20 36 33 20 20 36 33 20 20 31 36 31 20 31 39 31 20 3b 20 32 31 36 20 2d 20 32 32 33 0a 20 | 63.63..63..161.191.;.216.-.223.. |
| b4c0 | 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 | ........0...0...0...0...0...0... |
| b4e0 | 30 20 20 20 30 20 20 20 3b 20 32 32 34 20 2d 20 32 33 31 0a 20 20 20 20 20 20 20 20 20 30 20 20 | 0...0...;.224.-.231..........0.. |
| b500 | 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 32 | .0...0...0...0...0...0...0...;.2 |
| b520 | 33 32 20 2d 20 32 33 39 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 | 32.-.239..........0...0...0...0. |
| b540 | 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 32 34 30 20 2d 20 32 34 37 0a 20 20 | ..0...0...0...0...;.240.-.247... |
| b560 | 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 | .......0...0...0...0...0...0...0 |
| b580 | 20 20 20 30 20 20 20 3b 20 32 34 38 20 2d 20 32 35 35 0a 20 20 20 20 20 20 20 20 20 5d 29 29 0a | ...0...;.248.-.255..........])). |
| b5a0 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f 64 | .(defun.malyon-initialize-unicod |
| b5c0 | 65 2d 74 61 62 6c 65 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 7a 73 | e-table.()..."Initializes.the.zs |
| b5e0 | 63 69 69 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 74 61 62 6c 65 2e | cii-to-unicode.conversion.table. |
| b600 | 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 0a 20 | "...(setq.malyon-unicode-table.. |
| b620 | 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 64 65 66 | .......(copy-sequence.malyon-def |
| b640 | 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 65 | ault-unicode-table))...(let*.((e |
| b660 | 78 74 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 35 34 29 29 0a 20 20 20 20 | xt...(malyon-read-word.54))..... |
| b680 | 20 20 20 20 20 28 6c 65 6e 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 65 78 74 29 20 30 20 28 6d | .....(len...(if.(zerop.ext).0.(m |
| b6a0 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 | alyon-read-word.ext))).......... |
| b6c0 | 28 74 61 62 6c 65 20 28 69 66 20 28 3c 20 6c 65 6e 20 33 29 20 20 20 30 20 28 6d 61 6c 79 6f 6e | (table.(if.(<.len.3)...0.(malyon |
| b6e0 | 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 65 78 74 20 36 29 29 29 29 29 0a 20 20 20 20 28 69 66 | -read-word.(+.ext.6))))).....(if |
| b700 | 20 28 6f 72 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 | .(or.(<.malyon-story-version.5). |
| b720 | 28 7a 65 72 6f 70 20 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 | (zerop.table)).........'()...... |
| b740 | 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 | .(let.((i.0)).........(while.(<. |
| b760 | 69 20 39 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 | i.96)...........(aset.malyon-uni |
| b780 | 63 6f 64 65 2d 74 61 62 6c 65 20 28 2b 20 31 35 35 20 69 29 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 | code-table.(+.155.i).(malyon-cha |
| b7a0 | 72 2d 74 6f 2d 69 6e 74 20 3f 3f 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 | r-to-int.??))...........(setq.i. |
| b7c0 | 28 2b 20 31 20 69 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 65 6e 20 28 6d 61 6c 79 | (+.1.i)))).......(setq.len.(maly |
| b7e0 | 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 | on-read-byte.table)).......(let. |
| b800 | 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 29 | ((i.0)).........(while.(<.i.len) |
| b820 | 0a 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d | ...........(aset.malyon-unicode- |
| b840 | 74 61 62 6c 65 20 28 2b 20 31 35 35 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | table.(+.155.i)................. |
| b860 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 74 61 62 6c 65 20 31 20 69 29 29 | (malyon-read-word.(+.table.1.i)) |
| b880 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29 29 | )...........(setq.i.(+.1.i)))))) |
| b8a0 | 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 7a 73 63 69 69 2d 74 6f 2d 75 6e 69 | )..(defsubst.malyon-zscii-to-uni |
| b8c0 | 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 73 20 61 20 7a 73 63 69 69 20 | code.(char)..."Converts.a.zscii. |
| b8e0 | 63 68 61 72 61 63 74 65 72 20 74 6f 20 75 6e 69 63 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 6f 72 | character.to.unicode."...(if.(or |
| b900 | 20 28 3c 20 63 68 61 72 20 30 29 20 28 3e 20 63 68 61 72 20 32 35 35 29 29 0a 20 20 20 20 20 20 | .(<.char.0).(>.char.255))....... |
| b920 | 3f 3f 0a 20 20 20 20 28 6c 65 74 20 28 28 75 6e 69 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 75 | ??.....(let.((uni.(aref.malyon-u |
| b940 | 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 | nicode-table.char))).......(if.( |
| b960 | 7a 65 72 6f 70 20 75 6e 69 29 0a 20 20 20 20 20 20 20 20 20 20 3f 3f 0a 20 20 20 20 20 20 20 20 | zerop.uni)...........??......... |
| b980 | 28 6d 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 | (malyon-unibyte-char-to-multibyt |
| b9a0 | 65 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 75 6e 69 29 29 29 29 29 29 0a | e.(malyon-int-to-char.uni)))))). |
| b9c0 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 | .(defsubst.malyon-unicode-to-zsc |
| b9e0 | 69 69 20 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 73 20 61 20 75 6e 69 63 6f 64 65 20 | ii.(char)..."Converts.a.unicode. |
| ba00 | 63 68 61 72 61 63 74 65 72 20 74 6f 20 7a 73 63 69 69 2e 22 0a 20 20 28 73 65 74 71 20 63 68 61 | character.to.zscii."...(setq.cha |
| ba20 | 72 20 28 6d 61 6c 79 6f 6e 2d 6d 75 6c 74 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 | r.(malyon-multibyte-char-to-unib |
| ba40 | 79 74 65 20 63 68 61 72 29 29 0a 20 20 28 73 65 74 71 20 63 68 61 72 20 28 69 66 20 28 63 68 61 | yte.char))...(setq.char.(if.(cha |
| ba60 | 72 61 63 74 65 72 70 20 63 68 61 72 29 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e | racterp.char).(malyon-char-to-in |
| ba80 | 74 20 63 68 61 72 29 20 63 68 61 72 29 29 0a 20 20 28 69 66 20 28 3d 20 31 33 20 63 68 61 72 29 | t.char).char))...(if.(=.13.char) |
| baa0 | 0a 20 20 20 20 20 20 3f 5c 72 0a 20 20 20 20 28 6c 65 74 20 28 28 69 20 31 29 20 28 66 6f 75 6e | .......?\r.....(let.((i.1).(foun |
| bac0 | 64 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 3c 20 69 20 32 35 35 | d.0)).......(while.(and.(<.i.255 |
| bae0 | 29 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 | ).(zerop.found)).........(if.(=. |
| bb00 | 63 68 61 72 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 | char.(aref.malyon-unicode-table. |
| bb20 | 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 6f 75 6e 64 20 69 29 29 0a | i)).............(setq.found.i)). |
| bb40 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 20 31 29 29 29 0a 20 20 20 20 20 20 | ........(setq.i.(+.i.1)))....... |
| bb60 | 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 66 6f 75 6e 64 29 29 29 29 0a 0a 3b | (malyon-int-to-char.found))))..; |
| bb80 | 3b 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e | ;.output.streams..(defvar.malyon |
| bba0 | 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20 6e 69 6c 0a 20 20 22 56 61 6c 69 64 20 6f 75 74 | -output-streams.nil..."Valid.out |
| bbc0 | 70 75 74 20 73 74 72 65 61 6d 73 20 66 6f 72 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e | put.streams.for.the.interpreter. |
| bbe0 | 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d | ")..(defvar.malyon-output-stream |
| bc00 | 73 2d 74 61 62 6c 65 73 20 6e 69 6c 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20 61 63 74 69 76 65 | s-tables.nil..."A.list.of.active |
| bc20 | 20 74 61 62 6c 65 73 20 66 6f 72 20 73 74 72 65 61 6d 20 33 2e 22 29 0a 0a 28 64 65 66 75 6e 20 | .tables.for.stream.3.")..(defun. |
| bc40 | 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 | malyon-initialize-output-streams |
| bc60 | 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 | .()..."Initializes.the.output.st |
| bc80 | 72 65 61 6d 73 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 | reams."...(setq.malyon-output-st |
| bca0 | 72 65 61 6d 73 20 27 28 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 | reams.'())...(setq.malyon-output |
| bcc0 | 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73 20 27 28 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 61 | -streams-tables.'())...(malyon-a |
| bce0 | 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 31 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d | dd-output-stream.1.0))..(defun.m |
| bd00 | 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 28 73 74 | alyon-output-stream-function.(st |
| bd20 | 72 65 61 6d 29 0a 20 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 6f 75 74 70 75 74 20 66 75 6e 63 | ream)..."Returns.the.output.func |
| bd40 | 74 69 6f 6e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 67 69 76 65 6e 20 73 74 72 65 | tion.representing.the.given.stre |
| bd60 | 61 6d 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3d 20 31 20 73 74 72 65 61 6d 29 20 28 69 66 20 28 | am."...(cond.((=.1.stream).(if.( |
| bd80 | 7a 65 72 6f 70 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 | zerop.malyon-current-window).... |
| bda0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 70 | .......................'malyon-p |
| bdc0 | 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | utchar-transcript............... |
| bde0 | 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 73 | ..........'malyon-putchar-status |
| be00 | 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 32 20 73 74 72 65 61 6d 29 20 27 6d 61 6c 79 6f 6e | )).........((=.2.stream).'malyon |
| be20 | 2d 70 75 74 63 68 61 72 2d 70 72 69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | -putchar-printer)))..(defun.maly |
| be40 | 6f 6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 28 73 74 72 65 61 6d 20 74 61 62 | on-add-output-stream.(stream.tab |
| be60 | 6c 65 29 0a 20 20 22 41 64 64 20 61 20 6e 65 77 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 22 | le)..."Add.a.new.output.stream." |
| be80 | 0a 20 20 28 69 66 20 28 3d 20 73 74 72 65 61 6d 20 33 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e | ...(if.(=.stream.3).......(progn |
| bea0 | 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 | .........(setq.malyon-output-str |
| bec0 | 65 61 6d 73 2d 74 61 62 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 | eams-tables...............(cons. |
| bee0 | 74 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c | table.malyon-output-streams-tabl |
| bf00 | 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 | es)).........(malyon-store-word. |
| bf20 | 74 61 62 6c 65 20 30 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 75 6e 63 74 69 6f 6e 20 28 6d | table.0)).....(let.((function.(m |
| bf40 | 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 73 74 72 | alyon-output-stream-function.str |
| bf60 | 65 61 6d 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 | eam))).......(setq.malyon-output |
| bf80 | 2d 73 74 72 65 61 6d 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65 72 | -streams.............(if.(member |
| bfa0 | 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 | .function.malyon-output-streams) |
| bfc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 | .................malyon-output-s |
| bfe0 | 74 72 65 61 6d 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 66 75 6e 63 74 | treams...............(cons.funct |
| c000 | 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 29 29 0a | ion.malyon-output-streams)))))). |
| c020 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 2d 73 74 72 | .(defun.malyon-remove-output-str |
| c040 | 65 61 6d 20 28 73 74 72 65 61 6d 29 0a 20 20 22 52 65 6d 6f 76 65 20 61 6e 20 6f 75 74 70 75 74 | eam.(stream)..."Remove.an.output |
| c060 | 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 69 66 20 28 3d 20 73 74 72 65 61 6d 20 33 29 0a 20 20 20 | .stream."...(if.(=.stream.3).... |
| c080 | 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 | ...(setq.malyon-output-streams-t |
| c0a0 | 61 62 6c 65 73 20 28 63 64 72 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 | ables.(cdr.malyon-output-streams |
| c0c0 | 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 | -tables)).....(setq.malyon-outpu |
| c0e0 | 74 2d 73 74 72 65 61 6d 73 0a 09 20 20 28 72 65 6d 6f 76 65 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 | t-streams....(remove.(malyon-out |
| c100 | 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 73 74 72 65 61 6d 29 0a 09 09 09 20 | put-stream-function.stream)..... |
| c120 | 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 0a 0a 28 64 65 66 75 | malyon-output-streams))))..(defu |
| c140 | 6e 20 6d 61 6c 79 6f 6e 2d 75 70 64 61 74 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20 28 | n.malyon-update-output-streams.( |
| c160 | 29 0a 20 20 22 55 70 64 61 74 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 73 20 77 68 65 6e 20 | )..."Update.output.streams.when. |
| c180 | 74 68 65 20 6f 75 74 70 75 74 20 77 69 6e 64 6f 77 20 68 61 73 20 63 68 61 6e 67 65 64 2e 22 0a | the.output.window.has.changed.". |
| c1a0 | 20 20 28 6c 65 74 20 28 28 6f 6e 65 20 28 6f 72 20 28 6d 65 6d 62 65 72 20 27 6d 61 6c 79 6f 6e | ..(let.((one.(or.(member.'malyon |
| c1c0 | 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 | -putchar-transcript.malyon-outpu |
| c1e0 | 74 2d 73 74 72 65 61 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d | t-streams)..................(mem |
| c200 | 62 65 72 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 73 20 20 20 20 20 6d | ber.'malyon-putchar-status.....m |
| c220 | 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 0a 20 20 20 20 28 73 65 | alyon-output-streams)))).....(se |
| c240 | 74 71 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 0a 09 20 20 28 72 65 6d | tq.malyon-output-streams....(rem |
| c260 | 6f 76 65 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 0a 09 | ove.'malyon-putchar-transcript.. |
| c280 | 09 09 20 28 72 65 6d 6f 76 65 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 | ...(remove.'malyon-putchar-statu |
| c2a0 | 73 0a 09 09 09 09 09 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 0a | s......malyon-output-streams))). |
| c2c0 | 20 20 20 20 28 69 66 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 64 2d | ....(if.one.........(malyon-add- |
| c2e0 | 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 31 20 30 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 | output-stream.1.0))))..(defsubst |
| c300 | 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 28 63 68 61 72 29 0a | .malyon-output-character.(char). |
| c320 | 20 20 22 4f 75 74 70 75 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 6e 20 | .."Output.a.single.character.on. |
| c340 | 61 6c 6c 20 61 63 74 69 76 65 20 73 74 72 65 61 6d 73 2e 22 0a 20 20 28 73 65 74 71 20 63 68 61 | all.active.streams."...(setq.cha |
| c360 | 72 20 28 6d 61 6c 79 6f 6e 2d 7a 73 63 69 69 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 63 68 61 72 29 | r.(malyon-zscii-to-unicode.char) |
| c380 | 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 | )...(if.malyon-output-streams-ta |
| c3a0 | 62 6c 65 73 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 61 62 6c 65 | bles.......(malyon-putchar-table |
| c3c0 | 20 63 68 61 72 20 28 63 61 72 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 | .char.(car.malyon-output-streams |
| c3e0 | 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 73 29 20 | -tables)).....(mapc.(lambda.(s). |
| c400 | 28 66 75 6e 63 61 6c 6c 20 73 20 63 68 61 72 29 29 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d | (funcall.s.char)).malyon-output- |
| c420 | 73 74 72 65 61 6d 73 29 29 29 0a 0a 3b 3b 20 70 72 69 6e 74 69 6e 67 20 74 65 78 74 0a 0a 28 64 | streams)))..;;.printing.text..(d |
| c440 | 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 20 28 61 62 62 72 65 76 20 78 29 | efsubst.malyon-abbrev.(abbrev.x) |
| c460 | 0a 20 20 22 50 72 69 6e 74 20 61 6e 20 61 62 62 72 65 76 69 61 74 69 6f 6e 2e 22 0a 20 20 28 6d | ..."Print.an.abbreviation."...(m |
| c480 | 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 0a 20 20 20 28 2a 20 32 20 28 6d 61 6c 79 6f | alyon-print-ztext....(*.2.(malyo |
| c4a0 | 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74 69 | n-read-word.(+.malyon-abbreviati |
| c4c0 | 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ons............................. |
| c4e0 | 20 28 2a 20 32 20 28 2b 20 78 20 28 2a 20 33 32 20 28 31 2d 20 61 62 62 72 65 76 29 29 29 29 29 | .(*.2.(+.x.(*.32.(1-.abbrev))))) |
| c500 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 20 28 29 0a 20 | ))))..(defun.malyon-newline.().. |
| c520 | 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c 69 6e 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61 | ."Print.a.newline."...(if.(eq.ma |
| c540 | 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 | lyon-status-buffer.(current-buff |
| c560 | 65 72 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 | er)).......(goto-char.malyon-sta |
| c580 | 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 | tus-buffer-point).....(goto-char |
| c5a0 | 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d | .(point-max)))...(malyon-output- |
| c5c0 | 63 68 61 72 61 63 74 65 72 20 3f 5c 72 29 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d | character.?\r)...(if.(eq.malyon- |
| c5e0 | 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a | status-buffer.(current-buffer)). |
| c600 | 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 | ......(setq.malyon-status-buffer |
| c620 | 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d | -point.(point)).....(goto-char.m |
| c640 | 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 | alyon-last-cursor-position-after |
| c660 | 2d 69 6e 70 75 74 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72 61 | -input))...(malyon-redisplay-fra |
| c680 | 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 61 6d 65 29 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 | me.(selected-frame).nil))..(defu |
| c6a0 | 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 50 72 69 6e 74 | n.malyon-print.(object)..."Print |
| c6c0 | 20 74 65 78 74 2e 22 20 0a 20 20 28 6c 65 74 20 28 28 74 65 78 74 20 28 69 66 20 28 63 68 61 72 | .text."....(let.((text.(if.(char |
| c6e0 | 61 63 74 65 72 70 20 6f 62 6a 65 63 74 29 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6f | acterp.object).(char-to-string.o |
| c700 | 62 6a 65 63 74 29 20 6f 62 6a 65 63 74 29 29 0a 09 28 73 74 61 72 74 29 29 0a 20 20 20 20 28 69 | bject).object))..(start)).....(i |
| c720 | 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 | f.(eq.malyon-transcript-buffer.( |
| c740 | 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 | current-buffer)).........(goto-c |
| c760 | 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 | har.(point-max)).......(goto-cha |
| c780 | 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 29 29 0a 20 | r.malyon-status-buffer-point)).. |
| c7a0 | 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 6d 61 6c | ...(setq.start.(point)).....(mal |
| c7c0 | 79 6f 6e 2d 70 72 69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28 73 74 72 69 6e 67 2d 74 6f 2d | yon-print-characters.(string-to- |
| c7e0 | 6c 69 73 74 20 74 65 78 74 29 29 0a 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 | list.text)).....(put-text-proper |
| c800 | 74 79 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 20 27 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 63 75 | ty.start.(point).'face.malyon-cu |
| c820 | 72 72 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 | rrent-face).....(if.(eq.malyon-s |
| c840 | 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 | tatus-buffer.(current-buffer)).. |
| c860 | 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 | .......(setq.malyon-status-buffe |
| c880 | 72 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 | r-point.(point)).......(goto-cha |
| c8a0 | 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 | r.malyon-last-cursor-position-af |
| c8c0 | 74 65 72 2d 69 6e 70 75 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 | ter-input))))..(defun.malyon-pri |
| c8e0 | 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28 74 65 78 74 29 0a 20 20 22 50 72 69 6e 74 20 61 20 | nt-characters.(text)..."Print.a. |
| c900 | 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 20 20 28 6d 61 70 63 20 27 6d 61 | list.of.characters."...(mapc.'ma |
| c920 | 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 74 65 78 74 29 29 0a 0a 28 64 | lyon-output-character.text))..(d |
| c940 | 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 28 | efsubst.malyon-print-state-new.( |
| c960 | 63 68 61 72 20 73 68 69 66 74 20 61 62 62 72 20 7a 73 63 69 69 20 7a 63 6f 64 65 29 0a 20 20 22 | char.shift.abbr.zscii.zcode)..." |
| c980 | 47 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 70 72 69 6e 74 20 73 74 61 74 65 2e 22 0a 20 20 28 | Generate.a.new.print.state."...( |
| c9a0 | 6c 69 73 74 20 63 68 61 72 20 73 68 69 66 74 20 61 62 62 72 20 7a 73 63 69 69 20 7a 63 6f 64 65 | list.char.shift.abbr.zscii.zcode |
| c9c0 | 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 | ))..(defsubst.malyon-print-state |
| c9e0 | 2d 69 6e 69 74 69 61 6c 20 28 29 0a 20 20 22 52 65 74 75 72 6e 73 20 61 6e 20 69 6e 69 74 69 61 | -initial.()..."Returns.an.initia |
| ca00 | 6c 20 73 74 61 74 65 20 66 6f 72 20 74 68 65 20 7a 74 65 78 74 20 64 65 63 6f 64 65 72 2e 22 0a | l.state.for.the.ztext.decoder.". |
| ca20 | 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 2d 36 | ..(malyon-print-state-new.nil.-6 |
| ca40 | 20 30 20 30 20 30 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 | .0.0.0))..(defsubst.malyon-print |
| ca60 | 2d 73 74 61 74 65 2d 6e 65 78 74 20 28 78 20 69 67 6e 6f 72 65 20 73 68 69 66 74 20 61 62 62 72 | -state-next.(x.ignore.shift.abbr |
| ca80 | 20 7a 73 63 69 69 20 7a 29 0a 20 20 22 50 72 69 6e 74 20 73 74 61 74 65 20 74 72 61 6e 73 69 74 | .zscii.z)..."Print.state.transit |
| caa0 | 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3d 20 7a 73 63 69 69 | ion.function."...(cond.((=.zscii |
| cac0 | 20 32 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 | .2)..........(malyon-print-state |
| cae0 | 2d 6e 65 77 20 28 2b 20 7a 20 78 29 20 2d 36 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 | -new.(+.z.x).-6.0.0.0))......... |
| cb00 | 28 28 3d 20 7a 73 63 69 69 20 31 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 | ((=.zscii.1)..........(malyon-pr |
| cb20 | 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 20 20 20 20 2d 36 20 30 20 32 20 28 2a 20 | int-state-new.nil.....-6.0.2.(*. |
| cb40 | 33 32 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 3e 20 61 62 62 72 20 30 29 0a 20 20 20 20 | 32.x))).........((>.abbr.0)..... |
| cb60 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 20 61 62 62 72 20 78 29 0a 20 20 20 20 | .....(malyon-abbrev.abbr.x)..... |
| cb80 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 74 69 61 6c | .....(malyon-print-state-initial |
| cba0 | 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 | )).........((=.x.0)..........(ma |
| cbc0 | 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 3f 20 20 20 20 20 20 20 2d 36 20 | lyon-print-state-new.?.......-6. |
| cbe0 | 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 78 20 34 29 0a 20 20 20 20 20 20 20 | 0.0.0)).........((<.x.4)........ |
| cc00 | 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 20 20 | ..(malyon-print-state-new.nil... |
| cc20 | 20 20 2d 36 20 78 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78 20 34 29 0a 20 20 | ..-6.x.0.0)).........((=.x.4)... |
| cc40 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e | .......(malyon-print-state-new.n |
| cc60 | 69 6c 20 20 20 20 20 32 30 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78 20 | il.....20.0.0.0)).........((=.x. |
| cc80 | 35 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d | 5)..........(malyon-print-state- |
| cca0 | 6e 65 77 20 6e 69 6c 20 20 20 20 20 34 36 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 | new.nil.....46.0.0.0)).........( |
| ccc0 | 28 61 6e 64 20 28 3d 20 73 68 69 66 74 20 34 36 29 20 28 3d 20 78 20 36 29 29 0a 20 20 20 20 20 | (and.(=.shift.46).(=.x.6))...... |
| cce0 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 | ....(malyon-print-state-new.nil. |
| cd00 | 20 20 20 20 2d 36 20 30 20 31 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 | ....-6.0.1.0)).........((and.(=. |
| cd20 | 73 68 69 66 74 20 34 36 29 20 28 3d 20 78 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c | shift.46).(=.x.7))..........(mal |
| cd40 | 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 3f 5c 72 20 20 20 20 20 2d 36 20 30 | yon-print-state-new.?\r.....-6.0 |
| cd60 | 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 | .0.0)).........(t..........(maly |
| cd80 | 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 | on-print-state-new...........(ar |
| cda0 | 65 66 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 28 2b 20 73 68 69 66 74 20 78 29 29 20 | ef.malyon-alphabet.(+.shift.x)). |
| cdc0 | 2d 36 20 30 20 30 20 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e | -6.0.0.0))))..(defun.malyon-prin |
| cde0 | 74 2d 74 65 78 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 50 72 69 6e 74 20 74 65 78 74 20 61 | t-text.(address)..."Print.text.a |
| ce00 | 74 20 61 64 64 72 65 73 73 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 61 64 64 72 65 73 73 | t.address.and.return.the.address |
| ce20 | 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 79 74 65 2e 22 0a 20 20 28 6c 65 74 20 | .of.the.following.byte."...(let. |
| ce40 | 28 28 73 74 61 72 74 29 29 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 | ((start)).....(if.(eq.malyon-tra |
| ce60 | 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 | nscript-buffer.(current-buffer)) |
| ce80 | 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 | .........(goto-char.(point-max)) |
| cea0 | 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d | .......(goto-char.malyon-status- |
| cec0 | 62 75 66 66 65 72 2d 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 | buffer-point)).....(setq.start.( |
| cee0 | 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 61 64 64 72 65 73 73 20 28 6d 61 6c 79 6f | point)).....(setq.address.(malyo |
| cf00 | 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 70 75 74 | n-print-ztext.address)).....(put |
| cf20 | 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 20 27 66 61 | -text-property.start.(point).'fa |
| cf40 | 63 65 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 63 65 29 0a 20 20 20 20 28 69 66 20 | ce.malyon-current-face).....(if. |
| cf60 | 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e | (eq.malyon-status-buffer.(curren |
| cf80 | 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d | t-buffer)).........(setq.malyon- |
| cfa0 | 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 | status-buffer-point.(point)).... |
| cfc0 | 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 | ...(goto-char.malyon-last-cursor |
| cfe0 | 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 29 29 0a 20 20 20 20 28 6d 61 6c | -position-after-input)).....(mal |
| d000 | 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 | yon-redisplay-frame.(selected-fr |
| d020 | 61 6d 65 29 20 6e 69 6c 29 0a 20 20 20 20 61 64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e 20 | ame).nil).....address))..(defun. |
| d040 | 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 | malyon-print-ztext.(address)..." |
| d060 | 50 72 69 6e 74 20 74 68 65 20 7a 74 65 78 74 20 73 74 6f 72 65 64 20 61 74 20 74 68 65 20 67 69 | Print.the.ztext.stored.at.the.gi |
| d080 | 76 65 6e 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 68 69 67 68 20 30 29 20 28 | ven.address."...(let.((high.0).( |
| d0a0 | 6c 6f 77 29 20 28 61 29 20 28 62 29 20 28 63 29 20 28 73 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d | low).(a).(b).(c).(state.(malyon- |
| d0c0 | 70 72 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 74 69 61 6c 29 29 29 0a 20 20 20 20 28 77 68 69 6c | print-state-initial))).....(whil |
| d0e0 | 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 68 69 67 68 29 29 0a 20 20 20 20 | e.(zerop.(logand.128.high))..... |
| d100 | 20 20 28 73 65 74 71 20 68 69 67 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 | ..(setq.high.(malyon-read-byte.a |
| d120 | 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 77 20 20 28 6d 61 6c 79 6f | ddress)).......(setq.low..(malyo |
| d140 | 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 | n-read-byte.(+.1.address)))..... |
| d160 | 20 20 28 73 65 74 71 20 61 20 20 20 20 28 6c 6f 67 61 6e 64 20 33 31 20 28 6c 73 68 20 68 69 67 | ..(setq.a....(logand.31.(lsh.hig |
| d180 | 68 20 2d 32 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 20 20 20 20 28 6c 6f 67 61 6e 64 | h.-2))).......(setq.b....(logand |
| d1a0 | 20 33 31 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 68 69 67 68 20 33 29 20 28 6c 73 68 20 6c 6f | .31.(logior.(lsh.high.3).(lsh.lo |
| d1c0 | 77 20 2d 35 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 20 20 20 20 28 6c 6f 67 61 6e | w.-5)))).......(setq.c....(logan |
| d1e0 | 64 20 33 31 20 6c 6f 77 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 28 61 70 | d.31.low)).......(setq.state.(ap |
| d200 | 70 6c 79 20 27 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 61 20 73 | ply.'malyon-print-state-next.a.s |
| d220 | 74 61 74 65 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 63 61 72 20 73 74 61 74 65 29 20 28 6d 61 | tate)).......(if.(car.state).(ma |
| d240 | 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 28 63 61 72 20 73 74 61 74 65 | lyon-output-character.(car.state |
| d260 | 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 28 61 70 70 6c 79 20 27 6d 61 | ))).......(setq.state.(apply.'ma |
| d280 | 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 62 20 73 74 61 74 65 29 29 0a | lyon-print-state-next.b.state)). |
| d2a0 | 20 20 20 20 20 20 28 69 66 20 28 63 61 72 20 73 74 61 74 65 29 20 28 6d 61 6c 79 6f 6e 2d 6f 75 | ......(if.(car.state).(malyon-ou |
| d2c0 | 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 28 63 61 72 20 73 74 61 74 65 29 29 29 0a 20 20 20 | tput-character.(car.state))).... |
| d2e0 | 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 28 61 70 70 6c 79 20 27 6d 61 6c 79 6f 6e 2d 70 72 | ...(setq.state.(apply.'malyon-pr |
| d300 | 69 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 63 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 28 | int-state-next.c.state)).......( |
| d320 | 69 66 20 28 63 61 72 20 73 74 61 74 65 29 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 | if.(car.state).(malyon-output-ch |
| d340 | 61 72 61 63 74 65 72 20 28 63 61 72 20 73 74 61 74 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 | aracter.(car.state))).......(set |
| d360 | 71 20 61 64 64 72 65 73 73 20 28 2b 20 32 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 61 64 | q.address.(+.2.address))).....ad |
| d380 | 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 | dress))..(defun.malyon-putchar-t |
| d3a0 | 72 61 6e 73 63 72 69 70 74 20 28 63 68 61 72 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e 67 | ranscript.(char)..."Print.a.sing |
| d3c0 | 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 77 | le.character.in.the.transcript.w |
| d3e0 | 69 6e 64 6f 77 2e 22 0a 20 20 28 69 66 20 28 63 68 61 72 2d 65 71 75 61 6c 20 63 68 61 72 20 3f | indow."...(if.(char-equal.char.? |
| d400 | 5c 6e 29 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 0a 20 20 20 20 28 69 6e 73 65 72 | \n).......(newline.1).....(inser |
| d420 | 74 20 63 68 61 72 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 | t.char).....(setq.malyon-print-s |
| d440 | 65 70 61 72 61 74 6f 72 20 28 6e 75 6c 6c 20 28 6d 65 6d 62 65 72 20 63 68 61 72 20 6d 61 6c 79 | eparator.(null.(member.char.maly |
| d460 | 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 29 29 29 29 0a 20 20 28 69 66 20 28 61 6e 64 20 6d 61 6c | on-whitespace))))...(if.(and.mal |
| d480 | 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 0a 20 | yon-transcript-buffer-buffered.. |
| d4a0 | 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28 63 | ..........(>.(current-column).(c |
| d4c0 | 75 72 72 65 6e 74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f | urrent-fill-column))).......(pro |
| d4e0 | 67 6e 0a 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 | gn.........(end-of-line)........ |
| d500 | 20 28 66 6f 72 77 61 72 64 2d 77 6f 72 64 20 2d 31 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 | .(forward-word.-1).........(if.( |
| d520 | 3c 20 30 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 | <.0.(current-column))........... |
| d540 | 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c | ..(newline.1)).........(end-of-l |
| d560 | 69 6e 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 | ine))))..(defun.malyon-putchar-s |
| d580 | 74 61 74 75 73 20 28 63 68 61 72 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 | tatus.(char)..."Print.a.single.c |
| d5a0 | 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 20 73 74 61 74 75 73 20 77 69 6e 64 6f 77 2e 22 0a | haracter.in.the.status.window.". |
| d5c0 | 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 | ..(if.malyon-status-buffer-delay |
| d5e0 | 65 64 2d 73 70 6c 69 74 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 6d | ed-split.......(progn.........(m |
| d600 | 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 6d 61 6c 79 6f | alyon-split-buffer-windows.malyo |
| d620 | 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 29 0a 20 | n-status-buffer-delayed-split).. |
| d640 | 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 29 0a 20 20 28 69 66 20 | .......(other-window.1)))...(if. |
| d660 | 28 63 68 61 72 2d 65 71 75 61 6c 20 63 68 61 72 20 3f 5c 6e 29 0a 20 20 20 20 20 20 28 70 72 6f | (char-equal.char.?\n).......(pro |
| d680 | 67 6e 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 | gn.........(beginning-of-line).. |
| d6a0 | 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 | .......(forward-line.1)......... |
| d6c0 | 28 69 66 20 28 3d 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 | (if.(=.(point).(point-max))..... |
| d6e0 | 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 29 29 0a 20 20 20 20 | ........(forward-line.-1)))..... |
| d700 | 28 69 66 20 28 3e 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28 63 75 72 72 65 6e 74 | (if.(>.(current-column).(current |
| d720 | 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 | -fill-column)).........'()...... |
| d740 | 20 28 69 6e 73 65 72 74 20 63 68 61 72 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 | .(insert.char).......(delete-cha |
| d760 | 72 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 | r.1))))..(defun.malyon-putchar-t |
| d780 | 61 62 6c 65 20 28 63 68 61 72 20 74 61 62 6c 65 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e | able.(char.table)..."Print.a.sin |
| d7a0 | 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 6f 20 61 20 74 61 62 6c 65 2e 22 0a 20 20 28 | gle.character.into.a.table."...( |
| d7c0 | 73 65 74 71 20 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 | setq.char.(malyon-unicode-to-zsc |
| d7e0 | 69 69 20 63 68 61 72 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 | ii.char))...(malyon-store-byte.( |
| d800 | 2b 20 32 20 74 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62 6c | +.2.table.(malyon-read-word.tabl |
| d820 | 65 29 29 20 63 68 61 72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 74 | e)).char)...(malyon-store-word.t |
| d840 | 61 62 6c 65 20 28 2b 20 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62 6c | able.(+.1.(malyon-read-word.tabl |
| d860 | 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 70 72 69 | e))))..(defun.malyon-putchar-pri |
| d880 | 6e 74 65 72 20 28 63 68 61 72 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 68 | nter.(char)..."Print.a.single.ch |
| d8a0 | 61 72 61 63 74 65 72 20 6f 6e 74 6f 20 61 20 70 72 69 6e 74 65 72 2e 22 29 3b 20 6e 6f 74 20 79 | aracter.onto.a.printer.");.not.y |
| d8c0 | 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 0a 3b 3b 20 6d 6f 72 65 0a 0a 28 64 65 66 76 61 72 | et.implemented..;;.more..(defvar |
| d8e0 | 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 6e 69 6c | .malyon-more-continue-keymap.nil |
| d900 | 0a 20 20 22 54 68 65 20 6b 65 79 6d 61 70 20 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 63 6f 6e | ..."The.keymap.with.which.to.con |
| d920 | 74 69 6e 75 65 20 61 66 74 65 72 20 4d 6f 72 65 20 68 61 73 20 66 69 6e 69 73 68 65 64 2e 22 29 | tinue.after.More.has.finished.") |
| d940 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 20 28 6b 65 79 6d 61 70 29 0a 20 20 | ..(defun.malyon-more.(keymap)... |
| d960 | 22 45 6e 74 65 72 20 4d 6f 72 65 20 6d 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c | "Enter.More.mode."...(if.(eq.mal |
| d980 | 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 | yon-status-buffer.(current-buffe |
| d9a0 | 72 29 29 0a 20 20 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6b 65 79 6d 61 70 29 | r)).......(use-local-map.keymap) |
| d9c0 | 0a 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e | .....(if.(<.malyon-story-version |
| d9e0 | 20 35 29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 29 29 | .5).(malyon-opcode-show-status)) |
| da00 | 0a 20 20 20 20 28 69 66 20 28 3c 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 6d 61 6c 79 6f 6e 2d | .....(if.(<.(count-lines.malyon- |
| da20 | 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 | last-cursor-position-after-input |
| da40 | 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | .(point-max))............(malyon |
| da60 | 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20 20 | -window-displayed-height))...... |
| da80 | 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 | ...(progn...........(malyon-adju |
| daa0 | 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 73 65 2d 6c 6f | st-transcript)...........(use-lo |
| dac0 | 63 61 6c 2d 6d 61 70 20 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 | cal-map.keymap)).......(goto-cha |
| dae0 | 72 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 | r.malyon-last-cursor-position-af |
| db00 | 74 65 72 2d 69 6e 70 75 74 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c | ter-input).......(beginning-of-l |
| db20 | 69 6e 65 29 0a 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 31 29 0a 20 20 20 20 20 20 28 73 | ine).......(recenter.1).......(s |
| db40 | 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 | etq.malyon-more-continue-keymap. |
| db60 | 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c | keymap).......(use-local-map.mal |
| db80 | 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 | yon-keymap-more).......(message. |
| dba0 | 22 5b 4d 6f 72 65 5d 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 | "[More]"))))..(defun.malyon-more |
| dbc0 | 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 29 0a 20 20 22 45 6e 74 65 72 20 4d 6f 72 65 20 | -status-buffer.()..."Enter.More. |
| dbe0 | 6d 6f 64 65 20 66 6f 72 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 | mode.for.the.status.buffer."...( |
| dc00 | 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 | setq.malyon-more-continue-keymap |
| dc20 | 20 28 63 75 72 72 65 6e 74 2d 6c 6f 63 61 6c 2d 6d 61 70 29 29 0a 20 20 28 75 73 65 2d 6c 6f 63 | .(current-local-map))...(use-loc |
| dc40 | 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 | al-map.malyon-keymap-more-status |
| dc60 | 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 5b 4d 6f 72 65 5d 22 29 0a 20 20 28 74 68 72 6f 77 20 | )...(message."[More]")...(throw. |
| dc80 | 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 | 'malyon-end-of-interpreter-loop. |
| dca0 | 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 69 6e 67 2d 66 6f 72 2d 69 6e 70 75 74 29 29 0a 0a 3b 3b 20 | 'malyon-waiting-for-input))..;;. |
| dcc0 | 69 6e 70 75 74 20 68 69 73 74 6f 72 79 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 | input.history..(defvar.malyon-hi |
| dce0 | 73 74 6f 72 79 20 6e 69 6c 0a 20 20 22 54 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 | story.nil..."The.input.history." |
| dd00 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 | )..(defun.malyon-history-previou |
| dd20 | 73 20 28 29 0a 20 20 22 4d 6f 76 65 20 6f 6e 65 20 65 6e 74 72 79 20 75 70 20 69 6e 20 74 68 65 | s.()..."Move.one.entry.up.in.the |
| dd40 | 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 65 76 20 28 | .input.history."...(let.((prev.( |
| dd60 | 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a 20 20 20 20 20 20 20 20 | aref.malyon-history.0))......... |
| dd80 | 28 63 75 72 72 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 29 29 0a 20 | (curr.(aref.malyon-history.1)).. |
| dda0 | 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 | .......(next.(aref.malyon-histor |
| ddc0 | 79 20 32 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 70 72 65 76 29 0a 20 20 20 20 20 | y.2))).....(if.(null.prev)...... |
| dde0 | 20 20 20 63 75 72 72 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f | ...curr.......(aset.malyon-histo |
| de00 | 72 79 20 32 20 28 69 66 20 63 75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 6e 65 78 74 29 20 6e | ry.2.(if.curr.(cons.curr.next).n |
| de20 | 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 | ext)).......(aset.malyon-history |
| de40 | 20 30 20 28 63 64 72 20 70 72 65 76 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f | .0.(cdr.prev)).......(aset.malyo |
| de60 | 6e 2d 68 69 73 74 6f 72 79 20 31 20 28 63 61 72 20 70 72 65 76 29 29 29 29 29 0a 0a 28 64 65 66 | n-history.1.(car.prev)))))..(def |
| de80 | 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 20 28 29 0a 20 20 22 4d 6f 76 | un.malyon-history-next.()..."Mov |
| dea0 | 65 20 6f 6e 65 20 65 6e 74 72 79 20 64 6f 77 6e 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 68 69 | e.one.entry.down.in.the.input.hi |
| dec0 | 73 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 65 76 20 28 61 72 65 66 20 6d 61 6c 79 | story."...(let.((prev.(aref.maly |
| dee0 | 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 63 75 72 72 20 28 61 72 | on-history.0)).........(curr.(ar |
| df00 | 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 6e | ef.malyon-history.1)).........(n |
| df20 | 65 78 74 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 29 29 29 0a 20 20 | ext.(aref.malyon-history.2)))... |
| df40 | 20 20 28 69 66 20 28 6e 75 6c 6c 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 63 75 72 72 0a 20 | ..(if.(null.next).........curr.. |
| df60 | 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 20 28 69 66 20 | .....(aset.malyon-history.0.(if. |
| df80 | 63 75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 70 72 65 76 29 20 70 72 65 76 29 29 0a 20 20 20 | curr.(cons.curr.prev).prev)).... |
| dfa0 | 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 20 28 63 64 72 20 6e | ...(aset.malyon-history.2.(cdr.n |
| dfc0 | 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 | ext)).......(aset.malyon-history |
| dfe0 | 20 31 20 28 63 61 72 20 6e 65 78 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | .1.(car.next)))))..(defun.malyon |
| e000 | 2d 68 69 73 74 6f 72 79 2d 63 6c 65 61 72 20 28 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 69 | -history-clear.()..."Clear.the.i |
| e020 | 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68 69 | nput.history."...(setq.malyon-hi |
| e040 | 73 74 6f 72 79 20 28 76 65 63 74 6f 72 20 27 28 29 20 6e 69 6c 20 27 28 29 29 29 29 0a 0a 28 64 | story.(vector.'().nil.'())))..(d |
| e060 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 69 6e 73 65 72 74 20 28 65 6e 74 72 | efun.malyon-history-insert.(entr |
| e080 | 79 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 20 65 6e 74 72 79 20 69 6e 74 6f 20 74 68 65 20 69 | y)..."Insert.an.entry.into.the.i |
| e0a0 | 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 70 72 65 76 20 28 61 | nput.history."...(let*.((prev.(a |
| e0c0 | 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a 09 20 28 63 75 72 72 20 28 | ref.malyon-history.0))...(curr.( |
| e0e0 | 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 29 29 0a 09 20 28 6e 65 78 74 20 | aref.malyon-history.1))...(next. |
| e100 | 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 29 29 0a 09 20 28 6c 20 20 20 | (aref.malyon-history.2))...(l... |
| e120 | 20 28 72 65 6d 6f 76 65 20 65 6e 74 72 79 0a 09 09 09 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 | .(remove.entry..........(append. |
| e140 | 28 6e 72 65 76 65 72 73 65 20 70 72 65 76 29 0a 09 09 09 09 20 20 20 20 20 20 28 69 66 20 63 75 | (nreverse.prev)...........(if.cu |
| e160 | 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 6e 65 78 74 29 20 6e 65 78 74 29 29 29 29 0a 09 20 28 | rr.(cons.curr.next).next))))...( |
| e180 | 63 75 74 20 20 28 2d 20 28 6c 65 6e 67 74 68 20 6c 29 20 31 39 29 29 29 0a 20 20 20 20 28 77 68 | cut..(-.(length.l).19))).....(wh |
| e1a0 | 69 6c 65 20 28 3e 20 63 75 74 20 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 20 20 28 63 | ile.(>.cut.0).......(setq.l...(c |
| e1c0 | 64 72 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 74 20 28 2d 20 63 75 74 20 31 29 29 | dr.l).............cut.(-.cut.1)) |
| e1e0 | 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 0a 09 20 20 | ).....(aset.malyon-history.0.... |
| e200 | 28 72 65 6d 6f 76 65 20 6e 69 6c 20 28 72 65 6d 6f 76 65 20 22 22 20 28 63 6f 6e 73 20 65 6e 74 | (remove.nil.(remove."".(cons.ent |
| e220 | 72 79 20 28 6e 72 65 76 65 72 73 65 20 6c 29 29 29 29 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 | ry.(nreverse.l))))).....(aset.ma |
| e240 | 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 20 6e 69 6c 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 | lyon-history.1.nil).....(aset.ma |
| e260 | 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 20 27 28 29 29 29 29 0a 0a 3b 3b 20 64 69 63 74 69 6f | lyon-history.2.'())))..;;.dictio |
| e280 | 6e 61 72 79 20 6c 6f 6f 6b 75 70 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 | nary.lookup..(defun.malyon-dicti |
| e2a0 | 6f 6e 61 72 79 2d 77 6f 72 64 20 28 63 68 61 72 73 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 | onary-word.(chars)..."Convert.a. |
| e2c0 | 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 61 20 64 69 63 74 69 6f | list.of.characters.into.a.dictio |
| e2e0 | 6e 61 72 79 20 77 6f 72 64 2e 22 0a 20 20 28 6c 69 73 74 20 28 63 61 72 20 28 63 61 72 20 63 68 | nary.word."...(list.(car.(car.ch |
| e300 | 61 72 73 29 29 0a 09 28 6c 65 6e 67 74 68 20 63 68 61 72 73 29 0a 09 28 6d 61 6c 79 6f 6e 2d 65 | ars))..(length.chars)..(malyon-e |
| e320 | 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 20 28 61 70 70 65 6e 64 20 28 63 | ncode-dictionary-word.(append.(c |
| e340 | 6c 2d 6d 61 70 63 61 6e 20 27 63 64 72 20 63 68 61 72 73 29 0a 09 09 09 09 09 20 20 20 20 20 20 | l-mapcan.'cdr.chars)............ |
| e360 | 20 27 28 35 20 35 20 35 20 35 20 35 20 35 20 35 20 35 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 | .'(5.5.5.5.5.5.5.5)))))..(defsub |
| e380 | 73 74 20 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 28 73 74 6f 70 20 | st.malyon-join-characters.(stop. |
| e3a0 | 6c 69 73 74 29 0a 20 20 22 4a 6f 69 6e 73 20 74 68 72 65 65 20 7a 74 65 78 74 20 63 68 61 72 61 | list)..."Joins.three.ztext.chara |
| e3c0 | 63 74 65 72 73 20 69 6e 74 6f 20 74 77 6f 20 62 79 74 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 | cters.into.two.bytes."...(let.(( |
| e3e0 | 61 20 28 63 61 72 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a 09 28 62 20 28 63 61 64 72 | a.(car..........list))..(b.(cadr |
| e400 | 20 20 6c 69 73 74 29 29 0a 09 28 63 20 28 63 6c 2d 63 61 64 64 72 20 6c 69 73 74 29 29 0a 09 28 | ..list))..(c.(cl-caddr.list))..( |
| e420 | 78 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 6f 70 29 20 30 20 31 32 38 29 29 29 0a 20 20 20 20 | x.(if.(zerop.stop).0.128)))..... |
| e440 | 28 6c 69 73 74 20 28 6c 6f 67 69 6f 72 20 78 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 6f 67 | (list.(logior.x.(logand.255.(log |
| e460 | 69 6f 72 20 28 6c 73 68 20 61 20 32 29 20 28 6c 73 68 20 62 20 2d 33 29 29 29 29 0a 20 20 20 20 | ior.(lsh.a.2).(lsh.b.-3))))..... |
| e480 | 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 62 | ......(logand.255.(logior.(lsh.b |
| e4a0 | 20 35 29 20 63 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 | .5).c)))))..(defun.malyon-encode |
| e4c0 | 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 20 28 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74 73 | -dictionary-word.(l)..."Converts |
| e4e0 | 20 61 20 6c 69 73 74 20 6f 66 20 7a 74 65 78 74 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f | .a.list.of.ztext.characters.into |
| e500 | 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 | .a.dictionary.word."...(let*.((f |
| e520 | 69 72 73 74 20 20 6c 29 0a 09 20 28 73 65 63 6f 6e 64 20 28 63 6c 2d 63 64 64 64 72 20 66 69 72 | irst..l)...(second.(cl-cdddr.fir |
| e540 | 73 74 29 29 0a 09 20 28 74 68 69 72 64 20 20 28 63 6c 2d 63 64 64 64 72 20 73 65 63 6f 6e 64 29 | st))...(third..(cl-cdddr.second) |
| e560 | 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 27 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 | )).....(apply.'vector........... |
| e580 | 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a | .(if.(<.malyon-story-version.5). |
| e5a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6d 61 6c 79 6f 6e 2d 6a | ...............(append.(malyon-j |
| e5c0 | 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 30 20 66 69 72 73 74 29 0a 20 20 20 20 20 20 20 20 | oin-characters.0.first)......... |
| e5e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 | ...............(malyon-join-char |
| e600 | 61 63 74 65 72 73 20 31 20 73 65 63 6f 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | acters.1.second))..............( |
| e620 | 61 70 70 65 6e 64 20 28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 30 | append.(malyon-join-characters.0 |
| e640 | 20 66 69 72 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 | .first)......................(ma |
| e660 | 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 30 20 73 65 63 6f 6e 64 29 0a 20 | lyon-join-characters.0.second).. |
| e680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e | ....................(malyon-join |
| e6a0 | 2d 63 68 61 72 61 63 74 65 72 73 20 31 20 74 68 69 72 64 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | -characters.1.third))))))..(defu |
| e6c0 | 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 28 64 69 63 74 20 63 6f 64 65 29 0a 20 20 22 4c | n.malyon-lookup.(dict.code)..."L |
| e6e0 | 6f 6f 6b 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 63 6f 64 65 20 69 6e 20 74 68 65 20 64 69 | ook.for.the.given.code.in.the.di |
| e700 | 63 74 69 6f 6e 61 72 79 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 61 64 64 72 65 73 73 2e | ctionary.and.return.its.address. |
| e720 | 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 63 6f 64 65 29 20 20 20 20 20 20 20 20 20 20 20 | "...(cond.((not.code)........... |
| e740 | 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 64 69 63 74 29 20 20 20 20 | ......0).........((not.dict).... |
| e760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61 72 | .............(malyon-binary-sear |
| e780 | 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 64 69 63 74 20 6d 61 6c 79 6f | ch.code)).........((=.dict.malyo |
| e7a0 | 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 20 28 6d 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61 | n-dictionary).(malyon-binary-sea |
| e7c0 | 72 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 | rch.code)).........(t........... |
| e7e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 69 6e 65 61 72 2d 73 65 | ...............(malyon-linear-se |
| e800 | 61 72 63 68 20 64 69 63 74 20 63 6f 64 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 | arch.dict.code))))..(defsubst.ma |
| e820 | 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64 73 20 28 77 6f 72 64 20 61 64 64 72 65 73 73 | lyon-compare-words.(word.address |
| e840 | 29 0a 20 20 22 43 6f 6d 70 61 72 65 73 20 74 68 65 20 67 69 76 65 6e 20 77 6f 72 64 20 74 6f 20 | )..."Compares.the.given.word.to. |
| e860 | 74 68 65 20 77 6f 72 64 20 73 74 6f 72 65 64 20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 | the.word.stored.at.address."...( |
| e880 | 6c 65 74 2a 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6a 20 61 64 64 72 65 73 73 29 | let*.((i.0)..........(j.address) |
| e8a0 | 0a 20 20 20 20 20 20 20 20 20 28 78 20 28 61 72 65 66 20 77 6f 72 64 20 69 29 29 0a 20 20 20 20 | ..........(x.(aref.word.i))..... |
| e8c0 | 20 20 20 20 20 28 79 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6a 29 29 29 0a 20 | .....(y.(malyon-read-byte.j))).. |
| e8e0 | 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 2f 3d 20 78 20 79 29 20 28 3d 20 69 | ...(while.(not.(or.(/=.x.y).(=.i |
| e900 | 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 2d 6c 65 6e 67 74 68 29 29 | .malyon-dictionary-word-length)) |
| e920 | 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20 20 | ).......(setq.i.(+.1.i)......... |
| e940 | 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 20 28 61 72 65 | ....j.(+.1.j).............x.(are |
| e960 | 66 20 77 6f 72 64 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 79 20 28 6d 61 6c 79 6f 6e 2d | f.word.i).............y.(malyon- |
| e980 | 72 65 61 64 2d 62 79 74 65 20 6a 29 29 29 0a 20 20 20 20 28 2d 20 78 20 79 29 29 29 0a 0a 3b 3b | read-byte.j))).....(-.x.y)))..;; |
| e9a0 | 20 73 65 61 72 63 68 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | .search.functions..(defun.malyon |
| e9c0 | 2d 62 69 6e 61 72 79 2d 73 65 61 72 63 68 20 28 63 6f 64 65 29 0a 20 20 22 42 69 6e 61 72 79 20 | -binary-search.(code)..."Binary. |
| e9e0 | 73 65 61 72 63 68 20 74 68 72 6f 75 67 68 20 74 68 65 20 6d 61 69 6e 20 64 69 63 74 69 6f 6e 61 | search.through.the.main.dictiona |
| ea00 | 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6c 6f 77 65 72 20 20 20 30 29 0a 20 20 20 20 20 20 | ry."...(let*.((lower...0)....... |
| ea20 | 20 20 20 28 75 70 70 65 72 20 20 20 28 2d 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 | ...(upper...(-.malyon-dictionary |
| ea40 | 2d 6e 75 6d 2d 65 6e 74 72 69 65 73 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 65 64 69 61 | -num-entries.1))..........(media |
| ea60 | 6e 20 20 28 2f 20 28 2b 20 6c 6f 77 65 72 20 75 70 70 65 72 29 20 32 29 29 0a 20 20 20 20 20 20 | n..(/.(+.lower.upper).2))....... |
| ea80 | 20 20 20 28 65 6e 74 72 79 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 | ...(entry...(+.malyon-dictionary |
| eaa0 | 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a | -entries......................(* |
| eac0 | 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 | .malyon-dictionary-entry-length. |
| eae0 | 6d 65 64 69 61 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 20 28 6d 61 6c | median)))..........(looking.(mal |
| eb00 | 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a | yon-compare-words.code.entry))). |
| eb20 | 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 3e 20 6c 6f 77 65 72 20 75 70 70 | ....(while.(not.(or.(>.lower.upp |
| eb40 | 65 72 29 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 | er).(zerop.looking))).......(set |
| eb60 | 71 20 6c 6f 77 65 72 20 20 20 28 69 66 20 28 3c 20 30 20 6c 6f 6f 6b 69 6e 67 29 20 28 2b 20 6d | q.lower...(if.(<.0.looking).(+.m |
| eb80 | 65 64 69 61 6e 20 31 29 20 6c 6f 77 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 70 70 65 | edian.1).lower).............uppe |
| eba0 | 72 20 20 20 28 69 66 20 28 3e 20 30 20 6c 6f 6f 6b 69 6e 67 29 20 28 2d 20 6d 65 64 69 61 6e 20 | r...(if.(>.0.looking).(-.median. |
| ebc0 | 31 29 20 75 70 70 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 64 69 61 6e 20 20 28 2f | 1).upper).............median..(/ |
| ebe0 | 20 28 2b 20 6c 6f 77 65 72 20 75 70 70 65 72 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .(+.lower.upper).2)............. |
| ec00 | 65 6e 74 72 79 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 | entry...(+.malyon-dictionary-ent |
| ec20 | 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 6d | ries........................(*.m |
| ec40 | 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 6d 65 | alyon-dictionary-entry-length.me |
| ec60 | 64 69 61 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b 69 6e 67 20 28 6d 61 6c 79 | dian)).............looking.(maly |
| ec80 | 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a 20 | on-compare-words.code.entry))).. |
| eca0 | 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 6e 67 29 20 65 6e 74 72 79 20 30 29 29 | ...(if.(zerop.looking).entry.0)) |
| ecc0 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c 69 6e 65 61 72 2d 73 65 61 72 63 68 20 28 | )..(defun.malyon-linear-search.( |
| ece0 | 64 69 63 74 69 6f 6e 61 72 79 20 63 6f 64 65 29 0a 20 20 22 4c 69 6e 65 61 72 20 73 65 61 72 63 | dictionary.code)..."Linear.searc |
| ed00 | 68 20 74 68 72 6f 75 67 68 20 74 68 65 20 67 69 76 65 6e 20 64 69 63 74 69 6f 6e 61 72 79 2e 22 | h.through.the.given.dictionary." |
| ed20 | 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 67 74 68 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d | ...(let*.((length..(malyon-read- |
| ed40 | 62 79 74 65 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 | byte.(+.dictionary.1............ |
| ed60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | ............................(mal |
| ed80 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 20 20 | yon-read-byte.dictionary)))).... |
| eda0 | 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 | ......(number..(malyon-read-word |
| edc0 | 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(+.dictionary.2................ |
| ede0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | ........................(malyon- |
| ee00 | 72 65 61 64 2d 62 79 74 65 20 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 | read-byte.dictionary))))........ |
| ee20 | 20 20 28 65 6e 74 72 69 65 73 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20 34 20 28 6d 61 6c 79 | ..(entries.(+.dictionary.4.(maly |
| ee40 | 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64 69 63 74 69 6f 6e 61 72 79 29 29 29 0a 20 20 20 20 20 | on-read-byte.dictionary)))...... |
| ee60 | 20 20 20 20 28 69 20 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 | ....(i.......0)..........(entry. |
| ee80 | 20 20 28 2b 20 65 6e 74 72 69 65 73 20 28 2a 20 6c 65 6e 67 74 68 20 69 29 29 29 0a 20 20 20 20 | ..(+.entries.(*.length.i)))..... |
| eea0 | 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f | .....(looking.(malyon-compare-wo |
| eec0 | 72 64 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f | rds.code.entry))).....(while.(no |
| eee0 | 74 20 28 6f 72 20 28 3e 3d 20 69 20 6e 75 6d 62 65 72 29 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 | t.(or.(>=.i.number).(zerop.looki |
| ef00 | 6e 67 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 20 20 20 20 20 20 28 2b 20 31 20 69 | ng))).......(setq.i.......(+.1.i |
| ef20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 20 20 20 28 2b 20 65 6e 74 72 69 65 73 | ).............entry...(+.entries |
| ef40 | 20 28 2a 20 6c 65 6e 67 74 68 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b 69 | .(*.length.i)).............looki |
| ef60 | 6e 67 20 28 6d 61 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f 72 64 73 20 63 6f 64 65 20 65 6e | ng.(malyon-compare-words.code.en |
| ef80 | 74 72 79 29 29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b 69 6e 67 29 20 65 | try))).....(if.(zerop.looking).e |
| efa0 | 6e 74 72 79 20 30 29 29 29 0a 0a 3b 3b 20 65 6e 63 6f 64 69 6e 67 20 74 65 78 74 20 61 6e 64 20 | ntry.0)))..;;.encoding.text.and. |
| efc0 | 6c 65 78 69 63 61 6c 20 61 6e 61 6c 79 73 69 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | lexical.analysis..(defun.malyon- |
| efe0 | 73 70 6c 69 74 2d 6c 69 73 74 20 28 73 65 70 20 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 78 | split-list.(sep.list.&optional.x |
| f000 | 29 0a 20 20 22 53 70 6c 69 74 20 61 20 6c 69 73 74 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 | )..."Split.a.list.into.sublists. |
| f020 | 61 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 20 73 65 70 61 72 61 74 6f 72 73 2e 22 | as.indicated.by.the.separators." |
| f040 | 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 28 | ...(cond.((null.list)..........( |
| f060 | 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 | list.(nreverse.x))).........((eq |
| f080 | 20 73 65 70 20 28 63 61 72 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 | .sep.(car.list))..........(cons. |
| f0a0 | 28 6e 72 65 76 65 72 73 65 20 78 29 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 | (nreverse.x).(malyon-split-list. |
| f0c0 | 73 65 70 20 28 63 64 72 20 6c 69 73 74 29 20 27 28 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 74 | sep.(cdr.list).'()))).........(t |
| f0e0 | 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 73 65 70 | ..........(malyon-split-list.sep |
| f100 | 20 28 63 64 72 20 6c 69 73 74 29 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29 29 | .(cdr.list).(cons.(car.list).x)) |
| f120 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 73 2d 74 6f | )))..(defun.malyon-characters-to |
| f140 | 2d 77 6f 72 64 73 20 28 6c 69 73 74 29 0a 20 20 22 54 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f | -words.(list)..."Turn.the.list.o |
| f160 | 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 77 6f 72 64 | f.characters.into.a.list.of.word |
| f180 | 73 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 | s."...(mapcar.'malyon-dictionary |
| f1a0 | 2d 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 20 27 28 29 20 28 6d 61 6c | -word...........(delete.'().(mal |
| f1c0 | 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 | yon-split-list.'malyon-word-sepa |
| f1e0 | 72 61 74 6f 72 20 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e | rator.list))))..(defsubst.malyon |
| f200 | 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67 20 28 63 20 73 29 0a 20 20 22 52 65 74 75 72 6e 73 | -char-in-string.(c.s)..."Returns |
| f220 | 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 63 20 69 6e 20 73 20 69 66 20 66 6f 75 6e 64 2c 20 6f | .the.index.of.c.in.s.if.found,.o |
| f240 | 72 20 6c 65 6e 67 74 68 20 6f 66 20 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 | r.length.of.s."...(let.((i.0)).. |
| f260 | 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 3d 20 69 20 28 6c 65 6e 67 74 68 20 | ...(while.(not.(or.(=.i.(length. |
| f280 | 73 29 29 20 28 3d 20 63 20 28 61 72 65 66 20 73 20 69 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 | s)).(=.c.(aref.s.i)))).......(se |
| f2a0 | 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 69 29 29 0a 0a 28 64 65 66 73 75 62 73 | tq.i.(+.1.i))).....i))..(defsubs |
| f2c0 | 74 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 28 63 29 0a 20 | t.malyon-encode-into-ztext.(c).. |
| f2e0 | 20 22 43 6f 6e 76 65 72 74 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 6f 20 7a 74 65 78 74 | ."Convert.a.character.into.ztext |
| f300 | 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 6e 64 65 78 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d | ."...(let*.((index.(malyon-char- |
| f320 | 69 6e 2d 73 74 72 69 6e 67 20 63 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 29 29 0a 20 20 | in-string.c.malyon-alphabet))... |
| f340 | 20 20 20 20 20 20 20 28 73 68 69 66 74 20 28 66 6c 6f 6f 72 20 69 6e 64 65 78 20 32 36 29 29 0a | .......(shift.(floor.index.26)). |
| f360 | 20 20 20 20 20 20 20 20 20 28 63 68 61 72 20 20 28 2b 20 36 20 28 6d 6f 64 20 69 6e 64 65 78 20 | .........(char..(+.6.(mod.index. |
| f380 | 32 36 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 73 68 69 66 74 20 32 29 20 28 6c | 26)))).....(cond.((>.shift.2).(l |
| f3a0 | 69 73 74 20 35 20 36 20 28 6c 6f 67 61 6e 64 20 33 31 20 28 6c 73 68 20 63 20 2d 35 29 29 20 28 | ist.5.6.(logand.31.(lsh.c.-5)).( |
| f3c0 | 6c 6f 67 61 6e 64 20 33 31 20 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 73 68 69 | logand.31.c)))...........((=.shi |
| f3e0 | 66 74 20 32 29 20 28 6c 69 73 74 20 35 20 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | ft.2).(list.5.char))...........( |
| f400 | 28 3d 20 73 68 69 66 74 20 31 29 20 28 6c 69 73 74 20 34 20 63 68 61 72 29 29 0a 20 20 20 20 20 | (=.shift.1).(list.4.char))...... |
| f420 | 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 63 68 61 72 29 29 29 29 | .....(t...........(list.char)))) |
| f440 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 73 69 6e 67 6c 65 2d 63 | )..(defun.malyon-encode-single-c |
| f460 | 68 61 72 61 63 74 65 72 20 28 74 65 72 6d 69 6e 61 74 69 6e 67 2d 63 68 61 72 61 63 74 65 72 73 | haracter.(terminating-characters |
| f480 | 20 63 68 61 72 29 0a 20 20 22 45 6e 63 6f 64 65 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 | .char)..."Encode.a.character.int |
| f4a0 | 6f 20 7a 74 65 78 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 20 28 63 61 72 20 63 68 61 72 | o.ztext."...(let.((pos.(car.char |
| f4c0 | 29 29 0a 20 20 20 20 20 20 20 20 28 63 20 20 20 28 63 64 72 20 63 68 61 72 29 29 29 0a 20 20 20 | )).........(c...(cdr.char))).... |
| f4e0 | 20 28 63 6f 6e 64 20 28 28 6d 65 6d 62 65 72 20 63 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 | .(cond.((member.c.malyon-whitesp |
| f500 | 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 6d 61 6c 79 6f 6e 2d 77 6f | ace)............(list.'malyon-wo |
| f520 | 72 64 2d 73 65 70 61 72 61 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 62 65 | rd-separator))...........((membe |
| f540 | 72 20 63 20 74 65 72 6d 69 6e 61 74 69 6e 67 2d 63 68 61 72 61 63 74 65 72 73 29 0a 20 20 20 20 | r.c.terminating-characters)..... |
| f560 | 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72 61 | .......(list.'malyon-word-separa |
| f580 | 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 70 6f 73 20 28 | tor..................(cons.pos.( |
| f5a0 | 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 63 29 29 0a 20 20 20 | malyon-encode-into-ztext.c)).... |
| f5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72 | ..............'malyon-word-separ |
| f5e0 | 61 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 | ator))...........(t.(list.(cons. |
| f600 | 70 6f 73 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 63 29 | pos.(malyon-encode-into-ztext.c) |
| f620 | 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 63 68 61 | ))))))..(defun.malyon-encode-cha |
| f640 | 72 61 63 74 65 72 2d 6c 69 73 74 20 28 64 69 63 74 20 6c 69 73 74 29 0a 20 20 22 45 6e 63 6f 64 | racter-list.(dict.list)..."Encod |
| f660 | 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 7a 74 | e.the.list.of.characters.into.zt |
| f680 | 65 78 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 28 69 | ext."...(let.((l.'()).........(i |
| f6a0 | 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | .0)).....(while.(<.i.(malyon-rea |
| f6c0 | 64 2d 62 79 74 65 20 64 69 63 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 28 63 6f 6e | d-byte.dict)).......(setq.l.(con |
| f6e0 | 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 64 69 63 74 20 31 20 69 29 | s.(malyon-read-byte.(+.dict.1.i) |
| f700 | 29 20 6c 29 0a 09 20 20 20 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 63 6c 2d 6d 61 | ).l)......i.(+.1.i))).....(cl-ma |
| f720 | 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d | pcan.(lambda.(x).(malyon-encode- |
| f740 | 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20 6c 20 78 29 29 20 6c 69 73 74 29 29 29 0a 0a | single-character.l.x)).list))).. |
| f760 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 6c 65 6e 67 74 68 20 28 61 64 64 72 65 | (defun.malyon-text-length.(addre |
| f780 | 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 | ss)..."Return.the.length.of.the. |
| f7a0 | 69 6e 70 75 74 20 74 65 78 74 2e 22 0a 20 20 28 69 66 20 28 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 | input.text."...(if.(>=.malyon-st |
| f7c0 | 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | ory-version.5).......(malyon-rea |
| f7e0 | 64 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 6c 65 74 20 28 | d-byte.(+.1.address)).....(let.( |
| f800 | 28 69 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 | (i.0)).......(while.(not.(zerop. |
| f820 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 69 20 31 20 61 64 64 72 65 73 73 | (malyon-read-byte.(+.i.1.address |
| f840 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 20 31 29 29 29 0a 20 | )))).........(setq.i.(+.i.1))).. |
| f860 | 20 20 20 20 20 69 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f | .....i)))..(defun.malyon-text-to |
| f880 | 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 43 6f 6e | -character-list.(address)..."Con |
| f8a0 | 76 65 72 74 20 74 68 65 20 69 6e 70 75 74 20 74 65 78 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 | vert.the.input.text.into.a.list. |
| f8c0 | 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 20 20 20 28 6d | of.characters."...(let.((i....(m |
| f8e0 | 61 6c 79 6f 6e 2d 74 65 78 74 2d 6c 65 6e 67 74 68 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 | alyon-text-length.address))..... |
| f900 | 20 20 20 20 28 74 65 78 74 20 27 28 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 30 20 | ....(text.'())).....(while.(<.0. |
| f920 | 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 65 78 74 20 28 63 6f 6e 73 0a 20 20 20 20 20 20 | i).......(setq.text.(cons....... |
| f940 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d | ............(cons.(if.(<.malyon- |
| f960 | 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 69 20 28 2b 20 31 20 69 29 29 0a 20 20 20 20 | story-version.5).i.(+.1.i))..... |
| f980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | ....................(malyon-read |
| f9a0 | 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -byte..........................( |
| f9c0 | 2b 20 69 20 61 64 64 72 65 73 73 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d | +.i.address.(if.(<.malyon-story- |
| f9e0 | 76 65 72 73 69 6f 6e 20 35 29 20 30 20 31 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | version.5).0.1)))).............. |
| fa00 | 20 20 20 20 20 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 20 20 20 28 2d 20 69 | .....text).............i....(-.i |
| fa20 | 20 31 29 29 29 0a 20 20 20 20 74 65 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | .1))).....text))..(defun.malyon- |
| fa40 | 74 65 78 74 2d 74 6f 2d 77 6f 72 64 73 20 28 61 64 64 72 65 73 73 20 64 69 63 74 69 6f 6e 61 72 | text-to-words.(address.dictionar |
| fa60 | 79 29 0a 20 20 22 54 75 72 6e 20 7a 74 65 78 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 | y)..."Turn.ztext.into.a.list.of. |
| fa80 | 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 73 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 | dictionary.words."...(malyon-cha |
| faa0 | 72 61 63 74 65 72 73 2d 74 6f 2d 77 6f 72 64 73 0a 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f | racters-to-words....(malyon-enco |
| fac0 | 64 65 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20 28 69 66 20 64 69 63 74 69 6f 6e 61 72 79 | de-character-list.(if.dictionary |
| fae0 | 20 64 69 63 74 69 6f 6e 61 72 79 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 0a 20 | .dictionary.malyon-dictionary).. |
| fb00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| fb20 | 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20 61 | (malyon-text-to-character-list.a |
| fb40 | 64 64 72 65 73 73 29 29 29 29 0a 0a 3b 3b 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e 74 | ddress))))..;;.window.management |
| fb60 | 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 67 | ..(defvar.malyon-status-buffer-g |
| fb80 | 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 73 69 67 6e | rew-this-turn.nil..."A.flag.sign |
| fba0 | 61 6c 6c 69 6e 67 20 69 66 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 20 67 72 65 77 | alling.if.the.status.buffer.grew |
| fbc0 | 20 74 68 69 73 20 74 75 72 6e 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 61 64 6a | .this.turn.")..(defun.malyon-adj |
| fbe0 | 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 20 28 29 0a 20 20 22 41 64 6a 75 73 74 20 74 68 65 20 | ust-transcript.()..."Adjust.the. |
| fc00 | 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 74 65 78 74 2e | position.of.the.transcript.text. |
| fc20 | 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d | "...(with-current-buffer.malyon- |
| fc40 | 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 | transcript-buffer.....(setq.maly |
| fc60 | 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 20 | on-status-buffer-grew-this-turn. |
| fc80 | 6e 69 6c 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 | nil).....(goto-char.(point-max)) |
| fca0 | 0a 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 2d 20 28 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 | .....(recenter.(-.(malyon-window |
| fcc0 | 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 29 20 32 29 29 29 29 0a 0a 28 64 65 66 75 6e | -displayed-height).2))))..(defun |
| fce0 | 20 6d 61 6c 79 6f 6e 2d 70 72 65 70 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 73 | .malyon-prepare-status-buffer.(s |
| fd00 | 74 61 74 75 73 29 0a 20 20 22 46 69 6c 6c 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 | tatus)..."Fill.the.status.buffer |
| fd20 | 20 77 69 74 68 20 65 6d 70 74 79 20 6c 69 6e 65 73 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 | .with.empty.lines."...(with-curr |
| fd40 | 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 0a | ent-buffer.malyon-status-buffer. |
| fd60 | 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 73 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 | ....(let.((lines.(count-lines.(p |
| fd80 | 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 | oint-min).(point-max)))......... |
| fda0 | 20 20 28 6e 65 77 20 20 20 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 | ..(new...status)).......(if.(zer |
| fdc0 | 6f 70 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 | op.lines)...........(newline.1)) |
| fde0 | 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 | .......(goto-char.(point-max)).. |
| fe00 | 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 75 73 20 28 2d 20 73 74 61 74 75 73 20 6c 69 6e 65 | .....(setq.status.(-.status.line |
| fe20 | 73 20 2d 31 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 73 74 61 74 75 73 20 30 29 | s.-1)).......(while.(>.status.0) |
| fe40 | 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 2b | .........(insert.(make-string.(+ |
| fe60 | 20 33 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 20 3f 20 29 29 0a 20 20 20 20 20 | .3.malyon-max-column).?.))...... |
| fe80 | 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 | ...(newline.1).........(setq.sta |
| fea0 | 74 75 73 20 28 2d 20 73 74 61 74 75 73 20 31 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 | tus.(-.status.1))).......(goto-c |
| fec0 | 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d | har.(point-min)).......(forward- |
| fee0 | 6c 69 6e 65 20 28 2b 20 31 20 6e 65 77 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 72 65 67 69 | line.(+.1.new)).......(kill-regi |
| ff00 | 6f 6e 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 69 | on.(point).(point-max)).......(i |
| ff20 | 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 2b 20 33 20 6d 61 6c 79 6f 6e 2d 6d | nsert.(make-string.(+.3.malyon-m |
| ff40 | 61 78 2d 63 6f 6c 75 6d 6e 29 20 3f 20 29 29 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 | ax-column).?.)).......(newline.1 |
| ff60 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 | ))))..(defun.malyon-restore-wind |
| ff80 | 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20 74 | ow-configuration.()..."Restore.t |
| ffa0 | 68 65 20 73 61 76 65 64 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22 0a | he.saved.window.configuration.". |
| ffc0 | 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 28 | ..(let.((buffer.(window-buffer.( |
| ffe0 | 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 29 29 29 29 0a 20 20 20 20 28 69 66 20 6d 61 6c 79 | selected-window)))).....(if.maly |
| 10000 | 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 | on-window-configuration......... |
| 10020 | 28 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6d 61 6c 79 6f 6e | (set-window-configuration.malyon |
| 10040 | 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 29 0a 20 20 20 20 28 63 6f 6e | -window-configuration)).....(con |
| 10060 | 64 20 28 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 62 75 66 66 | d.((eq.malyon-status-buffer.buff |
| 10080 | 65 72 29 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 20 20 | er).....(other-window.1))....... |
| 100a0 | 20 20 20 20 28 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 | ....((eq.malyon-transcript-buffe |
| 100c0 | 72 20 62 75 66 66 65 72 29 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 | r.buffer).(goto-char.(point-max) |
| 100e0 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77 2d | )))))..(defun.malyon-set-window- |
| 10100 | 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 73 74 61 74 75 73 29 0a 20 20 22 53 65 74 20 75 70 | configuration.(status)..."Set.up |
| 10120 | 20 74 68 65 20 6e 65 77 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22 0a | .the.new.window.configuration.". |
| 10140 | 20 20 28 63 6f 6e 64 20 28 28 3c 20 73 74 61 74 75 73 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 | ..(cond.((<.status.malyon-status |
| 10160 | 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 | -buffer-lines)..........(setq.ma |
| 10180 | 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 | lyon-status-buffer-delayed-split |
| 101a0 | 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 | .status)..........(if.malyon-sta |
| 101c0 | 74 75 73 2d 62 75 66 66 65 72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 0a 20 20 20 20 20 20 | tus-buffer-grew-this-turn....... |
| 101e0 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 | .......(malyon-more-status-buffe |
| 10200 | 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 3e 20 73 74 61 74 75 73 20 6d 61 6c 79 6f 6e 2d 73 | r))).........((>.status.malyon-s |
| 10220 | 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 | tatus-buffer-lines)..........(ma |
| 10240 | 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 73 74 61 74 75 73 | lyon-split-buffer-windows.status |
| 10260 | 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 | )..........(setq.malyon-status-b |
| 10280 | 75 66 66 65 72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 20 74 29 29 0a 20 20 20 20 20 20 20 | uffer-grew-this-turn.t))........ |
| 102a0 | 20 28 28 6e 6f 74 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 | .((not.malyon-window-configurati |
| 102c0 | 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 | on)..........(malyon-split-buffe |
| 102e0 | 72 2d 77 69 6e 64 6f 77 73 20 73 74 61 74 75 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | r-windows.status))))..(defun.mal |
| 10300 | 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 28 73 74 61 74 75 73 | yon-split-buffer-windows.(status |
| 10320 | 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20 62 75 66 66 65 72 20 77 69 6e 64 6f 77 73 2e 0a 54 | )..."Split.the.buffer.windows..T |
| 10340 | 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 20 67 65 74 73 20 27 73 74 61 74 75 73 27 20 6c | he.status.buffer.gets.'status'.l |
| 10360 | 69 6e 65 73 20 77 68 69 6c 65 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 | ines.while.the.transcript.buffer |
| 10380 | 0a 67 65 74 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 6c 69 6e 65 73 2e 22 0a 20 20 28 64 | .gets.the.remaining.lines."...(d |
| 103a0 | 65 6c 65 74 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 73 20 28 67 65 74 2d 62 75 66 66 65 72 2d | elete-other-windows.(get-buffer- |
| 103c0 | 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 28 73 65 74 | window.(current-buffer)))...(set |
| 103e0 | 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 73 74 61 | q.malyon-status-buffer-lines.sta |
| 10400 | 74 75 73 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 | tus)...(setq.malyon-status-buffe |
| 10420 | 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e 69 6c 29 0a 20 20 28 69 66 20 28 7a 65 72 6f | r-delayed-split.nil)...(if.(zero |
| 10440 | 70 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 28 73 70 6c 69 74 2d 77 | p.status).......'().....(split-w |
| 10460 | 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e | indow.(get-buffer-window.(curren |
| 10480 | 74 2d 62 75 66 66 65 72 29 29 20 73 74 61 74 75 73 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 | t-buffer)).status).....(switch-t |
| 104a0 | 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 29 0a 20 | o-buffer.malyon-status-buffer).. |
| 104c0 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 65 70 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 | ...(malyon-prepare-status-buffer |
| 104e0 | 20 73 74 61 74 75 73 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d | .status).....(malyon-opcode-set- |
| 10500 | 63 75 72 73 6f 72 20 31 20 31 29 0a 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 | cursor.1.1).....(other-window.1) |
| 10520 | 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 | )...(switch-to-buffer.malyon-tra |
| 10540 | 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 77 | nscript-buffer)...(setq.malyon-w |
| 10560 | 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 63 75 72 72 65 6e 74 2d 77 69 6e | indow-configuration.(current-win |
| 10580 | 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 29 29 0a 0a 3b 3b 20 67 65 74 74 69 6e 67 | dow-configuration)))..;;.getting |
| 105a0 | 20 61 6e 64 20 73 65 74 74 69 6e 67 20 74 68 65 20 6d 61 63 68 69 6e 65 20 73 74 61 74 65 0a 0a | .and.setting.the.machine.state.. |
| 105c0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 | (defun.malyon-current-game-state |
| 105e0 | 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 | .()..."Return.the.current.state. |
| 10600 | 6f 66 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 76 65 63 74 6f 72 20 6d | of.the.interpreter."...(vector.m |
| 10620 | 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 | alyon-instruction-pointer....... |
| 10640 | 20 20 20 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 | ....malyon-stack-pointer........ |
| 10660 | 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 | ...malyon-frame-pointer......... |
| 10680 | 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 29 0a 20 | ..(copy-sequence.malyon-stack).. |
| 106a0 | 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 73 | .........(copy-sequence.malyon-s |
| 106c0 | 74 6f 72 79 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 | tory-file)...........malyon-game |
| 106e0 | 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | -state-quetzal))..(defun.malyon- |
| 10700 | 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 73 74 61 74 65 29 0a 20 20 22 49 6e 73 74 61 6c | set-game-state.(state)..."Instal |
| 10720 | 6c 73 20 74 68 65 20 67 69 76 65 6e 20 73 74 61 74 65 20 61 73 20 74 68 65 20 6e 65 77 20 73 74 | ls.the.given.state.as.the.new.st |
| 10740 | 61 74 65 20 6f 66 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 73 65 74 71 | ate.of.the.interpreter."...(setq |
| 10760 | 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 20 20 20 20 | .malyon-instruction-pointer..... |
| 10780 | 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | ..(aref.state.0))...(setq.malyon |
| 107a0 | 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 | -stack-pointer.............(aref |
| 107c0 | 20 73 74 61 74 65 20 31 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d | .state.1))...(setq.malyon-frame- |
| 107e0 | 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 | pointer.............(aref.state. |
| 10800 | 32 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 28 63 6f 70 79 2d 73 | 2))...(setq.malyon-stack.(copy-s |
| 10820 | 65 71 75 65 6e 63 65 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 33 29 29 29 0a 20 20 | equence......(aref.state.3)))... |
| 10840 | 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 63 6f 70 79 2d 73 65 | (setq.malyon-story-file.(copy-se |
| 10860 | 71 75 65 6e 63 65 20 28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 29 0a 20 20 28 73 65 74 71 20 | quence.(aref.state.4)))...(setq. |
| 10880 | 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 20 20 20 20 20 20 | malyon-game-state-quetzal....... |
| 108a0 | 20 28 61 72 65 66 20 73 74 61 74 65 20 35 29 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 | .(aref.state.5))...(with-current |
| 108c0 | 2d 62 75 66 66 65 72 20 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 0a 20 20 | -buffer..malyon-status-buffer... |
| 108e0 | 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 | ..(malyon-erase-buffer.malyon-st |
| 10900 | 61 74 75 73 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 | atus-buffer).....(malyon-split-b |
| 10920 | 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 30 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | uffer-windows.0).....(setq.malyo |
| 10940 | 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 | n-last-cursor-position-after-inp |
| 10960 | 75 74 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20 6d | ut...........(malyon-point-max.m |
| 10980 | 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 3b 3b 20 | alyon-transcript-buffer))))..;;. |
| 109a0 | 66 69 6c 65 20 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e | file.utilities..(defsubst.malyon |
| 109c0 | 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 62 79 74 65 29 0a 20 20 22 57 72 | -write-byte-to-file.(byte)..."Wr |
| 109e0 | 69 74 65 20 61 20 62 79 74 65 20 74 6f 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 | ite.a.byte.to.a.file."...(insert |
| 10a00 | 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 62 79 74 65 29 20 31 29 29 0a 0a 28 64 65 | -char.(logand.255.byte).1))..(de |
| 10a20 | 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 | fsubst.malyon-write-word-to-file |
| 10a40 | 20 28 77 6f 72 64 29 0a 20 20 22 57 72 69 74 65 20 61 20 77 6f 72 64 20 74 6f 20 74 68 65 20 6c | .(word)..."Write.a.word.to.the.l |
| 10a60 | 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 | ast.opened.file."...(insert-char |
| 10a80 | 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 77 6f 72 64 20 2d 38 29 29 20 31 29 0a 20 | .(logand.255.(lsh.word.-8)).1).. |
| 10aa0 | 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 77 6f 72 64 29 20 | .(insert-char.(logand.255.word). |
| 10ac0 | 31 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 | 1))..(defsubst.malyon-write-dwor |
| 10ae0 | 64 2d 74 6f 2d 66 69 6c 65 20 28 64 77 6f 72 64 29 0a 20 20 22 57 72 69 74 65 20 61 20 64 77 6f | d-to-file.(dword)..."Write.a.dwo |
| 10b00 | 72 64 20 74 6f 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 | rd.to.the.last.opened.file."...( |
| 10b20 | 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f | insert-char.(logand.255.(lsh.dwo |
| 10b40 | 72 64 20 2d 32 34 29 29 20 31 29 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 | rd.-24)).1)...(insert-char.(loga |
| 10b60 | 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f 72 64 20 2d 31 36 29 29 20 31 29 0a 20 20 28 69 6e | nd.255.(lsh.dword.-16)).1)...(in |
| 10b80 | 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f 72 64 | sert-char.(logand.255.(lsh.dword |
| 10ba0 | 20 2d 38 29 29 20 31 29 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 | .-8)).1)...(insert-char.(logand. |
| 10bc0 | 32 35 35 20 64 77 6f 72 64 29 20 31 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e | 255.dword).1))..(defsubst.malyon |
| 10be0 | 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 28 69 64 29 0a 20 20 22 | -write-chunk-id-to-file.(id)..." |
| 10c00 | 57 72 69 74 65 20 61 20 71 75 65 74 7a 61 6c 20 63 68 75 6e 6b 20 69 64 20 74 6f 20 74 68 65 20 | Write.a.quetzal.chunk.id.to.the. |
| 10c20 | 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 20 69 64 29 | last.opened.file."...(insert.id) |
| 10c40 | 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 | )..(defsubst.malyon-read-byte-fr |
| 10c60 | 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79 74 65 | om-file.()..."Read.the.next.byte |
| 10c80 | 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 69 66 20 28 3d 20 28 70 6f 69 6e 74 29 20 | .from.a.file."...(if.(=.(point). |
| 10ca0 | 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 30 0a 20 20 20 20 28 66 6f 72 77 61 72 | (point-max)).......0.....(forwar |
| 10cc0 | 64 2d 63 68 61 72 20 31 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e | d-char.1).....(malyon-char-to-in |
| 10ce0 | 74 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 | t.(char-before))))..(defsubst.ma |
| 10d00 | 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 | lyon-read-word-from-file.()..."R |
| 10d20 | 65 61 64 20 74 68 65 20 6e 65 78 74 20 77 6f 72 64 20 66 72 6f 6d 20 74 68 65 20 6c 61 73 74 20 | ead.the.next.word.from.the.last. |
| 10d40 | 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d 61 | opened.file."...(logior.(lsh.(ma |
| 10d60 | 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 38 29 20 28 6d 61 | lyon-read-byte-from-file).8).(ma |
| 10d80 | 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 0a 28 64 65 | lyon-read-byte-from-file)))..(de |
| 10da0 | 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 | fsubst.malyon-read-dword-from-fi |
| 10dc0 | 6c 65 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 64 77 6f 72 64 20 66 72 6f | le.()..."Read.the.next.dword.fro |
| 10de0 | 6d 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 6c 6f 67 69 | m.the.last.opened.file."...(logi |
| 10e00 | 6f 72 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 | or.(lsh.(malyon-read-byte-from-f |
| 10e20 | 69 6c 65 29 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d | ile).24)...........(lsh.(malyon- |
| 10e40 | 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 31 36 29 0a 20 20 20 20 20 20 20 | read-byte-from-file).16)........ |
| 10e60 | 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 | ...(lsh.(malyon-read-byte-from-f |
| 10e80 | 69 6c 65 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 | ile).8)...........(malyon-read-b |
| 10ea0 | 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 | yte-from-file)))..(defsubst.maly |
| 10ec0 | 6f 6e 2d 72 65 61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 | on-read-chunk-id-from-file.()... |
| 10ee0 | 22 52 65 61 64 20 61 20 71 75 65 74 7a 61 6c 20 63 68 75 6e 6b 20 69 64 20 66 72 6f 6d 20 74 68 | "Read.a.quetzal.chunk.id.from.th |
| 10f00 | 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 22 0a 20 20 28 73 74 72 69 6e 67 20 28 | e.last.opened.file."...(string.( |
| 10f20 | 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d | malyon-int-to-char.(malyon-read- |
| 10f40 | 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 | byte-from-file))...........(maly |
| 10f60 | 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 | on-int-to-char.(malyon-read-byte |
| 10f80 | 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 | -from-file))...........(malyon-i |
| 10fa0 | 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f | nt-to-char.(malyon-read-byte-fro |
| 10fc0 | 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 | m-file))...........(malyon-int-t |
| 10fe0 | 6f 2d 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 | o-char.(malyon-read-byte-from-fi |
| 11000 | 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 67 65 74 2d 66 69 6c 65 2d 6e | le))))..(defun.malyon-get-file-n |
| 11020 | 61 6d 65 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 72 69 65 76 65 73 20 74 68 65 20 66 | ame.(address)..."Retrieves.the.f |
| 11040 | 69 6c 65 20 6e 61 6d 65 20 73 74 6f 72 65 64 20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 | ile.name.stored.at.address."...( |
| 11060 | 6c 65 74 20 28 28 6e 61 6d 65 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d | let.((name.(make-string.(malyon- |
| 11080 | 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 | read-byte.address).?.))......... |
| 110a0 | 28 69 20 20 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 28 6c 65 6e 67 74 | (i....0)).....(while.(<.i.(lengt |
| 110c0 | 68 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6e 61 6d 65 20 69 20 28 6d 61 6c | h.name)).......(aset.name.i.(mal |
| 110e0 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 64 64 72 65 73 73 20 31 20 69 29 29 29 0a | yon-read-byte.(+.address.1.i))). |
| 11100 | 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 6e 61 6d 65 | ......(setq.i.(+.1.i))).....name |
| 11120 | 29 29 0a 0a 3b 3b 20 73 61 76 69 6e 67 20 64 61 74 61 20 74 6f 20 64 69 73 6b 0a 0a 28 64 65 66 | ))..;;.saving.data.to.disk..(def |
| 11140 | 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 66 69 6c 65 20 28 66 69 6c 65 20 26 6f 70 74 69 6f | un.malyon-save-file.(file.&optio |
| 11160 | 6e 61 6c 20 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 63 75 | nal.table.length)..."Save.the.cu |
| 11180 | 72 72 65 6e 74 20 67 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79 20 73 65 63 | rrent.game.state.or.a.memory.sec |
| 111a0 | 74 69 6f 6e 20 74 6f 20 64 69 73 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 46 | tion.to.disk."...(interactive."F |
| 111c0 | 53 61 76 65 20 66 69 6c 65 3a 20 22 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 | Save.file:.")...(condition-case. |
| 111e0 | 6e 69 6c 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 | nil.......(let.((coding-system-f |
| 11200 | 6f 72 2d 77 72 69 74 65 20 27 62 69 6e 61 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 | or-write.'binary)).........(with |
| 11220 | 2d 74 65 6d 70 2d 66 69 6c 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f | -temp-file.file...........(malyo |
| 11240 | 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 69 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 | n-disable-multibyte)...........( |
| 11260 | 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 | malyon-erase-buffer)...........( |
| 11280 | 63 6f 6e 64 20 28 74 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 74 61 62 6c 65 20 74 | cond.(table.(malyon-save-table.t |
| 112a0 | 61 62 6c 65 20 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d | able.length)).................(m |
| 112c0 | 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 20 | alyon-game-state-quetzal........ |
| 112e0 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 | ..........(malyon-save-quetzal-s |
| 11300 | 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 29 | tate.(malyon-current-game-state) |
| 11320 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 | )).................(t........... |
| 11340 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 | .......(malyon-save-game-state.( |
| 11360 | 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 29 29 29 29 0a 20 20 | malyon-current-game-state))))... |
| 11380 | 20 20 20 20 20 20 20 20 31 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 30 29 29 29 0a 0a 28 | ........1)).......(error.0)))..( |
| 113a0 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 74 61 62 6c 65 20 28 74 61 62 6c 65 20 6c | defun.malyon-save-table.(table.l |
| 113c0 | 65 6e 67 74 68 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 67 69 76 65 6e 20 73 65 63 74 69 6f 6e | ength)..."Save.the.given.section |
| 113e0 | 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 74 68 65 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 | .of.memory.to.the.file."...(let. |
| 11400 | 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 28 6a 20 74 61 62 6c 65 29 29 0a 20 20 20 20 28 77 | ((i.0).........(j.table)).....(w |
| 11420 | 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | hile.(<.i.length).......(malyon- |
| 11440 | 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d | write-byte-to-file.(malyon-read- |
| 11460 | 62 79 74 65 20 6a 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 | byte.j)).......(setq.i.(+.1.i).. |
| 11480 | 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | ...........j.(+.1.j)))))..(defun |
| 114a0 | 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 73 74 61 74 65 29 0a | .malyon-save-game-state.(state). |
| 114c0 | 20 20 22 53 61 76 65 73 20 74 68 65 20 67 61 6d 65 20 73 74 61 74 65 20 74 6f 20 64 69 73 6b 2e | .."Saves.the.game.state.to.disk. |
| 114e0 | 22 0a 20 20 28 6c 65 74 20 28 28 69 70 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 29 | "...(let.((ip....(aref.state.0)) |
| 11500 | 0a 20 20 20 20 20 20 20 20 28 73 70 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 31 29 29 0a | .........(sp....(aref.state.1)). |
| 11520 | 20 20 20 20 20 20 20 20 28 66 70 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 32 29 29 0a 20 | ........(fp....(aref.state.2)).. |
| 11540 | 20 20 20 20 20 20 20 28 73 74 61 63 6b 20 28 61 72 65 66 20 73 74 61 74 65 20 33 29 29 0a 20 20 | .......(stack.(aref.state.3))... |
| 11560 | 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 0a 20 20 20 | ......(mem...(aref.state.4)).... |
| 11580 | 20 20 20 20 20 28 64 79 6e 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 34 | .....(dyn...(malyon-read-word.14 |
| 115a0 | 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f | )).........(i.....0)).....(malyo |
| 115c0 | 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6c 65 6e 67 74 68 20 6d 61 6c | n-write-word-to-file.(length.mal |
| 115e0 | 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 | yon-story-file-name)).....(while |
| 11600 | 20 28 3c 20 69 20 28 6c 65 6e 67 74 68 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d | .(<.i.(length.malyon-story-file- |
| 11620 | 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d | name)).......(malyon-write-byte- |
| 11640 | 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d | to-file.(aref.malyon-story-file- |
| 11660 | 6e 61 6d 65 20 69 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 | name.i)).......(setq.i.(+.1.i))) |
| 11680 | 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 | .....(malyon-write-dword-to-file |
| 116a0 | 20 69 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 | .ip).....(malyon-write-word-to-f |
| 116c0 | 69 6c 65 20 20 73 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d | ile..sp).....(malyon-write-word- |
| 116e0 | 74 6f 2d 66 69 6c 65 20 20 66 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 | to-file..fp).....(malyon-write-w |
| 11700 | 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 20 64 79 6e 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 29 | ord-to-file..dyn).....(setq.i.0) |
| 11720 | 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 6d 61 6c | .....(while.(<=.i.sp).......(mal |
| 11740 | 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 73 74 | yon-write-dword-to-file.(aref.st |
| 11760 | 61 63 6b 20 69 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a | ack.i)).......(setq.i.(+.1.i))). |
| 11780 | 20 20 20 20 28 73 65 74 71 20 69 20 30 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 64 | ....(setq.i.0).....(while.(<.i.d |
| 117a0 | 79 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d | yn).......(malyon-write-byte-to- |
| 117c0 | 66 69 6c 65 20 28 61 72 65 66 20 6d 65 6d 20 69 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 | file.(aref.mem.i)).......(setq.i |
| 117e0 | 20 28 2b 20 31 20 69 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 | .(+.1.i)))))..(defun.malyon-save |
| 11800 | 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 | -quetzal-state.(state)..."Saves. |
| 11820 | 74 68 65 20 67 61 6d 65 20 73 74 61 74 65 20 74 6f 20 64 69 73 6b 20 69 6e 20 71 75 65 74 7a 61 | the.game.state.to.disk.in.quetza |
| 11840 | 6c 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d | l.format."...(goto-char.(point-m |
| 11860 | 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 | in))...(malyon-save-quetzal-ifhd |
| 11880 | 20 73 74 61 74 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 63 | .state)...(malyon-save-quetzal-c |
| 118a0 | 6d 65 6d 20 73 74 61 74 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 | mem.state)...(malyon-save-quetza |
| 118c0 | 6c 2d 73 74 6b 73 20 73 74 61 74 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e | l-stks.state)...(goto-char.(poin |
| 118e0 | 74 2d 6d 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 | t-min))...(malyon-write-chunk-id |
| 11900 | 2d 74 6f 2d 66 69 6c 65 20 22 49 46 5a 53 22 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 | -to-file."IFZS")...(goto-char.(p |
| 11920 | 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 | oint-min))...(malyon-write-dword |
| 11940 | 2d 74 6f 2d 66 69 6c 65 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d 6d | -to-file.(-.(point-max).(point-m |
| 11960 | 69 6e 29 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a | in)))...(goto-char.(point-min)). |
| 11980 | 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 | ..(malyon-write-chunk-id-to-file |
| 119a0 | 20 22 46 4f 52 4d 22 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 | ."FORM"))..(defun.malyon-save-qu |
| 119c0 | 65 74 7a 61 6c 2d 69 66 68 64 20 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 | etzal-ifhd.(state)..."Saves.the. |
| 119e0 | 49 46 68 64 20 63 68 75 6e 6b 20 6f 66 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 | IFhd.chunk.of.the.quetzal.format |
| 11a00 | 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 | ."...(malyon-write-chunk-id-to-f |
| 11a20 | 69 6c 65 20 22 49 46 68 64 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 | ile."IFhd")...(malyon-write-dwor |
| 11a40 | 64 2d 74 6f 2d 66 69 6c 65 20 31 33 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f | d-to-file.13)...(malyon-write-wo |
| 11a60 | 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 29 29 | rd-to-file.(malyon-read-word.2)) |
| 11a80 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d | ...(malyon-write-word-to-file.(m |
| 11aa0 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 38 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 | alyon-read-word.18))...(malyon-w |
| 11ac0 | 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 | rite-word-to-file.(malyon-read-w |
| 11ae0 | 6f 72 64 20 32 30 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f | ord.20))...(malyon-write-word-to |
| 11b00 | 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 32 29 29 0a 20 20 28 | -file.(malyon-read-word.22))...( |
| 11b20 | 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6d 61 6c 79 6f | malyon-write-word-to-file.(malyo |
| 11b40 | 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 | n-read-word.28))...(malyon-write |
| 11b60 | 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 73 68 20 28 61 72 65 66 20 73 74 61 74 65 20 30 | -byte-to-file.(lsh.(aref.state.0 |
| 11b80 | 29 20 2d 31 36 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d | ).-16))...(malyon-write-byte-to- |
| 11ba0 | 66 69 6c 65 20 28 6c 73 68 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 20 2d 38 29 29 0a 20 20 | file.(lsh.(aref.state.0).-8))... |
| 11bc0 | 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 | (malyon-write-byte-to-file.(aref |
| 11be0 | 20 73 74 61 74 65 20 30 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d | .state.0))...(malyon-write-byte- |
| 11c00 | 74 6f 2d 66 69 6c 65 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d | to-file.0))..(defun.malyon-save- |
| 11c20 | 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 | quetzal-cmem.(state)..."Saves.th |
| 11c40 | 65 20 43 4d 65 6d 20 63 68 75 6e 6b 20 6f 66 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d | e.CMem.chunk.of.the.quetzal.form |
| 11c60 | 61 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 2d 6d | at."...(let.((beginning.(point-m |
| 11c80 | 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 6f 72 69 67 69 6e 61 6c 20 20 28 61 72 65 66 20 6d 61 | ax)).........(original..(aref.ma |
| 11ca0 | 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 20 34 29 29 0a 20 20 20 20 | lyon-game-state-restart.4))..... |
| 11cc0 | 20 20 20 20 28 63 75 72 72 65 6e 74 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 0a 20 | ....(current...(aref.state.4)).. |
| 11ce0 | 20 20 20 20 20 20 20 28 73 69 7a 65 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 | .......(size......(malyon-read-w |
| 11d00 | 6f 72 64 20 31 34 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 65 20 20 20 20 20 20 30 29 0a 20 | ord.14)).........(byte......0).. |
| 11d20 | 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 20 | .......(count.....0).........(i. |
| 11d40 | 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e | ........0)).....(goto-char.(poin |
| 11d60 | 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 | t-max)).....(while.(<.i.size)... |
| 11d80 | 20 20 20 20 28 73 65 74 71 20 62 79 74 65 20 28 6c 6f 67 78 6f 72 20 28 61 72 65 66 20 63 75 72 | ....(setq.byte.(logxor.(aref.cur |
| 11da0 | 72 65 6e 74 20 69 29 20 28 61 72 65 66 20 6f 72 69 67 69 6e 61 6c 20 69 29 29 29 0a 20 20 20 20 | rent.i).(aref.original.i)))..... |
| 11dc0 | 20 20 28 69 66 20 28 7a 65 72 6f 70 20 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 | ..(if.(zerop.byte)...........(se |
| 11de0 | 74 71 20 63 6f 75 6e 74 20 28 2b 20 31 20 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 77 | tq.count.(+.1.count)).........(w |
| 11e00 | 68 69 6c 65 20 28 3e 20 63 6f 75 6e 74 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 | hile.(>.count.0)...........(maly |
| 11e20 | 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 30 29 0a 20 20 20 20 20 20 20 | on-write-byte-to-file.0)........ |
| 11e40 | 20 20 20 28 73 65 74 71 20 63 6f 75 6e 74 20 28 2d 20 63 6f 75 6e 74 20 31 29 29 0a 20 20 20 20 | ...(setq.count.(-.count.1))..... |
| 11e60 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 | ......(malyon-write-byte-to-file |
| 11e80 | 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 | .(min.255.count))...........(set |
| 11ea0 | 71 20 63 6f 75 6e 74 20 28 2d 20 63 6f 75 6e 74 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74 29 | q.count.(-.count.(min.255.count) |
| 11ec0 | 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 | ))).........(malyon-write-byte-t |
| 11ee0 | 6f 2d 66 69 6c 65 20 62 79 74 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 | o-file.byte)).......(setq.i.(+.1 |
| 11f00 | 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 69 7a 65 20 28 2d 20 28 70 6f 69 6e 74 2d 6d | .i))).....(setq.size.(-.(point-m |
| 11f20 | 61 78 29 20 62 65 67 69 6e 6e 69 6e 67 29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 | ax).beginning)).....(if.(zerop.( |
| 11f40 | 6d 6f 64 20 73 69 7a 65 20 32 29 29 20 27 28 29 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 | mod.size.2)).'().(malyon-write-b |
| 11f60 | 79 74 65 2d 74 6f 2d 66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 | yte-to-file.0)).....(goto-char.b |
| 11f80 | 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e | eginning).....(malyon-write-chun |
| 11fa0 | 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 22 43 4d 65 6d 22 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e | k-id-to-file."CMem").....(malyon |
| 11fc0 | 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 73 69 7a 65 29 29 29 0a 0a 28 64 | -write-dword-to-file.size)))..(d |
| 11fe0 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 28 73 | efun.malyon-save-quetzal-stks.(s |
| 12000 | 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 53 74 6b 73 20 63 68 75 6e 6b 20 6f 66 | tate)..."Saves.the.Stks.chunk.of |
| 12020 | 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 | .the.quetzal.format."...(let.((b |
| 12040 | 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 73 | eginning.(point-max)).........(s |
| 12060 | 69 7a 65 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 | ize......0)).....(goto-char.(poi |
| 12080 | 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 | nt-max)).....(malyon-save-quetza |
| 120a0 | 6c 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 28 2d 20 28 61 72 65 66 20 73 74 61 74 65 20 32 29 20 | l-stack-frame.(-.(aref.state.2). |
| 120c0 | 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 4).............................. |
| 120e0 | 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 | ........(aref.state.1).......... |
| 12100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 | ............................(are |
| 12120 | 66 20 73 74 61 74 65 20 33 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 69 7a 65 20 28 2d 20 28 70 | f.state.3)).....(setq.size.(-.(p |
| 12140 | 6f 69 6e 74 2d 6d 61 78 29 20 62 65 67 69 6e 6e 69 6e 67 29 29 0a 20 20 20 20 28 69 66 20 28 7a | oint-max).beginning)).....(if.(z |
| 12160 | 65 72 6f 70 20 28 6d 6f 64 20 73 69 7a 65 20 32 29 29 20 27 28 29 20 28 6d 61 6c 79 6f 6e 2d 77 | erop.(mod.size.2)).'().(malyon-w |
| 12180 | 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d | rite-byte-to-file.0)).....(goto- |
| 121a0 | 63 68 61 72 20 62 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 | char.beginning).....(malyon-writ |
| 121c0 | 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 22 53 74 6b 73 22 29 0a 20 20 20 20 28 | e-chunk-id-to-file."Stks").....( |
| 121e0 | 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 73 69 7a 65 29 | malyon-write-dword-to-file.size) |
| 12200 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 | ))..(defun.malyon-save-quetzal-s |
| 12220 | 74 61 63 6b 2d 66 72 61 6d 65 20 28 66 70 20 73 70 20 73 74 61 63 6b 29 0a 20 20 22 53 61 76 65 | tack-frame.(fp.sp.stack)..."Save |
| 12240 | 73 20 74 68 65 20 73 74 61 63 6b 20 66 72 61 6d 65 73 20 66 6f 72 20 74 68 65 20 53 74 6b 73 20 | s.the.stack.frames.for.the.Stks. |
| 12260 | 63 68 75 6e 6b 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 72 61 6d 65 20 20 20 20 20 20 20 28 6d | chunk."...(let*.((frame.......(m |
| 12280 | 61 6c 79 6f 6e 2d 67 65 74 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 66 70 20 73 70 20 73 74 61 63 | alyon-get-stack-frame.fp.sp.stac |
| 122a0 | 6b 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 72 61 6d 65 2d 69 64 20 20 20 20 28 61 72 65 66 20 | k))..........(frame-id....(aref. |
| 122c0 | 66 72 61 6d 65 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 76 69 6f 75 73 2d 66 70 20 | frame.0))..........(previous-fp. |
| 122e0 | 28 61 72 65 66 20 66 72 61 6d 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 76 69 6f | (aref.frame.1))..........(previo |
| 12300 | 75 73 2d 73 70 20 28 61 72 65 66 20 66 72 61 6d 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 | us-sp.(aref.frame.2))..........( |
| 12320 | 72 65 74 75 72 6e 2d 61 64 64 72 20 28 61 72 65 66 20 66 72 61 6d 65 20 33 29 29 0a 20 20 20 20 | return-addr.(aref.frame.3))..... |
| 12340 | 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64 72 20 28 61 72 65 66 20 66 72 61 6d 65 20 34 29 | .....(result-addr.(aref.frame.4) |
| 12360 | 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 72 73 20 20 28 61 72 65 66 20 66 72 | )..........(local-vars..(aref.fr |
| 12380 | 61 6d 65 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 28 61 | ame.5))..........(num-args....(a |
| 123a0 | 72 65 66 20 66 72 61 6d 65 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 74 61 | ref.frame.6))..........(eval-sta |
| 123c0 | 63 6b 20 20 28 61 72 65 66 20 66 72 61 6d 65 20 37 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e 20 | ck..(aref.frame.7))).....(if.(>. |
| 123e0 | 66 72 61 6d 65 2d 69 64 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 | frame-id.0).........(malyon-save |
| 12400 | 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 70 72 65 76 69 6f 75 73 2d 66 70 | -quetzal-stack-frame.previous-fp |
| 12420 | 20 70 72 65 76 69 6f 75 73 2d 73 70 20 73 74 61 63 6b 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e | .previous-sp.stack)).....(malyon |
| 12440 | 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 73 68 20 72 65 74 75 72 6e 2d | -write-byte-to-file.(lsh.return- |
| 12460 | 61 64 64 72 20 2d 31 36 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 | addr.-16)).....(malyon-write-byt |
| 12480 | 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 73 68 20 72 65 74 75 72 6e 2d 61 64 64 72 20 2d 38 29 29 0a | e-to-file.(lsh.return-addr.-8)). |
| 124a0 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 72 | ....(malyon-write-byte-to-file.r |
| 124c0 | 65 74 75 72 6e 2d 61 64 64 72 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 66 72 61 6d 65 | eturn-addr).....(if.(zerop.frame |
| 124e0 | 2d 69 64 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d | -id).........(malyon-write-byte- |
| 12500 | 74 6f 2d 66 69 6c 65 20 30 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 | to-file.0).......(malyon-write-b |
| 12520 | 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6c 6f 67 69 6f 72 20 28 69 66 20 72 65 73 75 6c 74 2d 61 | yte-to-file.(logior.(if.result-a |
| 12540 | 64 64 72 20 30 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ddr.0.16)....................... |
| 12560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61 6c | ...................(length.local |
| 12580 | 2d 76 61 72 73 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 | -vars)))).....(malyon-write-byte |
| 125a0 | 2d 74 6f 2d 66 69 6c 65 20 28 69 66 20 72 65 73 75 6c 74 2d 61 64 64 72 20 72 65 73 75 6c 74 2d | -to-file.(if.result-addr.result- |
| 125c0 | 61 64 64 72 20 30 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d | addr.0)).....(malyon-write-byte- |
| 125e0 | 74 6f 2d 66 69 6c 65 20 28 2d 20 28 6c 73 68 20 31 20 6e 75 6d 2d 61 72 67 73 29 20 31 29 29 0a | to-file.(-.(lsh.1.num-args).1)). |
| 12600 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 | ....(malyon-write-word-to-file.( |
| 12620 | 6c 65 6e 67 74 68 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 | length.eval-stack)).....(while.( |
| 12640 | 6e 6f 74 20 28 6e 75 6c 6c 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 28 6d 61 | not.(null.local-vars)).......(ma |
| 12660 | 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 6c 6f 63 | lyon-write-word-to-file.(car.loc |
| 12680 | 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 | al-vars)).......(setq.local-vars |
| 126a0 | 20 28 63 64 72 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 | .(cdr.local-vars))).....(while.( |
| 126c0 | 6e 6f 74 20 28 6e 75 6c 6c 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 28 6d 61 | not.(null.eval-stack)).......(ma |
| 126e0 | 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 65 76 61 | lyon-write-word-to-file.(car.eva |
| 12700 | 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b | l-stack)).......(setq.eval-stack |
| 12720 | 20 28 63 64 72 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 29 29 29 0a 0a 3b 3b 20 72 65 73 74 6f 72 | .(cdr.eval-stack)))))..;;.restor |
| 12740 | 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 64 69 73 6b 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 | ing.data.from.disk..(defvar.maly |
| 12760 | 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 6e 69 6c 0a 20 20 22 41 6e 20 | on-restore-data-error.nil..."An. |
| 12780 | 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20 72 65 73 74 6f 72 69 6e 67 20 64 61 74 61 20 | error.message.if.restoring.data. |
| 127a0 | 66 72 6f 6d 20 61 20 66 69 6c 65 20 66 61 69 6c 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d | from.a.file.failed.")..(defvar.m |
| 127c0 | 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 20 6e 69 6c 0a | alyon-restore-quetzal-stack.nil. |
| 127e0 | 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 73 74 61 63 6b 20 66 6f 72 20 72 65 73 74 6f 72 69 | .."A.temporary.stack.for.restori |
| 12800 | 6e 67 20 71 75 65 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 | ng.quetzal.game.states.")..(defv |
| 12820 | 61 72 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d | ar.malyon-restore-quetzal-stack- |
| 12840 | 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 73 74 61 63 6b | pointer.nil..."A.temporary.stack |
| 12860 | 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 72 65 73 74 6f 72 69 6e 67 20 71 75 65 74 7a 61 6c 20 67 | .pointer.for.restoring.quetzal.g |
| 12880 | 61 6d 65 20 73 74 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 72 65 | ame.states.")..(defvar.malyon-re |
| 128a0 | 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a | store-quetzal-frame-pointer.nil. |
| 128c0 | 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 66 6f 72 | .."A.temporary.frame-pointer.for |
| 128e0 | 20 72 65 73 74 6f 72 69 6e 67 20 71 75 65 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 73 2e 22 | .restoring.quetzal.game.states." |
| 12900 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 20 28 66 | )..(defun.malyon-restore-file.(f |
| 12920 | 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22 52 | ile.&optional.table.length)..."R |
| 12940 | 65 73 74 6f 72 65 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79 20 | estore.a.game.state.or.a.memory. |
| 12960 | 73 65 63 74 69 6f 6e 20 66 72 6f 6d 20 64 69 73 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 | section.from.disk."...(interacti |
| 12980 | 76 65 20 22 66 4c 6f 61 64 20 66 69 6c 65 3a 20 22 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 61 | ve."fLoad.file:.")...(if.(not.(a |
| 129a0 | 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 29 20 28 66 69 6c 65 2d 72 65 | nd.(file-exists-p.file).(file-re |
| 129c0 | 61 64 61 62 6c 65 2d 70 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 30 0a 20 20 20 20 28 63 6f | adable-p.file))).......0.....(co |
| 129e0 | 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 | ndition-case.nil.........(save-e |
| 12a00 | 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d | xcursion...........(setq.malyon- |
| 12a20 | 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 | restore-data-error.nil)......... |
| 12a40 | 20 20 28 73 65 74 2d 62 75 66 66 65 72 20 28 63 72 65 61 74 65 2d 66 69 6c 65 2d 62 75 66 66 65 | ..(set-buffer.(create-file-buffe |
| 12a60 | 72 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d | r.file))...........(malyon-load- |
| 12a80 | 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 | file.file)...........(goto-char. |
| 12aa0 | 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 74 61 62 6c 65 | (point-min))...........(if.table |
| 12ac0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 74 | ...............(malyon-restore-t |
| 12ae0 | 61 62 6c 65 20 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | able.table.length).............( |
| 12b00 | 6c 65 74 2a 20 28 28 66 69 72 73 74 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 68 75 6e 6b | let*.((first..(malyon-read-chunk |
| 12b20 | 2d 69 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -id-from-file))................. |
| 12b40 | 20 20 20 28 73 65 63 6f 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66 72 | ...(second.(malyon-read-dword-fr |
| 12b60 | 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 | om-file))....................(th |
| 12b80 | 69 72 64 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d 2d | ird..(malyon-read-chunk-id-from- |
| 12ba0 | 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 | file)))...............(if.(and.( |
| 12bc0 | 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d 22 20 66 69 72 73 74 29 20 28 73 74 72 69 6e 67 3d 20 22 | string=."FORM".first).(string=." |
| 12be0 | 49 46 5a 53 22 20 74 68 69 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | IFZS".third))................... |
| 12c00 | 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28 2b | (malyon-restore-quetzal-state.(+ |
| 12c20 | 20 38 20 73 65 63 6f 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 | .8.second)).................(got |
| 12c40 | 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | o-char.(point-min))............. |
| 12c60 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 67 61 6d 65 2d 73 74 61 74 65 29 29 | ....(malyon-restore-game-state)) |
| 12c80 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 6e 69 6c 29 0a 20 | ))...........(kill-buffer.nil).. |
| 12ca0 | 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 | .........(if.(null.malyon-restor |
| 12cc0 | 65 2d 64 61 74 61 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 0a 20 20 | e-data-error)...............2... |
| 12ce0 | 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 | ..........(message.malyon-restor |
| 12d00 | 65 2d 64 61 74 61 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 | e-data-error).............0))... |
| 12d20 | 20 20 20 20 28 65 72 72 6f 72 20 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | ....(error.0))))..(defun.malyon- |
| 12d40 | 72 65 73 74 6f 72 65 2d 74 61 62 6c 65 20 28 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22 | restore-table.(table.length)..." |
| 12d60 | 52 65 73 74 6f 72 65 20 74 68 65 20 67 69 76 65 6e 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d 65 6d | Restore.the.given.section.of.mem |
| 12d80 | 6f 72 79 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 0a | ory.from.a.file."...(let.((i.0). |
| 12da0 | 20 20 20 20 20 20 20 20 28 6a 20 74 61 62 6c 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c | ........(j.table)).....(while.(< |
| 12dc0 | 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 | .i.length).......(malyon-store-b |
| 12de0 | 79 74 65 20 6a 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c | yte.j.(malyon-read-byte-from-fil |
| 12e00 | 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 | e)).......(setq.i.(+.1.i)....... |
| 12e20 | 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | ......j.(+.1.j)))))..(defun.maly |
| 12e40 | 6f 6e 2d 72 65 73 74 6f 72 65 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 29 0a 20 20 22 52 65 73 74 | on-restore-game-state.()..."Rest |
| 12e60 | 6f 72 65 20 61 20 73 61 76 65 64 20 67 61 6d 65 20 73 74 61 74 65 20 66 72 6f 6d 20 64 69 73 6b | ore.a.saved.game.state.from.disk |
| 12e80 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 6e 61 | ."...(let.((len...0).........(na |
| 12ea0 | 6d 65 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 73 74 6f 72 79 20 30 29 0a 20 20 20 20 20 20 20 | me..0).........(story.0)........ |
| 12ec0 | 20 28 69 70 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 73 70 20 20 20 20 30 29 0a 20 20 20 | .(ip....0).........(sp....0).... |
| 12ee0 | 20 20 20 20 20 28 66 70 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 64 79 6e 20 20 20 30 29 | .....(fp....0).........(dyn...0) |
| 12f00 | 0a 20 20 20 20 20 20 20 20 28 73 74 61 63 6b 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d | .........(stack.(copy-sequence.m |
| 12f20 | 61 6c 79 6f 6e 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 63 6f | alyon-stack)).........(mem...(co |
| 12f40 | 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29 0a | py-sequence.malyon-story-file)). |
| 12f60 | 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 65 6e | ........(i.....0)).....(setq.len |
| 12f80 | 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 | .(malyon-read-word-from-file)).. |
| 12fa0 | 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6c 65 6e 20 3f | ...(setq.name.(make-string.len.? |
| 12fc0 | 20 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 29 0a 20 20 20 20 20 20 28 | .)).....(while.(<.i.len).......( |
| 12fe0 | 61 73 65 74 20 6e 61 6d 65 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 | aset.name.i.(malyon-read-byte-fr |
| 13000 | 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 | om-file)).......(setq.i.(+.1.i)) |
| 13020 | 29 0a 20 20 20 20 28 73 65 74 71 20 69 70 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 6f | ).....(setq.ip..(malyon-read-dwo |
| 13040 | 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 70 20 20 28 6d 61 | rd-from-file)).....(setq.sp..(ma |
| 13060 | 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 28 | lyon-read-word-from-file)).....( |
| 13080 | 73 65 74 71 20 66 70 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d | setq.fp..(malyon-read-word-from- |
| 130a0 | 66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 79 6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | file)).....(setq.dyn.(malyon-rea |
| 130c0 | 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 | d-word-from-file)).....(setq.i.0 |
| 130e0 | 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 61 73 | ).....(while.(<=.i.sp).......(as |
| 13100 | 65 74 20 73 74 61 63 6b 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66 72 | et.stack.i.(malyon-read-dword-fr |
| 13120 | 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 | om-file)).......(setq.i.(+.1.i)) |
| 13140 | 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 | ).....(setq.i.0).....(while.(<.i |
| 13160 | 20 64 79 6e 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 65 6d 20 69 20 28 6d 61 6c 79 6f 6e 2d | .dyn).......(aset.mem.i.(malyon- |
| 13180 | 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 | read-byte-from-file)).......(set |
| 131a0 | 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 20 28 66 | q.i.(+.1.i))).....(setq.name..(f |
| 131c0 | 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 29 29 0a 20 20 20 | ile-name-nondirectory.name)).... |
| 131e0 | 20 28 73 65 74 71 20 73 74 6f 72 79 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 | .(setq.story.(file-name-nondirec |
| 13200 | 74 6f 72 79 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 | tory.malyon-story-file-name))... |
| 13220 | 20 20 28 69 66 20 28 6f 72 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 6e 61 6d 65 20 73 74 6f | ..(if.(or.(string-match.name.sto |
| 13240 | 72 79 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 73 74 6f 72 79 20 6e 61 6d 65 29 29 0a 20 | ry).(string-match.story.name)).. |
| 13260 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 76 | .......(malyon-set-game-state.(v |
| 13280 | 65 63 74 6f 72 20 69 70 20 73 70 20 66 70 20 73 74 61 63 6b 20 6d 65 6d 20 6e 69 6c 29 29 0a 20 | ector.ip.sp.fp.stack.mem.nil)).. |
| 132a0 | 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 | .....(setq.malyon-restore-data-e |
| 132c0 | 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 73 61 76 65 20 66 69 6c 65 2e 22 29 29 29 29 0a 0a 28 | rror."Invalid.save.file."))))..( |
| 132e0 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 | defun.malyon-restore-quetzal-sta |
| 13300 | 74 65 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 71 75 65 | te.(size)..."Restore.a.saved.que |
| 13320 | 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 20 66 72 6f 6d 20 64 69 73 6b 2e 22 0a 20 20 28 6c | tzal.game.state.from.disk."...(l |
| 13340 | 65 74 20 28 28 63 68 75 6e 6b 2d 69 64 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 63 68 75 | et.((chunk-id..nil).........(chu |
| 13360 | 6e 6b 2d 6c 65 6e 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 70 20 20 20 20 20 20 20 20 30 29 0a | nk-len.0).........(ip........0). |
| 13380 | 20 20 20 20 20 20 20 20 28 6d 65 6d 6f 72 79 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 | ........(memory....nil)......... |
| 133a0 | 28 73 74 61 63 6b 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 | (stack.....nil).........(beginni |
| 133c0 | 6e 67 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 73 69 7a | ng.0)).....(while.(<.(point).siz |
| 133e0 | 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 69 64 20 20 28 6d 61 6c 79 6f 6e | e).......(setq.chunk-id..(malyon |
| 13400 | 2d 72 65 61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 | -read-chunk-id-from-file))...... |
| 13420 | 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 64 77 | .(setq.chunk-len.(malyon-read-dw |
| 13440 | 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 69 | ord-from-file)).......(setq.begi |
| 13460 | 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 | nning.(point)).......(cond.((str |
| 13480 | 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 22 49 46 68 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 | ing=.chunk-id."IFhd")........... |
| 134a0 | 20 20 20 28 73 65 74 71 20 69 70 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 | ...(setq.ip.(malyon-restore-quet |
| 134c0 | 7a 61 6c 2d 69 66 68 64 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | zal-ifhd.chunk-len)))........... |
| 134e0 | 20 20 28 28 73 74 72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 22 43 4d 65 6d 22 29 0a 20 20 20 | ..((string=.chunk-id."CMem").... |
| 13500 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 65 6d 6f 72 79 20 28 6d 61 6c 79 6f 6e 2d 72 | ..........(setq.memory.(malyon-r |
| 13520 | 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 | estore-quetzal-cmem.chunk-len))) |
| 13540 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 | .............((string=.chunk-id. |
| 13560 | 22 55 4d 65 6d 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 65 6d 6f 72 | "UMem")..............(setq.memor |
| 13580 | 79 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65 6d 20 63 | y.(malyon-restore-quetzal-umem.c |
| 135a0 | 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 | hunk-len))).............((string |
| 135c0 | 3d 20 63 68 75 6e 6b 2d 69 64 20 22 53 74 6b 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.chunk-id."Stks").............. |
| 135e0 | 28 73 65 74 71 20 73 74 61 63 6b 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 | (setq.stack.(malyon-restore-quet |
| 13600 | 7a 61 6c 2d 73 74 6b 73 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 | zal-stks.chunk-len)))).......(if |
| 13620 | 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 63 68 75 6e 6b 2d 6c 65 6e 20 32 29 29 20 27 28 29 20 28 | .(zerop.(mod.chunk-len.2)).'().( |
| 13640 | 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 6e 20 28 2b 20 31 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 | setq.chunk-len.(+.1.chunk-len))) |
| 13660 | 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 2b 20 62 65 67 69 6e 6e 69 6e 67 20 63 | .......(goto-char.(+.beginning.c |
| 13680 | 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 69 70 20 6d | hunk-len))).....(cond.((and.ip.m |
| 136a0 | 65 6d 6f 72 79 20 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | emory.stack)............(malyon- |
| 136c0 | 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 76 65 63 74 6f 72 20 69 70 0a 20 20 20 20 20 20 | set-game-state.(vector.ip....... |
| 136e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 13700 | 20 20 20 20 28 61 72 65 66 20 73 74 61 63 6b 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(aref.stack.0).............. |
| 13720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 | .............................(ar |
| 13740 | 65 66 20 73 74 61 63 6b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ef.stack.1)..................... |
| 13760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 63 | ......................(aref.stac |
| 13780 | 6b 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | k.2)............................ |
| 137a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 | ...............memory........... |
| 137c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 137e0 | 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 6d 61 6c 79 6f 6e 2d 72 65 73 | t)))...........((null.malyon-res |
| 13800 | 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 | tore-data-error)............(set |
| 13820 | 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 22 69 6e 76 | q.malyon-restore-data-error."inv |
| 13840 | 61 6c 69 64 20 71 75 65 74 7a 61 6c 20 66 69 6c 65 2e 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | alid.quetzal.file.")))))..(defun |
| 13860 | 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 20 28 73 69 | .malyon-restore-quetzal-ifhd.(si |
| 13880 | 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 6e 20 49 46 68 64 20 63 68 75 6e 6b 20 66 72 6f | ze)..."Restore.an.IFhd.chunk.fro |
| 138a0 | 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 70 | m.disk..Return.the.instruction.p |
| 138c0 | 6f 69 6e 74 65 72 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 | ointer."...(if.(and.(=.(malyon-r |
| 138e0 | 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | ead-word-from-file).(malyon-read |
| 13900 | 2d 77 6f 72 64 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d | -word.2))............(=.(malyon- |
| 13920 | 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | read-word-from-file).(malyon-rea |
| 13940 | 64 2d 77 6f 72 64 20 31 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f | d-word.18))............(=.(malyo |
| 13960 | 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 | n-read-word-from-file).(malyon-r |
| 13980 | 65 61 64 2d 77 6f 72 64 20 32 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c | ead-word.20))............(=.(mal |
| 139a0 | 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e | yon-read-word-from-file).(malyon |
| 139c0 | 2d 72 65 61 64 2d 77 6f 72 64 20 32 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d | -read-word.22))............(=.(m |
| 139e0 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 | alyon-read-word-from-file).(maly |
| 13a00 | 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38 29 29 29 0a 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 | on-read-word.28))).......(logior |
| 13a20 | 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c | .(lsh.(malyon-read-byte-from-fil |
| 13a40 | 65 29 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f | e).16)...............(lsh.(malyo |
| 13a60 | 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 38 29 0a 20 20 20 20 20 20 | n-read-byte-from-file).8)....... |
| 13a80 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 | ........(malyon-read-byte-from-f |
| 13aa0 | 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 | ile)).....(setq.malyon-restore-d |
| 13ac0 | 61 74 61 2d 65 72 72 6f 72 20 22 71 75 65 74 7a 61 6c 20 66 69 6c 65 20 64 6f 65 73 6e 27 74 20 | ata-error."quetzal.file.doesn't. |
| 13ae0 | 62 65 6c 6f 6e 67 20 74 6f 20 67 61 6d 65 2e 22 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a 28 64 65 | belong.to.game.").....nil))..(de |
| 13b00 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 | fun.malyon-restore-quetzal-cmem. |
| 13b20 | 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 43 4d 65 6d 20 63 68 75 6e 6b 20 66 | (size)..."Restore.a.CMem.chunk.f |
| 13b40 | 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6d 6f | rom.disk..Return.the.entire.memo |
| 13b60 | 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 20 20 28 63 | ry.layout."...(let.((memory...(c |
| 13b80 | 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 | opy-sequence.(aref.malyon-game-s |
| 13ba0 | 74 61 74 65 2d 72 65 73 74 61 72 74 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 78 2d 73 | tate-restart.4))).........(max-s |
| 13bc0 | 69 7a 65 20 28 2b 20 28 70 6f 69 6e 74 29 20 73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 28 62 | ize.(+.(point).size)).........(b |
| 13be0 | 79 74 65 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 20 20 20 30 29 29 | yte.....0).........(i........0)) |
| 13c00 | 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 6d 61 78 2d 73 69 7a 65 29 | .....(while.(<.(point).max-size) |
| 13c20 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 79 74 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 | .......(setq.byte.(malyon-read-b |
| 13c40 | 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 | yte-from-file)).......(if.(zerop |
| 13c60 | 20 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 20 | .byte)...........(setq.i.(+.1.i. |
| 13c80 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 20 | (malyon-read-byte-from-file))).. |
| 13ca0 | 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 65 6d 6f 72 79 20 69 20 28 6c 6f 67 78 6f 72 20 62 79 | .......(aset.memory.i.(logxor.by |
| 13cc0 | 74 65 20 28 61 72 65 66 20 6d 65 6d 6f 72 79 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 | te.(aref.memory.i))).........(se |
| 13ce0 | 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 0a 20 20 20 20 6d 65 6d 6f 72 79 29 29 0a 0a 28 64 | tq.i.(+.1.i)))).....memory))..(d |
| 13d00 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65 6d | efun.malyon-restore-quetzal-umem |
| 13d20 | 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 55 4d 65 6d 20 63 68 75 6e 6b 20 | .(size)..."Restore.a.UMem.chunk. |
| 13d40 | 66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6d | from.disk..Return.the.entire.mem |
| 13d60 | 6f 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 28 63 6f | ory.layout."...(let.((memory.(co |
| 13d80 | 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 | py-sequence.(aref.malyon-game-st |
| 13da0 | 61 74 65 2d 72 65 73 74 61 72 74 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 | ate-restart.4))).........(i..... |
| 13dc0 | 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 20 20 20 | .0)).....(while.(<.i.size)...... |
| 13de0 | 20 28 61 73 65 74 20 6d 65 6d 6f 72 79 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 | .(aset.memory.i.(malyon-read-byt |
| 13e00 | 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 | e-from-file)).......(setq.i.(+.1 |
| 13e20 | 20 69 29 29 29 0a 20 20 20 20 6d 65 6d 6f 72 79 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | .i))).....memory))..(defun.malyo |
| 13e40 | 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 28 73 69 7a 65 29 0a 20 20 | n-restore-quetzal-stks.(size)... |
| 13e60 | 22 52 65 73 74 6f 72 65 20 61 20 53 74 6b 73 20 63 68 75 6e 6b 20 66 72 6f 6d 20 64 69 73 6b 2e | "Restore.a.Stks.chunk.from.disk. |
| 13e80 | 20 52 65 74 75 72 6e 20 61 20 76 65 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a | .Return.a.vector.containing.the. |
| 13ea0 | 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 | stack.pointer,.the.frame.pointer |
| 13ec0 | 2c 20 61 6e 64 20 74 68 65 20 73 74 61 63 6b 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 6c 65 74 20 | ,.and.the.stack.itself."...(let. |
| 13ee0 | 28 28 69 20 30 29 20 28 66 72 61 6d 65 2d 69 64 20 30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d | ((i.0).(frame-id.0)).....(setq.m |
| 13f00 | 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 | alyon-restore-quetzal-stack..... |
| 13f20 | 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 65 66 20 6d 61 6c 79 6f | ......(copy-sequence.(aref.malyo |
| 13f40 | 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 20 33 29 29 29 0a 20 20 20 20 28 73 | n-game-state-restart.3))).....(s |
| 13f60 | 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b | etq.malyon-restore-quetzal-stack |
| 13f80 | 2d 70 6f 69 6e 74 65 72 20 2d 31 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 | -pointer.-1).....(setq.malyon-re |
| 13fa0 | 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 32 29 0a 20 | store-quetzal-frame-pointer.2).. |
| 13fc0 | 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 20 20 20 20 28 6c 65 74 2a | ...(while.(<.i.size).......(let* |
| 13fe0 | 20 28 28 62 65 67 69 6e 6e 69 6e 67 20 20 20 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 | .((beginning.....(point))....... |
| 14000 | 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 33 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | .......(return3.......(malyon-re |
| 14020 | 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ad-byte-from-file))............. |
| 14040 | 20 28 72 65 74 75 72 6e 32 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 | .(return2.......(malyon-read-byt |
| 14060 | 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74 75 | e-from-file))..............(retu |
| 14080 | 72 6e 31 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d | rn1.......(malyon-read-byte-from |
| 140a0 | 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d 61 64 64 | -file))..............(return-add |
| 140c0 | 72 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 72 65 74 75 72 6e 33 20 31 36 29 20 28 6c 73 | r...(logior.(lsh.return3.16).(ls |
| 140e0 | 68 20 72 65 74 75 72 6e 32 20 38 29 20 72 65 74 75 72 6e 31 29 29 0a 20 20 20 20 20 20 20 20 20 | h.return2.8).return1)).......... |
| 14100 | 20 20 20 20 28 72 65 73 75 6c 74 2d 6c 6f 63 61 6c 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d | ....(result-locals.(malyon-read- |
| 14120 | 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 | byte-from-file))..............(h |
| 14140 | 61 73 2d 72 65 73 75 6c 74 20 20 20 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 36 20 72 | as-result....(zerop.(logand.16.r |
| 14160 | 65 73 75 6c 74 2d 6c 6f 63 61 6c 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 | esult-locals)))..............(nu |
| 14180 | 6d 2d 6c 6f 63 61 6c 73 20 20 20 20 28 6c 6f 67 61 6e 64 20 31 35 20 72 65 73 75 6c 74 2d 6c 6f | m-locals....(logand.15.result-lo |
| 141a0 | 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64 72 | cals))..............(result-addr |
| 141c0 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 | ...(malyon-read-byte-from-file)) |
| 141e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 67 2d 66 6c 61 67 73 20 20 20 20 20 28 2b 20 | ..............(arg-flags.....(+. |
| 14200 | 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 | 1.(malyon-read-byte-from-file))) |
| 14220 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 20 20 30 29 0a | ..............(num-args......0). |
| 14240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 69 7a 65 20 20 20 20 20 28 6d 61 6c | .............(eval-size.....(mal |
| 14260 | 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 | yon-read-word-from-file))....... |
| 14280 | 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 72 73 20 20 20 20 27 28 29 29 0a 20 20 20 20 20 | .......(local-vars....'())...... |
| 142a0 | 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 74 61 63 6b 20 20 20 20 27 28 29 29 29 0a 20 20 20 | ........(eval-stack....'())).... |
| 142c0 | 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 2d 6c 6f 63 61 6c 73 20 30 29 0a 20 20 20 | .....(while.(>.num-locals.0).... |
| 142e0 | 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 20 28 63 6f 6e 73 20 28 6d | .......(setq.local-vars.(cons.(m |
| 14300 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 6c 6f 63 61 6c | alyon-read-word-from-file).local |
| 14320 | 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 6c 6f 63 61 | -vars))...........(setq.num-loca |
| 14340 | 6c 73 20 28 2d 20 6e 75 6d 2d 6c 6f 63 61 6c 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 | ls.(-.num-locals.1))).........(w |
| 14360 | 68 69 6c 65 20 28 3e 20 65 76 61 6c 2d 73 69 7a 65 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 | hile.(>.eval-size.0)...........( |
| 14380 | 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 | setq.eval-stack.(cons.(malyon-re |
| 143a0 | 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a | ad-word-from-file).eval-stack)). |
| 143c0 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 69 7a 65 20 28 2d 20 65 76 61 | ..........(setq.eval-size.(-.eva |
| 143e0 | 6c 2d 73 69 7a 65 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 61 72 | l-size.1))).........(while.(>.ar |
| 14400 | 67 2d 66 6c 61 67 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 2d 66 | g-flags.1)...........(setq.arg-f |
| 14420 | 6c 61 67 73 20 28 6c 73 68 20 61 72 67 2d 66 6c 61 67 73 20 2d 31 29 29 0a 20 20 20 20 20 20 20 | lags.(lsh.arg-flags.-1))........ |
| 14440 | 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 61 72 67 73 20 28 2b 20 6e 75 6d 2d 61 72 67 73 20 31 29 | ...(setq.num-args.(+.num-args.1) |
| 14460 | 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 2d 66 72 | )).........(malyon-push-stack-fr |
| 14480 | 61 6d 65 20 66 72 61 6d 65 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ame.frame-id.................... |
| 144a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 2d 61 64 64 72 0a 20 20 20 20 20 20 | ..............return-addr....... |
| 144c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 | ...........................(if.( |
| 144e0 | 7a 65 72 6f 70 20 66 72 61 6d 65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | zerop.frame-id)................. |
| 14500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 | .....................nil........ |
| 14520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 | ............................(if. |
| 14540 | 68 61 73 2d 72 65 73 75 6c 74 20 72 65 73 75 6c 74 2d 61 64 64 72 20 6e 69 6c 29 29 0a 20 20 20 | has-result.result-addr.nil)).... |
| 14560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 | ..............................(r |
| 14580 | 65 76 65 72 73 65 20 6c 6f 63 61 6c 2d 76 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | everse.local-vars).............. |
| 145a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 2d 61 72 67 73 0a 20 20 20 | ....................num-args.... |
| 145c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 | ..............................(r |
| 145e0 | 65 76 65 72 73 65 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 | everse.eval-stack)).........(set |
| 14600 | 71 20 66 72 61 6d 65 2d 69 64 20 28 2b 20 31 20 66 72 61 6d 65 2d 69 64 29 29 0a 20 20 20 20 20 | q.frame-id.(+.1.frame-id))...... |
| 14620 | 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 20 28 2d 20 28 70 6f 69 6e 74 29 20 62 65 67 69 6e | ...(setq.i.(+.i.(-.(point).begin |
| 14640 | 6e 69 6e 67 29 29 29 29 29 0a 20 20 20 20 28 76 65 63 74 6f 72 20 6d 61 6c 79 6f 6e 2d 72 65 73 | ning))))).....(vector.malyon-res |
| 14660 | 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 | tore-quetzal-stack-pointer...... |
| 14680 | 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66 72 | .......malyon-restore-quetzal-fr |
| 146a0 | 61 6d 65 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 72 | ame-pointer.............malyon-r |
| 146c0 | 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 29 29 29 0a 0a 3b 3b 20 6f 62 6a 65 | estore-quetzal-stack)))..;;.obje |
| 146e0 | 63 74 20 74 61 62 6c 65 20 6d 61 6e 61 67 65 6d 65 6e 74 0a 0a 28 64 65 66 73 75 62 73 74 20 6d | ct.table.management..(defsubst.m |
| 14700 | 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 28 6f 62 6a 65 63 74 29 0a 20 20 | alyon-object-address.(object)... |
| 14720 | 22 43 6f 6d 70 75 74 65 20 74 68 65 20 61 64 64 72 65 73 73 20 61 74 20 77 68 69 63 68 20 74 68 | "Compute.the.address.at.which.th |
| 14740 | 65 20 6f 62 6a 65 63 74 20 69 73 20 73 74 6f 72 65 64 2e 22 0a 20 20 28 2b 20 6d 61 6c 79 6f 6e | e.object.is.stored."...(+.malyon |
| 14760 | 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 0a 20 20 20 20 20 28 2a 20 32 20 6d 61 6c 79 6f 6e 2d 6f | -object-table......(*.2.malyon-o |
| 14780 | 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 20 20 20 28 2a 20 6d 61 6c 79 6f 6e | bject-properties)......(*.malyon |
| 147a0 | 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 28 2d 20 6f 62 6a 65 | -object-table-entry-size.(-.obje |
| 147c0 | 63 74 20 31 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 | ct.1))))..(defsubst.malyon-objec |
| 147e0 | 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 72 | t-read-parent.(address)..."Retur |
| 14800 | 6e 20 74 68 65 20 70 61 72 65 6e 74 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 | n.the.parent."...(if.(<.malyon-s |
| 14820 | 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | tory-version.5).......(malyon-re |
| 14840 | 61 64 2d 62 79 74 65 20 28 2b 20 34 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 | ad-byte.(+.4.address)).....(maly |
| 14860 | 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 28 | on-read-word.(+.6.address))))..( |
| 14880 | 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c | defsubst.malyon-object-read-sibl |
| 148a0 | 69 6e 67 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 65 78 74 | ing.(address)..."Return.the.next |
| 148c0 | 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 | .sibling."...(if.(<.malyon-story |
| 148e0 | 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 | -version.5).......(malyon-read-b |
| 14900 | 79 74 65 20 28 2b 20 35 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 | yte.(+.5.address)).....(malyon-r |
| 14920 | 65 61 64 2d 77 6f 72 64 20 28 2b 20 38 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 28 64 65 66 73 | ead-word.(+.8.address))))..(defs |
| 14940 | 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 28 61 | ubst.malyon-object-read-child.(a |
| 14960 | 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c | ddress)..."Return.the.first.chil |
| 14980 | 64 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f | d."...(if.(<.malyon-story-versio |
| 149a0 | 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 | n.5).......(malyon-read-byte.(+. |
| 149c0 | 36 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 | 6.address)).....(malyon-read-wor |
| 149e0 | 64 20 28 2b 20 31 30 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d | d.(+.10.address))))..(defsubst.m |
| 14a00 | 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 70 61 72 65 6e 74 20 28 61 64 64 72 65 | alyon-object-store-parent.(addre |
| 14a20 | 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 70 61 72 65 6e 74 2e 22 0a 20 20 | ss.value)..."Set.the.parent."... |
| 14a40 | 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 | (if.(<.malyon-story-version.5).. |
| 14a60 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 34 20 61 64 64 | .....(malyon-store-byte.(+.4.add |
| 14a80 | 72 65 73 73 29 20 76 61 6c 75 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 | ress).value).....(malyon-store-w |
| 14aa0 | 6f 72 64 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 | ord.(+.6.address).value)))..(def |
| 14ac0 | 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e | subst.malyon-object-store-siblin |
| 14ae0 | 67 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 6e 65 78 | g.(address.value)..."Set.the.nex |
| 14b00 | 74 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | t.sibling."...(if.(<.malyon-stor |
| 14b20 | 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 | y-version.5).......(malyon-store |
| 14b40 | 2d 62 79 74 65 20 28 2b 20 35 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 0a 20 20 20 20 28 | -byte.(+.5.address).value).....( |
| 14b60 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 38 20 61 64 64 72 65 73 73 29 20 | malyon-store-word.(+.8.address). |
| 14b80 | 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 | value)))..(defsubst.malyon-objec |
| 14ba0 | 74 2d 73 74 6f 72 65 2d 63 68 69 6c 64 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a 20 20 | t-store-child.(address.value)... |
| 14bc0 | 22 53 65 74 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c 64 2e 22 0a 20 20 28 69 66 20 28 3c 20 | "Set.the.first.child."...(if.(<. |
| 14be0 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 6d | malyon-story-version.5).......(m |
| 14c00 | 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 20 76 | alyon-store-byte.(+.6.address).v |
| 14c20 | 61 6c 75 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 | alue).....(malyon-store-word.(+. |
| 14c40 | 31 30 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | 10.address).value)))..(defun.mal |
| 14c60 | 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 74 79 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 | yon-find-property.(object.proper |
| 14c80 | 74 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 | ty)..."Return.the.address.of.the |
| 14ca0 | 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79 2c 20 6f 72 20 30 20 69 66 20 69 74 20 64 | .object's.property,.or.0.if.it.d |
| 14cc0 | 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 65 78 74 20 28 6d 61 | oesn't.exist."...(let.((next.(ma |
| 14ce0 | 6c 79 6f 6e 2d 66 69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 | lyon-first-property.object)).... |
| 14d00 | 20 20 20 20 20 28 6e 75 6d 62 65 72 20 30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 | .....(number.0)).....(setq.numbe |
| 14d20 | 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 | r.(logand.(malyon-read-byte.next |
| 14d40 | 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 | ).malyon-object-properties)).... |
| 14d60 | 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 | .(while.(>.number.property)..... |
| 14d80 | 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 | ..(setq.next.(malyon-next-proper |
| 14da0 | 74 79 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 28 6c 6f | ty.next)).......(setq.number.(lo |
| 14dc0 | 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 20 6d 61 6c | gand.(malyon-read-byte.next).mal |
| 14de0 | 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 28 69 66 | yon-object-properties))).....(if |
| 14e00 | 20 28 3d 20 6e 75 6d 62 65 72 20 70 72 6f 70 65 72 74 79 29 20 6e 65 78 74 20 30 29 29 29 0a 0a | .(=.number.property).next.0))).. |
| 14e20 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 66 69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 28 6f 62 | (defun.malyon-first-property.(ob |
| 14e40 | 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 | ject)..."Get.the.address.of.the. |
| 14e60 | 6f 62 6a 65 63 74 27 73 20 66 69 72 73 74 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 | object's.first.property."...(let |
| 14e80 | 20 28 28 68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d | .((header.(malyon-read-word.(+.m |
| 14ea0 | 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a 20 20 20 | alyon-object-property-offset.... |
| 14ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 14ee0 | 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 | ..(malyon-object-address.object) |
| 14f00 | 29 29 29 29 0a 20 20 20 20 28 2b 20 68 65 61 64 65 72 20 31 20 28 2a 20 32 20 28 6d 61 6c 79 6f | )))).....(+.header.1.(*.2.(malyo |
| 14f20 | 6e 2d 72 65 61 64 2d 62 79 74 65 20 68 65 61 64 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | n-read-byte.header)))))..(defun. |
| 14f40 | 6d 61 6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 72 6f 70 65 72 74 79 29 0a | malyon-next-property.(property). |
| 14f60 | 20 20 22 47 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 | .."Get.the.address.of.the.follow |
| 14f80 | 69 6e 67 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 7a 65 20 28 6d 61 | ing.property."...(let.((size.(ma |
| 14fa0 | 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 | lyon-read-byte.property))....... |
| 14fc0 | 20 20 28 61 64 64 72 20 28 2b 20 70 72 6f 70 65 72 74 79 20 31 29 29 29 0a 20 20 20 20 28 2b 20 | ..(addr.(+.property.1))).....(+. |
| 14fe0 | 31 20 61 64 64 72 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 | 1.addr.(cond.((<.malyon-story-ve |
| 15000 | 72 73 69 6f 6e 20 35 29 20 28 6c 73 68 20 73 69 7a 65 20 2d 35 29 29 0a 20 20 20 20 20 20 20 20 | rsion.5).(lsh.size.-5))......... |
| 15020 | 20 20 20 20 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 | ............((zerop.(logand.128. |
| 15040 | 73 69 7a 65 29 29 20 20 28 6c 73 68 20 73 69 7a 65 20 2d 36 29 29 0a 20 20 20 20 20 20 20 20 20 | size))..(lsh.size.-6)).......... |
| 15060 | 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........(t................... |
| 15080 | 20 20 20 28 6c 65 74 20 28 28 73 65 63 6f 6e 64 20 28 6c 6f 67 61 6e 64 20 36 33 20 28 6d 61 6c | ...(let.((second.(logand.63.(mal |
| 150a0 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 | yon-read-byte.addr)))).......... |
| 150c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 30 20 73 65 63 6f 6e 64 29 20 36 | ..............(if.(=.0.second).6 |
| 150e0 | 34 20 73 65 63 6f 6e 64 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 | 4.second)))))))..(defun.malyon-r |
| 15100 | 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 | emove-object.(object)..."Remove. |
| 15120 | 74 68 65 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 | the.object.from.the.children.lis |
| 15140 | 74 20 6f 66 20 69 74 73 20 70 61 72 65 6e 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 | t.of.its.parent."...(let*.((addr |
| 15160 | 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 | ess.(malyon-object-address.objec |
| 15180 | 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 | t))..........(parent..(malyon-ob |
| 151a0 | 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 | ject-read-parent.address))...... |
| 151c0 | 20 20 20 20 28 73 69 62 6c 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 | ....(sibling.(malyon-object-read |
| 151e0 | 2d 73 69 62 6c 69 6e 67 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | -sibling.address))).....(malyon- |
| 15200 | 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 70 61 72 65 6e 74 20 61 64 64 72 65 73 73 20 30 29 0a 20 | object-store-parent.address.0).. |
| 15220 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 | ...(malyon-object-store-sibling. |
| 15240 | 61 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 28 69 66 20 28 2f 3d 20 70 61 72 65 6e 74 20 30 29 | address.0).....(if.(/=.parent.0) |
| 15260 | 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 72 65 6e 74 2d 61 64 64 72 20 28 6d 61 6c | .........(let.((parent-addr.(mal |
| 15280 | 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 70 61 72 65 6e 74 29 29 29 0a 20 20 20 | yon-object-address.parent))).... |
| 152a0 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 72 65 6e 20 28 6d 61 6c 79 6f 6e 2d 6f | .......(let.((children.(malyon-o |
| 152c0 | 62 6a 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 70 61 72 65 6e 74 2d 61 64 64 72 29 29 29 0a | bject-read-child.parent-addr))). |
| 152e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3d 20 63 68 69 6c 64 72 65 6e 20 | ............(if.(or.(=.children. |
| 15300 | 30 29 20 28 3d 20 63 68 69 6c 64 72 65 6e 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 | 0).(=.children.object))......... |
| 15320 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 63 68 69 | ........(malyon-object-store-chi |
| 15340 | 6c 64 20 70 61 72 65 6e 74 2d 61 64 64 72 20 73 69 62 6c 69 6e 67 29 0a 20 20 20 20 20 20 20 20 | ld.parent-addr.sibling)......... |
| 15360 | 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68 69 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 | ......(let.((this.(malyon-object |
| 15380 | 2d 61 64 64 72 65 73 73 20 63 68 69 6c 64 72 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -address.children)))............ |
| 153a0 | 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 78 74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d | .....(let.((next.(malyon-object- |
| 153c0 | 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 74 68 69 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | read-sibling.this)))............ |
| 153e0 | 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 6e 65 78 74 20 6f 62 6a 65 63 74 29 0a 20 | .......(while.(/=.next.object).. |
| 15400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 68 69 73 20 28 6d | ...................(setq.this.(m |
| 15420 | 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6e 65 78 74 29 29 0a 20 20 20 20 | alyon-object-address.next))..... |
| 15440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c 79 | ................(setq.next.(maly |
| 15460 | 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 74 68 69 73 29 29 29 0a 20 | on-object-read-sibling.this))).. |
| 15480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d | .................(malyon-object- |
| 154a0 | 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 74 68 69 73 20 73 69 62 6c 69 6e 67 29 29 29 29 29 29 | store-sibling.this.sibling)))))) |
| 154c0 | 29 29 29 0a 0a 3b 3b 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 61 6e 64 20 63 6f 64 65 20 | )))..;;.function.calls.and.code. |
| 154e0 | 62 72 61 6e 63 68 65 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f 75 | branches..(defun.malyon-call-rou |
| 15500 | 74 69 6e 65 20 28 72 6f 75 74 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 20 26 6f 70 74 69 6f 6e 61 | tine.(routine.arguments.&optiona |
| 15520 | 6c 20 72 65 73 75 6c 74 29 0a 20 20 22 43 61 6c 6c 20 61 20 72 6f 75 74 69 6e 65 20 77 69 74 68 | l.result)..."Call.a.routine.with |
| 15540 | 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 74 75 72 6e 20 | .the.given.arguments.and.return. |
| 15560 | 69 74 73 20 72 65 73 75 6c 74 2e 22 0a 20 20 28 69 66 20 28 3d 20 72 6f 75 74 69 6e 65 20 30 29 | its.result."...(if.(=.routine.0) |
| 15580 | 0a 20 20 20 20 20 20 28 69 66 20 72 65 73 75 6c 74 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d | .......(if.result.(malyon-store- |
| 155a0 | 76 61 72 69 61 62 6c 65 20 72 65 73 75 6c 74 20 30 29 20 30 29 0a 20 20 20 20 28 6d 61 6c 79 6f | variable.result.0).0).....(malyo |
| 155c0 | 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 6c 74 20 30 20 31 29 29 0a 20 20 | n-push-stack.(if.result.0.1))... |
| 155e0 | 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 6c 74 20 | ..(malyon-push-stack.(if.result. |
| 15600 | 72 65 73 75 6c 74 20 30 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 | result.0)).....(malyon-push-stac |
| 15620 | 6b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 0a 20 20 | k.malyon-instruction-pointer)... |
| 15640 | 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 0a 20 20 20 20 20 28 6c 6f 67 69 6f | ..(malyon-push-stack......(logio |
| 15660 | 72 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6d | r.(lsh.(-.malyon-stack-pointer.m |
| 15680 | 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20 20 20 | alyon-frame-pointer).8)......... |
| 156a0 | 20 20 20 20 20 28 6c 65 6e 67 74 68 20 61 72 67 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 28 73 | .....(length.arguments))).....(s |
| 156c0 | 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 | etq.malyon-instruction-pointer.( |
| 156e0 | 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 20 72 6f 75 74 69 | *.malyon-packed-multiplier.routi |
| 15700 | 6e 65 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 61 72 67 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | ne)).....(let.((args.(malyon-rea |
| 15720 | 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 20 28 76 61 6c 75 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 | d-code-byte)).(value.nil))...... |
| 15740 | 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 0a 20 | .(if.malyon-game-state-quetzal.. |
| 15760 | 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 64 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 | .........(let.((id.(lsh.(aref.ma |
| 15780 | 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 | lyon-stack.malyon-frame-pointer) |
| 157a0 | 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d | .-8))).............(malyon-push- |
| 157c0 | 73 74 61 63 6b 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 2b 20 31 20 69 64 29 20 38 29 20 61 | stack.(logior.(lsh.(+.1.id).8).a |
| 157e0 | 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 | rgs)))).......(setq.malyon-frame |
| 15800 | 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 0a 20 | -pointer.malyon-stack-pointer).. |
| 15820 | 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 61 72 67 73 20 30 29 0a 20 20 20 20 20 20 20 20 28 | .....(while.(>.args.0).........( |
| 15840 | 73 65 74 71 20 76 61 6c 75 65 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 | setq.value.(if.(<.malyon-story-v |
| 15860 | 65 72 73 69 6f 6e 20 35 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 | ersion.5).(malyon-read-code-word |
| 15880 | 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b | ).0)).........(malyon-push-stack |
| 158a0 | 20 28 69 66 20 28 6e 75 6c 6c 20 61 72 67 75 6d 65 6e 74 73 29 20 76 61 6c 75 65 20 28 63 61 72 | .(if.(null.arguments).value.(car |
| 158c0 | 20 61 72 67 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 75 | .arguments))).........(setq.argu |
| 158e0 | 6d 65 6e 74 73 20 28 63 64 72 20 61 72 67 75 6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 | ments.(cdr.arguments)).........( |
| 15900 | 73 65 74 71 20 61 72 67 73 20 28 2d 20 61 72 67 73 20 31 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | setq.args.(-.args.1))))))..(defu |
| 15920 | 6e 20 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 29 0a 20 20 22 | n.malyon-jump-if.(condition)..." |
| 15940 | 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 | Jump.depending.on.the.condition. |
| 15960 | 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6a 75 6d 70 20 64 61 74 61 2e 22 0a 20 20 | and.the.following.jump.data."... |
| 15980 | 28 6c 65 74 20 28 28 62 79 74 65 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d | (let.((byte...(malyon-read-code- |
| 159a0 | 62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 6e 69 6c 29 0a 20 20 20 20 | byte)).........(offset.nil)..... |
| 159c0 | 20 20 20 20 28 69 66 74 72 75 65 20 6e 69 6c 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 66 74 72 | ....(iftrue.nil)).....(setq.iftr |
| 159e0 | 75 65 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e 64 20 62 79 74 65 20 31 32 38 29 29 29 0a 20 20 20 | ue.(/=.0.(logand.byte.128))).... |
| 15a00 | 20 28 73 65 74 71 20 6f 66 66 73 65 74 20 28 6c 6f 67 61 6e 64 20 62 79 74 65 20 36 33 29 29 0a | .(setq.offset.(logand.byte.63)). |
| 15a20 | 20 20 20 20 28 69 66 20 28 3d 20 30 20 28 6c 6f 67 61 6e 64 20 62 79 74 65 20 36 34 29 29 0a 20 | ....(if.(=.0.(logand.byte.64)).. |
| 15a40 | 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 66 | .......(progn...........(setq.of |
| 15a60 | 66 73 65 74 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 6f 66 66 73 65 74 20 38 29 20 28 6d 61 6c | fset.(logior.(lsh.offset.8).(mal |
| 15a80 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | yon-read-code-byte)))........... |
| 15aa0 | 28 69 66 20 28 3e 3d 20 6f 66 66 73 65 74 20 38 31 39 32 29 20 28 73 65 74 71 20 6f 66 66 73 65 | (if.(>=.offset.8192).(setq.offse |
| 15ac0 | 74 20 28 2d 20 6f 66 66 73 65 74 20 31 36 33 38 34 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 | t.(-.offset.16384))))).....(if.( |
| 15ae0 | 6f 72 20 28 61 6e 64 20 69 66 74 72 75 65 20 63 6f 6e 64 69 74 69 6f 6e 29 20 28 61 6e 64 20 28 | or.(and.iftrue.condition).(and.( |
| 15b00 | 6e 6f 74 20 69 66 74 72 75 65 29 20 28 6e 6f 74 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 0a 20 20 | not.iftrue).(not.condition)))... |
| 15b20 | 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3d | ......(progn...........(cond.((= |
| 15b40 | 20 6f 66 66 73 65 74 20 30 29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 | .offset.0).(malyon-opcode-rfalse |
| 15b60 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 6f 66 66 73 65 74 20 31 29 | )).................((=.offset.1) |
| 15b80 | 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 74 72 75 65 29 29 0a 20 20 20 20 20 20 20 20 | .(malyon-opcode-rtrue))......... |
| 15ba0 | 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 0a 20 20 20 20 | ........(t............(setq..... |
| 15bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f | ...........................malyo |
| 15be0 | 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 | n-instruction-pointer........... |
| 15c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 69 | .....................(+.malyon-i |
| 15c20 | 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 6f 66 66 73 65 74 20 2d 32 29 29 29 29 | nstruction-pointer.offset.-2)))) |
| 15c40 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 28 76 61 6c 75 | ))))..(defun.malyon-return.(valu |
| 15c60 | 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 72 6f 6d 20 61 20 72 6f 75 74 69 6e 65 2e 22 0a 20 20 | e)..."Return.from.a.routine."... |
| 15c80 | 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f | (setq.malyon-stack-pointer.malyo |
| 15ca0 | 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 | n-frame-pointer)...(if.malyon-ga |
| 15cc0 | 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 | me-state-quetzal.(malyon-pop-sta |
| 15ce0 | 63 6b 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 | ck))...(setq.malyon-frame-pointe |
| 15d00 | 72 0a 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 | r.........(-.malyon-stack-pointe |
| 15d20 | 72 20 31 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 20 2d 38 29 29 | r.1.(lsh.(malyon-pop-stack).-8)) |
| 15d40 | 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 | )...(setq.malyon-instruction-poi |
| 15d60 | 6e 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20 28 6c 65 74 20 | nter.(malyon-pop-stack))...(let. |
| 15d80 | 28 28 72 65 73 75 6c 74 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20 20 | ((result.(malyon-pop-stack)).... |
| 15da0 | 20 20 20 20 20 28 73 74 6f 72 65 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 | .....(store..(malyon-pop-stack)) |
| 15dc0 | 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20 | ).....(if.(zerop.store)......... |
| 15de0 | 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d 73 74 6f 72 65 20 72 65 73 75 6c 74 20 76 61 6c 75 | (malyon-return-store.result.valu |
| 15e00 | 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20 72 | e).......(malyon-return-ignore.r |
| 15e20 | 65 73 75 6c 74 20 76 61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 | esult.value))))..(defun.malyon-r |
| 15e40 | 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20 28 77 68 65 72 65 20 76 61 6c 75 65 29 0a 20 20 22 52 65 | eturn-ignore.(where.value)..."Re |
| 15e60 | 74 75 72 6e 20 66 72 6f 6d 20 61 20 72 6f 75 74 69 6e 65 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 | turn.from.a.routine.ignoring.the |
| 15e80 | 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e | .result.")..(defun.malyon-return |
| 15ea0 | 2d 73 74 6f 72 65 20 28 77 68 65 72 65 20 76 61 6c 75 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 | -store.(where.value)..."Return.f |
| 15ec0 | 72 6f 6d 20 61 20 72 6f 75 74 69 6e 65 20 73 74 6f 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 | rom.a.routine.storing.the.result |
| 15ee0 | 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 77 68 65 72 | ."...(malyon-store-variable.wher |
| 15f00 | 65 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 69 6e | e.value))..(defun.malyon-push-in |
| 15f20 | 69 74 69 61 6c 2d 66 72 61 6d 65 20 28 29 0a 20 20 22 50 75 73 68 20 74 68 65 20 69 6e 69 74 69 | itial-frame.()..."Push.the.initi |
| 15f40 | 61 6c 20 73 74 61 63 6b 20 66 72 61 6d 65 20 72 65 71 75 69 72 65 64 20 69 6e 20 71 75 65 74 7a | al.stack.frame.required.in.quetz |
| 15f60 | 61 6c 20 6d 6f 64 65 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 | al.mode."...(if.malyon-game-stat |
| 15f80 | 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 | e-quetzal.......(progn.........( |
| 15fa0 | 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 31 29 0a 20 20 20 20 20 20 20 20 28 6d 61 | malyon-push-stack.1).........(ma |
| 15fc0 | 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 | lyon-push-stack.0).........(maly |
| 15fe0 | 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | on-push-stack.0).........(malyon |
| 16000 | 2d 70 75 73 68 2d 73 74 61 63 6b 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 | -push-stack.0).........(malyon-p |
| 16020 | 75 73 68 2d 73 74 61 63 6b 20 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 67 | ush-stack.0))))..(defun.malyon-g |
| 16040 | 65 74 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 28 66 70 20 73 70 20 73 74 61 63 6b 29 0a 20 20 22 | et-stack-frame.(fp.sp.stack)..." |
| 16060 | 52 65 74 75 72 6e 20 61 20 64 65 63 6f 64 65 64 20 73 74 61 63 6b 20 66 72 61 6d 65 20 69 6e 20 | Return.a.decoded.stack.frame.in. |
| 16080 | 71 75 65 74 7a 61 6c 20 6d 6f 64 65 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 76 65 | quetzal.mode..The.result.is.a.ve |
| 160a0 | 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 72 61 6d 65 20 69 64 2c 20 74 68 | ctor.containing.the.frame.id,.th |
| 160c0 | 65 20 66 70 20 6f 66 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65 20 | e.fp.of.the.previous.frame,.the. |
| 160e0 | 73 70 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65 20 72 65 | sp.of.the.previous.frame,.the.re |
| 16100 | 74 75 72 6e 20 61 64 64 72 65 73 73 2c 0a 74 68 65 20 72 65 73 75 6c 74 20 76 61 72 69 61 62 6c | turn.address,.the.result.variabl |
| 16120 | 65 20 69 66 20 61 6e 79 2c 20 61 20 6c 69 73 74 20 6f 66 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 | e.if.any,.a.list.of.local.variab |
| 16140 | 6c 65 73 2c 20 74 68 65 20 6e 75 6d 62 65 72 0a 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e | les,.the.number.of.arguments,.an |
| 16160 | 64 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 61 63 6b | d.a.list.of.the.evaluation.stack |
| 16180 | 20 65 6c 65 6d 65 6e 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 68 61 73 2d 72 65 73 75 6c 74 | .elements."...(let*.((has-result |
| 161a0 | 20 20 20 28 7a 65 72 6f 70 20 28 61 72 65 66 20 73 74 61 63 6b 20 66 70 29 29 29 0a 20 20 20 20 | ...(zerop.(aref.stack.fp)))..... |
| 161c0 | 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64 72 20 20 28 69 66 20 68 61 73 2d 72 65 73 75 6c | .....(result-addr..(if.has-resul |
| 161e0 | 74 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 31 20 66 70 29 29 20 6e 69 6c 29 29 0a 20 20 | t.(aref.stack.(+.1.fp)).nil))... |
| 16200 | 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d 61 64 64 72 20 20 28 61 72 65 66 20 73 74 61 63 6b | .......(return-addr..(aref.stack |
| 16220 | 20 28 2b 20 32 20 66 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 20 20 20 | .(+.2.fp)))..........(offset.... |
| 16240 | 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 33 20 66 70 29 29 20 2d 38 | ...(lsh.(aref.stack.(+.3.fp)).-8 |
| 16260 | 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 20 28 6c 6f 67 61 6e | ))..........(num-args.....(logan |
| 16280 | 64 20 32 35 35 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 33 20 66 70 29 29 29 29 0a 20 20 | d.255.(aref.stack.(+.3.fp))))... |
| 162a0 | 20 20 20 20 20 20 20 28 66 72 61 6d 65 2d 69 64 20 20 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 | .......(frame-id.....(lsh.(aref. |
| 162c0 | 73 74 61 63 6b 20 28 2b 20 34 20 66 70 29 29 20 2d 38 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e | stack.(+.4.fp)).-8))..........(n |
| 162e0 | 75 6d 2d 6c 6f 63 61 6c 73 20 20 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 61 72 65 66 20 73 74 | um-locals...(logand.255.(aref.st |
| 16300 | 61 63 6b 20 28 2b 20 34 20 66 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 2d | ack.(+.4.fp))))..........(start- |
| 16320 | 6c 6f 63 61 6c 73 20 28 2b 20 35 20 66 70 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 | locals.(+.5.fp))..........(start |
| 16340 | 2d 65 76 61 6c 20 20 20 28 2b 20 35 20 66 70 20 6e 75 6d 2d 6c 6f 63 61 6c 73 29 29 0a 20 20 20 | -eval...(+.5.fp.num-locals)).... |
| 16360 | 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 72 73 20 20 20 27 28 29 29 0a 20 20 20 20 20 20 20 | ......(local-vars...'())........ |
| 16380 | 20 20 28 65 76 61 6c 2d 73 74 61 63 6b 20 20 20 27 28 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e | ..(eval-stack...'())).....(if.(n |
| 163a0 | 6f 74 20 28 7a 65 72 6f 70 20 6e 75 6d 2d 6c 6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 28 | ot.(zerop.num-locals)).........( |
| 163c0 | 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d | setq.local-vars...............(m |
| 163e0 | 61 6c 79 6f 6e 2d 76 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 73 74 61 63 6b 20 73 74 61 72 74 | alyon-vector-to-list.stack.start |
| 16400 | 2d 6c 6f 63 61 6c 73 20 73 74 61 72 74 2d 65 76 61 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e | -locals.start-eval))).....(if.(> |
| 16420 | 20 73 70 20 73 74 61 72 74 2d 65 76 61 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 76 | .sp.start-eval).........(setq.ev |
| 16440 | 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 76 | al-stack...............(malyon-v |
| 16460 | 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 73 74 61 63 6b 20 73 74 61 72 74 2d 65 76 61 6c 20 28 | ector-to-list.stack.start-eval.( |
| 16480 | 2b 20 31 20 73 70 29 29 29 29 0a 20 20 20 20 28 76 65 63 74 6f 72 20 66 72 61 6d 65 2d 69 64 0a | +.1.sp)))).....(vector.frame-id. |
| 164a0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 66 70 20 6f 66 66 73 65 74 20 32 29 0a 20 20 20 20 | ............(-.fp.offset.2)..... |
| 164c0 | 20 20 20 20 20 20 20 20 28 2d 20 66 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 | ........(-.fp.1).............ret |
| 164e0 | 75 72 6e 2d 61 64 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 2d 61 64 64 72 | urn-addr.............result-addr |
| 16500 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 2d 76 61 72 73 0a 20 20 20 20 20 20 20 20 | .............local-vars......... |
| 16520 | 20 20 20 20 6e 75 6d 2d 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 76 61 6c 2d 73 74 | ....num-args.............eval-st |
| 16540 | 61 63 6b 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 | ack)))..(defsubst.malyon-restore |
| 16560 | 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 76 61 6c 75 65 29 0a 20 20 22 50 | -quetzal-push-stack.(value)..."P |
| 16580 | 75 73 68 20 61 20 76 61 6c 75 65 20 6f 6e 74 6f 20 74 68 65 20 72 65 73 74 6f 72 65 20 71 75 65 | ush.a.value.onto.the.restore.que |
| 165a0 | 74 7a 61 6c 20 73 74 61 63 6b 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 | tzal.stack."...(setq.malyon-rest |
| 165c0 | 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 | ore-quetzal-stack-pointer....... |
| 165e0 | 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 | ..(+.malyon-restore-quetzal-stac |
| 16600 | 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a 20 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 72 65 73 | k-pointer.1))...(aset.malyon-res |
| 16620 | 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 6d 61 6c 79 6f | tore-quetzal-stack.........malyo |
| 16640 | 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a | n-restore-quetzal-stack-pointer. |
| 16660 | 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 | ........value))..(defun.malyon-p |
| 16680 | 75 73 68 2d 73 74 61 63 6b 2d 66 72 61 6d 65 0a 20 20 28 66 72 61 6d 65 2d 69 64 20 72 65 74 75 | ush-stack-frame...(frame-id.retu |
| 166a0 | 72 6e 2d 61 64 64 72 20 72 65 73 75 6c 74 20 6c 6f 63 61 6c 2d 76 61 72 73 20 6e 75 6d 2d 61 72 | rn-addr.result.local-vars.num-ar |
| 166c0 | 67 73 20 65 76 61 6c 2d 73 74 61 63 6b 29 0a 20 20 22 50 75 73 68 65 73 20 61 20 6e 65 77 20 73 | gs.eval-stack)..."Pushes.a.new.s |
| 166e0 | 74 61 63 6b 20 66 72 61 6d 65 20 69 6e 20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 2e 22 0a 20 20 28 | tack.frame.in.quetzal.mode."...( |
| 16700 | 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 | malyon-restore-quetzal-push-stac |
| 16720 | 6b 20 28 69 66 20 72 65 73 75 6c 74 20 30 20 31 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 | k.(if.result.0.1))...(malyon-res |
| 16740 | 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 | tore-quetzal-push-stack.(if.resu |
| 16760 | 6c 74 20 72 65 73 75 6c 74 20 30 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d | lt.result.0))...(malyon-restore- |
| 16780 | 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 6b 20 72 65 74 75 72 6e 2d 61 64 64 72 29 0a | quetzal-push-stack.return-addr). |
| 167a0 | 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 | ..(malyon-restore-quetzal-push-s |
| 167c0 | 74 61 63 6b 0a 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f 6e 2d 72 | tack....(logior.(lsh.(-.malyon-r |
| 167e0 | 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 | estore-quetzal-stack-pointer.... |
| 16800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 | ................malyon-restore-q |
| 16820 | 75 65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20 20 | uetzal-frame-pointer).8)........ |
| 16840 | 20 20 20 20 6e 75 6d 2d 61 72 67 73 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 | ....num-args))...(malyon-restore |
| 16860 | 2d 71 75 65 74 7a 61 6c 2d 70 75 73 68 2d 73 74 61 63 6b 0a 20 20 20 28 6c 6f 67 69 6f 72 20 28 | -quetzal-push-stack....(logior.( |
| 16880 | 6c 73 68 20 66 72 61 6d 65 2d 69 64 20 38 29 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61 6c 2d 76 61 | lsh.frame-id.8).(length.local-va |
| 168a0 | 72 73 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 | rs)))...(setq.malyon-restore-que |
| 168c0 | 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 6d 61 6c 79 6f | tzal-frame-pointer.........malyo |
| 168e0 | 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 | n-restore-quetzal-stack-pointer) |
| 16900 | 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 6c 6f 63 61 6c 2d 76 61 72 73 29 | ...(while.(not.(null.local-vars) |
| 16920 | 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 70 75 | ).....(malyon-restore-quetzal-pu |
| 16940 | 73 68 2d 73 74 61 63 6b 20 28 63 61 72 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 28 | sh-stack.(car.local-vars)).....( |
| 16960 | 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 20 28 63 64 72 20 6c 6f 63 61 6c 2d 76 61 72 73 29 | setq.local-vars.(cdr.local-vars) |
| 16980 | 29 29 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6e 75 6c 6c 20 65 76 61 6c 2d 73 74 61 63 | ))...(while.(not.(null.eval-stac |
| 169a0 | 6b 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d | k)).....(malyon-restore-quetzal- |
| 169c0 | 70 75 73 68 2d 73 74 61 63 6b 20 28 63 61 72 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 | push-stack.(car.eval-stack)).... |
| 169e0 | 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b 20 28 63 64 72 20 65 76 61 6c 2d 73 74 61 63 | .(setq.eval-stack.(cdr.eval-stac |
| 16a00 | 6b 29 29 29 29 0a 0a 3b 3b 20 6f 74 68 65 72 20 73 74 75 66 66 0a 0a 28 64 65 66 76 61 72 20 6d | k))))..;;.other.stuff..(defvar.m |
| 16a20 | 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 6e 69 6c 0a 20 20 22 54 65 78 74 20 62 75 66 | alyon-aread-text.nil..."Text.buf |
| 16a40 | 66 65 72 20 66 6f 72 20 75 73 65 72 20 69 6e 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d | fer.for.user.input.")..(defvar.m |
| 16a60 | 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 20 6e 69 6c 0a 20 20 22 50 61 72 73 65 20 62 | alyon-aread-parse.nil..."Parse.b |
| 16a80 | 75 66 66 65 72 20 66 6f 72 20 75 73 65 72 20 69 6e 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 | uffer.for.user.input.")..(defvar |
| 16aa0 | 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 | .malyon-aread-beginning-of-line. |
| 16ac0 | 6e 69 6c 0a 20 20 22 54 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 70 75 | nil..."The.beginning.of.the.inpu |
| 16ae0 | 74 20 6c 69 6e 65 2e 22 29 0a 0a 3b 3b 20 65 78 65 63 75 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 | t.line.")..;;.execution..(defun. |
| 16b00 | 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 72 20 28 29 0a 20 20 22 52 75 6e 20 74 68 65 | malyon-interpreter.()..."Run.the |
| 16b20 | 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 6f 6e 20 74 68 65 20 67 69 76 65 6e | .Z-code.interpreter.on.the.given |
| 16b40 | 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 | .story.file."...(malyon-hide-int |
| 16b60 | 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 75 6e 73 70 65 63 69 66 69 65 64 20 69 6e 74 65 72 6e | ernal-errors."unspecified.intern |
| 16b80 | 61 6c 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 | al.runtime.error.".....(progn... |
| 16ba0 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 | ....(malyon-restore-window-confi |
| 16bc0 | 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 | guration).......(if.malyon-story |
| 16be0 | 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 74 63 68 20 27 6d 61 6c 79 6f 6e 2d 65 | -file...........(catch.'malyon-e |
| 16c00 | 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 | nd-of-interpreter-loop.......... |
| 16c20 | 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 | ...(setq.malyon-last-cursor-posi |
| 16c40 | 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tion-after-input................ |
| 16c60 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e | ...(malyon-point-max.malyon-tran |
| 16c80 | 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | script-buffer)).............(mal |
| 16ca0 | 79 6f 6e 2d 65 78 65 63 75 74 65 29 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c | yon-execute))))))..(defsubst.mal |
| 16cc0 | 79 6f 6e 2d 66 65 74 63 68 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e 64 73 20 28 73 70 65 | yon-fetch-variable-operands.(spe |
| 16ce0 | 63 69 66 69 65 72 29 0a 20 20 22 46 65 74 63 68 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 | cifier)..."Fetch.a.variable.numb |
| 16d00 | 65 72 20 6f 66 20 6f 70 65 72 61 6e 64 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 70 65 63 | er.of.operands.based.on.the.spec |
| 16d20 | 69 66 69 65 72 20 61 72 67 75 6d 65 6e 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 76 61 72 20 20 28 | ifier.argument."...(let.((var..( |
| 16d40 | 6c 6f 67 61 6e 64 20 73 70 65 63 69 66 69 65 72 20 34 39 31 35 32 29 29 0a 20 20 20 20 20 20 20 | logand.specifier.49152))........ |
| 16d60 | 20 28 6f 70 20 20 20 27 28 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 70 65 63 69 66 69 65 72 | .(op...'())).....(setq.specifier |
| 16d80 | 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 20 73 70 65 63 69 66 69 65 72 29 29 0a 20 20 20 20 28 | .(logand.65535.specifier)).....( |
| 16da0 | 77 68 69 6c 65 20 28 2f 3d 20 30 20 73 70 65 63 69 66 69 65 72 29 0a 20 20 20 20 20 20 28 63 6f | while.(/=.0.specifier).......(co |
| 16dc0 | 6e 64 20 28 28 3d 20 76 61 72 20 30 29 20 20 20 20 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e 73 | nd.((=.var.0).....(setq.op.(cons |
| 16de0 | 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 29 20 6f 70 29 29 29 0a 20 | .(malyon-read-code-word).op))).. |
| 16e00 | 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 76 61 72 20 31 36 33 38 34 29 20 28 73 65 74 71 20 | ...........((=.var.16384).(setq. |
| 16e20 | 6f 70 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 | op.(cons.(malyon-read-code-byte) |
| 16e40 | 20 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 76 61 72 20 33 32 37 36 38 | .op))).............((=.var.32768 |
| 16e60 | 29 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 | ).(setq.op.(cons.(malyon-read-va |
| 16e80 | 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | riable.......................... |
| 16ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 | ..................(malyon-read-c |
| 16ec0 | 6f 64 65 2d 62 79 74 65 29 29 20 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 | ode-byte)).op))).............(t. |
| 16ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 70 65 63 69 66 69 65 72 20 30 29 29 29 | ............(setq.specifier.0))) |
| 16f00 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 70 65 63 69 66 69 65 72 20 28 6c 6f 67 61 6e 64 20 36 | .......(setq.specifier.(logand.6 |
| 16f20 | 35 35 33 35 20 28 6c 73 68 20 73 70 65 63 69 66 69 65 72 20 32 29 29 29 0a 20 20 20 20 20 20 28 | 5535.(lsh.specifier.2))).......( |
| 16f40 | 73 65 74 71 20 76 61 72 20 20 28 6c 6f 67 61 6e 64 20 73 70 65 63 69 66 69 65 72 20 34 39 31 35 | setq.var..(logand.specifier.4915 |
| 16f60 | 32 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6f 70 29 29 29 0a 0a 28 64 65 66 73 75 | 2))).....(nreverse.op)))..(defsu |
| 16f80 | 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 65 78 74 65 6e 64 65 64 20 28 6f 70 63 6f 64 | bst.malyon-fetch-extended.(opcod |
| 16fa0 | 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 61 6e 20 65 78 74 65 | e)..."Fetch.operands.for.an.exte |
| 16fc0 | 6e 64 65 64 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 | nded.instruction."...(malyon-fet |
| 16fe0 | 63 68 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e 64 73 0a 20 20 20 28 6c 6f 67 69 6f 72 20 | ch-variable-operands....(logior. |
| 17000 | 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 38 29 20 | (lsh.(malyon-read-code-byte).8). |
| 17020 | 32 35 35 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 76 | 255)))..(defsubst.malyon-fetch-v |
| 17040 | 61 72 69 61 62 6c 65 20 28 6f 70 63 6f 64 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61 6e | ariable.(opcode)..."Fetch.operan |
| 17060 | 64 73 20 66 6f 72 20 61 20 76 61 72 69 61 62 6c 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a | ds.for.a.variable.instruction.". |
| 17080 | 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e 64 | ..(malyon-fetch-variable-operand |
| 170a0 | 73 0a 20 20 20 28 69 66 20 28 6f 72 20 28 3d 20 6f 70 63 6f 64 65 20 32 33 36 29 20 28 3d 20 6f | s....(if.(or.(=.opcode.236).(=.o |
| 170c0 | 70 63 6f 64 65 20 32 35 30 29 29 0a 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d | pcode.250))........(malyon-read- |
| 170e0 | 63 6f 64 65 2d 77 6f 72 64 29 0a 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d 61 | code-word)......(logior.(lsh.(ma |
| 17100 | 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 38 29 20 32 35 35 29 29 29 29 0a | lyon-read-code-byte).8).255)))). |
| 17120 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 73 68 6f 72 74 20 28 6f | .(defsubst.malyon-fetch-short.(o |
| 17140 | 70 63 6f 64 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 61 20 73 | pcode)..."Fetch.operands.for.a.s |
| 17160 | 68 6f 72 74 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 70 20 28 | hort.instruction."...(let.((op.( |
| 17180 | 6c 6f 67 61 6e 64 20 6f 70 63 6f 64 65 20 34 38 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 | logand.opcode.48))).....(cond.(( |
| 171a0 | 3d 20 6f 70 20 30 29 20 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 | =.op.0)..(list.(malyon-read-code |
| 171c0 | 2d 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 6f 70 20 31 36 29 20 28 6c | -word)))...........((=.op.16).(l |
| 171e0 | 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20 20 | ist.(malyon-read-code-byte)))... |
| 17200 | 20 20 20 20 20 20 20 20 28 28 3d 20 6f 70 20 33 32 29 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e | ........((=.op.32).(list.(malyon |
| 17220 | 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 | -read-variable.(malyon-read-code |
| 17240 | 2d 62 79 74 65 29 29 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 | -byte)))))))..(defsubst.malyon-f |
| 17260 | 65 74 63 68 2d 6c 6f 6e 67 20 28 69 6e 73 74 72 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 72 61 | etch-long.(instr)..."Fetch.opera |
| 17280 | 6e 64 73 20 66 6f 72 20 61 20 6c 6f 6e 67 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 | nds.for.a.long.instruction."...( |
| 172a0 | 6c 65 74 20 28 28 62 79 74 65 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 | let.((byte1.(malyon-read-code-by |
| 172c0 | 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 65 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | te)).........(byte2.(malyon-read |
| 172e0 | 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 28 69 66 20 28 3d 20 28 | -code-byte))).....(list.(if.(=.( |
| 17300 | 6c 6f 67 61 6e 64 20 69 6e 73 74 72 20 36 34 29 20 30 29 20 62 79 74 65 31 20 28 6d 61 6c 79 6f | logand.instr.64).0).byte1.(malyo |
| 17320 | 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 62 79 74 65 31 29 29 0a 20 20 20 20 20 20 20 20 | n-read-variable.byte1))......... |
| 17340 | 20 20 28 69 66 20 28 3d 20 28 6c 6f 67 61 6e 64 20 69 6e 73 74 72 20 33 32 29 20 30 29 20 62 79 | ..(if.(=.(logand.instr.32).0).by |
| 17360 | 74 65 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 62 79 74 65 32 29 | te2.(malyon-read-variable.byte2) |
| 17380 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 78 65 63 75 74 65 20 28 29 0a 20 | ))))..(defun.malyon-execute.().. |
| 173a0 | 20 22 45 78 65 63 75 74 65 20 5a 2d 63 6f 64 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 4c | ."Execute.Z-code.instructions..L |
| 173c0 | 6f 61 64 20 74 68 65 20 6e 65 78 74 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 6f 70 63 6f 64 65 20 | oad.the.next.instruction.opcode. |
| 173e0 | 61 6e 64 20 69 74 73 20 6f 70 65 72 61 6e 64 73 20 61 6e 64 20 65 78 65 63 75 74 65 20 69 74 2e | and.its.operands.and.execute.it. |
| 17400 | 0a 52 65 70 65 61 74 20 61 64 20 69 6e 66 69 6e 69 74 75 6d 2e 22 0a 20 20 28 6c 65 74 20 28 28 | .Repeat.ad.infinitum."...(let.(( |
| 17420 | 6f 70 63 6f 64 65 29 20 28 6f 70 65 72 61 6e 64 73 29 29 3b 20 28 70 63 29 29 0a 20 20 20 20 28 | opcode).(operands));.(pc)).....( |
| 17440 | 77 68 69 6c 65 20 74 0a 3b 20 20 20 20 20 20 28 73 65 74 71 20 70 63 20 6d 61 6c 79 6f 6e 2d 69 | while.t.;......(setq.pc.malyon-i |
| 17460 | 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 | nstruction-pointer).......(setq. |
| 17480 | 6f 70 63 6f 64 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 0a | opcode.(malyon-read-code-byte)). |
| 174a0 | 20 20 20 20 20 20 28 73 65 74 71 20 6f 70 65 72 61 6e 64 73 20 28 63 6f 6e 64 20 28 28 3d 20 20 | ......(setq.operands.(cond.((=.. |
| 174c0 | 6f 70 63 6f 64 65 20 31 39 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | opcode.190)..................... |
| 174e0 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 70 63 6f 64 65 20 28 2b 20 32 35 36 20 28 6d 61 6c | ........(setq.opcode.(+.256.(mal |
| 17500 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | yon-read-code-byte)))........... |
| 17520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d | ..................(malyon-fetch- |
| 17540 | 65 78 74 65 6e 64 65 64 20 6f 70 63 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | extended.opcode))............... |
| 17560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3e 3d 20 6f 70 63 6f 64 65 20 31 39 32 29 0a 20 20 | .............((>=.opcode.192)... |
| 17580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f | ..........................(malyo |
| 175a0 | 6e 2d 66 65 74 63 68 2d 76 61 72 69 61 62 6c 65 20 6f 70 63 6f 64 65 29 29 0a 20 20 20 20 20 20 | n-fetch-variable.opcode))....... |
| 175c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3e 3d 20 6f 70 63 6f 64 65 | .....................((>=.opcode |
| 175e0 | 20 31 32 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .128)........................... |
| 17600 | 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 73 68 6f 72 74 20 6f 70 63 6f 64 65 29 29 0a 20 | ..(malyon-fetch-short.opcode)).. |
| 17620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 | ..........................(t.... |
| 17640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | .........................(malyon |
| 17660 | 2d 66 65 74 63 68 2d 6c 6f 6e 67 20 6f 70 63 6f 64 65 29 29 29 29 0a 3b 20 20 20 20 20 20 28 6d | -fetch-long.opcode)))).;......(m |
| 17680 | 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 63 6f 64 65 20 70 63 20 6f 70 63 6f 64 65 20 6f 70 65 | alyon-trace-opcode.pc.opcode.ope |
| 176a0 | 72 61 6e 64 73 29 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e | rands).......(apply.(aref.malyon |
| 176c0 | 2d 6f 70 63 6f 64 65 73 20 6f 70 63 6f 64 65 29 20 6f 70 65 72 61 6e 64 73 29 29 29 29 0a 0a 3b | -opcodes.opcode).operands))))..; |
| 176e0 | 3b 20 6f 70 63 6f 64 65 73 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 | ;.opcodes..(defsubst.malyon-numb |
| 17700 | 65 72 20 28 6e 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 6e 75 | er.(n)..."Convert.an.unsigned.nu |
| 17720 | 6d 62 65 72 20 69 6e 74 6f 20 61 20 73 69 67 6e 65 64 20 6f 6e 65 2e 22 0a 20 20 28 69 66 20 28 | mber.into.a.signed.one."...(if.( |
| 17740 | 3c 20 6e 20 33 32 37 36 38 29 20 6e 20 28 2d 20 6e 20 36 35 35 33 36 29 29 29 0a 0a 28 64 65 66 | <.n.32768).n.(-.n.65536)))..(def |
| 17760 | 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 64 64 20 28 61 20 62 29 0a 20 20 22 41 64 | un.malyon-opcode-add.(a.b)..."Ad |
| 17780 | 64 69 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c | dition."...(malyon-store-variabl |
| 177a0 | 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 | e.(malyon-read-code-byte)....... |
| 177c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6e 75 | ...................(+.(malyon-nu |
| 177e0 | 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 | mber.a).(malyon-number.b))))..(d |
| 17800 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 6e 64 20 28 61 20 62 29 0a 20 20 22 | efun.malyon-opcode-and.(a.b)..." |
| 17820 | 42 69 74 77 69 73 65 20 61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 | Bitwise.and."...(malyon-store-va |
| 17840 | 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 | riable.(malyon-read-code-byte).( |
| 17860 | 6c 6f 67 61 6e 64 20 61 20 62 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | logand.a.b)))..(defun.malyon-opc |
| 17880 | 6f 64 65 2d 61 72 65 61 64 20 28 74 65 78 74 20 70 61 72 73 65 20 26 6f 70 74 69 6f 6e 61 6c 20 | ode-aread.(text.parse.&optional. |
| 178a0 | 74 69 6d 65 20 72 6f 75 74 69 6e 65 29 0a 20 20 22 52 65 61 64 20 69 6e 70 75 74 20 74 65 78 74 | time.routine)..."Read.input.text |
| 178c0 | 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 74 65 78 | ."...(setq.malyon-aread-text.tex |
| 178e0 | 74 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 20 70 61 | t)...(setq.malyon-aread-parse.pa |
| 17900 | 72 73 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 | rse)...(goto-char.(point-max)).. |
| 17920 | 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 | .(setq.malyon-aread-beginning-of |
| 17940 | 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 3b 20 53 6f 6d 65 20 67 61 6d 65 73 20 76 69 6f 6c | -line.(point)).;.Some.games.viol |
| 17960 | 61 74 65 20 74 68 65 73 65 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 22 51 | ate.these.assumptions.for.the."Q |
| 17980 | 75 69 74 22 20 71 75 65 73 74 69 6f 6e 2e 0a 3b 20 20 28 69 66 20 28 3e 20 33 20 28 6d 61 6c 79 | uit".question..;..(if.(>.3.(maly |
| 179a0 | 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 65 78 74 29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c 79 | on-read-byte.text)).;......(maly |
| 179c0 | 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 74 65 78 74 20 62 75 66 66 65 72 20 6c 65 73 73 | on-fatal-error."text.buffer.less |
| 179e0 | 20 74 68 61 6e 20 33 20 62 79 74 65 73 2e 22 29 29 0a 3b 20 20 28 69 66 20 28 61 6e 64 20 28 6e | .than.3.bytes.")).;..(if.(and.(n |
| 17a00 | 6f 74 20 28 7a 65 72 6f 70 20 70 61 72 73 65 29 29 20 28 3e 20 32 20 28 6d 61 6c 79 6f 6e 2d 72 | ot.(zerop.parse)).(>.2.(malyon-r |
| 17a20 | 65 61 64 2d 62 79 74 65 20 70 61 72 73 65 29 29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | ead-byte.parse))).;......(malyon |
| 17a40 | 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 70 61 72 73 65 20 62 75 66 66 65 72 20 6c 65 73 73 20 | -fatal-error."parse.buffer.less. |
| 17a60 | 74 68 61 6e 20 32 20 62 79 74 65 73 2e 22 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 20 | than.2.bytes."))...(malyon-more. |
| 17a80 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 | malyon-keymap-read)...(throw.'ma |
| 17aa0 | 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 | lyon-end-of-interpreter-loop.'ma |
| 17ac0 | 6c 79 6f 6e 2d 77 61 69 74 69 6e 67 2d 66 6f 72 2d 69 6e 70 75 74 29 29 0a 0a 28 64 65 66 75 6e | lyon-waiting-for-input))..(defun |
| 17ae0 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 72 74 2d 73 68 69 66 74 20 28 76 61 6c 75 65 20 | .malyon-opcode-art-shift.(value. |
| 17b00 | 70 6c 61 63 65 73 29 0a 20 20 22 41 72 69 74 68 6d 65 74 69 63 20 73 68 69 66 74 2e 22 0a 20 20 | places)..."Arithmetic.shift."... |
| 17b20 | 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 | (malyon-store-variable.(malyon-r |
| 17b40 | 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 61 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65 73 | ead-code-byte).(ash.value.places |
| 17b60 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65 72 | )))..(defun.malyon-opcode-buffer |
| 17b80 | 2d 6d 6f 64 65 20 28 6d 6f 64 65 29 0a 20 20 22 54 6f 67 67 6c 65 73 20 62 75 66 66 65 72 69 6e | -mode.(mode)..."Toggles.bufferin |
| 17ba0 | 67 20 6f 66 20 74 65 78 74 20 69 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 77 69 6e 64 | g.of.text.in.the.transcript.wind |
| 17bc0 | 6f 77 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 | ow."...(setq.malyon-transcript-b |
| 17be0 | 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 20 28 2f 3d 20 30 20 6d 6f 64 65 29 29 29 0a 0a 28 64 | uffer-buffered.(/=.0.mode)))..(d |
| 17c00 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 6e 20 28 72 6f 75 74 69 6e | efun.malyon-opcode-calln.(routin |
| 17c20 | 65 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e 74 73 29 0a 20 20 22 43 61 6c 6c 20 61 20 72 6f 75 | e.&rest.arguments)..."Call.a.rou |
| 17c40 | 74 69 6e 65 20 61 6e 64 20 69 67 6e 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a 20 20 28 | tine.and.ignore.the.result."...( |
| 17c60 | 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f 75 74 69 6e 65 20 72 6f 75 74 69 6e 65 20 61 72 67 75 | malyon-call-routine.routine.argu |
| 17c80 | 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 | ments))..(defun.malyon-opcode-ca |
| 17ca0 | 6c 6c 73 20 28 72 6f 75 74 69 6e 65 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e 74 73 29 0a 20 20 | lls.(routine.&rest.arguments)... |
| 17cc0 | 22 43 61 6c 6c 20 61 20 72 6f 75 74 69 6e 65 20 61 6e 64 20 73 74 6f 72 65 20 74 68 65 20 72 65 | "Call.a.routine.and.store.the.re |
| 17ce0 | 73 75 6c 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f 75 74 69 6e 65 20 72 6f | sult."...(malyon-call-routine.ro |
| 17d00 | 75 74 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 | utine.arguments.(malyon-read-cod |
| 17d20 | 65 2d 62 79 74 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | e-byte)))..(defun.malyon-opcode- |
| 17d40 | 63 61 74 63 68 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 | catch.()..."Return.the.current.s |
| 17d60 | 74 61 63 6b 20 66 72 61 6d 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 | tack.frame."...(malyon-store-var |
| 17d80 | 69 61 62 6c 65 0a 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 | iable....(malyon-read-code-byte) |
| 17da0 | 0a 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 | ....(if.malyon-game-state-quetza |
| 17dc0 | 6c 0a 20 20 20 20 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b | l........(lsh.(aref.malyon-stack |
| 17de0 | 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 20 2d 38 29 0a 20 20 20 20 20 | .malyon-frame-pointer).-8)...... |
| 17e00 | 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 | malyon-frame-pointer)))..(defun. |
| 17e20 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 61 72 67 2d 63 6f 75 6e 74 20 28 63 | malyon-opcode-check-arg-count.(c |
| 17e40 | 6f 75 6e 74 29 0a 20 20 22 54 65 73 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 | ount)..."Tests.the.number.of.arg |
| 17e60 | 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 72 6f 75 74 69 6e 65 2e 22 0a 20 20 28 6d 61 | uments.passed.to.routine."...(ma |
| 17e80 | 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 20 28 3c 3d 20 63 6f 75 6e 74 20 28 6c 6f 67 61 6e | lyon-jump-if....(<=.count.(logan |
| 17ea0 | 64 20 32 35 35 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 20 | d.255.(aref.malyon-stack........ |
| 17ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6d 61 6c 79 | ........................(if.maly |
| 17ee0 | 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 20 20 20 20 | on-game-state-quetzal........... |
| 17f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c 79 | .........................(-.maly |
| 17f20 | 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | on-frame-pointer.1)............. |
| 17f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d | .....................malyon-fram |
| 17f60 | 65 2d 70 6f 69 6e 74 65 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f | e-pointer))))))..(defun.malyon-o |
| 17f80 | 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 43 68 | pcode-check-unicode.(char)..."Ch |
| 17fa0 | 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 67 69 76 65 6e 20 63 68 61 72 61 63 74 65 72 20 | eck.whether.the.given.character. |
| 17fc0 | 69 73 20 76 61 6c 69 64 20 66 6f 72 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 2e 22 0a 20 20 28 6d | is.valid.for.input/output."...(m |
| 17fe0 | 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | alyon-store-variable.(malyon-rea |
| 18000 | 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | d-code-byte).0))..(defun.malyon- |
| 18020 | 6f 70 63 6f 64 65 2d 63 6c 65 61 72 2d 61 74 74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69 62 | opcode-clear-attr.(object.attrib |
| 18040 | 75 74 65 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 | ute)..."Clear.the.given.attribut |
| 18060 | 65 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 | e.in.the.given.object."...(let.( |
| 18080 | 28 61 74 74 72 69 62 75 74 65 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 | (attributes.(malyon-object-addre |
| 180a0 | 73 73 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 65 20 20 20 20 20 20 20 | ss.object)).........(byte....... |
| 180c0 | 28 6c 73 68 20 61 74 74 72 69 62 75 74 65 20 2d 33 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e | (lsh.attribute.-3))).....(malyon |
| 180e0 | 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 61 74 74 72 69 62 75 74 65 73 20 62 79 74 65 29 0a | -store-byte.(+.attributes.byte). |
| 18100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 28 | .......................(logand.( |
| 18120 | 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 74 74 72 69 62 75 74 65 73 20 62 | malyon-read-byte.(+.attributes.b |
| 18140 | 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yte))........................... |
| 18160 | 20 20 20 20 20 28 6c 6f 67 78 6f 72 20 28 6c 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 6e 64 | .....(logxor.(lsh.128.(-.(logand |
| 18180 | 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .attribute.7)))................. |
| 181a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 35 35 29 29 29 29 29 0a | .......................255))))). |
| 181c0 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6f 70 79 2d 74 61 62 6c 65 | .(defun.malyon-opcode-copy-table |
| 181e0 | 20 28 66 69 72 73 74 20 73 65 63 6f 6e 64 20 73 69 7a 65 29 0a 20 20 22 43 6f 70 69 65 73 20 66 | .(first.second.size)..."Copies.f |
| 18200 | 69 72 73 74 20 74 61 62 6c 65 20 6f 6e 74 6f 20 73 65 63 6f 6e 64 20 6f 6e 65 2e 22 0a 20 20 28 | irst.table.onto.second.one."...( |
| 18220 | 6c 65 74 2a 20 28 28 6c 65 6e 67 74 68 20 20 28 61 62 73 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 | let*.((length..(abs.(malyon-numb |
| 18240 | 65 72 20 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 7a 65 72 6f 20 20 20 20 28 7a 65 | er.size)))..........(zero....(ze |
| 18260 | 72 6f 70 20 73 65 63 6f 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 20 28 | rop.second))..........(forward.( |
| 18280 | 6f 72 20 28 3c 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 73 69 7a 65 29 20 30 29 20 28 3e | or.(<.(malyon-number.size).0).(> |
| 182a0 | 20 66 69 72 73 74 20 73 65 63 6f 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 20 20 20 20 | .first.second)))..........(i.... |
| 182c0 | 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 61 20 20 20 20 20 20 20 28 69 66 20 66 6f 72 77 | ...0)..........(a.......(if.forw |
| 182e0 | 61 72 64 20 66 69 72 73 74 20 28 2b 20 66 69 72 73 74 20 6c 65 6e 67 74 68 20 2d 31 29 29 29 0a | ard.first.(+.first.length.-1))). |
| 18300 | 20 20 20 20 20 20 20 20 20 28 62 20 20 20 20 20 20 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 69 | .........(b.......(if.forward.(i |
| 18320 | 66 20 7a 65 72 6f 20 66 69 72 73 74 20 73 65 63 6f 6e 64 29 20 28 2b 20 73 65 63 6f 6e 64 20 6c | f.zero.first.second).(+.second.l |
| 18340 | 65 6e 67 74 68 20 2d 31 29 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e | ength.-1)))).....(while.(<.i.len |
| 18360 | 67 74 68 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 62 20 | gth).......(malyon-store-byte.b. |
| 18380 | 28 69 66 20 7a 65 72 6f 20 30 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 29 29 | (if.zero.0.(malyon-read-byte.a)) |
| 183a0 | 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 20 31 29 0a 20 20 20 20 20 20 20 20 | ).......(setq.i.(+.i.1)......... |
| 183c0 | 20 20 20 20 61 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 2b 20 61 20 31 29 20 28 2d 20 61 20 31 | ....a.(if.forward.(+.a.1).(-.a.1 |
| 183e0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 2b 20 | )).............b.(if.forward.(+. |
| 18400 | 62 20 31 29 20 28 2d 20 62 20 31 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | b.1).(-.b.1))))))..(defun.malyon |
| 18420 | 2d 6f 70 63 6f 64 65 2d 64 65 63 20 28 76 61 72 29 0a 20 20 22 44 65 63 72 65 6d 65 6e 74 20 76 | -opcode-dec.(var)..."Decrement.v |
| 18440 | 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 | ariable."...(malyon-store-variab |
| 18460 | 6c 65 20 76 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le.var.......................... |
| 18480 | 28 2d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 | (-.(malyon-number.(malyon-read-v |
| 184a0 | 61 72 69 61 62 6c 65 20 76 61 72 29 29 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | ariable.var)).1)))..(defun.malyo |
| 184c0 | 6e 2d 6f 70 63 6f 64 65 2d 64 65 63 2d 63 68 6b 20 28 76 61 72 69 61 62 6c 65 20 74 68 72 65 73 | n-opcode-dec-chk.(variable.thres |
| 184e0 | 68 6f 6c 64 29 0a 20 20 22 44 65 63 72 65 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e 64 20 | hold)..."Decrement.variable.and. |
| 18500 | 6a 75 6d 70 20 69 66 20 69 74 27 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e | jump.if.it's.less.than.the.given |
| 18520 | 20 76 61 6c 75 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 6d 61 6c 79 6f 6e 2d | .value."...(let.((value.(malyon- |
| 18540 | 6e 75 6d 62 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 76 61 72 | number.(malyon-read-variable.var |
| 18560 | 69 61 62 6c 65 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 | iable)))).....(malyon-store-vari |
| 18580 | 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28 2d 20 76 61 6c 75 65 20 31 29 29 0a 20 20 20 20 28 | able.variable.(-.value.1)).....( |
| 185a0 | 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3c 20 28 2d 20 76 61 6c 75 65 20 31 29 20 28 6d | malyon-jump-if.(<.(-.value.1).(m |
| 185c0 | 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 74 68 72 65 73 68 6f 6c 64 29 29 29 29 29 0a 0a 28 64 65 | alyon-number.threshold)))))..(de |
| 185e0 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 64 69 76 20 28 61 20 62 29 0a 20 20 22 44 | fun.malyon-opcode-div.(a.b)..."D |
| 18600 | 69 76 69 73 69 6f 6e 2e 22 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 62 29 20 28 6d 61 6c 79 6f | ivision."...(if.(zerop.b).(malyo |
| 18620 | 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 64 69 76 69 73 69 6f 6e 20 62 79 20 30 2e 22 29 29 | n-fatal-error."division.by.0.")) |
| 18640 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f | ...(malyon-store-variable.(malyo |
| 18660 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n-read-code-byte)............... |
| 18680 | 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 | ...........(/.(malyon-number.a). |
| 186a0 | 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | (malyon-number.b))))..(defun.mal |
| 186c0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 6e 63 6f 64 65 2d 74 65 78 74 20 28 74 65 78 74 20 6c 65 6e | yon-opcode-encode-text.(text.len |
| 186e0 | 67 74 68 20 66 72 6f 6d 20 65 6e 63 6f 64 65 64 29 0a 20 20 22 45 6e 63 6f 64 65 20 74 68 65 20 | gth.from.encoded)..."Encode.the. |
| 18700 | 7a 73 63 69 69 20 74 65 78 74 20 73 74 61 72 74 69 6e 67 20 61 74 20 66 72 6f 6d 20 77 69 74 68 | zscii.text.starting.at.from.with |
| 18720 | 20 74 68 65 20 67 69 76 65 6e 20 6c 65 6e 67 74 68 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 | .the.given.length..The.result.is |
| 18740 | 20 73 74 6f 72 65 64 20 61 74 20 65 6e 63 6f 64 65 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 | .stored.at.encoded."...(let*.((i |
| 18760 | 20 20 20 20 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 28 6a 20 20 20 20 20 65 6e 63 | .....length)..........(j.....enc |
| 18780 | 6f 64 65 64 29 0a 20 20 20 20 20 20 20 20 20 28 6c 20 20 20 20 20 27 28 29 29 0a 20 20 20 20 20 | oded)..........(l.....'())...... |
| 187a0 | 20 20 20 20 28 77 6f 72 64 20 20 27 28 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 30 | ....(word..'())).....(while.(<.0 |
| 187c0 | 20 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d | .i).......(setq.l.(cons.(malyon- |
| 187e0 | 72 65 61 64 2d 62 79 74 65 20 28 2b 20 74 65 78 74 20 66 72 6f 6d 20 69 20 2d 31 29 29 20 6c 29 | read-byte.(+.text.from.i.-1)).l) |
| 18800 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 28 2d 20 69 20 31 29 29 29 0a 20 20 20 20 28 73 65 | .............i.(-.i.1))).....(se |
| 18820 | 74 71 20 77 6f 72 64 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72 | tq.word.(malyon-encode-dictionar |
| 18840 | 79 2d 77 6f 72 64 0a 09 09 28 61 70 70 65 6e 64 20 28 63 6c 2d 6d 61 70 63 61 6e 20 27 6d 61 6c | y-word...(append.(cl-mapcan.'mal |
| 18860 | 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 6c 29 0a 09 09 09 27 28 35 20 | yon-encode-into-ztext.l)....'(5. |
| 18880 | 35 20 35 20 35 20 35 20 35 20 35 20 35 29 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 | 5.5.5.5.5.5.5)))).....(while.(<. |
| 188a0 | 69 20 36 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 6a 20 | i.6).......(malyon-store-byte.j. |
| 188c0 | 28 63 61 72 20 6c 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 | (car.l)).......(setq.i.(+.1.i).. |
| 188e0 | 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ...........j.(+.1.j)............ |
| 18900 | 20 6c 20 28 63 64 72 20 77 6f 72 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | .l.(cdr.word)))))..(defun.malyon |
| 18920 | 2d 6f 70 63 6f 64 65 2d 65 72 61 73 65 2d 6c 69 6e 65 20 28 76 61 6c 75 65 29 0a 20 20 22 45 72 | -opcode-erase-line.(value)..."Er |
| 18940 | 61 73 65 73 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 22 0a 20 20 28 69 | ases.the.rest.of.the.line."...(i |
| 18960 | 66 20 28 3d 20 76 61 6c 75 65 20 31 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 | f.(=.value.1).......(if.(eq.maly |
| 18980 | 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 | on-transcript-buffer.(current-bu |
| 189a0 | 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6c 69 6e 65 20 6e 69 6c 29 | ffer))...........(kill-line.nil) |
| 189c0 | 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 | .........(save-excursion........ |
| 189e0 | 20 20 20 28 6c 65 74 20 28 28 69 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 | ...(let.((i.(current-column))).. |
| 18a00 | 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 69 20 6d 61 6c 79 6f 6e 2d 6d | ...........(while.(<=.i.malyon-m |
| 18a20 | 61 78 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 | ax-column)...............(insert |
| 18a40 | 20 3f 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 | .?.)...............(delete-char. |
| 18a60 | 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 | 1)...............(setq.i.(+.1.i) |
| 18a80 | 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 72 | )))))))..(defun.malyon-opcode-er |
| 18aa0 | 61 73 65 2d 77 69 6e 64 6f 77 20 28 77 69 6e 64 6f 77 29 0a 20 20 22 45 72 61 73 65 20 74 68 65 | ase-window.(window)..."Erase.the |
| 18ac0 | 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2e 22 0a | .contents.of.the.given.window.". |
| 18ae0 | 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 77 20 28 | ..(save-excursion.....(let.((w.( |
| 18b00 | 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 77 69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 20 28 69 | malyon-number.window))).......(i |
| 18b20 | 66 20 28 6f 72 20 28 3d 20 77 20 30 29 20 28 3d 20 77 20 2d 31 29 20 28 3d 20 77 20 2d 32 29 29 | f.(or.(=.w.0).(=.w.-1).(=.w.-2)) |
| 18b40 | 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 | ...........(malyon-erase-buffer. |
| 18b60 | 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 | malyon-transcript-buffer))...... |
| 18b80 | 20 28 69 66 20 28 6f 72 20 28 3d 20 77 20 31 29 20 28 3d 20 77 20 2d 31 29 20 28 3d 20 77 20 2d | .(if.(or.(=.w.1).(=.w.-1).(=.w.- |
| 18ba0 | 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 | 2))...........(malyon-erase-buff |
| 18bc0 | 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 | er.malyon-status-buffer))....... |
| 18be0 | 28 69 66 20 28 3d 20 77 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 | (if.(=.w.-1)...........(malyon-s |
| 18c00 | 70 6c 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 30 29 29 29 0a 20 20 20 20 28 73 65 | plit-buffer-windows.0))).....(se |
| 18c20 | 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 61 | tq.malyon-last-cursor-position-a |
| 18c40 | 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 | fter-input...........(malyon-poi |
| 18c60 | 6e 74 2d 6d 61 78 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 | nt-max.malyon-transcript-buffer) |
| 18c80 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63 68 | )))..(defun.malyon-opcode-get-ch |
| 18ca0 | 69 6c 64 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 65 20 66 69 72 73 74 20 63 68 | ild.(object)..."Get.the.first.ch |
| 18cc0 | 69 6c 64 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 6f 62 6a 65 63 74 20 61 6e 64 20 6a 75 6d 70 | ild.of.the.given.object.and.jump |
| 18ce0 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 | ."...(let.((child.(malyon-object |
| 18d00 | 2d 72 65 61 64 2d 63 68 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 | -read-child.(malyon-object-addre |
| 18d20 | 73 73 20 6f 62 6a 65 63 74 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d | ss.object)))).....(malyon-store- |
| 18d40 | 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 | variable.(malyon-read-code-byte) |
| 18d60 | 20 63 68 69 6c 64 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 2f 3d 20 | .child).....(malyon-jump-if.(/=. |
| 18d80 | 30 20 63 68 69 6c 64 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | 0.child))))..(defun.malyon-opcod |
| 18da0 | 65 2d 67 65 74 2d 63 75 72 73 6f 72 20 28 61 72 72 61 79 29 0a 20 20 22 52 65 74 72 69 65 76 65 | e-get-cursor.(array)..."Retrieve |
| 18dc0 | 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 2e 22 0a | s.the.current.cursor.position.". |
| 18de0 | 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 73 74 | ..(with-current-buffer.malyon-st |
| 18e00 | 61 74 75 73 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f | atus-buffer.....(malyon-store-wo |
| 18e20 | 72 64 20 61 72 72 61 79 20 28 2d 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74 2d | rd.array.(-.(count-lines.(point- |
| 18e40 | 6d 69 6e 29 20 28 70 6f 69 6e 74 29 29 20 31 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 | min).(point)).1)).....(malyon-st |
| 18e60 | 6f 72 65 2d 77 6f 72 64 20 28 2b 20 32 20 61 72 72 61 79 29 20 28 2b 20 31 20 28 63 75 72 72 65 | ore-word.(+.2.array).(+.1.(curre |
| 18e80 | 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 | nt-column)))))..(defun.malyon-op |
| 18ea0 | 63 6f 64 65 2d 67 65 74 2d 6e 65 78 74 2d 70 72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 | code-get-next-prop.(object.prope |
| 18ec0 | 72 74 79 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 74 68 65 20 66 69 72 73 74 20 6f 72 20 6e 65 | rty)..."Retrieve.the.first.or.ne |
| 18ee0 | 78 74 20 70 72 6f 70 65 72 74 79 20 69 64 20 6f 66 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 | xt.property.id.of.object."...(le |
| 18f00 | 74 20 28 28 6e 65 78 74 20 28 6d 61 6c 79 6f 6e 2d 66 69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 | t.((next.(malyon-first-property. |
| 18f20 | 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 30 29 29 0a 20 20 20 | object)).........(number.0)).... |
| 18f40 | 20 28 69 66 20 28 7a 65 72 6f 70 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 27 28 | .(if.(zerop.property).........'( |
| 18f60 | 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 | ).......(setq.number.(logand.(ma |
| 18f80 | 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 | lyon-read-byte.next)............ |
| 18fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 | ................malyon-object-pr |
| 18fc0 | 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c | operties)).......(setq.next.(mal |
| 18fe0 | 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 74 79 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 | yon-next-property.next)).......( |
| 19000 | 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 | while.(>.number.property)....... |
| 19020 | 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 | ..(setq.number.(logand.(malyon-r |
| 19040 | 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ead-byte.next).................. |
| 19060 | 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 | ............malyon-object-proper |
| 19080 | 74 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c 79 6f | ties)).........(setq.next.(malyo |
| 190a0 | 6e 2d 6e 65 78 74 2d 70 72 6f 70 65 72 74 79 20 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 28 69 | n-next-property.next))).......(i |
| 190c0 | 66 20 28 2f 3d 20 6e 75 6d 62 65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 20 | f.(/=.number.property).......... |
| 190e0 | 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 70 72 6f 70 65 72 74 79 20 64 | .(malyon-fatal-error."property.d |
| 19100 | 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 75 6d | oes.not.exist."))).....(setq.num |
| 19120 | 62 65 72 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 | ber.(logand.(malyon-read-byte.ne |
| 19140 | 78 74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 | xt).malyon-object-properties)).. |
| 19160 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f | ...(malyon-store-variable.(malyo |
| 19180 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 6e 75 6d 62 65 72 29 29 29 0a 0a 28 64 65 | n-read-code-byte).number)))..(de |
| 191a0 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 61 72 65 6e 74 20 28 6f 62 | fun.malyon-opcode-get-parent.(ob |
| 191c0 | 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 67 | ject)..."Get.the.parent.of.the.g |
| 191e0 | 69 76 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 | iven.object."...(malyon-store-va |
| 19200 | 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 | riable.(malyon-read-code-byte).. |
| 19220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | ........................(malyon- |
| 19240 | 6f 62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | object-read-parent.............. |
| 19260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 | .............(malyon-object-addr |
| 19280 | 65 73 73 20 6f 62 6a 65 63 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 | ess.object))))..(defun.malyon-op |
| 192a0 | 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 0a | code-get-prop.(object.property). |
| 192c0 | 20 20 22 47 65 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27 73 | .."Get.the.value.of.the.object's |
| 192e0 | 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 65 73 73 20 28 6d | .property."...(let*.((address.(m |
| 19300 | 61 6c 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 74 79 20 6f 62 6a 65 63 74 20 70 72 6f 70 65 | alyon-find-property.object.prope |
| 19320 | 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 7a 65 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | rty))..........(size....(malyon- |
| 19340 | 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e | read-byte.address))).....(malyon |
| 19360 | 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | -store-variable......(malyon-rea |
| 19380 | 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 28 63 6f 6e 64 20 28 28 7a 65 72 6f 70 20 | d-code-byte)......(cond.((zerop. |
| 193a0 | 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | address).............(malyon-rea |
| 193c0 | 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 28 2a | d-word.(+.malyon-object-table.(* |
| 193e0 | 20 32 20 28 2d 20 70 72 6f 70 65 72 74 79 20 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .2.(-.property.1)))))........... |
| 19400 | 20 28 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 | .((and.(<..malyon-story-version. |
| 19420 | 35 29 20 28 7a 65 72 6f 70 20 28 6c 73 68 20 73 69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 | 5).(zerop.(lsh.size.-5)))....... |
| 19440 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 64 64 72 65 | ......(malyon-read-byte.(+.addre |
| 19460 | 73 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 6d 61 6c | ss.1)))............((and.(>=.mal |
| 19480 | 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6c 6f 67 | yon-story-version.5).(zerop.(log |
| 194a0 | 61 6e 64 20 31 39 32 20 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | and.192.size))).............(mal |
| 194c0 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 64 64 72 65 73 73 20 31 29 29 29 0a 20 20 | yon-read-byte.(+.address.1)))... |
| 194e0 | 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | .........(t.............(malyon- |
| 19500 | 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 61 64 64 72 65 73 73 20 31 29 29 29 29 29 29 29 0a 0a 28 | read-word.(+.address.1)))))))..( |
| 19520 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 | defun.malyon-opcode-get-prop-add |
| 19540 | 72 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 0a 20 20 22 47 65 74 20 74 68 65 20 61 | r.(object.property)..."Get.the.a |
| 19560 | 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79 2e | ddress.of.the.object's.property. |
| 19580 | 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 66 69 6e 64 | "...(let*.((address.(malyon-find |
| 195a0 | 2d 70 72 6f 70 65 72 74 79 20 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 | -property.object.property))..... |
| 195c0 | 20 20 20 20 20 28 73 69 7a 65 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 | .....(size....(malyon-read-byte. |
| 195e0 | 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 20 28 69 66 20 | address))..........(offset..(if. |
| 19600 | 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 | (<.malyon-story-version.5)...... |
| 19620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .................1.............. |
| 19640 | 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 73 69 | .......(if.(zerop.(logand.128.si |
| 19660 | 7a 65 29 29 20 31 20 32 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 | ze)).1.2)))).....(malyon-store-v |
| 19680 | 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a | ariable.(malyon-read-code-byte). |
| 196a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 | ...........................(if.( |
| 196c0 | 7a 65 72 6f 70 20 61 64 64 72 65 73 73 29 20 30 20 28 2b 20 61 64 64 72 65 73 73 20 6f 66 66 73 | zerop.address).0.(+.address.offs |
| 196e0 | 65 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 | et)))))..(defun.malyon-opcode-ge |
| 19700 | 74 2d 70 72 6f 70 2d 6c 65 6e 20 28 70 72 6f 70 65 72 74 79 29 0a 20 20 22 47 65 74 20 74 68 65 | t-prop-len.(property)..."Get.the |
| 19720 | 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79 | .length.of.the.object's.property |
| 19740 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 7a 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 | ."...(let.((size.(malyon-read-by |
| 19760 | 74 65 20 28 2d 20 70 72 6f 70 65 72 74 79 20 31 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e | te.(-.property.1)))).....(malyon |
| 19780 | 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | -store-variable......(malyon-rea |
| 197a0 | 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20 6d 61 6c 79 | d-code-byte)......(cond.((<.maly |
| 197c0 | 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 28 2b 20 31 20 28 6c 73 68 20 73 69 | on-story-version.5).(+.1.(lsh.si |
| 197e0 | 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 | ze.-5)))............((zerop.(log |
| 19800 | 61 6e 64 20 31 32 38 20 73 69 7a 65 29 29 20 20 28 2b 20 31 20 28 6c 73 68 20 73 69 7a 65 20 2d | and.128.size))..(+.1.(lsh.size.- |
| 19820 | 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 | 6)))............((zerop.(logand. |
| 19840 | 20 36 33 20 73 69 7a 65 29 29 20 20 36 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 | .63.size))..64)............(t... |
| 19860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 36 | .......................(logand.6 |
| 19880 | 33 20 73 69 7a 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | 3.size))))))..(defun.malyon-opco |
| 198a0 | 64 65 2d 67 65 74 2d 73 69 62 6c 69 6e 67 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 | de-get-sibling.(object)..."Get.t |
| 198c0 | 68 65 20 6e 65 78 74 20 6f 62 6a 65 63 74 20 69 6e 20 74 68 65 20 74 72 65 65 20 61 6e 64 20 6a | he.next.object.in.the.tree.and.j |
| 198e0 | 75 6d 70 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 62 6c 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6f | ump."...(let.((sibling.(malyon-o |
| 19900 | 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 | bject-read-sibling.(malyon-objec |
| 19920 | 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e | t-address.object)))).....(malyon |
| 19940 | 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 | -store-variable.(malyon-read-cod |
| 19960 | 65 2d 62 79 74 65 29 20 73 69 62 6c 69 6e 67 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d | e-byte).sibling).....(malyon-jum |
| 19980 | 70 2d 69 66 20 28 2f 3d 20 30 20 73 69 62 6c 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d | p-if.(/=.0.sibling))))..(defun.m |
| 199a0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 28 26 72 65 73 74 20 69 67 6e 6f | alyon-opcode-illegal.(&rest.igno |
| 199c0 | 72 65 29 0a 20 20 22 50 72 69 6e 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 6e | re)..."Print.an.error.message.an |
| 199e0 | 64 20 65 78 69 74 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79 | d.exit.the.interpreter."...(maly |
| 19a00 | 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 69 6c 6c 65 67 61 6c 20 6f 70 63 6f 64 65 2e 22 | on-fatal-error."illegal.opcode." |
| 19a20 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 28 76 61 | ))..(defun.malyon-opcode-inc.(va |
| 19a40 | 72 29 0a 20 20 22 49 6e 63 72 65 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 | r)..."Increment.variable."...(ma |
| 19a60 | 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72 0a 20 20 20 20 20 20 20 20 | lyon-store-variable.var......... |
| 19a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 | .................(+.(malyon-numb |
| 19aa0 | 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 76 61 72 29 29 20 31 | er.(malyon-read-variable.var)).1 |
| 19ac0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 | )))..(defun.malyon-opcode-inc-ch |
| 19ae0 | 6b 20 28 76 61 72 69 61 62 6c 65 20 74 68 72 65 73 68 6f 6c 64 29 0a 20 20 22 49 6e 63 72 65 6d | k.(variable.threshold)..."Increm |
| 19b00 | 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e 64 20 6a 75 6d 70 20 69 66 20 69 74 27 73 20 67 72 | ent.variable.and.jump.if.it's.gr |
| 19b20 | 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 76 61 6c 75 65 2e 22 0a 20 20 28 | eater.than.the.given.value."...( |
| 19b40 | 6c 65 74 20 28 28 76 61 6c 75 65 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 28 6d 61 6c 79 | let.((value.(malyon-number.(maly |
| 19b60 | 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 29 29 29 29 0a 20 20 | on-read-variable.variable))))... |
| 19b80 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c | ..(malyon-store-variable.variabl |
| 19ba0 | 65 20 28 2b 20 76 61 6c 75 65 20 31 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d | e.(+.value.1)).....(malyon-jump- |
| 19bc0 | 69 66 20 28 3e 20 28 2b 20 76 61 6c 75 65 20 31 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 | if.(>.(+.value.1).(malyon-number |
| 19be0 | 20 74 68 72 65 73 68 6f 6c 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f | .threshold)))))..(defun.malyon-o |
| 19c00 | 70 63 6f 64 65 2d 69 6e 70 75 74 2d 73 74 72 65 61 6d 20 28 6e 75 6d 62 65 72 29 0a 20 20 22 53 | pcode-input-stream.(number)..."S |
| 19c20 | 65 6c 65 63 74 20 74 68 65 20 67 69 76 65 6e 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 20 4f 6e | elect.the.given.input.stream..On |
| 19c40 | 6c 79 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 73 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 20 | ly.the.keyboard.is.supported.".. |
| 19c60 | 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 75 6d 62 65 | .(if.(zerop.(malyon-number.numbe |
| 19c80 | 72 29 29 0a 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4f 6e 6c 79 | r)).......'().....(message."Only |
| 19ca0 | 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 61 6e | .the.keyboard.is.supported.as.an |
| 19cc0 | 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | .input.stream.")))..(defun.malyo |
| 19ce0 | 6e 2d 6f 70 63 6f 64 65 2d 69 6e 73 65 72 74 2d 6f 62 6a 20 28 6f 62 6a 65 63 74 20 64 65 73 74 | n-opcode-insert-obj.(object.dest |
| 19d00 | 69 6e 61 74 69 6f 6e 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 20 6f 62 6a 65 63 74 20 69 6e 74 | ination)..."Insert.an.object.int |
| 19d20 | 6f 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 74 20 6f 66 20 61 6e 6f 74 68 65 72 2e 22 | o.the.children.list.of.another." |
| 19d40 | 0a 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d | ...(let.((child..(malyon-object- |
| 19d60 | 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 | address.object)).........(parent |
| 19d80 | 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 64 65 73 74 69 6e 61 74 | .(malyon-object-address.destinat |
| 19da0 | 69 6f 6e 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 | ion))).....(malyon-remove-object |
| 19dc0 | 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 | .object).....(malyon-object-stor |
| 19de0 | 65 2d 70 61 72 65 6e 74 20 20 63 68 69 6c 64 20 64 65 73 74 69 6e 61 74 69 6f 6e 29 0a 20 20 20 | e-parent..child.destination).... |
| 19e00 | 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 63 68 | .(malyon-object-store-sibling.ch |
| 19e20 | 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 70 61 | ild.(malyon-object-read-child.pa |
| 19e40 | 72 65 6e 74 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d | rent)).....(malyon-object-store- |
| 19e60 | 63 68 69 6c 64 20 20 20 70 61 72 65 6e 74 20 6f 62 6a 65 63 74 29 29 29 0a 0a 28 64 65 66 75 6e | child...parent.object)))..(defun |
| 19e80 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 65 20 28 61 20 26 72 65 73 74 20 72 65 73 74 29 | .malyon-opcode-je.(a.&rest.rest) |
| 19ea0 | 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61 6e 64 20 65 71 75 61 6c 73 | ..."Jump.if.first.operand.equals |
| 19ec0 | 20 61 6e 79 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 2e 22 0a 20 20 28 6d 61 6c 79 6f | .any.of.the.following."...(malyo |
| 19ee0 | 6e 2d 6a 75 6d 70 2d 69 66 20 28 6d 65 6d 62 65 72 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 | n-jump-if.(member.(malyon-number |
| 19f00 | 20 61 29 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 72 65 73 74 29 | .a).(mapcar.'malyon-number.rest) |
| 19f20 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 28 61 20 | )))..(defun.malyon-opcode-jg.(a. |
| 19f40 | 62 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61 6e 64 20 3e 20 73 65 | b)..."Jump.if.first.operand.>.se |
| 19f60 | 63 6f 6e 64 20 6f 70 65 72 61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 | cond.operand."...(malyon-jump-if |
| 19f80 | 20 28 3e 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 | .(>.(malyon-number.a).(malyon-nu |
| 19fa0 | 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | mber.b))))..(defun.malyon-opcode |
| 19fc0 | 2d 6a 69 6e 20 28 63 68 69 6c 64 20 70 61 72 65 6e 74 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 73 | -jin.(child.parent)..."Jump.if.s |
| 19fe0 | 65 63 6f 6e 64 20 6f 62 6a 65 63 74 20 69 73 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 66 69 | econd.object.is.parent.of.the.fi |
| 1a000 | 72 73 74 20 6f 6e 65 2e 22 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 | rst.one.".....(malyon-jump-if... |
| 1a020 | 20 20 20 28 3d 20 70 61 72 65 6e 74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 | ...(=.parent.(malyon-object-read |
| 1a040 | 2d 70 61 72 65 6e 74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 63 | -parent.(malyon-object-address.c |
| 1a060 | 68 69 6c 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | hild)))))..(defun.malyon-opcode- |
| 1a080 | 6a 6c 20 28 61 20 62 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61 6e | jl.(a.b)..."Jump.if.first.operan |
| 1a0a0 | 64 20 3c 20 73 65 63 6f 6e 64 20 6f 70 65 72 61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a | d.<.second.operand."...(malyon-j |
| 1a0c0 | 75 6d 70 2d 69 66 20 28 3c 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c | ump-if.(<.(malyon-number.a).(mal |
| 1a0e0 | 79 6f 6e 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | yon-number.b))))..(defun.malyon- |
| 1a100 | 6f 70 63 6f 64 65 2d 6a 75 6d 70 20 28 6f 66 66 73 65 74 29 0a 20 20 22 4a 75 6d 70 20 75 6e 63 | opcode-jump.(offset)..."Jump.unc |
| 1a120 | 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e | onditionally."...(setq.malyon-in |
| 1a140 | 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 2b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 | struction-pointer.(+.malyon-inst |
| 1a160 | 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ruction-pointer................. |
| 1a180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6e 75 | ......................(malyon-nu |
| 1a1a0 | 6d 62 65 72 20 6f 66 66 73 65 74 29 20 2d 32 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | mber.offset).-2)))..(defun.malyo |
| 1a1c0 | 6e 2d 6f 70 63 6f 64 65 2d 6a 7a 20 28 61 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 6f 70 65 72 61 | n-opcode-jz.(a)..."Jump.if.opera |
| 1a1e0 | 6e 64 20 3d 20 30 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 7a 65 72 6f | nd.=.0."...(malyon-jump-if.(zero |
| 1a200 | 70 20 61 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 | p.a)))..(defun.malyon-opcode-loa |
| 1a220 | 64 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20 22 4c 6f 61 64 20 61 20 76 61 72 69 61 62 6c 65 2e | d.(variable)..."Load.a.variable. |
| 1a240 | 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 | "...(malyon-store-variable.(maly |
| 1a260 | 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | on-read-code-byte).............. |
| 1a280 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c | ............(malyon-read-variabl |
| 1a2a0 | 65 20 76 61 72 69 61 62 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | e.variable)))..(defun.malyon-opc |
| 1a2c0 | 6f 64 65 2d 6c 6f 61 64 62 20 28 61 72 72 61 79 20 69 6e 64 65 78 29 0a 20 20 22 4c 6f 61 64 20 | ode-loadb.(array.index)..."Load. |
| 1a2e0 | 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 61 20 76 61 72 69 61 62 6c 65 | an.array.element.into.a.variable |
| 1a300 | 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c | ."...(malyon-store-variable.(mal |
| 1a320 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | yon-read-code-byte)............. |
| 1a340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 | .............(malyon-read-byte.( |
| 1a360 | 2b 20 61 72 72 61 79 20 69 6e 64 65 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | +.array.index))))..(defun.malyon |
| 1a380 | 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 77 20 28 61 72 72 61 79 20 69 6e 64 65 78 29 0a 20 20 22 4c | -opcode-loadw.(array.index)..."L |
| 1a3a0 | 6f 61 64 20 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 61 20 76 61 72 69 | oad.an.array.element.into.a.vari |
| 1a3c0 | 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 | able."...(malyon-store-variable. |
| 1a3e0 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 | (malyon-read-code-byte)......... |
| 1a400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f | .................(malyon-read-wo |
| 1a420 | 72 64 20 28 2b 20 61 72 72 61 79 20 28 2a 20 32 20 69 6e 64 65 78 29 29 29 29 29 0a 0a 28 64 65 | rd.(+.array.(*.2.index)))))..(de |
| 1a440 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 67 2d 73 68 69 66 74 20 28 76 61 6c | fun.malyon-opcode-log-shift.(val |
| 1a460 | 75 65 20 70 6c 61 63 65 73 29 0a 20 20 22 4c 6f 67 69 63 61 6c 20 73 68 69 66 74 2e 22 0a 20 20 | ue.places)..."Logical.shift."... |
| 1a480 | 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 | (malyon-store-variable.(malyon-r |
| 1a4a0 | 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 6c 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65 73 | ead-code-byte).(lsh.value.places |
| 1a4c0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 20 28 61 | )))..(defun.malyon-opcode-mod.(a |
| 1a4e0 | 20 62 29 0a 20 20 22 4d 6f 64 75 6c 6f 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d | .b)..."Modulo."...(malyon-store- |
| 1a500 | 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 | variable.(malyon-read-code-byte) |
| 1a520 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 20 28 | ..........................(mod.( |
| 1a540 | 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 | malyon-number.a).(malyon-number. |
| 1a560 | 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 20 | b))))..(defun.malyon-opcode-mul. |
| 1a580 | 28 61 20 62 29 0a 20 20 22 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c | (a.b)..."Multiplication."...(mal |
| 1a5a0 | 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d | yon-store-variable.(malyon-read- |
| 1a5c0 | 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | code-byte)...................... |
| 1a5e0 | 20 20 20 20 28 2a 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e | ....(*.(malyon-number.a).(malyon |
| 1a600 | 2d 6e 75 6d 62 65 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | -number.b))))..(defun.malyon-opc |
| 1a620 | 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c 69 | ode-new-line.()..."Print.a.newli |
| 1a640 | 6e 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 29 0a 0a 28 64 65 66 75 6e | ne."...(malyon-newline))..(defun |
| 1a660 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 70 20 28 26 72 65 73 74 20 69 67 6e 6f 72 65 | .malyon-opcode-nop.(&rest.ignore |
| 1a680 | 29 0a 20 20 22 44 6f 20 6e 6f 74 68 69 6e 67 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | )..."Do.nothing.")..(defun.malyo |
| 1a6a0 | 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 20 28 61 29 0a 20 20 22 42 69 74 77 69 73 65 20 6e 6f 74 2e | n-opcode-not.(a)..."Bitwise.not. |
| 1a6c0 | 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 | "...(malyon-store-variable.(maly |
| 1a6e0 | 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 | on-read-code-byte).(logand.65535 |
| 1a700 | 20 28 6c 6f 67 6e 6f 74 20 61 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 | .(lognot.a))))..(defun.malyon-op |
| 1a720 | 63 6f 64 65 2d 6f 72 20 28 61 20 62 29 0a 20 20 22 42 69 74 77 69 73 65 20 6f 72 2e 22 0a 20 20 | code-or.(a.b)..."Bitwise.or."... |
| 1a740 | 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 | (malyon-store-variable.(malyon-r |
| 1a760 | 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 6c 6f 67 69 6f 72 20 61 20 62 29 29 29 0a 0a 28 | ead-code-byte).(logior.a.b)))..( |
| 1a780 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 | defun.malyon-opcode-output-strea |
| 1a7a0 | 6d 20 28 73 74 72 65 61 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 29 0a 20 20 22 53 65 | m.(stream.&optional.table)..."Se |
| 1a7c0 | 6c 65 63 74 20 61 6e 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 6c 65 74 20 28 | lect.an.output.stream."...(let.( |
| 1a7e0 | 28 73 74 72 65 61 6d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 73 74 72 65 61 6d 29 29 29 | (stream.(malyon-number.stream))) |
| 1a800 | 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79 6f 6e | .....(cond.((<.0.stream).(malyon |
| 1a820 | 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 73 74 72 65 61 6d 20 74 61 62 6c 65 29 | -add-output-stream.stream.table) |
| 1a840 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3e 20 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79 6f | )...........((>.0.stream).(malyo |
| 1a860 | 6e 2d 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 28 2d 20 73 74 72 65 61 6d | n-remove-output-stream.(-.stream |
| 1a880 | 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 69 72 | ))))))..(defun.malyon-opcode-pir |
| 1a8a0 | 61 63 79 20 28 29 0a 20 20 22 50 69 72 61 63 79 20 63 68 65 63 6b 2c 20 65 66 66 65 63 74 69 76 | acy.()..."Piracy.check,.effectiv |
| 1a8c0 | 65 6c 79 20 61 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 6a 75 6d 70 2e 22 0a 20 20 28 6d | ely.an.unconditional.jump."...(m |
| 1a8e0 | 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 31 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | alyon-jump-if.1))..(defun.malyon |
| 1a900 | 2d 6f 70 63 6f 64 65 2d 70 6f 70 20 28 29 0a 20 20 22 50 6f 70 20 61 20 76 61 6c 75 65 20 6f 66 | -opcode-pop.()..."Pop.a.value.of |
| 1a920 | 66 20 74 68 65 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 | f.the.stack."...(malyon-pop-stac |
| 1a940 | 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 20 | k))..(defun.malyon-opcode-print. |
| 1a960 | 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 73 65 74 71 20 6d | ()..."Print.a.string."...(setq.m |
| 1a980 | 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 | alyon-instruction-pointer....... |
| 1a9a0 | 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 | ..(malyon-print-text.malyon-inst |
| 1a9c0 | 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | ruction-pointer)))..(defun.malyo |
| 1a9e0 | 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 61 64 64 72 20 28 61 64 64 72 65 73 73 29 0a 20 20 | n-opcode-print-addr.(address)... |
| 1aa00 | 22 50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e | "Print.a.string."...(malyon-prin |
| 1aa20 | 74 2d 74 65 78 74 20 61 64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | t-text.address))..(defun.malyon- |
| 1aa40 | 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 63 68 61 72 20 28 63 29 0a 20 20 22 50 72 69 6e 74 20 61 | opcode-print-char.(c)..."Print.a |
| 1aa60 | 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 63 68 | .character."...(malyon-print.(ch |
| 1aa80 | 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | ar-to-string.c)))..(defun.malyon |
| 1aaa0 | 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6e 75 6d 20 28 6e 29 0a 20 20 22 50 72 69 6e 74 20 61 | -opcode-print-num.(n)..."Print.a |
| 1aac0 | 20 6e 75 6d 62 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 6e 75 6d 62 65 | .number."...(malyon-print.(numbe |
| 1aae0 | 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 29 29 29 29 | r-to-string.(malyon-number.n)))) |
| 1ab00 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6f 62 6a | ..(defun.malyon-opcode-print-obj |
| 1ab20 | 20 28 6f 62 6a 29 0a 20 20 22 50 72 69 6e 74 20 74 68 65 20 73 68 6f 72 74 20 6e 61 6d 65 20 6f | .(obj)..."Print.the.short.name.o |
| 1ab40 | 66 20 74 68 65 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 | f.the.object."...(malyon-print-t |
| 1ab60 | 65 78 74 0a 20 20 20 28 2b 20 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b | ext....(+.1.(malyon-read-word.(+ |
| 1ab80 | 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a 20 | .malyon-object-property-offset.. |
| 1aba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | ............................(mal |
| 1abc0 | 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 29 29 29 29 29 29 0a 0a 28 64 | yon-object-address.obj))))))..(d |
| 1abe0 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20 28 | efun.malyon-opcode-print-paddr.( |
| 1ac00 | 61 64 64 72 65 73 73 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 | address)..."Print.a.string."...( |
| 1ac20 | 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 28 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b | malyon-print-text.(*.malyon-pack |
| 1ac40 | 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 20 61 64 64 72 65 73 73 29 29 29 0a 0a 28 64 65 66 75 6e | ed-multiplier.address)))..(defun |
| 1ac60 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 72 65 74 20 28 29 0a 20 20 22 50 | .malyon-opcode-print-ret.()..."P |
| 1ac80 | 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2c 20 70 72 69 6e 74 20 61 20 6e 65 77 6c 69 6e 65 2c 20 | rint.a.string,.print.a.newline,. |
| 1aca0 | 72 65 74 75 72 6e 20 74 72 75 65 2f 31 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 | return.true/1."...(setq.malyon-i |
| 1acc0 | 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 | nstruction-pointer.........(maly |
| 1ace0 | 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e | on-print-text.malyon-instruction |
| 1ad00 | 2d 70 6f 69 6e 74 65 72 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 | -pointer))...(malyon-newline)... |
| 1ad20 | 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 31 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | (malyon-return.1))..(defun.malyo |
| 1ad40 | 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 74 61 62 6c 65 20 28 74 65 78 74 20 77 69 64 74 68 | n-opcode-print-table.(text.width |
| 1ad60 | 20 26 6f 70 74 69 6f 6e 61 6c 20 68 65 69 67 68 74 20 73 6b 69 70 29 0a 20 20 22 50 72 69 6e 74 | .&optional.height.skip)..."Print |
| 1ad80 | 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 6c 65 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 68 65 | .the.given.table."...(if.(not.he |
| 1ada0 | 69 67 68 74 29 20 28 73 65 74 71 20 68 65 69 67 68 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 6f | ight).(setq.height.1))...(if.(no |
| 1adc0 | 74 20 73 6b 69 70 29 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 30 29 29 0a 20 20 28 6c 65 74 20 | t.skip)...(setq.skip.0))...(let. |
| 1ade0 | 28 28 63 6f 6c 75 6d 6e 20 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 | ((column..(current-column))..... |
| 1ae00 | 20 20 20 20 28 61 64 64 72 65 73 73 20 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 28 79 20 20 20 | ....(address.text).........(y... |
| 1ae20 | 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 78 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 | ....0).........(x.......0))..... |
| 1ae40 | 28 77 68 69 6c 65 20 28 3c 20 79 20 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a | (while.(<.y.height).......(if.(z |
| 1ae60 | 65 72 6f 70 20 79 29 0a 20 20 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 28 6d | erop.y)...........'().........(m |
| 1ae80 | 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 | alyon-newline).........(malyon-p |
| 1aea0 | 72 69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 63 6f 6c | rint-characters.(make-string.col |
| 1aec0 | 75 6d 6e 20 3f 20 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 78 20 30 29 0a 20 20 20 20 20 | umn.?.))).......(setq.x.0)...... |
| 1aee0 | 20 28 77 68 69 6c 65 20 28 3c 20 78 20 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c | .(while.(<.x.width).........(mal |
| 1af00 | 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | yon-output-character.(malyon-rea |
| 1af20 | 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 | d-byte.address)).........(setq.a |
| 1af40 | 64 64 72 65 73 73 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 | ddress.(+.1.address)).........(s |
| 1af60 | 65 74 71 20 78 20 28 2b 20 31 20 78 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 | etq.x.(+.1.x))).......(setq.addr |
| 1af80 | 65 73 73 20 28 2b 20 73 6b 69 70 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 | ess.(+.skip.address)).......(set |
| 1afa0 | 71 20 79 20 28 2b 20 31 20 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f | q.y.(+.1.y)))))..(defun.malyon-o |
| 1afc0 | 70 63 6f 64 65 2d 70 72 69 6e 74 2d 75 6e 69 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 50 72 | pcode-print-unicode.(char)..."Pr |
| 1afe0 | 69 6e 74 73 20 61 20 75 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 2e 22 29 0a 0a 28 64 65 | ints.a.unicode.character.")..(de |
| 1b000 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 6c 6c 20 28 76 61 72 69 61 62 6c 65 | fun.malyon-opcode-pull.(variable |
| 1b020 | 29 0a 20 20 22 50 75 6c 6c 20 76 61 6c 75 65 20 6f 66 66 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d | )..."Pull.value.off.stack."...(m |
| 1b040 | 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28 6d | alyon-store-variable.variable.(m |
| 1b060 | 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | alyon-pop-stack)))..(defun.malyo |
| 1b080 | 6e 2d 6f 70 63 6f 64 65 2d 70 75 73 68 20 28 76 61 6c 75 65 29 0a 20 20 22 50 75 73 68 20 76 61 | n-opcode-push.(value)..."Push.va |
| 1b0a0 | 6c 75 65 20 6f 6e 74 6f 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d | lue.onto.stack."...(malyon-push- |
| 1b0c0 | 73 74 61 63 6b 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | stack.value))..(defun.malyon-opc |
| 1b0e0 | 6f 64 65 2d 70 75 74 2d 70 72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 20 76 61 | ode-put-prop.(object.property.va |
| 1b100 | 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 | lue)..."Set.the.object's.propert |
| 1b120 | 79 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 76 61 6c 75 65 2e 22 0a 20 20 28 6c 65 74 2a 20 28 | y.to.the.given.value."...(let*.( |
| 1b140 | 28 61 64 64 72 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 74 79 20 6f | (address.(malyon-find-property.o |
| 1b160 | 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 7a 65 20 | bject.property))..........(size. |
| 1b180 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 29 0a | ...(malyon-read-byte.address))). |
| 1b1a0 | 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 61 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 20 20 20 | ....(cond.((=.address.0)........ |
| 1b1c0 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 70 72 6f 70 65 72 74 | ....(malyon-fatal-error."propert |
| 1b1e0 | 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | y.does.not.exist."))...........( |
| 1b200 | 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 | (and.(<..malyon-story-version.5) |
| 1b220 | 20 28 7a 65 72 6f 70 20 28 6c 73 68 20 73 69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 20 20 | .(zerop.(lsh.size.-5)))......... |
| 1b240 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72 65 | ...(malyon-store-byte.(+.1.addre |
| 1b260 | 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 20 | ss).(logand.255.value)))........ |
| 1b280 | 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f | ...((and.(>=.malyon-story-versio |
| 1b2a0 | 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 73 69 7a 65 20 31 39 32 29 29 29 0a | n.5).(zerop.(logand.size.192))). |
| 1b2c0 | 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b | ...........(malyon-store-byte.(+ |
| 1b2e0 | 20 31 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 29 | .1.address).(logand.255.value))) |
| 1b300 | 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | ...........(t............(malyon |
| 1b320 | 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 | -store-word.(+.1.address).value) |
| 1b340 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 20 | ))))..(defun.malyon-opcode-quit. |
| 1b360 | 28 29 0a 20 20 22 45 6e 64 20 74 68 65 20 67 61 6d 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 22 | ()..."End.the.game.immediately." |
| 1b380 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 | ...(malyon-adjust-transcript)... |
| 1b3a0 | 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79 6f | (malyon-cleanup)...(throw.'malyo |
| 1b3c0 | 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 6c 79 6f | n-end-of-interpreter-loop.'malyo |
| 1b3e0 | 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f | n-opcode-quit))..(defun.malyon-o |
| 1b400 | 70 63 6f 64 65 2d 72 61 6e 64 6f 6d 20 28 6c 69 6d 69 74 29 0a 20 20 22 47 65 6e 65 72 61 74 65 | pcode-random.(limit)..."Generate |
| 1b420 | 20 61 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 6f 72 20 73 65 74 20 74 68 65 20 73 65 65 64 | .a.random.number.or.set.the.seed |
| 1b440 | 20 76 61 6c 75 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c | .value."...(malyon-store-variabl |
| 1b460 | 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 | e.(malyon-read-code-byte)....... |
| 1b480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 30 20 28 6d 61 | ...................(if.(>=.0.(ma |
| 1b4a0 | 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | lyon-number.limit))............. |
| 1b4c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .................0.............. |
| 1b4e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 31 20 28 72 61 6e 64 6f 6d 20 28 6d 61 6c 79 | ..............(+.1.(random.(maly |
| 1b500 | 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d 69 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | on-number.limit))))))..(defun.ma |
| 1b520 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 61 64 2d 63 68 61 72 20 28 26 6f 70 74 69 6f 6e 61 6c | lyon-opcode-read-char.(&optional |
| 1b540 | 20 64 65 76 69 63 65 20 26 72 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22 52 65 61 64 20 61 20 | .device.&rest.ignore)..."Read.a. |
| 1b560 | 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 64 65 76 69 63 65 20 28 2f | character."...(if.(and.device.(/ |
| 1b580 | 3d 20 31 20 64 65 76 69 63 65 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c | =.1.device)).......(malyon-fatal |
| 1b5a0 | 2d 65 72 72 6f 72 20 22 69 6c 6c 65 67 61 6c 20 64 65 76 69 63 65 20 73 70 65 63 69 66 69 65 64 | -error."illegal.device.specified |
| 1b5c0 | 20 69 6e 20 72 65 61 64 5f 63 68 61 72 2e 22 29 29 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 | .in.read_char."))...(if.(eq.maly |
| 1b5e0 | 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 | on-transcript-buffer.(current-bu |
| 1b600 | 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d | ffer)).......(goto-char.(point-m |
| 1b620 | 61 78 29 29 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 5b 50 72 65 73 73 20 61 20 6b 65 79 2e 5d | ax)))...(message."[Press.a.key.] |
| 1b640 | 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d | ")...(malyon-more.malyon-keymap- |
| 1b660 | 72 65 61 64 63 68 61 72 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f | readchar)...(throw.'malyon-end-o |
| 1b680 | 66 2d 69 6e 74 65 72 70 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 69 | f-interpreter-loop.'malyon-waiti |
| 1b6a0 | 6e 67 2d 66 6f 72 2d 63 68 61 72 61 63 74 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | ng-for-character))..(defun.malyo |
| 1b6c0 | 6e 2d 6f 70 63 6f 64 65 2d 72 65 6d 6f 76 65 2d 6f 62 6a 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 | n-opcode-remove-obj.(object)..." |
| 1b6e0 | 52 65 6d 6f 76 65 20 61 6e 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 69 74 73 20 70 61 72 65 6e 74 | Remove.an.object.from.its.parent |
| 1b700 | 27 73 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d | 's.children.list."...(malyon-rem |
| 1b720 | 6f 76 65 2d 6f 62 6a 65 63 74 20 6f 62 6a 65 63 74 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | ove-object.object))..(defun.maly |
| 1b740 | 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 61 72 74 20 28 29 0a 20 20 22 52 65 73 74 61 72 74 20 | on-opcode-restart.()..."Restart. |
| 1b760 | 74 68 65 20 67 61 6d 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 67 61 6d 65 2d 73 74 | the.game."...(malyon-set-game-st |
| 1b780 | 61 74 65 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 29 29 0a | ate.malyon-game-state-restart)). |
| 1b7a0 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 20 28 26 | .(defun.malyon-opcode-restore.(& |
| 1b7c0 | 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 20 62 79 74 65 73 20 6e 61 6d 65 29 0a 20 20 22 52 65 | optional.table.bytes.name)..."Re |
| 1b7e0 | 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 67 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 73 65 | store.a.saved.game.state.or.a.se |
| 1b800 | 63 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20 20 | ction.of.memory.from.a.file."... |
| 1b820 | 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 69 66 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 | (let.((result.(if.name.......... |
| 1b840 | 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 0a | ...........(malyon-restore-file. |
| 1b860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 67 65 74 | .....................(malyon-get |
| 1b880 | 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 29 20 74 61 62 6c 65 20 62 79 74 65 73 29 0a 20 20 | -file-name.name).table.bytes)... |
| 1b8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 | ................(call-interactiv |
| 1b8c0 | 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 29 29 29 29 0a 20 20 20 | ely.'malyon-restore-file)))).... |
| 1b8e0 | 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a | .(if.(<.malyon-story-version.5). |
| 1b900 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a 65 | ........(malyon-jump-if.(not.(ze |
| 1b920 | 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | rop.result))).......(malyon-stor |
| 1b940 | 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 | e-variable.(malyon-read-code-byt |
| 1b960 | 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | e).result))))..(defun.malyon-opc |
| 1b980 | 6f 64 65 2d 72 65 73 74 6f 72 65 2d 75 6e 64 6f 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20 67 | ode-restore-undo.()..."Restore.g |
| 1b9a0 | 61 6d 65 20 73 74 61 74 65 20 66 6f 72 20 75 6e 64 6f 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f | ame.state.for.undo."...(if.malyo |
| 1b9c0 | 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | n-game-state-undo.......(malyon- |
| 1b9e0 | 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 | set-game-state.malyon-game-state |
| 1ba00 | 2d 75 6e 64 6f 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 | -undo))...(malyon-store-variable |
| 1ba20 | 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 32 29 29 0a 0a 28 64 | .(malyon-read-code-byte).2))..(d |
| 1ba40 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 74 20 28 76 61 6c 75 65 29 0a 20 | efun.malyon-opcode-ret.(value).. |
| 1ba60 | 20 22 52 65 74 75 72 6e 20 61 20 76 61 6c 75 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 | ."Return.a.value."...(malyon-ret |
| 1ba80 | 75 72 6e 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | urn.value))..(defun.malyon-opcod |
| 1baa0 | 65 2d 72 65 74 2d 70 6f 70 70 65 64 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 6f 70 20 6f 66 | e-ret-popped.()..."Return.top.of |
| 1bac0 | 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 28 6d 61 6c 79 6f | .stack."...(malyon-return.(malyo |
| 1bae0 | 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 | n-pop-stack)))..(defun.malyon-op |
| 1bb00 | 63 6f 64 65 2d 72 66 61 6c 73 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 66 61 6c 73 65 2f 30 | code-rfalse.()..."Return.false/0 |
| 1bb20 | 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 | ."...(malyon-return.0))..(defun. |
| 1bb40 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 74 72 75 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e | malyon-opcode-rtrue.()..."Return |
| 1bb60 | 20 74 72 75 65 2f 31 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 31 29 29 0a 0a | .true/1."...(malyon-return.1)).. |
| 1bb80 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 20 28 26 6f 70 74 69 | (defun.malyon-opcode-save.(&opti |
| 1bba0 | 6f 6e 61 6c 20 74 61 62 6c 65 20 62 79 74 65 73 20 6e 61 6d 65 29 0a 20 20 22 53 61 76 65 20 74 | onal.table.bytes.name)..."Save.t |
| 1bbc0 | 68 65 20 63 75 72 72 65 6e 74 20 67 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 73 65 63 74 69 | he.current.game.state.or.a.secti |
| 1bbe0 | 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 | on.of.memory.to.a.file."...(let. |
| 1bc00 | 28 28 72 65 73 75 6c 74 20 28 69 66 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ((result.(if.name............... |
| 1bc20 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d | ......(malyon-save-file.(malyon- |
| 1bc40 | 67 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 29 20 74 61 62 6c 65 20 62 79 74 65 73 29 | get-file-name.name).table.bytes) |
| 1bc60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 | ...................(call-interac |
| 1bc80 | 74 69 76 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 66 69 6c 65 29 29 29 29 0a 20 20 20 | tively.'malyon-save-file)))).... |
| 1bca0 | 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a | .(if.(<.malyon-story-version.5). |
| 1bcc0 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a 65 | ........(malyon-jump-if.(not.(ze |
| 1bce0 | 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | rop.result))).......(malyon-stor |
| 1bd00 | 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 | e-variable.(malyon-read-code-byt |
| 1bd20 | 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | e).result))))..(defun.malyon-opc |
| 1bd40 | 6f 64 65 2d 73 61 76 65 2d 75 6e 64 6f 20 28 29 0a 20 20 22 53 61 76 65 20 67 61 6d 65 20 73 74 | ode-save-undo.()..."Save.game.st |
| 1bd60 | 61 74 65 20 66 6f 72 20 75 6e 64 6f 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 | ate.for.undo."...(setq.malyon-ga |
| 1bd80 | 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 20 28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 | me-state-undo.(malyon-current-ga |
| 1bda0 | 6d 65 2d 73 74 61 74 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 | me-state))...(malyon-store-byte. |
| 1bdc0 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 31 29 29 0a 0a 28 64 65 | (malyon-read-code-byte).1))..(de |
| 1bde0 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 63 61 6e 2d 74 61 62 6c 65 20 28 78 20 | fun.malyon-opcode-scan-table.(x. |
| 1be00 | 74 61 62 6c 65 20 6c 65 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 29 0a 20 20 22 53 63 61 | table.len.&optional.form)..."Sca |
| 1be20 | 6e 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 | n.the.given.table.for.the.first. |
| 1be40 | 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 78 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 66 6f 72 | occurrence.of.x."...(if.(not.for |
| 1be60 | 6d 29 20 28 73 65 74 71 20 66 6f 72 6d 20 31 33 30 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 63 | m).(setq.form.130))...(let.((inc |
| 1be80 | 20 28 6c 6f 67 61 6e 64 20 31 32 37 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 | .(logand.127.form)).........(byt |
| 1bea0 | 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 66 6f 72 6d 29 29 29 0a 20 20 20 | e.(zerop.(logand.128.form))).... |
| 1bec0 | 20 20 20 20 20 28 61 64 64 72 20 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 75 6e 64 | .....(addr.table).........(found |
| 1bee0 | 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c | .0).........(index.0)).....(whil |
| 1bf00 | 65 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 20 28 3c 20 69 6e 64 65 78 20 6c 65 | e.(and.(zerop.found).(<.index.le |
| 1bf20 | 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 | n)).......(setq.found........... |
| 1bf40 | 20 20 28 69 66 20 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 | ..(if.byte.................(if.( |
| 1bf60 | 3d 20 78 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 29 29 20 61 64 64 | =.x.(malyon-read-byte.addr)).add |
| 1bf80 | 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 78 20 28 6d 61 6c | r.0)...............(if.(=.x.(mal |
| 1bfa0 | 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 61 64 64 72 29 29 20 61 64 64 72 20 30 29 29 29 0a 20 | yon-read-word.addr)).addr.0))).. |
| 1bfc0 | 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 20 28 2b 20 61 64 64 72 20 69 6e 63 29 29 0a 20 20 | .....(setq.addr.(+.addr.inc))... |
| 1bfe0 | 20 20 20 20 28 73 65 74 71 20 69 6e 64 65 78 20 28 2b 20 69 6e 64 65 78 20 31 29 29 29 0a 20 20 | ....(setq.index.(+.index.1)))... |
| 1c000 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e | ..(malyon-store-variable.(malyon |
| 1c020 | 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 66 6f 75 6e 64 29 0a 20 20 20 20 28 6d 61 6c | -read-code-byte).found).....(mal |
| 1c040 | 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 29 29 | yon-jump-if.(not.(zerop.found))) |
| 1c060 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 | ))..(defun.malyon-opcode-set-att |
| 1c080 | 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69 62 75 74 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 | r.(object.attribute)..."Set.the. |
| 1c0a0 | 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 65 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 6f 62 6a | given.attribute.in.the.given.obj |
| 1c0c0 | 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 74 74 72 69 62 75 74 65 73 20 28 6d 61 6c 79 6f | ect."...(let.((attributes.(malyo |
| 1c0e0 | 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 | n-object-address.object))....... |
| 1c100 | 20 20 28 62 79 74 65 20 20 20 20 20 20 20 28 6c 73 68 20 61 74 74 72 69 62 75 74 65 20 2d 33 29 | ..(byte.......(lsh.attribute.-3) |
| 1c120 | 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 61 74 74 | )).....(malyon-store-byte.(+.att |
| 1c140 | 72 69 62 75 74 65 73 20 62 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ributes.byte)................... |
| 1c160 | 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 | .....(logior.(malyon-read-byte.( |
| 1c180 | 2b 20 61 74 74 72 69 62 75 74 65 73 20 62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | +.attributes.byte))............. |
| 1c1a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 31 32 38 20 28 2d 20 28 | ...................(lsh.128.(-.( |
| 1c1c0 | 6c 6f 67 61 6e 64 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | logand.attribute.7)))))))..(defu |
| 1c1e0 | 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 6f 6c 6f 72 20 28 66 6f 72 65 67 | n.malyon-opcode-set-color.(foreg |
| 1c200 | 72 6f 75 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66 6f | round.background)..."Sets.the.fo |
| 1c220 | 72 65 2d 20 61 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 73 20 69 65 2e 20 64 6f | re-.and.background.colors.ie..do |
| 1c240 | 65 73 20 6e 6f 74 68 69 6e 67 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | es.nothing.")..(defun.malyon-opc |
| 1c260 | 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 6e 65 20 63 | ode-set-cursor.(&optional.line.c |
| 1c280 | 6f 6c 75 6d 6e 29 0a 20 20 22 53 65 74 20 74 68 65 20 63 75 72 73 6f 72 2e 22 0a 20 20 28 69 66 | olumn)..."Set.the.cursor."...(if |
| 1c2a0 | 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 63 | .(eq.malyon-transcript-buffer.(c |
| 1c2c0 | 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 3b 3b 20 73 65 74 2d 63 75 72 | urrent-buffer)).......;;.set-cur |
| 1c2e0 | 73 6f 72 20 69 73 20 6e 6f 74 20 63 75 72 72 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 65 64 20 69 | sor.is.not.currently.supported.i |
| 1c300 | 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3b | n.the.transcript.buffer........; |
| 1c320 | 3b 20 49 74 20 6a 75 73 74 20 6a 75 6d 70 73 20 74 6f 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 20 | ;.It.just.jumps.to.the.end...... |
| 1c340 | 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 3b 3b | ..(goto-char.(point-max)).....;; |
| 1c360 | 20 57 65 27 72 65 20 73 65 74 74 69 6e 67 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 | .We're.setting.the.position.in.t |
| 1c380 | 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 0a 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d | he.status.buffer.....(if.malyon- |
| 1c3a0 | 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 0a 20 20 20 20 | status-buffer-delayed-split..... |
| 1c3c0 | 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c | ....(progn...........(malyon-spl |
| 1c3e0 | 69 74 2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 73 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d | it-buffer-windows.malyon-status- |
| 1c400 | 62 75 66 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 | buffer-delayed-split)........... |
| 1c420 | 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 29 0a 20 20 20 20 28 69 66 20 6c 69 6e 65 20 | (other-window.1))).....(if.line. |
| 1c440 | 20 20 27 28 29 20 28 73 65 74 71 20 6c 69 6e 65 20 20 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 | ..'().(setq.line...(count-lines. |
| 1c460 | 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20 63 | (point-min).(point)))).....(if.c |
| 1c480 | 6f 6c 75 6d 6e 20 27 28 29 20 28 73 65 74 71 20 63 6f 6c 75 6d 6e 20 28 63 75 72 72 65 6e 74 2d | olumn.'().(setq.column.(current- |
| 1c4a0 | 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e 20 6c 69 6e 65 20 6d 61 6c 79 6f 6e | column))).....(if.(>.line.malyon |
| 1c4c0 | 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 28 70 | -status-buffer-lines).........(p |
| 1c4e0 | 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 | rogn...........(malyon-split-buf |
| 1c500 | 66 65 72 2d 77 69 6e 64 6f 77 73 20 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 | fer-windows.line)...........(oth |
| 1c520 | 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 | er-window.1))).....(goto-char.(p |
| 1c540 | 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3c 20 31 20 6c 69 6e | oint-min)).....(if.(and.(<.1.lin |
| 1c560 | 65 29 20 28 3c 3d 20 6c 69 6e 65 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 | e).(<=.line.malyon-status-buffer |
| 1c580 | 2d 6c 69 6e 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 28 | -lines)).........(forward-line.( |
| 1c5a0 | 31 2d 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 | 1-.line)).......(beginning-of-li |
| 1c5c0 | 6e 65 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3c 20 31 20 63 6f 6c 75 6d 6e 29 20 28 | ne)).....(if.(and.(<.1.column).( |
| 1c5e0 | 3c 3d 20 63 6f 6c 75 6d 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 | <=.column.malyon-max-column))... |
| 1c600 | 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 28 31 2d 20 63 6f 6c 75 6d 6e 29 29 | ......(forward-char.(1-.column)) |
| 1c620 | 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 29 0a 20 20 20 20 | .......(beginning-of-line))..... |
| 1c640 | 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 70 6f 69 6e 74 | (setq.malyon-status-buffer-point |
| 1c660 | 20 28 70 6f 69 6e 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | .(point))))..(defun.malyon-opcod |
| 1c680 | 65 2d 73 65 74 2d 66 6f 6e 74 20 28 66 6f 6e 74 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66 6f | e-set-font.(font)..."Sets.the.fo |
| 1c6a0 | 6e 74 20 69 66 20 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 30 20 6f 74 68 65 72 77 69 73 65 2e 22 | nt.if.available.or.0.otherwise." |
| 1c6c0 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f | ...(malyon-store-variable.(malyo |
| 1c6e0 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | n-read-code-byte).0))..(defun.ma |
| 1c700 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79 6c 65 20 28 73 74 79 6c | lyon-opcode-set-text-style.(styl |
| 1c720 | 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 74 65 78 74 20 73 74 79 6c 65 2f 66 61 63 65 2e 22 0a | e)..."Set.the.text.style/face.". |
| 1c740 | 20 20 28 6c 65 74 20 28 28 66 61 63 65 20 28 61 73 73 71 20 73 74 79 6c 65 20 6d 61 6c 79 6f 6e | ..(let.((face.(assq.style.malyon |
| 1c760 | 2d 66 61 63 65 73 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 | -faces))).....(setq.malyon-curre |
| 1c780 | 6e 74 2d 66 61 63 65 20 28 69 66 20 66 61 63 65 20 28 63 64 72 20 66 61 63 65 29 20 27 6d 61 6c | nt-face.(if.face.(cdr.face).'mal |
| 1c7a0 | 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | yon-face-plain))))..(defun.malyo |
| 1c7c0 | 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 77 69 6e 64 6f 77 20 28 77 69 6e 64 6f 77 29 0a 20 20 22 | n-opcode-set-window.(window)..." |
| 1c7e0 | 53 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d 61 6c 79 | Set.the.current.window."...(maly |
| 1c800 | 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 | on-restore-window-configuration) |
| 1c820 | 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 20 77 | ...(setq.malyon-current-window.w |
| 1c840 | 69 6e 64 6f 77 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 75 70 64 61 74 65 2d 6f 75 74 70 75 74 2d 73 | indow)...(malyon-update-output-s |
| 1c860 | 74 72 65 61 6d 73 29 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 77 69 6e 64 6f 77 29 0a 20 20 20 | treams)...(if.(zerop.window).... |
| 1c880 | 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 | ...(if.(not.(eq.malyon-transcrip |
| 1c8a0 | 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 | t-buffer.(current-buffer)))..... |
| 1c8c0 | 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 28 69 66 20 | ......(other-window.1)).....(if. |
| 1c8e0 | 28 6e 6f 74 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 63 | (not.(eq.malyon-status-buffer.(c |
| 1c900 | 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d | urrent-buffer))).........(other- |
| 1c920 | 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 | window.1)).....(malyon-opcode-se |
| 1c940 | 74 2d 63 75 72 73 6f 72 20 31 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f | t-cursor.1.1)))..(defun.malyon-o |
| 1c960 | 70 63 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 20 28 29 0a 20 20 22 44 69 73 70 6c 61 79 20 | pcode-show-status.()..."Display. |
| 1c980 | 74 68 65 20 73 74 61 74 75 73 20 6c 69 6e 65 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 | the.status.line."...(save-excurs |
| 1c9a0 | 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 | ion.....(let.((malyon-current-fa |
| 1c9c0 | 63 65 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 29 29 0a 20 20 20 20 20 20 | ce.'malyon-face-reverse))....... |
| 1c9e0 | 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77 20 31 29 0a 20 | (malyon-opcode-split-window.1).. |
| 1ca00 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 | .....(malyon-restore-window-conf |
| 1ca20 | 69 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | iguration).......(malyon-opcode- |
| 1ca40 | 73 65 74 2d 77 69 6e 64 6f 77 20 31 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 65 70 | set-window.1).......(malyon-prep |
| 1ca60 | 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 31 29 0a 20 20 20 20 20 20 28 70 75 74 2d | are-status-buffer.1).......(put- |
| 1ca80 | 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 | text-property.(point-min).(point |
| 1caa0 | 2d 6d 61 78 29 20 27 66 61 63 65 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 | -max).'face.'malyon-face-reverse |
| 1cac0 | 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f | ).......(malyon-opcode-set-curso |
| 1cae0 | 72 20 31 20 31 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e | r.1.1).......(malyon-opcode-prin |
| 1cb00 | 74 2d 6f 62 6a 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 | t-obj.(malyon-read-global-variab |
| 1cb20 | 6c 65 20 30 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 3c 3d 20 28 63 75 72 72 65 6e 74 2d 63 6f | le.0)).......(if.(<=.(current-co |
| 1cb40 | 6c 75 6d 6e 29 20 28 2d 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 20 31 | lumn).(-.(current-fill-column).1 |
| 1cb60 | 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 78 20 20 20 20 20 28 6d 61 6c | 0))...........(let*.((x.....(mal |
| 1cb80 | 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 31 29 29 0a 20 20 20 | yon-read-global-variable.1)).... |
| 1cba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | ..............(y.....(malyon-rea |
| 1cbc0 | 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 | d-global-variable.2))........... |
| 1cbe0 | 20 20 20 20 20 20 20 28 68 6f 75 72 73 20 28 69 66 20 28 3e 20 78 20 31 32 29 20 28 2d 20 78 20 | .......(hours.(if.(>.x.12).(-.x. |
| 1cc00 | 31 32 29 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6d 70 6d 20 20 | 12).x))..................(ampm.. |
| 1cc20 | 28 69 66 20 28 3e 20 78 20 31 32 29 20 22 50 4d 22 20 22 41 4d 22 29 29 0a 20 20 20 20 20 20 20 | (if.(>.x.12)."PM"."AM"))........ |
| 1cc40 | 20 20 20 20 20 20 20 20 20 20 28 73 63 6f 72 65 20 28 66 6f 72 6d 61 74 20 22 25 34 64 2f 25 34 | ..........(score.(format."%4d/%4 |
| 1cc60 | 64 22 20 78 20 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d 65 20 | d".x.y))..................(time. |
| 1cc80 | 20 28 66 6f 72 6d 61 74 20 22 25 30 32 64 3a 25 30 32 64 25 73 22 20 68 6f 75 72 73 20 79 20 61 | .(format."%02d:%02d%s".hours.y.a |
| 1cca0 | 6d 70 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | mpm))).............(malyon-opcod |
| 1ccc0 | 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 31 20 28 2d 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 6c 2d | e-set-cursor.1.(-.(current-fill- |
| 1cce0 | 63 6f 6c 75 6d 6e 29 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | column).10)).............(malyon |
| 1cd00 | 2d 70 72 69 6e 74 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 20 73 63 6f | -print.(if.malyon-score-game.sco |
| 1cd20 | 72 65 20 74 69 6d 65 29 29 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | re.time))))).....(malyon-opcode- |
| 1cd40 | 73 65 74 2d 77 69 6e 64 6f 77 20 30 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 | set-window.0).....(malyon-adjust |
| 1cd60 | 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 | -transcript)))..(defun.malyon-op |
| 1cd80 | 63 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77 20 28 73 69 7a 65 29 0a 20 20 22 53 70 6c 69 | code-split-window.(size)..."Spli |
| 1cda0 | 74 20 75 70 70 65 72 20 61 6e 64 20 6c 6f 77 65 72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d 61 | t.upper.and.lower.window."...(ma |
| 1cdc0 | 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 69 | lyon-set-window-configuration.si |
| 1cde0 | 7a 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 | ze))..(defun.malyon-opcode-store |
| 1ce00 | 20 28 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61 6c | .(variable.value)..."Store.a.val |
| 1ce20 | 75 65 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f | ue.in.a.variable."...(malyon-sto |
| 1ce40 | 72 65 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 29 29 0a 0a 28 64 | re-variable.variable.value))..(d |
| 1ce60 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 62 20 28 61 72 72 61 79 | efun.malyon-opcode-storeb.(array |
| 1ce80 | 20 69 6e 64 65 78 20 76 61 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20 69 | .index.value)..."Store.a.value.i |
| 1cea0 | 6e 20 61 6e 20 61 72 72 61 79 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 69 6e 64 65 78 2e 22 0a | n.an.array.at.the.given.index.". |
| 1cec0 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 61 72 72 61 79 20 69 6e | ..(malyon-store-byte.(+.array.in |
| 1cee0 | 64 65 78 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | dex).value))..(defun.malyon-opco |
| 1cf00 | 64 65 2d 73 74 6f 72 65 77 20 28 61 72 72 61 79 20 69 6e 64 65 78 20 76 61 6c 75 65 29 0a 20 20 | de-storew.(array.index.value)... |
| 1cf20 | 22 53 74 6f 72 65 20 61 20 76 61 6c 75 65 20 69 6e 20 61 6e 20 61 72 72 61 79 20 61 74 20 74 68 | "Store.a.value.in.an.array.at.th |
| 1cf40 | 65 20 67 69 76 65 6e 20 69 6e 64 65 78 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d | e.given.index."...(malyon-store- |
| 1cf60 | 77 6f 72 64 20 28 2b 20 61 72 72 61 79 20 28 2a 20 32 20 69 6e 64 65 78 29 29 20 76 61 6c 75 65 | word.(+.array.(*.2.index)).value |
| 1cf80 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 28 61 20 | ))..(defun.malyon-opcode-sub.(a. |
| 1cfa0 | 62 29 0a 20 20 22 53 75 62 74 72 61 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 | b)..."Subtraction."...(malyon-st |
| 1cfc0 | 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 | ore-variable.(malyon-read-code-b |
| 1cfe0 | 79 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d | yte)..........................(- |
| 1d000 | 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 | .(malyon-number.a).(malyon-numbe |
| 1d020 | 72 20 62 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 | r.b))))..(defun.malyon-opcode-te |
| 1d040 | 73 74 20 28 62 69 74 6d 61 70 20 66 6c 61 67 73 29 0a 20 20 22 54 65 73 74 20 69 66 20 61 6c 6c | st.(bitmap.flags)..."Test.if.all |
| 1d060 | 20 6f 66 20 74 68 65 20 66 6c 61 67 73 20 61 72 65 20 73 65 74 20 69 6e 20 74 68 65 20 62 69 74 | .of.the.flags.are.set.in.the.bit |
| 1d080 | 6d 61 70 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3d 20 66 6c 61 67 73 | map."...(malyon-jump-if.(=.flags |
| 1d0a0 | 20 28 6c 6f 67 61 6e 64 20 62 69 74 6d 61 70 20 66 6c 61 67 73 29 29 29 29 0a 0a 28 64 65 66 75 | .(logand.bitmap.flags))))..(defu |
| 1d0c0 | 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 2d 61 74 74 72 20 28 6f 62 6a 65 63 | n.malyon-opcode-test-attr.(objec |
| 1d0e0 | 74 20 61 74 74 72 69 62 75 74 65 29 0a 20 20 22 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20 6f | t.attribute)..."Jump.depending.o |
| 1d100 | 6e 20 74 68 65 20 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 65 20 69 6e 20 74 68 65 20 67 69 76 | n.the.given.attribute.in.the.giv |
| 1d120 | 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 | en.object."...(malyon-jump-if... |
| 1d140 | 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e 64 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 | .(/=.0.(logand.(malyon-read-byte |
| 1d160 | 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 | .(+.(malyon-object-address.objec |
| 1d180 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t).............................. |
| 1d1a0 | 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 61 74 74 72 69 62 75 74 65 20 2d 33 29 29 29 0a 20 20 | .........(lsh.attribute.-3)))... |
| 1d1c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 | ...............(lsh.128.(-.(loga |
| 1d1e0 | 6e 64 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | nd.attribute.7)))))))..(defun.ma |
| 1d200 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 68 72 6f 77 20 28 76 61 6c 75 65 20 66 72 61 6d 65 29 0a | lyon-opcode-throw.(value.frame). |
| 1d220 | 20 20 22 52 65 74 75 72 6e 20 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e 20 73 74 61 63 6b 20 66 | .."Return.from.the.given.stack.f |
| 1d240 | 72 61 6d 65 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 71 | rame."...(if.malyon-game-state-q |
| 1d260 | 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 64 20 28 6c 73 68 20 28 61 72 65 | uetzal.......(let.((id.(lsh.(are |
| 1d280 | 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e | f.malyon-stack.malyon-frame-poin |
| 1d2a0 | 74 65 72 29 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 66 72 | ter).-8))).........(while.(/=.fr |
| 1d2c0 | 61 6d 65 20 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 | ame.id)...........(setq.malyon-s |
| 1d2e0 | 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 | tack-pointer.malyon-frame-pointe |
| 1d300 | 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 0a | r)...........(malyon-pop-stack). |
| 1d320 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 | ..........(setq.malyon-frame-poi |
| 1d340 | 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 | nter.................(-.malyon-s |
| 1d360 | 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d | tack-pointer.1.(lsh.(malyon-pop- |
| 1d380 | 73 74 61 63 6b 29 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 | stack).-8)))...........(malyon-p |
| 1d3a0 | 6f 70 2d 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d | op-stack)...........(malyon-pop- |
| 1d3c0 | 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 64 20 28 6c 73 68 20 28 | stack)...........(setq.id.(lsh.( |
| 1d3e0 | 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 | aref.malyon-stack.malyon-frame-p |
| 1d400 | 6f 69 6e 74 65 72 29 20 2d 38 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d | ointer).-8)))).....(setq.malyon- |
| 1d420 | 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 66 72 61 6d 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d | frame-pointer.frame))...(malyon- |
| 1d440 | 72 65 74 75 72 6e 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 | return.value))..(defun.malyon-op |
| 1d460 | 63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 28 74 65 78 74 20 70 61 72 73 65 20 26 6f 70 74 69 6f | code-tokenise.(text.parse.&optio |
| 1d480 | 6e 61 6c 20 64 69 63 74 20 66 6c 61 67 29 0a 20 20 22 50 65 72 66 6f 72 6d 20 6c 65 78 69 63 61 | nal.dict.flag)..."Perform.lexica |
| 1d4a0 | 6c 20 61 6e 61 6c 79 73 69 73 20 6f 6e 20 74 68 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 22 0a | l.analysis.on.the.text.buffer.". |
| 1d4c0 | 20 20 28 6c 65 74 2a 20 28 28 77 6f 72 64 73 20 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f 2d | ..(let*.((words.(malyon-text-to- |
| 1d4e0 | 77 6f 72 64 73 20 74 65 78 74 20 64 69 63 74 29 29 0a 09 20 28 77 6f 72 64 20 20 28 63 61 72 20 | words.text.dict))...(word..(car. |
| 1d500 | 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 29 0a 09 20 28 73 74 61 72 74 20 28 63 61 72 20 | ..........words))...(start.(car. |
| 1d520 | 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 29 29 0a 09 20 28 6c 65 6e 20 20 20 28 63 61 64 72 20 | ..........word))...(len...(cadr. |
| 1d540 | 20 20 77 6f 72 64 29 29 0a 09 20 28 63 6f 64 65 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f 72 | ..word))...(code..(cl-caddr..wor |
| 1d560 | 64 29 29 0a 09 20 28 65 6e 74 72 79 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 63 74 | d))...(entry.(malyon-lookup.dict |
| 1d580 | 20 63 6f 64 65 29 29 0a 09 20 28 69 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 | .code))...(i.....0)).....(while. |
| 1d5a0 | 28 6e 6f 74 20 28 6f 72 20 28 6e 75 6c 6c 20 77 6f 72 64 73 29 20 28 3d 20 69 20 28 6d 61 6c 79 | (not.(or.(null.words).(=.i.(maly |
| 1d5c0 | 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 70 61 72 73 65 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 | on-read-byte.parse)))).......(if |
| 1d5e0 | 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 65 6e 74 72 79 29 20 66 6c 61 67 20 28 2f 3d 20 30 20 66 | .(and.(zerop.entry).flag.(/=.0.f |
| 1d600 | 6c 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c | lag))...........'().........(mal |
| 1d620 | 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 32 20 70 61 72 73 65 20 28 2a 20 34 20 69 | yon-store-word.(+.2.parse.(*.4.i |
| 1d640 | 29 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d | )).entry).........(malyon-store- |
| 1d660 | 62 79 74 65 20 28 2b 20 34 20 70 61 72 73 65 20 28 2a 20 34 20 69 29 29 20 6c 65 6e 29 0a 20 20 | byte.(+.4.parse.(*.4.i)).len)... |
| 1d680 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 35 20 70 61 | ......(malyon-store-byte.(+.5.pa |
| 1d6a0 | 72 73 65 20 28 2a 20 34 20 69 29 29 20 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 | rse.(*.4.i)).start)).......(setq |
| 1d6c0 | 20 77 6f 72 64 73 20 28 63 64 72 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09 20 20 | .words.(cdr...........words).... |
| 1d6e0 | 20 20 77 6f 72 64 20 20 28 63 61 72 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09 20 | ..word..(car...........words)... |
| 1d700 | 20 20 20 73 74 61 72 74 20 28 63 61 72 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 29 0a 09 20 | ...start.(car...........word)... |
| 1d720 | 20 20 20 6c 65 6e 20 20 20 28 63 61 64 72 20 20 20 77 6f 72 64 29 0a 09 20 20 20 20 63 6f 64 65 | ...len...(cadr...word)......code |
| 1d740 | 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f 72 64 29 0a 09 20 20 20 20 65 6e 74 72 79 20 28 6d | ..(cl-caddr..word)......entry.(m |
| 1d760 | 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 63 74 20 63 6f 64 65 29 0a 09 20 20 20 20 69 20 20 | alyon-lookup.dict.code)......i.. |
| 1d780 | 20 20 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 | ...(+.1.i))).....(malyon-store-b |
| 1d7a0 | 79 74 65 20 28 2b 20 31 20 70 61 72 73 65 29 20 69 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | yte.(+.1.parse).i)))..(defun.mal |
| 1d7c0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 76 65 72 69 66 79 20 28 29 0a 20 20 22 56 65 72 69 66 79 20 74 | yon-opcode-verify.()..."Verify.t |
| 1d7e0 | 68 65 20 63 6f 72 72 65 63 74 6e 65 73 73 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 | he.correctness.of.the.story.file |
| 1d800 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 67 74 68 20 28 2b 20 31 20 28 2a 20 6d 61 6c 79 6f | ."...(let.((length.(+.1.(*.malyo |
| 1d820 | 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | n-packed-multiplier.(malyon-read |
| 1d840 | 2d 77 6f 72 64 20 32 36 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 75 6d 20 20 20 20 30 29 0a | -word.26)))).........(sum....0). |
| 1d860 | 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 20 36 34 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 | ........(i......64)).....(while. |
| 1d880 | 28 3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 75 6d 20 28 6d 6f | (<.i.length).......(setq.sum.(mo |
| 1d8a0 | 64 20 28 2b 20 73 75 6d 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 69 29 29 20 36 | d.(+.sum.(malyon-read-byte.i)).6 |
| 1d8c0 | 35 35 33 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 20 20 28 2b 20 31 20 69 29 29 29 0a | 5536).............i...(+.1.i))). |
| 1d8e0 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 | ....(malyon-jump-if.(=.(malyon-r |
| 1d900 | 65 61 64 2d 77 6f 72 64 20 32 38 29 20 73 75 6d 29 29 29 29 0a 0a 3b 3b 20 6b 65 79 6d 61 70 20 | ead-word.28).sum))))..;;.keymap. |
| 1d920 | 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e 70 | utilities..(defun.malyon-end-inp |
| 1d940 | 75 74 20 28 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 69 6e 70 75 74 20 6c 69 6e 65 20 69 6e | ut.()..."Store.the.input.line.in |
| 1d960 | 20 61 20 74 65 78 74 20 62 75 66 66 65 72 20 61 6e 64 20 70 65 72 66 6f 72 6d 20 6c 65 78 69 63 | .a.text.buffer.and.perform.lexic |
| 1d980 | 61 6c 20 61 6e 61 6c 79 73 69 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 | al.analysis."...(interactive)... |
| 1d9a0 | 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 75 6e | (malyon-hide-internal-errors."un |
| 1d9c0 | 73 70 65 63 69 66 69 65 64 20 69 6e 74 65 72 6e 61 6c 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 | specified.internal.runtime.error |
| 1d9e0 | 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 | .".....(progn.......(malyon-adju |
| 1da00 | 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d | st-transcript).......(switch-to- |
| 1da20 | 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 | buffer.malyon-transcript-buffer) |
| 1da40 | 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 | .......(goto-char.(point-max)).. |
| 1da60 | 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e 70 75 74 20 28 64 6f 77 6e 63 61 73 65 0a 20 20 20 | .....(let*.((input.(downcase.... |
| 1da80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 | ..................(buffer-substr |
| 1daa0 | 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ing-no-properties............... |
| 1dac0 | 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 | ........(if.(<.malyon-aread-begi |
| 1dae0 | 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 | nning-of-line.(point)).......... |
| 1db00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 | .................malyon-aread-be |
| 1db20 | 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ginning-of-line................. |
| 1db40 | 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(point))................ |
| 1db60 | 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | .......(point))))..............( |
| 1db80 | 76 65 63 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 20 69 6e 70 75 74 29 29 0a 20 | vec..(string-to-vector.input)).. |
| 1dba0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 78 74 20 28 61 70 70 6c 79 20 27 76 65 63 74 6f 72 | ............(text.(apply.'vector |
| 1dbc0 | 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 69 | .(mapcar.'malyon-unicode-to-zsci |
| 1dbe0 | 69 20 76 65 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 20 20 28 6d 69 6e | i.vec)))..............(len..(min |
| 1dc00 | 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d | .(malyon-read-byte.malyon-aread- |
| 1dc20 | 74 65 78 74 29 20 28 6c 65 6e 67 74 68 20 74 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | text).(length.text)))........... |
| 1dc40 | 20 20 20 28 69 20 20 20 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 | ...(i....0)).........(malyon-his |
| 1dc60 | 74 6f 72 79 2d 69 6e 73 65 72 74 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 | tory-insert.input).........(if.( |
| 1dc80 | 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 | >=.malyon-story-version.5)...... |
| 1dca0 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 6d 61 6c | .......(malyon-store-byte.(+.mal |
| 1dcc0 | 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 31 29 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 | yon-aread-text.1).len))......... |
| 1dce0 | 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 | (while.(<.i.len)...........(maly |
| 1dd00 | 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 6d 61 6c 79 | on-store-byte............(+.maly |
| 1dd20 | 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | on-aread-text.(if.(<.malyon-stor |
| 1dd40 | 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 31 20 32 29 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 | y-version.5).1.2).i)............ |
| 1dd60 | 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 61 72 65 66 20 74 65 78 74 20 69 | (malyon-char-to-int.(aref.text.i |
| 1dd80 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a | )))...........(setq.i.(+.1.i))). |
| 1dda0 | 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 | ........(if.(<.malyon-story-vers |
| 1ddc0 | 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 | ion.5).............(malyon-store |
| 1dde0 | 2d 62 79 74 65 20 28 2b 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 31 20 6c 65 6e | -byte.(+.malyon-aread-text.1.len |
| 1de00 | 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 2f 3d 20 30 20 6d 61 6c 79 6f 6e 2d 61 72 | ).0))).......(if.(/=.0.malyon-ar |
| 1de20 | 65 61 64 2d 70 61 72 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 | ead-parse)...........(malyon-opc |
| 1de40 | 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 6d | ode-tokenise.malyon-aread-text.m |
| 1de60 | 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 29 29 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 | alyon-aread-parse)).......(newli |
| 1de80 | 6e 65 29 0a 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 | ne).......(if.(>=.malyon-story-v |
| 1dea0 | 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | ersion.5)...........(malyon-stor |
| 1dec0 | 65 2d 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 | e-variable.(malyon-read-code-byt |
| 1dee0 | 65 29 20 31 30 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 | e).10)).......(malyon-interprete |
| 1df00 | 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 20 28 | r))))..(defun.malyon-more-char.( |
| 1df20 | 29 0a 20 20 22 50 61 67 65 20 64 6f 77 6e 20 69 6e 20 4d 6f 72 65 20 6d 6f 64 65 2e 22 0a 20 20 | )..."Page.down.in.More.mode."... |
| 1df40 | 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 | (interactive)...(condition-case. |
| 1df60 | 6e 69 6c 0a 20 20 20 20 20 20 28 73 63 72 6f 6c 6c 2d 75 70 29 0a 20 20 20 20 28 65 72 72 6f 72 | nil.......(scroll-up).....(error |
| 1df80 | 29 29 0a 20 20 28 69 66 20 28 3e 3d 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74 | ))...(if.(>=.(count-lines.(point |
| 1dfa0 | 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | ).(point-max))...........(malyon |
| 1dfc0 | 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20 20 | -window-displayed-height))...... |
| 1dfe0 | 20 28 6d 65 73 73 61 67 65 20 22 5b 4d 6f 72 65 5d 22 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 | .(message."[More]").....(goto-ch |
| 1e000 | 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 | ar.(point-max)).....(malyon-adju |
| 1e020 | 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 | st-transcript).....(use-local-ma |
| 1e040 | 70 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 29 29 29 | p.malyon-more-continue-keymap))) |
| 1e060 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75 73 | ..(defun.malyon-more-char-status |
| 1e080 | 20 28 29 0a 20 20 22 57 61 69 74 20 66 6f 72 20 61 20 6b 65 79 20 74 68 65 6e 20 63 6f 6e 74 69 | .()..."Wait.for.a.key.then.conti |
| 1e0a0 | 6e 75 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d | nue."...(interactive)...(malyon- |
| 1e0c0 | 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 75 6e 73 70 65 63 69 66 69 65 | hide-internal-errors."unspecifie |
| 1e0e0 | 64 20 69 6e 74 65 72 6e 61 6c 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 2e 22 0a 20 20 20 20 28 | d.internal.runtime.error.".....( |
| 1e100 | 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 | progn.......(malyon-adjust-trans |
| 1e120 | 63 72 69 70 74 29 0a 20 20 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c 79 | cript).......(use-local-map.maly |
| 1e140 | 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 28 | on-more-continue-keymap).......( |
| 1e160 | 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d | malyon-interpreter))))..(defun.m |
| 1e180 | 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 20 28 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 | alyon-wait-char.()..."Store.the. |
| 1e1a0 | 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 20 61 6e | input.character.in.a.variable.an |
| 1e1c0 | 64 20 72 65 73 75 6d 65 20 65 78 65 63 75 74 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | d.resume.execution."...(interact |
| 1e1e0 | 69 76 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 | ive)...(malyon-hide-internal-err |
| 1e200 | 6f 72 73 20 22 75 6e 73 70 65 63 69 66 69 65 64 20 69 6e 74 65 72 6e 61 6c 20 72 75 6e 74 69 6d | ors."unspecified.internal.runtim |
| 1e220 | 65 20 65 72 72 6f 72 2e 22 0a 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c 79 | e.error.".....(progn.......(maly |
| 1e240 | 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | on-store-variable........(malyon |
| 1e260 | 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | -read-code-byte)........(malyon- |
| 1e280 | 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a | char-to-int.(malyon-unicode-to-z |
| 1e2a0 | 73 63 69 69 20 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 2d 65 76 65 6e 74 29 29 29 0a 20 20 20 20 20 | scii.last-command-event)))...... |
| 1e2c0 | 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 | .(use-local-map.malyon-keymap-re |
| 1e2e0 | 61 64 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 74 65 72 29 29 29 | ad).......(malyon-interpreter))) |
| 1e300 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 | )..(defun.malyon-history-previou |
| 1e320 | 73 2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44 69 73 70 6c 61 79 20 74 68 65 20 70 72 65 76 | s-char.(arg)..."Display.the.prev |
| 1e340 | 69 6f 75 73 20 69 74 65 6d 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 | ious.item.in.the.input.history." |
| 1e360 | 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 6c 65 74 20 28 28 69 6e | ...(interactive."p")...(let.((in |
| 1e380 | 70 75 74 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 73 29 29 29 0a | put.(malyon-history-previous))). |
| 1e3a0 | 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e | ....(cond.((>.malyon-aread-begin |
| 1e3c0 | 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ning-of-line.(point))........... |
| 1e3e0 | 20 28 66 75 6e 63 61 6c 6c 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 75 | .(funcall.malyon-history-saved-u |
| 1e400 | 70 20 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 70 75 74 0a 20 20 20 20 20 20 20 | p.arg))...........(input........ |
| 1e420 | 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d | ....(with-current-buffer.malyon- |
| 1e440 | 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | transcript-buffer..............( |
| 1e460 | 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e | delete-region.malyon-aread-begin |
| 1e480 | 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 | ning-of-line.(point-max)))...... |
| 1e4a0 | 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 | ......(goto-char.(point-max))... |
| 1e4c0 | 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 | .........(insert.input)......... |
| 1e4e0 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 29 | ...(malyon-adjust-transcript)))) |
| 1e500 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d 63 68 | )..(defun.malyon-history-next-ch |
| 1e520 | 61 72 20 28 61 72 67 29 0a 20 20 22 44 69 73 70 6c 61 79 20 74 68 65 20 6e 65 78 74 20 69 74 65 | ar.(arg)..."Display.the.next.ite |
| 1e540 | 6d 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a 20 20 28 69 6e 74 65 | m.in.the.input.history."...(inte |
| 1e560 | 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 70 75 74 20 28 6d 61 6c | ractive."p")...(let.((input.(mal |
| 1e580 | 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 | yon-history-next))).....(cond.(( |
| 1e5a0 | 3e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 | >.malyon-aread-beginning-of-line |
| 1e5c0 | 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6d 61 | .(point))............(funcall.ma |
| 1e5e0 | 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 64 6f 77 6e 20 61 72 67 29 29 0a 20 20 | lyon-history-saved-down.arg))... |
| 1e600 | 20 20 20 20 20 20 20 20 28 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d | ........(input............(with- |
| 1e620 | 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 | current-buffer.malyon-transcript |
| 1e640 | 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 | -buffer..............(delete-reg |
| 1e660 | 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 | ion.malyon-aread-beginning-of-li |
| 1e680 | 6e 65 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 | ne.(point-max)))............(got |
| 1e6a0 | 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | o-char.(point-max))............( |
| 1e6c0 | 69 6e 73 65 72 74 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | insert.input)............(malyon |
| 1e6e0 | 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | -adjust-transcript)))))..(defun. |
| 1e700 | 6d 61 6c 79 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 61 72 67 29 0a 20 | malyon-beginning-of-line.(arg).. |
| 1e720 | 20 22 47 6f 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69 6e | ."Go.to.the.beginning.of.the.lin |
| 1e740 | 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3e | e."...(interactive."p")...(if.(> |
| 1e760 | 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 | .malyon-aread-beginning-of-line. |
| 1e780 | 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e | (point)).......(beginning-of-lin |
| 1e7a0 | 65 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 | e).....(goto-char.malyon-aread-b |
| 1e7c0 | 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | eginning-of-line)))..(defun.maly |
| 1e7e0 | 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20 28 61 72 67 29 0a 20 20 22 4b 69 6c 6c 20 72 65 67 | on-kill-region.(arg)..."Kill.reg |
| 1e800 | 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 | ion."...(interactive."p")...(if. |
| 1e820 | 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 | (<=.malyon-aread-beginning-of-li |
| 1e840 | 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20 28 | ne.(point)).......(kill-region.( |
| 1e860 | 70 6f 69 6e 74 29 20 28 6d 61 72 6b 29 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 | point).(mark)).....(message."Edi |
| 1e880 | 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 | ting.is.restricted.to.the.input. |
| 1e8a0 | 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d | prompt.")))..(defun.malyon-kill- |
| 1e8c0 | 6c 69 6e 65 20 28 61 72 67 29 0a 20 20 22 4b 69 6c 6c 20 72 65 73 74 20 6f 66 20 74 68 65 20 63 | line.(arg)..."Kill.rest.of.the.c |
| 1e8e0 | 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 | urrent.line."...(interactive."p" |
| 1e900 | 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 | )...(if.(<=.malyon-aread-beginni |
| 1e920 | 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d | ng-of-line.(point)).......(kill- |
| 1e940 | 6c 69 6e 65 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72 | line).....(message."Editing.is.r |
| 1e960 | 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29 | estricted.to.the.input.prompt.") |
| 1e980 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 77 6f 72 64 20 28 61 72 67 | ))..(defun.malyon-kill-word.(arg |
| 1e9a0 | 29 0a 20 20 22 4b 69 6c 6c 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 6f 72 64 2e 22 0a 20 20 28 | )..."Kill.the.current.word."...( |
| 1e9c0 | 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79 6f | interactive."p")...(if.(<=.malyo |
| 1e9e0 | 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 | n-aread-beginning-of-line.(point |
| 1ea00 | 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 77 6f 72 64 20 31 29 0a 20 20 20 20 28 6d 65 73 73 | )).......(kill-word.1).....(mess |
| 1ea20 | 61 67 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 | age."Editing.is.restricted.to.th |
| 1ea40 | 65 20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | e.input.prompt.")))..(defun.maly |
| 1ea60 | 6f 6e 2d 79 61 6e 6b 20 28 61 72 67 29 0a 20 20 22 59 61 6e 6b 2e 22 0a 20 20 28 69 6e 74 65 72 | on-yank.(arg)..."Yank."...(inter |
| 1ea80 | 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 | active."p")...(if.(<=.malyon-are |
| 1eaa0 | 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 | ad-beginning-of-line.(point))... |
| 1eac0 | 20 20 20 20 28 79 61 6e 6b 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 6e 67 | ....(yank).....(message."Editing |
| 1eae0 | 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 6f 6d | .is.restricted.to.the.input.prom |
| 1eb00 | 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 2d 70 6f 70 20 | pt.")))..(defun.malyon-yank-pop. |
| 1eb20 | 28 61 72 67 29 0a 20 20 22 59 61 6e 6b 20 70 6f 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 | (arg)..."Yank.pop."...(interacti |
| 1eb40 | 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 3d 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 | ve."p")...(if.(<=.malyon-aread-b |
| 1eb60 | 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 | eginning-of-line.(point))....... |
| 1eb80 | 28 79 61 6e 6b 2d 70 6f 70 20 31 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 | (yank-pop.1).....(message."Editi |
| 1eba0 | 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 | ng.is.restricted.to.the.input.pr |
| 1ebc0 | 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 65 6c 65 74 65 2d | ompt.")))..(defun.malyon-delete- |
| 1ebe0 | 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44 65 6c 65 74 65 20 61 20 63 68 61 72 61 63 74 65 72 | char.(arg)..."Delete.a.character |
| 1ec00 | 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 3d | ."...(interactive."p")...(if.(<= |
| 1ec20 | 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 | .malyon-aread-beginning-of-line. |
| 1ec40 | 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 0a 20 | (point)).......(delete-char.1).. |
| 1ec60 | 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 | ...(message."Editing.is.restrict |
| 1ec80 | 65 64 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 | ed.to.the.input.prompt.")))..(de |
| 1eca0 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 6c 65 74 65 2d 63 68 61 72 20 | fun.malyon-backward-delete-char. |
| 1ecc0 | 28 61 72 67 29 0a 20 20 22 44 65 6c 65 74 65 20 61 20 63 68 61 72 61 63 74 65 72 20 62 61 63 6b | (arg)..."Delete.a.character.back |
| 1ece0 | 77 61 72 64 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 | wards."...(interactive."p")...(i |
| 1ed00 | 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c | f.(<.malyon-aread-beginning-of-l |
| 1ed20 | 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 64 65 6c | ine.(point)).......(backward-del |
| 1ed40 | 65 74 65 2d 63 68 61 72 2d 75 6e 74 61 62 69 66 79 20 31 29 0a 20 20 20 20 28 6d 65 73 73 61 67 | ete-char-untabify.1).....(messag |
| 1ed60 | 65 20 22 45 64 69 74 69 6e 67 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 74 68 65 20 | e."Editing.is.restricted.to.the. |
| 1ed80 | 69 6e 70 75 74 20 70 72 6f 6d 70 74 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | input.prompt.")))..(defun.malyon |
| 1eda0 | 2d 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 20 28 61 72 67 29 0a 20 20 22 49 6e | -self-insert-command.(arg)..."In |
| 1edc0 | 73 65 72 74 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 | sert.a.character."...(interactiv |
| 1ede0 | 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3e 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 65 67 | e."p")...(if.(>.malyon-aread-beg |
| 1ee00 | 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 67 | inning-of-line.(point)).......(g |
| 1ee20 | 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 28 73 65 6c 66 2d 69 | oto-char.(point-max)))...(self-i |
| 1ee40 | 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 20 31 29 29 0a 0a 3b 3b 20 74 72 61 63 69 6e 67 20 75 74 | nsert-command.1))..;;.tracing.ut |
| 1ee60 | 69 6c 69 74 79 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 66 69 6c 65 20 | ility..(defun.malyon-trace-file. |
| 1ee80 | 28 29 0a 20 20 22 54 75 72 6e 20 74 72 61 63 69 6e 67 20 6f 6e 20 66 6f 72 20 61 20 70 61 72 74 | ()..."Turn.tracing.on.for.a.part |
| 1eea0 | 69 63 75 6c 61 72 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 72 61 63 65 0a 20 20 20 | icular.file."...(let.((trace.... |
| 1eec0 | 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 | ......(get-buffer-create........ |
| 1eee0 | 20 20 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 54 72 61 63 65 20 22 20 6d 61 6c 79 6f | ...(concat."Malyon.Trace.".malyo |
| 1ef00 | 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 74 72 | n-story-file-name)))).....(if.tr |
| 1ef20 | 61 63 65 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 | ace.........(with-current-buffer |
| 1ef40 | 20 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 | .trace...........(malyon-erase-b |
| 1ef60 | 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 63 6f 6e 63 61 74 | uffer)...........(insert.(concat |
| 1ef80 | 20 22 54 72 61 63 69 6e 67 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 | ."Tracing.".malyon-story-file-na |
| 1efa0 | 6d 65 20 22 2e 2e 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 29 | me."..."))...........(newline))) |
| 1efc0 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6e 65 77 6c 69 6e 65 20 | ))..(defun.malyon-trace-newline. |
| 1efe0 | 28 29 0a 20 20 22 4f 75 74 70 75 74 20 74 72 61 63 69 6e 67 20 6e 65 77 6c 69 6e 65 2e 22 0a 20 | ()..."Output.tracing.newline.".. |
| 1f000 | 20 28 6c 65 74 20 28 28 74 72 61 63 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 61 | .(let.((trace.(get-buffer.(conca |
| 1f020 | 74 20 22 4d 61 6c 79 6f 6e 20 54 72 61 63 65 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 | t."Malyon.Trace.".malyon-story-f |
| 1f040 | 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 74 72 61 63 65 0a 20 20 20 20 20 | ile-name)))).....(if.trace...... |
| 1f060 | 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20 | ...(with-current-buffer.trace... |
| 1f080 | 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a | ........(goto-char.(point-max)). |
| 1f0a0 | 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ..........(newline)))))..(defun. |
| 1f0c0 | 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 63 6f 64 65 20 28 70 63 20 6f 70 63 6f 64 65 20 6f | malyon-trace-opcode.(pc.opcode.o |
| 1f0e0 | 70 65 72 61 6e 64 73 29 0a 20 20 22 4f 75 74 70 75 74 20 61 20 5a 2d 63 6f 64 65 20 69 6e 73 74 | perands)..."Output.a.Z-code.inst |
| 1f100 | 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 73 74 72 69 6e 67 | ruction."...(malyon-trace-string |
| 1f120 | 0a 20 20 20 28 66 6f 72 6d 61 74 20 22 25 38 64 20 20 20 25 2d 33 64 20 25 2d 32 35 73 20 25 73 | ....(format."%8d...%-3d.%-25s.%s |
| 1f140 | 5c 6e 22 0a 09 20 20 20 70 63 0a 09 20 20 20 6f 70 63 6f 64 65 0a 09 20 20 20 28 73 79 6d 62 6f | \n".....pc.....opcode.....(symbo |
| 1f160 | 6c 2d 6e 61 6d 65 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 6f 70 63 6f | l-name.(aref.malyon-opcodes.opco |
| 1f180 | 64 65 29 29 0a 09 20 20 20 28 61 70 70 6c 79 20 27 63 6f 6e 63 61 74 20 28 63 6c 2d 6d 61 70 63 | de)).....(apply.'concat.(cl-mapc |
| 1f1a0 | 61 6e 0a 09 09 09 20 20 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 09 09 09 20 20 20 20 20 28 6c 69 | an.......(lambda.(x).........(li |
| 1f1c0 | 73 74 20 22 20 22 0a 09 09 09 09 20 20 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 0a | st."."........(number-to-string. |
| 1f1e0 | 09 09 09 09 20 20 20 20 28 69 66 20 28 63 68 61 72 61 63 74 65 72 70 20 78 29 0a 09 09 09 09 09 | ........(if.(characterp.x)...... |
| 1f200 | 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 78 29 0a 09 09 09 09 20 20 20 20 20 | (malyon-char-to-int.x).......... |
| 1f220 | 20 78 29 29 29 29 0a 09 09 09 20 20 20 6f 70 65 72 61 6e 64 73 29 29 29 29 29 0a 0a 28 64 65 66 | .x)))).......operands)))))..(def |
| 1f240 | 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 73 74 72 69 6e 67 20 28 73 29 0a 20 20 22 4f 75 | un.malyon-trace-string.(s)..."Ou |
| 1f260 | 74 70 75 74 20 74 72 61 63 69 6e 67 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 | tput.tracing.string."...(let.((t |
| 1f280 | 72 61 63 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e | race.(get-buffer.(concat."Malyon |
| 1f2a0 | 20 54 72 61 63 65 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 | .Trace.".malyon-story-file-name) |
| 1f2c0 | 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 74 72 61 63 65 20 73 29 0a 20 20 20 20 20 20 | ))).....(if.(and.trace.s)....... |
| 1f2e0 | 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20 20 | ..(with-current-buffer.trace.... |
| 1f300 | 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 | .......(goto-char.(point-max)).. |
| 1f320 | 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | .........(insert.s)))))..(defun. |
| 1f340 | 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 62 6a 65 63 74 20 28 6f 29 0a 20 20 22 4f 75 74 70 75 | malyon-trace-object.(o)..."Outpu |
| 1f360 | 74 20 74 72 61 63 69 6e 67 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 72 61 63 | t.tracing.object."...(let.((trac |
| 1f380 | 65 20 28 67 65 74 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 54 72 | e.(get-buffer.(concat."Malyon.Tr |
| 1f3a0 | 61 63 65 20 22 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 | ace.".malyon-story-file-name)))) |
| 1f3c0 | 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 74 72 61 63 65 20 6f 29 0a 20 20 20 20 20 20 20 20 28 | .....(if.(and.trace.o).........( |
| 1f3e0 | 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20 20 20 20 20 | with-current-buffer.trace....... |
| 1f400 | 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 | ....(goto-char.(point-max))..... |
| 1f420 | 20 20 20 20 20 20 28 70 72 69 6e 31 20 6f 20 74 72 61 63 65 29 29 29 29 29 0a 0a 3b 3b 3b 20 61 | ......(prin1.o.trace)))))..;;;.a |
| 1f440 | 6e 6e 6f 75 6e 63 65 20 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 0a 0a 28 70 72 6f 76 69 64 65 20 27 6d | nnounce.malyon-mode..(provide.'m |
| 1f460 | 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 28 70 72 6f 76 69 64 65 20 27 6d 61 6c 79 6f 6e 29 0a 0a 3b | alyon-mode).(provide.'malyon)..; |
| 1f480 | 3b 3b 20 6d 61 6c 79 6f 6e 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 | ;;.malyon.el.ends.here.......... |
| 1f4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fa00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fa20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fa40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fa60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fa80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1faa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ff00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ff20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ff40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ff60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ff80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ffa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ffc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ffe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 200a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 200c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 200e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 201a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 201c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 201e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 202a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 202c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 202e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 203a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 203c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 203e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 204a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 204c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 204e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 205a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 205c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 205e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 206a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 206c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 206e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 207a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 207c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 207e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |