| 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 34 34 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 | 0001144.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 | 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 6d 61 6c 79 6f 6e 22 20 22 32 30 31 36 31 32 | (define-package."malyon"."201612 |
| 0420 | 30 38 2e 32 31 32 35 22 20 22 6d 6f 64 65 20 74 6f 20 65 78 65 63 75 74 65 20 5a 2d 63 6f 64 65 | 08.2125"."mode.to.execute.Z-code |
| 0440 | 20 66 69 6c 65 73 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 38 22 0a 20 20 27 28 28 63 6c 2d | .files.version.3,.5,.8"...'((cl- |
| 0460 | 6c 69 62 20 22 30 2e 35 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 30 64 39 38 38 32 36 35 30 | lib."0.5"))...:commit."0d9882650 |
| 0480 | 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 64 36 66 63 30 22 | 720b4a791556f5e2d917388965d6fc0" |
| 04a0 | 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22 50 65 74 65 72 20 49 6c 62 65 72 67 20 3c 70 65 | .:authors...'(("Peter.Ilberg.<pe |
| 04c0 | 74 65 72 2e 69 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 | ter.ilberg@gmail.com>,.Christoph |
| 04e0 | 65 72 20 4d 61 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 | er.Madsen.<cjm@cjmweb.net>,.Erik |
| 0500 | 20 53 65 6c 62 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 | .Selberg"..."erik@selberg.org")) |
| 0520 | 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 43 68 72 69 73 74 6f 70 68 65 | ...:maintainers...'(("Christophe |
| 0540 | 72 20 4d 61 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 | r.Madsen.<cjm@cjmweb.net>,.Erik. |
| 0560 | 53 65 6c 62 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 0a | Selberg"..."erik@selberg.org")). |
| 0580 | 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 43 68 72 69 73 74 6f 70 68 65 72 20 4d | ..:maintainer...'("Christopher.M |
| 05a0 | 61 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 | adsen.<cjm@cjmweb.net>,.Erik.Sel |
| 05c0 | 62 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 0a 20 20 3a 6b | berg"..."erik@selberg.org")...:k |
| 05e0 | 65 79 77 6f 72 64 73 0a 20 20 27 28 22 67 61 6d 65 73 22 20 22 65 6d 75 6c 61 74 69 6f 6e 73 22 | eywords...'("games"."emulations" |
| 0600 | 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 65 | )...:url."https://github.com/spe |
| 0620 | 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79 6f 6e 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 | edenator/malyon").;;.Local.Varia |
| 0640 | 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 | bles:.;;.no-byte-compile:.t.;;.E |
| 0660 | 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nd:............................. |
| 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 31 35 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 31 34 30 00 20 30 00 00 00 | 0365150.00000000000.014140..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 56 65 72 73 69 6f 6e 3a 20 32 30 31 36 31 32 30 34 0a | lberg.org>.;;.Version:.20161204. |
| 0b20 | 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 63 6c 2d 6c 69 62 20 22 30 | ;;.Package-Requires:.((cl-lib."0 |
| 0b40 | 2e 35 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 67 61 6d 65 73 2c 20 65 6d 75 6c 61 74 | .5")).;;.Keywords:.games,.emulat |
| 0b60 | 69 6f 6e 73 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | ions.;;.URL:.https://github.com/ |
| 0b80 | 73 70 65 65 64 65 6e 61 74 6f 72 2f 6d 61 6c 79 6f 6e 0a 0a 3b 3b 20 4f 6c 64 2d 4d 61 69 6e 74 | speedenator/malyon..;;.Old-Maint |
| 0ba0 | 61 69 6e 65 72 3a 20 50 65 74 65 72 20 49 6c 62 65 72 67 20 3c 70 65 74 65 72 2e 69 6c 62 65 72 | ainer:.Peter.Ilberg.<peter.ilber |
| 0bc0 | 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 28 49 20 61 6d 20 75 6e 61 62 6c 65 20 74 6f 20 | g@gmail.com>.;;.(I.am.unable.to. |
| 0be0 | 63 6f 6e 74 69 6e 75 65 20 73 75 70 70 6f 72 74 69 6e 67 20 6d 61 6c 79 6f 6e 2e 65 6c 2e 20 50 | continue.supporting.malyon.el..P |
| 0c00 | 6c 65 61 73 65 20 73 65 6e 64 20 6d 65 20 61 6e 0a 3b 3b 20 20 65 6d 61 69 6c 20 69 66 20 79 6f | lease.send.me.an.;;..email.if.yo |
| 0c20 | 75 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 74 61 6b 69 6e 67 20 6f 76 65 72 20 | u.are.interested.in.taking.over. |
| 0c40 | 74 68 65 20 70 72 6f 6a 65 63 74 2e 20 54 68 61 6e 6b 73 2e 29 0a 0a 3b 3b 20 43 6f 70 79 72 69 | the.project..Thanks.)..;;.Copyri |
| 0c60 | 67 68 74 20 28 43 29 20 31 39 39 39 2d 32 30 31 36 20 50 65 74 65 72 20 49 6c 62 65 72 67 2c 20 | ght.(C).1999-2016.Peter.Ilberg,. |
| 0c80 | 43 68 72 69 73 74 6f 70 68 65 72 20 4d 61 64 73 65 6e 2c 20 45 72 69 6b 20 53 65 6c 62 65 72 67 | Christopher.Madsen,.Erik.Selberg |
| 0ca0 | 0a 0a 3b 3b 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 | ..;;.Permission.is.hereby.grante |
| 0cc0 | 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e | d,.free.of.charge,.to.any.person |
| 0ce0 | 20 6f 62 74 61 69 6e 69 6e 67 20 61 0a 3b 3b 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 73 6f 66 | .obtaining.a.;;.copy.of.this.sof |
| 0d00 | 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 | tware.and.associated.documentati |
| 0d20 | 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 0a 3b 3b 20 74 6f | on.files.(the."Software"),.;;.to |
| 0d40 | 20 64 65 61 6c 20 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 | .deal.in.the.Software.without.re |
| 0d60 | 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d | striction,.including.without.lim |
| 0d80 | 69 74 61 74 69 6f 6e 0a 3b 3b 20 74 68 65 20 72 69 67 68 74 73 20 74 6f 20 75 73 65 2c 20 63 6f | itation.;;.the.rights.to.use,.co |
| 0da0 | 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 | py,.modify,.merge,.publish,.dist |
| 0dc0 | 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 0a 3b 3b 20 61 6e 64 2f 6f 72 20 73 65 | ribute,.sublicense,.;;.and/or.se |
| 0de0 | 6c 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 | ll.copies.of.the.Software,.and.t |
| 0e00 | 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 0a 3b 3b 20 | o.permit.persons.to.whom.the.;;. |
| 0e20 | 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 | Software.is.furnished.to.do.so,. |
| 0e40 | 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 | subject.to.the.following.conditi |
| 0e60 | 6f 6e 73 3a 0a 0a 3b 3b 20 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 | ons:..;;.The.above.copyright.not |
| 0e80 | 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 | ice.and.this.permission.notice.s |
| 0ea0 | 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 3b 3b 20 61 6c 6c 20 63 6f 70 69 65 | hall.be.included.in.;;.all.copie |
| 0ec0 | 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 | s.or.substantial.portions.of.the |
| 0ee0 | 20 53 6f 66 74 77 61 72 65 2e 0a 0a 3b 3b 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 | .Software...;;.THE.SOFTWARE.IS.P |
| 0f00 | 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 | ROVIDED."AS.IS",.WITHOUT.WARRANT |
| 0f20 | 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 3b 3b 20 49 4d 50 | Y.OF.ANY.KIND,.EXPRESS.OR.;;.IMP |
| 0f40 | 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 | LIED,.INCLUDING.BUT.NOT.LIMITED. |
| 0f60 | 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 | TO.THE.WARRANTIES.OF.MERCHANTABI |
| 0f80 | 4c 49 54 59 2c 0a 3b 3b 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 | LITY,.;;.FITNESS.FOR.A.PARTICULA |
| 0fa0 | 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 | R.PURPOSE.AND.NONINFRINGEMENT..I |
| 0fc0 | 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 3b 3b 20 41 55 54 48 4f 52 53 20 | N.NO.EVENT.SHALL.THE.;;.AUTHORS. |
| 0fe0 | 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 | OR.COPYRIGHT.HOLDERS.BE.LIABLE.F |
| 1000 | 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 3b | OR.ANY.CLAIM,.DAMAGES.OR.OTHER.; |
| 1020 | 3b 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f | ;.LIABILITY,.WHETHER.IN.AN.ACTIO |
| 1040 | 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 | N.OF.CONTRACT,.TORT.OR.OTHERWISE |
| 1060 | 2c 20 41 52 49 53 49 4e 47 0a 3b 3b 20 46 52 4f 4d 2c 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 | ,.ARISING.;;.FROM,.OUT.OF.OR.IN. |
| 1080 | 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 | CONNECTION.WITH.THE.SOFTWARE.OR. |
| 10a0 | 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 0a 3b 3b 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 | THE.USE.OR.OTHER.;;.DEALINGS.IN. |
| 10c0 | 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 3b 3b 3b 20 43 72 65 64 69 74 73 3a 0a 0a 3b 3b 20 | THE.SOFTWARE...;;;.Credits:..;;. |
| 10e0 | 20 20 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 74 68 61 6e 6b | ..The.author.would.like.to.thank |
| 1100 | 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 65 70 6f 72 74 | .the.following.people.for.report |
| 1120 | 69 6e 67 0a 3b 3b 20 20 20 62 75 67 73 2c 20 74 65 73 74 69 6e 67 2c 20 73 75 67 67 65 73 74 69 | ing.;;...bugs,.testing,.suggesti |
| 1140 | 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 |
| 1160 | 6e 74 73 3a 0a 3b 3b 20 20 20 20 20 42 65 72 6e 68 61 72 64 20 42 61 72 64 65 2c 20 4a 6f 6e 61 | nts:.;;.....Bernhard.Barde,.Jona |
| 1180 | 74 68 61 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 | than.Craven,.Alberto.Petrofsky,. |
| 11a0 | 41 6c 61 6e 20 53 68 75 74 6b 6f 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b | Alan.Shutko..;;;.Commentary:..;; |
| 11c0 | 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 73 20 61 20 62 61 73 69 63 20 69 | .This.package.provides.a.basic.i |
| 11e0 | 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 2c 20 38 20 5a | nterpreter.for.version.3,.5,.8.Z |
| 1200 | 2d 63 6f 64 65 0a 3b 3b 20 73 74 6f 72 79 20 66 69 6c 65 73 20 61 73 20 67 65 6e 65 72 61 74 65 | -code.;;.story.files.as.generate |
| 1220 | 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 61 6e | d.by.Inform.(C).Graham.Nelson.an |
| 1240 | 64 20 49 6e 66 6f 63 6f 6d 2e 0a 0a 3b 3b 20 49 66 20 79 6f 75 20 65 6e 63 6f 75 6e 74 65 72 20 | d.Infocom...;;.If.you.encounter. |
| 1260 | 61 20 62 75 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 | a.bug.please.send.a.report.to.Pe |
| 1280 | 74 65 72 20 49 6c 62 65 72 67 20 61 74 0a 3b 3b 20 70 65 74 65 72 2e 69 6c 62 65 72 67 40 67 6d | ter.Ilberg.at.;;.peter.ilberg@gm |
| 12a0 | 61 69 6c 2e 63 6f 6d 2e 20 54 68 61 6e 6b 20 79 6f 75 21 0a 0a 3b 3b 20 54 6f 20 70 6c 61 79 20 | ail.com..Thank.you!..;;.To.play. |
| 12c0 | 61 20 73 74 6f 72 79 20 66 69 6c 65 20 73 69 6d 70 6c 79 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c | a.story.file.simply.type.M-x.mal |
| 12e0 | 79 6f 6e 20 61 6e 64 20 65 6e 74 65 72 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 0a 3b 3b | yon.and.enter.the.path.to.the.;; |
| 1300 | 20 73 74 6f 72 79 20 66 69 6c 65 2e 20 49 66 20 61 6e 79 74 68 69 6e 67 20 67 6f 65 73 20 77 72 | .story.file..If.anything.goes.wr |
| 1320 | 6f 6e 67 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 | ong.and.you.want.to.manually.cle |
| 1340 | 61 6e 0a 3b 3b 20 75 70 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 2e 20 49 | an.;;.up.type.M-x.malyon-quit..I |
| 1360 | 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 62 61 63 6b 20 | n.addition,.you.can.switch.back. |
| 1380 | 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a 3b 3b 20 70 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69 | to.a.game.in.;;.progress.by.typi |
| 13a0 | 6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2e 0a 0a 3b 3b 20 41 20 6e 6f 74 | ng.M-x.malyon-restore...;;.A.not |
| 13c0 | 65 20 6f 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 73 61 76 65 64 20 67 61 6d 65 20 73 74 | e.on.the.format.of.saved.game.st |
| 13e0 | 61 74 65 73 3a 0a 0a 3b 3b 20 41 73 20 6f 66 20 76 65 72 73 69 6f 6e 20 31 2e 30 2c 20 4d 61 6c | ates:..;;.As.of.version.1.0,.Mal |
| 1400 | 79 6f 6e 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 69 6c 65 20 66 6f | yon.supports.the.quetzal.file.fo |
| 1420 | 72 6d 61 74 20 66 6f 72 20 73 61 76 65 64 0a 3b 3b 20 67 61 6d 65 73 2e 20 53 75 70 70 6f 72 74 | rmat.for.saved.;;.games..Support |
| 1440 | 20 66 6f 72 20 74 68 69 73 20 66 6f 72 6d 61 74 20 72 65 71 75 69 72 65 64 20 63 68 61 6e 67 65 | .for.this.format.required.change |
| 1460 | 73 20 74 6f 20 73 65 76 65 72 61 6c 20 69 6e 74 65 72 6e 61 6c 0a 3b 3b 20 64 61 74 61 20 73 74 | s.to.several.internal.;;.data.st |
| 1480 | 72 75 63 74 75 72 65 73 20 28 73 74 61 63 6b 20 66 72 61 6d 65 73 20 61 6e 64 20 63 61 74 63 68 | ructures.(stack.frames.and.catch |
| 14a0 | 2d 74 68 72 6f 77 29 20 74 68 61 74 20 61 72 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 0a 3b 3b | -throw).that.are.incompatible.;; |
| 14c0 | 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 55 6e | .with.the.old.implementation..Un |
| 14e0 | 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 74 68 65 20 6f 6c 64 20 66 69 6c 65 20 66 6f 72 6d 61 74 | fortunately,.the.old.file.format |
| 1500 | 20 66 6f 72 0a 3b 3b 20 73 61 76 65 64 20 67 61 6d 65 73 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f | .for.;;.saved.games.cannot.be.co |
| 1520 | 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 71 75 65 74 7a 61 6c 2e 0a 0a 3b 3b 20 46 6f 72 20 62 61 | nverted.into.quetzal...;;.For.ba |
| 1540 | 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 68 6f 77 65 76 65 72 2c 20 | ckwards.compatibility,.however,. |
| 1560 | 4d 61 6c 79 6f 6e 20 73 74 69 6c 6c 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 6f 6c 64 0a 3b 3b | Malyon.still.supports.the.old.;; |
| 1580 | 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 20 41 6e 64 20 79 6f 75 20 63 61 6e 20 63 6f 6e 74 69 6e | .file.format..And.you.can.contin |
| 15a0 | 75 65 20 74 6f 20 70 6c 61 79 20 79 6f 75 72 20 6f 6c 64 20 67 61 6d 65 20 73 74 61 74 65 73 2e | ue.to.play.your.old.game.states. |
| 15c0 | 0a 0a 3b 3b 20 42 65 63 61 75 73 65 20 6f 66 20 74 68 65 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c | ..;;.Because.of.the.incompatibil |
| 15e0 | 69 74 79 20 6f 66 20 74 68 65 20 74 77 6f 20 66 69 6c 65 20 66 6f 72 6d 61 74 73 2c 20 4d 61 6c | ity.of.the.two.file.formats,.Mal |
| 1600 | 79 6f 6e 20 6e 6f 77 0a 3b 3b 20 72 75 6e 73 2c 20 61 73 20 66 6f 6c 6c 6f 77 73 2c 20 69 6e 20 | yon.now.;;.runs,.as.follows,.in. |
| 1620 | 65 69 74 68 65 72 20 6f 66 20 74 77 6f 20 6d 6f 64 65 73 3a 20 71 75 65 74 7a 61 6c 20 61 6e 64 | either.of.two.modes:.quetzal.and |
| 1640 | 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 0a 3b 3b 20 2d 20 69 6e 20 71 75 65 74 7a 61 6c | .compatibility...;;.-.in.quetzal |
| 1660 | 20 6d 6f 64 65 2c 20 67 61 6d 65 20 73 74 61 74 65 73 20 61 72 65 20 73 61 76 65 64 20 69 6e 20 | .mode,.game.states.are.saved.in. |
| 1680 | 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 0a 3b 3b 20 2d 20 69 6e 20 63 6f 6d 70 61 74 69 62 69 | quetzal.format.;;.-.in.compatibi |
| 16a0 | 6c 69 74 79 20 6d 6f 64 65 2c 20 67 61 6d 65 73 20 73 74 61 74 65 73 20 61 72 65 20 73 61 76 65 | lity.mode,.games.states.are.save |
| 16c0 | 64 20 69 6e 20 74 68 65 20 6f 6c 64 20 66 6f 72 6d 61 74 0a 3b 3b 20 2d 20 6c 6f 61 64 69 6e 67 | d.in.the.old.format.;;.-.loading |
| 16e0 | 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 69 6e 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 20 | .a.game.state.in.quetzal.format. |
| 1700 | 73 77 69 74 63 68 65 73 20 74 6f 20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 0a 3b 3b 20 2d 20 6c 6f | switches.to.quetzal.mode.;;.-.lo |
| 1720 | 61 64 69 6e 67 20 61 6e 20 6f 6c 64 20 67 61 6d 65 20 73 74 61 74 65 20 73 77 69 74 63 68 65 73 | ading.an.old.game.state.switches |
| 1740 | 20 74 6f 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6d 6f 64 65 0a 3b 3b 20 2d 20 71 75 65 74 | .to.compatibility.mode.;;.-.quet |
| 1760 | 7a 61 6c 20 6d 6f 64 65 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 0a | zal.mode.is.the.default.setting. |
| 1780 | 0a 3b 3b 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 4d 61 6c 79 6f 6e 20 77 69 6c 6c 20 | .;;.In.other.words,.Malyon.will. |
| 17a0 | 6f 6e 6c 79 20 75 73 65 20 74 68 65 20 6f 6c 64 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 66 20 | only.use.the.old.file.format.if. |
| 17c0 | 79 6f 75 27 76 65 0a 3b 3b 20 72 65 73 74 6f 72 65 64 20 61 20 67 61 6d 65 20 73 74 61 74 65 20 | you've.;;.restored.a.game.state. |
| 17e0 | 73 61 76 65 64 20 69 6e 20 74 68 65 20 6f 6c 64 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a 0a 3b | saved.in.the.old.file.format...; |
| 1800 | 3b 20 45 6e 6a 6f 79 21 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 3b 3b 20 67 6c 6f 62 61 6c 20 76 | ;.Enjoy!..;;;.Code:..;;.global.v |
| 1820 | 61 72 69 61 62 6c 65 73 20 2d 20 6d 6f 76 65 64 20 68 65 72 65 20 74 6f 20 61 70 70 65 61 73 65 | ariables.-.moved.here.to.appease |
| 1840 | 20 74 68 65 20 62 79 74 65 2d 63 6f 64 65 20 63 6f 6d 70 69 6c 65 72 0a 0a 3b 3b 20 72 65 71 75 | .the.byte-code.compiler..;;.requ |
| 1860 | 69 72 65 6d 65 6e 74 73 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 | irements..(require.'cl-lib).(req |
| 1880 | 75 69 72 65 20 27 62 69 6e 64 61 74 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f 6e 2d | uire.'bindat)..(defconst.malyon- |
| 18a0 | 76 65 72 73 69 6f 6e 20 22 31 2e 32 22 20 22 4d 61 6c 79 6f 6e 20 76 65 72 73 69 6f 6e 20 6e 75 | version."1.2"."Malyon.version.nu |
| 18c0 | 6d 62 65 72 22 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 6d 61 6c 79 6f 6e 20 6e 69 6c 0a 20 20 22 | mber")..(defgroup.malyon.nil..." |
| 18e0 | 50 6c 61 79 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 | Play.Z-machine.interactive.ficti |
| 1900 | 6f 6e 20 67 61 6d 65 73 2e 22 0a 20 20 3a 70 72 65 66 69 78 20 22 6d 61 6c 79 6f 6e 2d 22 0a 20 | on.games."...:prefix."malyon-".. |
| 1920 | 20 3a 67 72 6f 75 70 20 27 67 61 6d 65 73 29 0a 0a 3b 3b 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 | .:group.'games)..;;.customizable |
| 1940 | 20 76 61 72 69 61 62 6c 65 73 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6d 61 6c 79 6f 6e 2d 73 74 | .variables..(defcustom.malyon-st |
| 1960 | 6f 72 69 65 73 2d 64 69 72 65 63 74 6f 72 79 20 6e 69 6c 0a 20 20 22 54 68 65 20 64 65 66 61 75 | ories-directory.nil..."The.defau |
| 1980 | 6c 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 73 74 6f 72 79 20 66 | lt.directory.to.look.for.story.f |
| 19a0 | 69 6c 65 73 2e 0a 4e 69 6c 20 6d 65 61 6e 73 20 75 73 65 20 74 68 65 20 62 75 66 66 65 72 27 73 | iles..Nil.means.use.the.buffer's |
| 19c0 | 20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f 72 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 | .default.directory."...:type.'(c |
| 19e0 | 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 6e 69 6c 29 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 3a | hoice.(const.nil).directory)...: |
| 1a00 | 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 0a 3b 3b 20 73 74 6f 72 79 20 66 69 6c 65 20 69 | group.'malyon)...;;.story.file.i |
| 1a20 | 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 73 74 6f 72 79 | nformation..(defvar.malyon-story |
| 1a40 | 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 | -file-name.nil..."The.name.of.th |
| 1a60 | 65 20 73 74 6f 72 79 20 66 69 6c 65 20 62 65 69 6e 67 20 65 78 65 63 75 74 65 64 2e 22 29 0a 0a | e.story.file.being.executed.").. |
| 1a80 | 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 | (defvar.malyon-story-file.nil... |
| 1aa0 | 22 54 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 77 68 69 63 68 20 69 73 20 63 75 72 72 65 6e 74 | "The.story.file.which.is.current |
| 1ac0 | 6c 79 20 62 65 69 6e 67 20 72 75 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d | ly.being.run.")..(defvar.malyon- |
| 1ae0 | 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 6f 72 79 20 66 | story-version.nil..."The.story.f |
| 1b00 | 69 6c 65 20 76 65 72 73 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 | ile.version.")..(defvar.malyon-s |
| 1b20 | 75 70 70 6f 72 74 65 64 2d 76 65 72 73 69 6f 6e 73 20 27 28 33 20 35 20 38 29 0a 20 20 22 41 20 | upported-versions.'(3.5.8)..."A. |
| 1b40 | 6c 69 73 74 20 6f 66 20 73 75 70 70 6f 72 74 65 64 20 73 74 6f 72 79 20 66 69 6c 65 20 76 65 72 | list.of.supported.story.file.ver |
| 1b60 | 73 69 6f 6e 73 2e 22 29 0a 0a 3b 3b 20 73 74 61 74 75 73 20 61 6e 64 20 74 72 61 6e 73 63 72 69 | sions.")..;;.status.and.transcri |
| 1b80 | 70 74 20 62 75 66 66 65 72 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 | pt.buffers..(defvar.malyon-trans |
| 1ba0 | 63 72 69 70 74 2d 62 75 66 66 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 6d 61 69 6e 20 74 72 61 | cript-buffer.nil..."The.main.tra |
| 1bc0 | 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 | nscript.buffer.of.the.story.file |
| 1be0 | 20 65 78 65 63 75 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 74 72 | .execution.")..(defvar.malyon-tr |
| 1c00 | 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 20 6e 69 6c 0a 20 20 22 | anscript-buffer-buffered.nil..." |
| 1c20 | 49 73 20 6f 75 74 70 75 74 20 69 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 | Is.output.in.the.transcript.buff |
| 1c40 | 65 72 20 62 75 66 66 65 72 65 64 3f 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 | er.buffered?")..(defvar.malyon-s |
| 1c60 | 74 61 74 75 73 2d 62 75 66 66 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 61 74 75 73 20 62 | tatus-buffer.nil..."The.status.b |
| 1c80 | 61 72 20 62 75 66 66 65 72 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 20 65 78 65 63 | ar.buffer.of.the.story.file.exec |
| 1ca0 | 75 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d | ution.")..(defvar.malyon-status- |
| 1cc0 | 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f | buffer-lines.nil..."The.number.o |
| 1ce0 | 66 20 6c 69 6e 65 73 20 69 6e 20 74 68 65 20 73 74 61 74 75 73 20 62 61 72 20 62 75 66 66 65 72 | f.lines.in.the.status.bar.buffer |
| 1d00 | 2e 22 29 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 | .")..(defvar.malyon-status-buffe |
| 1d20 | 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e 69 6c 0a 20 20 22 49 66 20 74 68 65 20 6e 75 | r-delayed-split.nil..."If.the.nu |
| 1d40 | 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 69 6e 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 | mber.of.lines.in.the.status.buff |
| 1d60 | 65 72 20 69 73 20 72 65 64 75 63 65 64 2c 0a 74 68 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 | er.is.reduced,.the.window.config |
| 1d80 | 75 72 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 63 68 61 6e 67 65 64 20 69 6d 6d 65 64 69 61 74 65 | uration.is.not.changed.immediate |
| 1da0 | 6c 79 2e 20 49 74 0a 69 73 20 63 68 61 6e 67 65 64 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 74 | ly..It.is.changed.after.the.next |
| 1dc0 | 20 74 75 72 6e 20 28 72 65 61 64 20 6f 72 20 72 65 61 64 5f 63 68 61 72 29 2e 22 29 0a 0a 28 64 | .turn.(read.or.read_char).")..(d |
| 1de0 | 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 70 6f 69 6e 74 | efvar.malyon-status-buffer-point |
| 1e00 | 20 6e 69 6c 0a 20 20 22 54 68 65 20 70 6f 69 6e 74 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 | .nil..."The.point.location.in.th |
| 1e20 | 65 20 73 74 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 | e.status.bar.buffer.")..(defvar. |
| 1e40 | 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 20 37 32 0a 20 20 22 4d 61 78 69 6d 75 6d 20 | malyon-max-column.72..."Maximum. |
| 1e60 | 63 6f 6c 75 6d 6e 20 66 6f 72 20 74 65 78 74 20 64 69 73 70 6c 61 79 2e 22 29 0a 0a 3b 3b 20 77 | column.for.text.display.")..;;.w |
| 1e80 | 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e 74 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e | indow.management..(defvar.malyon |
| 1ea0 | 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 54 68 65 | -window-configuration.nil..."The |
| 1ec0 | 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 | .current.window.configuration.of |
| 1ee0 | 20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 29 0a 0a 28 64 65 66 | .the.malyon.interpreter.")..(def |
| 1f00 | 76 61 72 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 20 6e 69 6c 0a 20 20 | var.malyon-current-window.nil... |
| 1f20 | 22 54 68 65 20 63 75 72 72 65 6e 74 6c 79 20 61 63 74 69 76 65 20 77 69 6e 64 6f 77 20 66 6f 72 | "The.currently.active.window.for |
| 1f40 | 20 74 65 78 74 20 6f 75 74 70 75 74 2e 22 29 0a 0a 3b 3b 20 7a 20 6d 61 63 68 69 6e 65 20 72 65 | .text.output.")..;;.z.machine.re |
| 1f60 | 67 69 73 74 65 72 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6e 69 | gisters..(defvar.malyon-stack.ni |
| 1f80 | 6c 0a 20 20 22 54 68 65 20 73 74 61 63 6b 20 6f 66 20 74 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e | l..."The.stack.of.the.z.machine. |
| 1fa0 | 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 | ")..(defvar.malyon-stack-pointer |
| 1fc0 | 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 | .nil..."The.stack.pointer.of.the |
| 1fe0 | 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 6e 2d 66 72 | .z.machine.")..(defvar.malyon-fr |
| 2000 | 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 20 66 72 61 6d 65 20 70 6f 69 | ame-pointer.nil..."The.frame.poi |
| 2020 | 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 65 66 76 61 | nter.of.the.z.machine.")..(defva |
| 2040 | 72 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 6e 69 6c | r.malyon-instruction-pointer.nil |
| 2060 | 0a 20 20 22 54 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 | ..."The.instruction.pointer.of.t |
| 2080 | 68 65 20 7a 20 6d 61 63 68 69 6e 65 2e 22 29 0a 0a 3b 3b 20 67 61 6d 65 20 66 69 6c 65 20 72 65 | he.z.machine.")..;;.game.file.re |
| 20a0 | 6c 61 74 65 64 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 28 64 65 66 76 61 72 20 | lated.global.variables..(defvar. |
| 20c0 | 6d 61 6c 79 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 20 6e 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 | malyon-score-game.nil..."A.flag. |
| 20e0 | 69 6e 64 69 63 61 74 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 69 73 20 73 74 6f 72 79 20 75 73 | indicating.whether.this.story.us |
| 2100 | 65 73 20 73 63 6f 72 65 20 6f 72 20 74 69 6d 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c | es.score.or.time.")..(defvar.mal |
| 2120 | 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 20 6e 69 6c 0a 20 20 22 54 68 65 | yon-packed-multiplier.nil..."The |
| 2140 | 20 61 6d 6f 75 6e 74 20 62 79 20 77 68 69 63 68 20 70 61 63 6b 65 64 20 61 64 64 72 65 73 73 65 | .amount.by.which.packed.addresse |
| 2160 | 73 20 61 72 65 20 6d 75 6c 74 69 70 6c 69 65 64 20 74 6f 20 67 65 74 20 62 79 74 65 0a 61 64 64 | s.are.multiplied.to.get.byte.add |
| 2180 | 72 65 73 73 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c | resses.")..(defvar.malyon-global |
| 21a0 | 2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 | -variables.nil..."A.pointer.to.t |
| 21c0 | 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 | he.global.variable.section.in.th |
| 21e0 | 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d | e.story.file.")..(defvar.malyon- |
| 2200 | 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 | abbreviations.nil..."A.pointer.t |
| 2220 | 6f 20 74 68 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 | o.the.abbreviations.in.the.story |
| 2240 | 20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 | .file.")..(defvar.malyon-alphabe |
| 2260 | 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 7a 20 6d 61 63 68 69 6e 65 27 73 20 74 65 78 74 20 61 6c | t.nil..."The.z.machine's.text.al |
| 2280 | 70 68 61 62 65 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 | phabet.")..(defvar.malyon-whites |
| 22a0 | 70 61 63 65 20 6e 69 6c 0a 20 20 22 41 20 73 74 72 69 6e 67 20 6f 66 20 77 68 69 74 65 73 70 61 | pace.nil..."A.string.of.whitespa |
| 22c0 | 63 65 20 63 68 61 72 61 63 74 65 72 73 20 72 65 63 6f 67 6e 69 7a 65 64 20 62 79 20 74 68 65 20 | ce.characters.recognized.by.the. |
| 22e0 | 69 6e 74 65 72 70 72 65 74 65 72 2e 22 29 0a 0a 3b 3b 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 73 | interpreter.")..;;.object.tables |
| 2300 | 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 62 6c 65 20 6e 69 | ..(defvar.malyon-object-table.ni |
| 2320 | 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 | l..."A.pointer.to.the.object.tab |
| 2340 | 6c 65 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 | le.in.the.story.file.")..(defvar |
| 2360 | 20 6d 61 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 | .malyon-object-table-entry-size. |
| 2380 | 6e 69 6c 0a 20 20 22 54 68 65 20 73 69 7a 65 20 6f 66 20 6f 6e 65 20 65 6e 74 72 79 20 69 6e 20 | nil..."The.size.of.one.entry.in. |
| 23a0 | 74 68 65 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c | the.object.table.")..(defvar.mal |
| 23c0 | 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 20 6e 69 6c 0a 20 20 22 54 68 65 | yon-object-properties.nil..."The |
| 23e0 | 20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 70 65 72 74 69 65 73 20 70 65 72 20 6f 62 6a 65 63 74 | .number.of.properties.per.object |
| 2400 | 20 6d 69 6e 75 73 20 6f 6e 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 62 | .minus.one.")..(defvar.malyon-ob |
| 2420 | 6a 65 63 74 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 | ject-property-offset.nil..."The. |
| 2440 | 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 61 | byte.offset.of.the.properties.ta |
| 2460 | 62 6c 65 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 2e 22 29 0a 0a 3b 3b 20 64 69 63 74 69 6f 6e | ble.in.the.object.")..;;.diction |
| 2480 | 61 72 69 65 73 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 | aries..(defvar.malyon-dictionary |
| 24a0 | 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 64 69 63 74 69 6f 6e | .nil..."A.pointer.to.the.diction |
| 24c0 | 61 72 79 20 6f 66 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 | ary.of.the.story.file.")..(defva |
| 24e0 | 72 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 | r.malyon-dictionary-entry-length |
| 2500 | 20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 61 20 64 69 63 74 69 6f 6e 61 | .nil..."The.length.of.a.dictiona |
| 2520 | 72 79 20 65 6e 74 72 79 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 | ry.entry.")..(defvar.malyon-dict |
| 2540 | 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e 74 72 69 65 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 6e 75 | ionary-num-entries.nil..."The.nu |
| 2560 | 6d 62 65 72 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 69 65 73 2e 22 29 0a 0a 28 | mber.of.dictionary.entries.")..( |
| 2580 | 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 65 6e 74 72 69 65 73 | defvar.malyon-dictionary-entries |
| 25a0 | 20 6e 69 6c 0a 20 20 22 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 64 | .nil..."A.pointer.to.the.first.d |
| 25c0 | 69 63 74 69 6f 6e 61 72 79 20 65 6e 74 72 79 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 | ictionary.entry.")..(defvar.maly |
| 25e0 | 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 20 6e 69 6c 0a 20 20 | on-dictionary-word-length.nil... |
| 2600 | 22 54 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 | "The.length.of.a.dictionary.word |
| 2620 | 2e 22 29 0a 0a 3b 3b 20 67 61 6d 65 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 0a | .")..;;.game.state.information.. |
| 2640 | 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 2d 72 65 73 74 61 72 | (defvar.malyon-game-state-restar |
| 2660 | 74 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 6f 72 20 69 | t.nil..."The.machine.state.for.i |
| 2680 | 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 72 65 73 74 61 72 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 | mplementing.restart.")..(defvar. |
| 26a0 | 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 20 6e 69 6c 0a 20 20 22 54 68 | malyon-game-state-undo.nil..."Th |
| 26c0 | 65 20 6d 61 63 68 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 | e.machine.state.for.implementing |
| 26e0 | 20 75 6e 64 6f 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 | .undo.")..(defvar.malyon-game-st |
| 2700 | 61 74 65 2d 71 75 65 74 7a 61 6c 20 74 0a 20 20 22 53 74 6f 72 65 20 67 61 6d 65 20 73 74 61 74 | ate-quetzal.t..."Store.game.stat |
| 2720 | 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 71 75 65 74 7a 61 6c 2e 22 29 0a 0a 3b 3b | e.information.for.quetzal.")..;; |
| 2740 | 20 76 61 72 69 6f 75 73 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 | .various..(defvar.malyon-current |
| 2760 | 2d 66 61 63 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 65 6e 74 20 66 61 63 65 20 69 6e | -face.nil..."The.current.face.in |
| 2780 | 20 77 68 69 63 68 20 74 6f 20 64 69 73 70 6c 61 79 20 74 65 78 74 2e 22 29 0a 0a 28 64 65 66 76 | .which.to.display.text.")..(defv |
| 27a0 | 61 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 | ar.malyon-last-cursor-position-a |
| 27c0 | 66 74 65 72 2d 69 6e 70 75 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 6c 61 73 74 20 63 75 72 73 6f | fter-input.nil..."The.last.curso |
| 27e0 | 72 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 72 65 61 64 69 6e 67 20 69 6e 70 75 74 20 66 | r.position.after.reading.input.f |
| 2800 | 72 6f 6d 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e 22 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 74 72 | rom.the.keyboard.")..;;.error.tr |
| 2820 | 61 70 70 69 6e 67 0a 0a 28 64 65 66 6d 61 63 72 6f 20 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e | apping..(defmacro.malyon-hide-in |
| 2840 | 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 28 6d 65 73 73 61 67 65 20 62 6f 64 79 66 6f 72 6d 29 | ternal-errors.(message.bodyform) |
| 2860 | 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 46 4f 52 4d 2c 20 73 75 62 73 74 69 74 75 74 | ..."Evaluate.BODYFORM,.substitut |
| 2880 | 69 6e 67 20 4d 45 53 53 41 47 45 20 66 6f 72 20 61 6e 79 20 65 72 72 6f 72 2e 22 0a 20 20 28 64 | ing.MESSAGE.for.any.error."...(d |
| 28a0 | 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 63 6f 6e 64 69 74 69 6f 6e | eclare.(indent.1))...`(condition |
| 28c0 | 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 2c 62 6f 64 79 66 6f 72 6d 0a 20 20 20 20 28 65 | -case.nil.......,bodyform.....(e |
| 28e0 | 72 72 6f 72 0a 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 2c 6d | rror......(malyon-fatal-error.,m |
| 2900 | 65 73 73 61 67 65 29 29 29 29 0a 0a 3b 3b 20 77 68 65 6e 20 64 65 62 75 67 67 69 6e 67 2c 20 75 | essage))))..;;.when.debugging,.u |
| 2920 | 6e 63 6f 6d 6d 65 6e 74 20 74 68 69 73 20 4e 4f 50 20 76 65 72 73 69 6f 6e 20 6f 66 20 6d 61 6c | ncomment.this.NOP.version.of.mal |
| 2940 | 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 0a 3b 28 64 65 66 6d 61 | yon-hide-internal-errors.;(defma |
| 2960 | 63 72 6f 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 | cro.malyon-hide-internal-errors. |
| 2980 | 28 6d 73 67 20 62 6f 64 79 29 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 20 | (msg.body).(declare.(indent.1)). |
| 29a0 | 62 6f 64 79 29 0a 0a 3b 3b 20 69 6e 74 65 72 61 63 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 73 0a | body)..;;.interactive.functions. |
| 29c0 | 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 20 28 66 69 | ;;;###autoload.(defun.malyon.(fi |
| 29e0 | 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 50 6c 61 79 20 61 20 5a 2d 6d 61 63 68 69 6e 65 20 69 6e 74 | le-name)..."Play.a.Z-machine.int |
| 2a00 | 65 72 61 63 74 69 76 65 20 66 69 63 74 69 6f 6e 20 67 61 6d 65 2e 0a 49 66 20 61 20 67 61 6d 65 | eractive.fiction.game..If.a.game |
| 2a20 | 20 69 73 20 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 67 61 | .is.in.progress,.restores.the.ga |
| 2a40 | 6d 65 27 73 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 4f 74 68 65 72 | me's.window.configuration..Other |
| 2a60 | 77 69 73 65 2c 20 79 6f 75 20 61 72 65 20 70 72 6f 6d 70 74 65 64 20 66 6f 72 20 61 20 73 74 6f | wise,.you.are.prompted.for.a.sto |
| 2a80 | 72 79 20 66 69 6c 65 20 74 6f 20 6c 6f 61 64 2c 20 77 68 69 63 68 20 6d 61 79 20 62 65 0a 65 69 | ry.file.to.load,.which.may.be.ei |
| 2aa0 | 74 68 65 72 20 61 20 72 61 77 20 5a 2d 63 6f 64 65 20 66 69 6c 65 20 6f 72 20 6f 6e 65 20 70 61 | ther.a.raw.Z-code.file.or.one.pa |
| 2ac0 | 63 6b 61 67 65 64 20 69 6e 20 61 20 42 6c 6f 72 62 20 66 69 6c 65 2e 0a 5a 2d 63 6f 64 65 20 76 | ckaged.in.a.Blorb.file..Z-code.v |
| 2ae0 | 65 72 73 69 6f 6e 73 20 33 2c 20 35 2c 20 61 6e 64 20 38 20 61 72 65 20 73 75 70 70 6f 72 74 65 | ersions.3,.5,.and.8.are.supporte |
| 2b00 | 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74 0a 20 20 20 20 | d."...(interactive....(list..... |
| 2b20 | 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 20 20 20 20 | (if.malyon-story-file.nil....... |
| 2b40 | 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 53 74 6f 72 79 20 66 69 6c 65 20 6e 61 6d 65 | (read-file-name."Story.file.name |
| 2b60 | 3a 20 22 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 69 6c | :.".malyon-stories-directory.nil |
| 2b80 | 20 74 29 29 29 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20 | .t))))...(if.malyon-story-file.. |
| 2ba0 | 20 20 20 20 20 28 69 66 20 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 | .....(if.file-name...........(er |
| 2bc0 | 72 6f 72 20 22 59 6f 75 20 61 72 65 20 61 6c 72 65 61 64 79 20 70 6c 61 79 69 6e 67 20 61 20 67 | ror."You.are.already.playing.a.g |
| 2be0 | 61 6d 65 2e 22 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 29 29 | ame.").........(malyon-restore)) |
| 2c00 | 0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 77 65 27 72 65 20 73 74 61 72 74 69 6e | .....;;.Otherwise,.we're.startin |
| 2c20 | 67 20 61 20 6e 65 77 20 67 61 6d 65 3a 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 | g.a.new.game:.....(cond......((s |
| 2c40 | 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 2e 5c 5c 28 3f 3a 7a 3f 62 6c 6f 72 62 5c 5c 7c 62 | tring-match."\\.\\(?:z?blorb\\|b |
| 2c60 | 6c 62 5c 5c 7c 7a 6c 62 5c 5c 29 24 22 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 | lb\\|zlb\\)$".file-name).......( |
| 2c80 | 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72 62 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 | malyon-load-blorb-file.file-name |
| 2ca0 | 29 29 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 7a 5b 33 35 38 | ))......((string-match."\\.z[358 |
| 2cc0 | 5d 24 22 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 | ]$".file-name).......(malyon-hid |
| 2ce0 | 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 6c 6f 61 64 69 6e 67 20 6f 66 20 73 74 | e-internal-errors."loading.of.st |
| 2d00 | 6f 72 79 20 66 69 6c 65 20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f | ory.file.failed.".........(malyo |
| 2d20 | 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 | n-load-story-file.file-name))).. |
| 2d40 | 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 25 73 20 69 73 20 6e 6f 74 20 61 | ....(t.......(error."%s.is.not.a |
| 2d60 | 20 76 65 72 73 69 6f 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 | .version.3,.5,.or.8.story.file." |
| 2d80 | 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 | .file-name))).....(setq.malyon-s |
| 2da0 | 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d | tory-version.(aref.malyon-story- |
| 2dc0 | 66 69 6c 65 20 30 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 71 20 6d 61 6c 79 6f 6e | file.0)).....(cond.((memq.malyon |
| 2de0 | 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 73 75 70 70 6f 72 74 65 64 2d | -story-version.malyon-supported- |
| 2e00 | 76 65 72 73 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 | versions)............(malyon-hid |
| 2e20 | 65 2d 69 6e 74 65 72 6e 61 6c 2d 65 72 72 6f 72 73 20 22 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f | e-internal-errors."initializatio |
| 2e40 | 6e 20 6f 66 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 20 20 | n.of.interpreter.failed."....... |
| 2e60 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 29 29 0a 20 20 20 20 | .......(malyon-initialize))..... |
| 2e80 | 20 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 0a 20 20 20 | .......(malyon-interpreter)).... |
| 2ea0 | 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 | .......(t............(message."% |
| 2ec0 | 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 20 38 20 73 74 | s.is.not.a.version.3,.5,.or.8.st |
| 2ee0 | 6f 72 79 20 66 69 6c 65 2e 22 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 | ory.file.".file-name)........... |
| 2f00 | 20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | .(malyon-cleanup)))))..(defun.ma |
| 2f20 | 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20 74 68 65 20 73 | lyon-restore.()..."Restore.the.s |
| 2f40 | 61 76 65 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 | ave.window.configuration.for.the |
| 2f60 | 20 69 6e 74 65 72 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 | .interpreter."...(interactive).. |
| 2f80 | 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 20 22 72 | .(malyon-hide-internal-errors."r |
| 2fa0 | 65 73 74 6f 72 69 6e 67 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 61 | estoring.window.configuration.fa |
| 2fc0 | 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 6d 61 6c 79 6f 6e 2d | iled.".....(progn.......(malyon- |
| 2fe0 | 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 0a 20 20 | restore-window-configuration)... |
| 3000 | 20 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 | ....(malyon-adjust-transcript))) |
| 3020 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 20 28 29 0a 20 20 22 45 78 69 74 | )..(defun.malyon-quit.()..."Exit |
| 3040 | 20 74 68 65 20 6d 61 6c 79 6f 6e 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 69 6e 74 | .the.malyon.interpreter."...(int |
| 3060 | 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c | eractive)...(if.malyon-story-fil |
| 3080 | 65 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 6c 79 6f 6e 2d 72 | e.......(progn.........(malyon-r |
| 30a0 | 65 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 61 6c 79 6f 6e 2d 79 65 73 2d | estore).........(if.(malyon-yes- |
| 30c0 | 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 22 44 6f 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 | or-no-p-minibuf."Do.you.really.w |
| 30e0 | 61 6e 74 20 74 6f 20 71 75 69 74 3f 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | ant.to.quit?.").............(mal |
| 3100 | 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | yon-cleanup)))))..;;;###autoload |
| 3120 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 20 28 29 0a 20 20 22 54 68 69 73 20 6d | .(defun.malyon-mode.()..."This.m |
| 3140 | 6f 64 65 20 70 72 6f 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 | ode.provides.a.basic.interpreter |
| 3160 | 20 66 6f 72 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 38 20 5a 2d 63 6f 64 65 0a 73 74 6f 72 | .for.version.3,.5,.8.Z-code.stor |
| 3180 | 79 20 66 69 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 | y.files.as.generated.by.Inform.( |
| 31a0 | 43 29 20 47 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 4e | C).Graham.Nelson.and.Infocom...N |
| 31c0 | 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 73 20 62 79 20 6e 6f 20 6d | ote.that.this.package.is.by.no.m |
| 31e0 | 65 61 6e 73 20 63 6f 6d 70 6c 65 74 65 20 61 6e 64 20 62 75 67 20 66 72 65 65 2e 0a 49 66 20 79 | eans.complete.and.bug.free..If.y |
| 3200 | 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 20 61 | ou.encounter.a.bug.please.send.a |
| 3220 | 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 70 65 74 65 72 | .report.to.Peter.Ilberg.at.peter |
| 3240 | 2e 69 6c 62 65 72 67 40 6e 61 74 69 6e 73 74 2e 63 6f 6d 2e 20 54 68 61 6e 6b 20 79 6f 75 21 0a | .ilberg@natinst.com..Thank.you!. |
| 3260 | 0a 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 6c 65 20 74 79 70 | .To.play.a.story.file.simple.typ |
| 3280 | 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 20 70 61 74 68 20 | e.M-x.malyon.and.enter.the.path. |
| 32a0 | 74 6f 20 74 68 65 0a 73 74 6f 72 79 20 66 69 6c 65 2e 20 49 66 20 61 6e 79 74 68 69 6e 67 20 67 | to.the.story.file..If.anything.g |
| 32c0 | 6f 65 73 20 77 72 6f 6e 67 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 61 6e 75 61 6c | oes.wrong.and.you.want.to.manual |
| 32e0 | 6c 79 20 63 6c 65 61 6e 0a 75 70 20 74 79 70 65 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 71 75 69 74 | ly.clean.up.type.M-x.malyon-quit |
| 3300 | 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 62 61 | ..In.addition,.you.can.switch.ba |
| 3320 | 63 6b 20 74 6f 20 61 20 67 61 6d 65 20 69 6e 0a 70 72 6f 67 72 65 73 73 20 62 79 20 74 79 70 69 | ck.to.a.game.in.progress.by.typi |
| 3340 | 6e 67 20 4d 2d 78 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2e 0a 0a 54 68 65 20 61 75 74 68 | ng.M-x.malyon-restore...The.auth |
| 3360 | 6f 72 20 77 6f 75 6c 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 | or.would.like.to.thank.the.follo |
| 3380 | 77 69 6e 67 20 70 65 6f 70 6c 65 20 66 6f 72 20 72 65 70 6f 72 74 69 6e 67 0a 62 75 67 73 2c 20 | wing.people.for.reporting.bugs,. |
| 33a0 | 74 65 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 | testing,.suggesting.and/or.contr |
| 33c0 | 69 62 75 74 69 6e 67 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 3a 0a 20 20 20 20 42 65 72 6e 68 61 | ibuting.improvements:.....Bernha |
| 33e0 | 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 72 | rd.Barde,.Jonathan.Craven,.Alber |
| 3400 | 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 22 0a 20 20 28 6d 65 | to.Petrofsky,.Alan.Shutko"...(me |
| 3420 | 73 73 61 67 65 20 22 55 73 65 20 4d 2d 78 20 6d 61 6c 79 6f 6e 20 69 66 20 79 6f 75 20 77 61 6e | ssage."Use.M-x.malyon.if.you.wan |
| 3440 | 74 20 74 6f 20 70 6c 61 79 20 61 20 7a 63 6f 64 65 20 67 61 6d 65 2e 22 29 29 0a 0a 3b 3b 20 63 | t.to.play.a.zcode.game."))..;;.c |
| 3460 | 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 47 4e 55 20 65 | ompatibility.functions.for.GNU.e |
| 3480 | 6d 61 63 73 0a 3b 3b 20 6e 75 6b 65 64 20 31 32 2f 34 2f 31 36 20 62 79 20 65 72 69 6b 40 73 65 | macs.;;.nuked.12/4/16.by.erik@se |
| 34a0 | 6c 62 65 72 67 2e 6f 72 67 20 2d 2d 2d 20 74 68 65 73 65 20 61 72 65 6e 27 74 20 6e 65 65 64 65 | lberg.org.---.these.aren't.neede |
| 34c0 | 64 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 61 64 72 29 0a 3b 3b 20 20 20 20 | d..;;.(if.(fboundp.'cadr).;;.... |
| 34e0 | 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 61 64 72 20 27 63 61 64 72 29 0a 3b | .(defalias.'malyon-cadr.'cadr).; |
| 3500 | 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 61 64 72 20 28 6c 69 73 74 29 0a 3b 3b | ;...(defun.malyon-cadr.(list).;; |
| 3520 | 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 20 63 61 64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e | ....."Take.the.cadr.of.the.list. |
| 3540 | 22 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 0a 0a 3b 3b 20 | ".;;.....(car.(cdr.list))))..;;. |
| 3560 | 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 61 64 64 72 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 | (if.(fboundp.'caddr).;;.....(def |
| 3580 | 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 61 64 64 72 20 27 63 61 64 64 72 29 0a 3b 3b 20 20 | alias.'malyon-caddr.'caddr).;;.. |
| 35a0 | 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 61 64 64 72 20 28 6c 69 73 74 29 0a 3b 3b 20 20 | .(defun.malyon-caddr.(list).;;.. |
| 35c0 | 20 20 20 22 54 61 6b 65 20 74 68 65 20 63 61 64 64 72 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 22 | ..."Take.the.caddr.of.the.list." |
| 35e0 | 0a 3b 3b 20 20 20 20 20 28 63 61 72 20 28 63 64 72 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 | .;;.....(car.(cdr.(cdr.list))))) |
| 3600 | 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 64 64 64 72 29 0a 3b 3b 20 20 20 20 | ..;;.(if.(fboundp.'cdddr).;;.... |
| 3620 | 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 63 64 64 64 72 20 27 63 64 64 64 72 29 | .(defalias.'malyon-cdddr.'cdddr) |
| 3640 | 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 64 64 64 72 20 28 6c 69 73 74 29 | .;;...(defun.malyon-cdddr.(list) |
| 3660 | 0a 3b 3b 20 20 20 20 20 22 54 61 6b 65 20 74 68 65 20 63 64 64 64 72 20 6f 66 20 74 68 65 20 6c | .;;....."Take.the.cdddr.of.the.l |
| 3680 | 69 73 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 64 72 20 28 63 64 72 20 28 63 64 72 20 6c 69 73 74 | ist.".;;.....(cdr.(cdr.(cdr.list |
| 36a0 | 29 29 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 68 61 72 2d 62 65 66 | )))))..;;.(if.(fboundp.'char-bef |
| 36c0 | 6f 72 65 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 68 | ore).;;.....(defalias.'malyon-ch |
| 36e0 | 61 72 2d 62 65 66 6f 72 65 20 27 63 68 61 72 2d 62 65 66 6f 72 65 29 0a 3b 3b 20 20 20 28 64 65 | ar-before.'char-before).;;...(de |
| 3700 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 62 65 66 6f 72 65 20 28 29 0a 3b 3b 20 20 20 20 | fun.malyon-char-before.().;;.... |
| 3720 | 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 62 65 66 6f 72 65 20 74 68 | ."Return.the.character.before.th |
| 3740 | 65 20 70 6f 69 6e 74 2e 22 0a 3b 3b 20 20 20 20 20 28 63 68 61 72 2d 61 66 74 65 72 20 28 2d 20 | e.point.".;;.....(char-after.(-. |
| 3760 | 28 70 6f 69 6e 74 29 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 | (point).1))))..(defun.malyon-cha |
| 3780 | 72 2d 74 6f 2d 69 6e 74 20 28 63 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 63 68 61 72 61 63 | r-to-int.(c)..."Convert.a.charac |
| 37a0 | 74 65 72 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2e 22 0a 20 20 28 69 66 20 28 66 62 6f | ter.into.an.integer."...(if.(fbo |
| 37c0 | 75 6e 64 70 20 27 63 68 61 72 2d 74 6f 2d 69 6e 74 29 0a 20 20 20 20 20 20 28 63 68 61 72 2d 74 | undp.'char-to-int).......(char-t |
| 37e0 | 6f 2d 69 6e 74 20 63 29 0a 20 20 20 20 63 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 | o-int.c).....c))..;;.(if.(fbound |
| 3800 | 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 | p.'characterp).;;.....(defalias. |
| 3820 | 27 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 70 20 27 63 68 61 72 61 63 74 65 72 70 29 0a | 'malyon-characterp.'characterp). |
| 3840 | 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 70 20 28 78 | ;;...(defun.malyon-characterp.(x |
| 3860 | 29 0a 3b 3b 20 20 20 20 20 22 54 65 73 74 20 66 6f 72 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 | ).;;....."Test.for.a.character." |
| 3880 | 0a 3b 3b 20 20 20 20 20 28 61 6e 64 20 28 6e 75 6d 62 65 72 70 20 78 29 20 28 3c 3d 20 30 20 78 | .;;.....(and.(numberp.x).(<=.0.x |
| 38a0 | 29 20 28 3c 20 78 20 32 35 36 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 | ).(<.x.256))))..(defun.malyon-di |
| 38c0 | 73 61 62 6c 65 2d 6d 75 6c 74 69 62 79 74 65 20 28 29 0a 20 20 22 44 69 73 61 62 6c 65 20 6d 75 | sable-multibyte.()..."Disable.mu |
| 38e0 | 6c 74 69 62 79 74 65 20 73 75 70 70 6f 72 74 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 | ltibyte.support.in.the.current.b |
| 3900 | 75 66 66 65 72 2e 22 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 73 | uffer."...(condition-case.nil.(s |
| 3920 | 65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62 79 74 65 20 6e 69 6c 29 20 28 65 72 72 6f 72 29 | et-buffer-multibyte.nil).(error) |
| 3940 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 28 | ))..(defun.malyon-erase-buffer.( |
| 3960 | 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 29 0a 20 20 22 45 72 61 73 65 20 74 68 65 20 67 | &optional.buffer)..."Erase.the.g |
| 3980 | 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 6e 0a | iven.buffer."...(save-excursion. |
| 39a0 | 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 66 65 | ....(if.buffer.(set-buffer.buffe |
| 39c0 | 72 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 62 75 66 66 65 72 20 28 65 71 20 62 75 66 66 | r)).....(if.(and.buffer.(eq.buff |
| 39e0 | 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 29 0a 20 20 | er.malyon-transcript-buffer))... |
| 3a00 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 62 65 67 69 6e 2d 73 65 63 74 69 6f 6e 29 0a 20 20 20 | ......(malyon-begin-section).... |
| 3a20 | 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | ...(erase-buffer))))..(defun.mal |
| 3a40 | 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 69 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 | yon-int-to-char.(i)..."Convert.a |
| 3a60 | 6e 20 69 6e 74 65 67 65 72 20 69 6e 74 6f 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 | n.integer.into.a.character."...( |
| 3a80 | 69 66 20 28 66 62 6f 75 6e 64 70 20 27 69 6e 74 2d 74 6f 2d 63 68 61 72 29 0a 20 20 20 20 28 69 | if.(fboundp.'int-to-char).....(i |
| 3aa0 | 6e 74 2d 74 6f 2d 63 68 61 72 20 69 29 0a 20 20 20 20 69 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 | nt-to-char.i).....i))..;;.(if.(f |
| 3ac0 | 62 6f 75 6e 64 70 20 27 6d 61 70 63 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 | boundp.'mapc).;;.....(defalias.' |
| 3ae0 | 6d 61 6c 79 6f 6e 2d 6d 61 70 63 20 27 6d 61 70 63 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d | malyon-mapc.'mapc).;;...(defun.m |
| 3b00 | 61 6c 79 6f 6e 2d 6d 61 70 63 20 28 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b 20 20 20 | alyon-mapc.(function.list).;;... |
| 3b20 | 20 20 22 41 70 70 6c 79 20 66 75 6e 20 74 6f 20 65 76 65 72 79 20 65 6c 65 6d 65 6e 74 20 6f 66 | .."Apply.fun.to.every.element.of |
| 3b40 | 20 61 72 67 73 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 2e 22 0a 3b 3b 20 | .args.ignoring.the.results.".;;. |
| 3b60 | 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69 73 74 29 0a 3b 3b 20 09 27 28 29 0a 3b 3b 20 20 | ....(if.(null.list).;;..'().;;.. |
| 3b80 | 20 20 20 20 20 28 66 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 | .....(funcall.function.(car.list |
| 3ba0 | 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6d 61 70 63 20 66 75 6e 63 74 69 6f | )).;;.......(malyon-mapc.functio |
| 3bc0 | 6e 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 | n.(cdr.list)))))..;;.(if.(fbound |
| 3be0 | 70 20 27 6d 61 70 63 61 6e 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c | p.'mapcan).;;.....(defalias.'mal |
| 3c00 | 79 6f 6e 2d 6d 61 70 63 61 6e 20 27 6d 61 70 63 61 6e 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 | yon-mapcan.'mapcan).;;...(defun. |
| 3c20 | 6d 61 6c 79 6f 6e 2d 6d 61 70 63 61 6e 20 28 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 29 0a 3b 3b | malyon-mapcan.(function.list).;; |
| 3c40 | 20 20 20 20 20 22 41 70 70 6c 79 20 66 75 6e 20 74 6f 20 65 76 65 72 79 20 65 6c 65 6d 65 6e 74 | ....."Apply.fun.to.every.element |
| 3c60 | 20 6f 66 20 61 72 67 73 20 6e 63 6f 6e 63 27 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a | .of.args.nconc'ing.the.result.". |
| 3c80 | 3b 3b 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69 73 74 29 0a 3b 3b 20 09 27 28 29 0a 3b | ;;.....(if.(null.list).;;..'().; |
| 3ca0 | 3b 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e | ;.......(nconc.(funcall.function |
| 3cc0 | 20 28 63 61 72 20 6c 69 73 74 29 29 0a 3b 3b 20 09 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6d 61 | .(car.list)).;;.......(malyon-ma |
| 3ce0 | 70 63 61 6e 20 66 75 6e 63 74 69 6f 6e 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 0a | pcan.function.(cdr.list))))))... |
| 3d00 | 3b 20 44 6f 20 6e 6f 74 20 75 73 65 20 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 63 6f 6e 76 65 72 | ;.Do.not.use.the.built-in.conver |
| 3d20 | 73 69 6f 6e 20 76 69 61 20 27 6d 75 6c 74 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 | sion.via.'multibyte-char-to-unib |
| 3d40 | 79 74 65 2e 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 75 6c 74 69 62 79 74 65 2d 63 68 61 | yte..(defun.malyon-multibyte-cha |
| 3d60 | 72 2d 74 6f 2d 75 6e 69 62 79 74 65 20 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 | r-to-unibyte.(char)..."Convert.a |
| 3d80 | 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 75 6e 69 62 79 74 65 2e | .multibyte.character.to.unibyte. |
| 3da0 | 22 0a 20 20 63 68 61 72 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 2d 6d | "...char)..(defun.malyon-point-m |
| 3dc0 | 61 78 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 29 0a 20 20 22 47 65 74 20 74 68 65 | ax.(&optional.buffer)..."Get.the |
| 3de0 | 20 70 6f 69 6e 74 2d 6d 61 78 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 62 75 66 66 65 72 2e 22 | .point-max.of.the.given.buffer." |
| 3e00 | 0a 20 20 28 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 | ...(save-excursion.....(if.buffe |
| 3e20 | 72 20 28 73 65 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 70 6f 69 6e | r.(set-buffer.buffer)).....(poin |
| 3e40 | 74 2d 6d 61 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 | t-max)))..(defun.malyon-redispla |
| 3e60 | 79 2d 66 72 61 6d 65 20 28 66 72 61 6d 65 20 26 72 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22 | y-frame.(frame.&rest.ignore)..." |
| 3e80 | 52 65 64 69 73 70 6c 61 79 20 74 68 65 20 67 69 76 65 6e 20 66 72 61 6d 65 2e 22 0a 20 20 28 69 | Redisplay.the.given.frame."...(i |
| 3ea0 | 66 20 28 66 62 6f 75 6e 64 70 20 27 72 65 64 69 73 70 6c 61 79 2d 66 72 61 6d 65 29 0a 20 20 20 | f.(fboundp.'redisplay-frame).... |
| 3ec0 | 20 20 20 28 72 65 64 69 73 70 6c 61 79 2d 66 72 61 6d 65 20 66 72 61 6d 65 20 69 67 6e 6f 72 65 | ...(redisplay-frame.frame.ignore |
| 3ee0 | 29 29 29 0a 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 72 65 6d 6f 76 65 29 0a 3b | )))...;;.(if.(fboundp.'remove).; |
| 3f00 | 3b 20 20 20 20 20 28 64 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 20 27 | ;.....(defalias.'malyon-remove.' |
| 3f20 | 72 65 6d 6f 76 65 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 | remove).;;...(defun.malyon-remov |
| 3f40 | 65 20 28 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 22 52 65 6d 6f 76 65 20 | e.(element.list).;;....."Remove. |
| 3f60 | 74 68 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 2e 22 0a 3b 3b 20 20 | the.element.from.the.list.".;;.. |
| 3f80 | 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 0a 3b 3b 20 09 20 20 20 27 28 29 | ...(cond.((null.list).;;.....'() |
| 3fa0 | 29 0a 3b 3b 20 09 20 20 28 28 65 71 20 65 6c 65 6d 65 6e 74 20 28 63 61 72 20 6c 69 73 74 29 29 | ).;;....((eq.element.(car.list)) |
| 3fc0 | 0a 3b 3b 20 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 | .;;.....(malyon-remove.element.( |
| 3fe0 | 63 64 72 20 6c 69 73 74 29 29 29 0a 3b 3b 20 09 20 20 28 28 65 71 75 61 6c 20 65 6c 65 6d 65 6e | cdr.list))).;;....((equal.elemen |
| 4000 | 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 65 6d | t.(car.list)).;;.....(malyon-rem |
| 4020 | 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 20 28 | ove.element.(cdr.list))).;;....( |
| 4040 | 74 0a 3b 3b 20 09 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 0a 3b 3b 20 09 09 20 | t.;;.....(cons.(car.list).;;.... |
| 4060 | 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 6c 69 73 74 | (malyon-remove.element.(cdr.list |
| 4080 | 29 29 29 29 29 29 29 0a 0a 3b 3b 20 6c 65 67 61 63 79 20 74 68 69 6e 67 2e 2e 2e 20 6e 6f 72 6d | )))))))..;;.legacy.thing....norm |
| 40a0 | 61 6c 6c 79 20 74 68 69 73 20 69 73 20 61 20 6e 6f 6f 70 20 66 6f 72 20 46 53 46 20 45 6d 61 63 | ally.this.is.a.noop.for.FSF.Emac |
| 40c0 | 73 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 65 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 | s.(defun.malyon-set-keymap-name. |
| 40e0 | 28 6b 65 79 6d 61 70 20 6e 61 6d 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66 | (keymap.name)..."Set.the.name.of |
| 4100 | 20 74 68 65 20 6b 65 79 6d 61 70 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 73 65 | .the.keymap."...(if.(fboundp.'se |
| 4120 | 74 2d 6b 65 79 6d 61 70 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 | t-keymap-name).......(set-keymap |
| 4140 | 2d 6e 61 6d 65 20 6b 65 79 6d 61 70 20 6e 61 6d 65 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 | -name.keymap.name)))..;;.(if.(fb |
| 4160 | 6f 75 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 29 0a 3b 3b 20 20 20 20 20 28 64 | oundp.'string-to-list).;;.....(d |
| 4180 | 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 27 | efalias.'malyon-string-to-list.' |
| 41a0 | 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 6d 61 6c 79 | string-to-list).;;...(defun.maly |
| 41c0 | 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 28 73 29 0a 3b 3b 20 20 20 20 20 22 43 6f | on-string-to-list.(s).;;....."Co |
| 41e0 | 6e 76 65 72 74 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 63 68 | nvert.a.string.into.a.list.of.ch |
| 4200 | 61 72 61 63 74 65 72 73 2e 22 0a 3b 3b 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 28 2d 20 28 6c | aracters.".;;.....(let.((i.(-.(l |
| 4220 | 65 6e 67 74 68 20 73 29 20 31 29 29 20 28 6c 20 27 28 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 | ength.s).1)).(l.'())).;;.......( |
| 4240 | 77 68 69 6c 65 20 28 3c 3d 20 30 20 69 29 0a 3b 3b 20 09 28 73 65 74 71 20 6c 20 28 63 6f 6e 73 | while.(<=.0.i).;;..(setq.l.(cons |
| 4260 | 20 28 61 72 65 66 20 73 20 69 29 20 6c 29 0a 3b 3b 20 09 20 20 20 20 20 20 69 20 28 2d 20 69 20 | .(aref.s.i).l).;;........i.(-.i. |
| 4280 | 31 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 6c 29 29 29 0a 0a 3b 3b 20 28 69 66 20 28 66 62 6f 75 | 1))).;;.......l)))..;;.(if.(fbou |
| 42a0 | 6e 64 70 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 29 0a 3b 3b 20 20 20 20 20 28 64 | ndp.'string-to-vector).;;.....(d |
| 42c0 | 65 66 61 6c 69 61 73 20 27 6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 | efalias.'malyon-string-to-vector |
| 42e0 | 20 27 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 29 0a 3b 3b 20 20 20 28 64 65 66 75 6e 20 | .'string-to-vector).;;...(defun. |
| 4300 | 6d 61 6c 79 6f 6e 2d 73 74 72 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 20 28 73 29 0a 3b 3b 20 20 | malyon-string-to-vector.(s).;;.. |
| 4320 | 20 20 20 22 43 6f 6e 76 65 72 74 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 76 65 63 74 | ..."Convert.a.string.into.a.vect |
| 4340 | 6f 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 3b 3b 20 20 20 20 20 28 6c 65 74 2a 20 | or.of.characters.".;;.....(let*. |
| 4360 | 28 28 69 20 30 29 20 28 6c 20 28 6c 65 6e 67 74 68 20 73 29 29 20 28 76 20 28 6d 61 6b 65 2d 76 | ((i.0).(l.(length.s)).(v.(make-v |
| 4380 | 65 63 74 6f 72 20 6c 20 30 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 | ector.l.0))).;;.......(while.(<. |
| 43a0 | 69 20 6c 29 0a 3b 3b 20 09 28 61 73 65 74 20 76 20 69 20 28 61 72 65 66 20 73 20 69 29 29 0a 3b | i.l).;;..(aset.v.i.(aref.s.i)).; |
| 43c0 | 3b 20 09 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 3b 3b 20 20 20 20 20 20 20 76 29 | ;..(setq.i.(+.1.i))).;;.......v) |
| 43e0 | 29 29 0a 0a 3b 20 44 6f 20 6e 6f 74 20 75 73 65 20 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 63 6f | ))..;.Do.not.use.the.built-in.co |
| 4400 | 6e 76 65 72 73 69 6f 6e 20 76 69 61 20 27 75 6e 69 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 6d 75 | nversion.via.'unibyte-char-to-mu |
| 4420 | 6c 74 69 62 79 74 65 2e 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 2d 63 | ltibyte..(defun.malyon-unibyte-c |
| 4440 | 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 65 20 28 63 68 61 72 29 0a 20 20 22 43 6f 6e 76 65 | har-to-multibyte.(char)..."Conve |
| 4460 | 72 74 20 61 20 75 6e 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 6d 75 6c 74 69 62 | rt.a.unibyte.character.to.multib |
| 4480 | 79 74 65 2e 22 0a 20 20 63 68 61 72 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 76 65 63 | yte."...char)..(defun.malyon-vec |
| 44a0 | 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 28 76 20 62 65 67 69 6e 20 65 6e 64 29 0a 20 20 22 52 65 74 | tor-to-list.(v.begin.end)..."Ret |
| 44c0 | 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 76 20 69 6e 20 74 | urn.a.list.of.elements.in.v.in.t |
| 44e0 | 68 65 20 72 61 6e 67 65 20 5b 62 65 67 69 6e 2c 20 65 6e 64 29 2e 22 0a 20 20 28 6c 65 74 20 28 | he.range.[begin,.end)."...(let.( |
| 4500 | 28 72 65 73 75 6c 74 20 27 28 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 62 65 67 69 | (result.'())).....(while.(<.begi |
| 4520 | 6e 20 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 73 20 | n.end).......(setq.result.(cons. |
| 4540 | 28 61 72 65 66 20 76 20 62 65 67 69 6e 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 28 73 | (aref.v.begin).result)).......(s |
| 4560 | 65 74 71 20 62 65 67 69 6e 20 28 2b 20 31 20 62 65 67 69 6e 29 29 29 0a 20 20 20 20 28 72 65 76 | etq.begin.(+.1.begin))).....(rev |
| 4580 | 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 77 | erse.result)))...(defun.malyon-w |
| 45a0 | 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d 68 65 69 67 68 74 20 28 26 6f 70 74 69 6f 6e 61 | indow-displayed-height.(&optiona |
| 45c0 | 6c 20 77 69 6e 64 6f 77 29 0a 20 20 22 47 65 74 20 74 68 65 20 68 65 69 67 68 74 20 6f 66 20 74 | l.window)..."Get.the.height.of.t |
| 45e0 | 68 65 20 77 69 6e 64 6f 77 27 73 20 64 69 73 70 6c 61 79 65 64 20 72 65 67 69 6f 6e 2e 22 0a 20 | he.window's.displayed.region.".. |
| 4600 | 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d | .(if.(fboundp.'window-displayed- |
| 4620 | 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 28 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 65 64 2d | height).......(window-displayed- |
| 4640 | 68 65 69 67 68 74 20 77 69 6e 64 6f 77 29 0a 20 20 20 20 28 2d 20 28 77 69 6e 64 6f 77 2d 68 65 | height.window).....(-.(window-he |
| 4660 | 69 67 68 74 29 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 79 65 73 2d 6f 72 | ight).1)))..(defun.malyon-yes-or |
| 4680 | 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 28 70 72 6f 6d 70 74 29 0a 20 20 22 41 73 6b 20 61 20 | -no-p-minibuf.(prompt)..."Ask.a. |
| 46a0 | 79 65 73 20 6f 72 20 6e 6f 20 71 75 65 73 74 69 6f 6e 2e 22 0a 20 20 28 69 66 20 28 66 62 6f 75 | yes.or.no.question."...(if.(fbou |
| 46c0 | 6e 64 70 20 27 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 29 0a 20 20 20 20 20 20 | ndp.'yes-or-no-p-minibuf)....... |
| 46e0 | 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 2d 6d 69 6e 69 62 75 66 20 70 72 6f 6d 70 74 29 0a 20 20 20 | (yes-or-no-p-minibuf.prompt).... |
| 4700 | 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 70 72 6f 6d 70 74 29 29 29 0a 0a 3b 3b 20 67 6c 6f 62 | .(yes-or-no-p.prompt)))..;;.glob |
| 4720 | 61 6c 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72 20 74 68 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 | al.variables.for.the.malyon.mode |
| 4740 | 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6e 69 | ..(defvar.malyon-syntax-table.ni |
| 4760 | 6c 0a 20 20 22 53 79 6e 74 61 78 20 74 61 62 6c 65 20 75 73 65 64 20 77 68 69 6c 65 20 69 6e 20 | l..."Syntax.table.used.while.in. |
| 4780 | 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 28 73 61 6d 65 20 61 73 20 69 6e 20 74 65 78 74 2d 6d 6f 64 | malyon.mode.(same.as.in.text-mod |
| 47a0 | 65 29 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 0a 20 | e).")..(if.malyon-syntax-table.. |
| 47c0 | 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 61 62 | ...'()...(setq.malyon-syntax-tab |
| 47e0 | 6c 65 20 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 0a 20 20 28 6d 6f 64 69 66 | le.(make-syntax-table))...(modif |
| 4800 | 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 3f 5c 22 20 22 2e 20 20 20 22 20 6d 61 6c 79 6f 6e | y-syntax-entry.?\"."....".malyon |
| 4820 | 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 79 6e 74 61 78 2d | -syntax-table)...(modify-syntax- |
| 4840 | 65 6e 74 72 79 20 3f 5c 5c 20 22 2e 20 20 20 22 20 6d 61 6c 79 6f 6e 2d 73 79 6e 74 61 78 2d 74 | entry.?\\."....".malyon-syntax-t |
| 4860 | 61 62 6c 65 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 27 20 | able)...(modify-syntax-entry.?'. |
| 4880 | 20 22 77 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 29 0a 0a 28 | ."w...".malyon-syntax-table))..( |
| 48a0 | 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 6e 69 6c 0a 20 20 | defvar.malyon-keymap-read.nil... |
| 48c0 | 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 72 65 61 64 | "Keymap.for.malyon.mode.for.read |
| 48e0 | 69 6e 67 20 69 6e 70 75 74 20 69 6e 74 6f 20 61 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 | ing.input.into.a.buffer.")..(def |
| 4900 | 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 75 70 20 6e 69 6c 0a | var.malyon-history-saved-up.nil. |
| 4920 | 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 75 70 20 | .."The.saved.binding.for.the.up. |
| 4940 | 61 72 72 6f 77 20 6b 65 79 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73 | arrow.key.")..(defvar.malyon-his |
| 4960 | 74 6f 72 79 2d 73 61 76 65 64 2d 64 6f 77 6e 20 6e 69 6c 0a 20 20 22 54 68 65 20 73 61 76 65 64 | tory-saved-down.nil..."The.saved |
| 4980 | 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65 20 64 6f 77 6e 20 61 72 72 6f 77 20 6b 65 79 2e | .binding.for.the.down.arrow.key. |
| 49a0 | 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 0a 20 20 20 20 27 | ")..(if.malyon-keymap-read.....' |
| 49c0 | 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 20 28 6d | ()...(setq.malyon-keymap-read.(m |
| 49e0 | 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 79 6f 6e 2d 73 65 | ake-sparse-keymap))...(malyon-se |
| 4a00 | 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 70 2d 72 65 61 64 | t-keymap-name.malyon-keymap-read |
| 4a20 | 20 27 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 71 20 6d 61 | .'malyon-keymap-read)...(setq.ma |
| 4a40 | 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 75 70 20 20 20 28 67 6c 6f 62 61 6c 2d | lyon-history-saved-up...(global- |
| 4a60 | 6b 65 79 2d 62 69 6e 64 69 6e 67 20 5b 75 70 5d 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | key-binding.[up]))...(setq.malyo |
| 4a80 | 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 64 6f 77 6e 20 28 67 6c 6f 62 61 6c 2d 6b 65 79 | n-history-saved-down.(global-key |
| 4aa0 | 2d 62 69 6e 64 69 6e 67 20 5b 64 6f 77 6e 5d 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 | -binding.[down]))...(define-key. |
| 4ac0 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 72 22 20 20 20 20 20 20 20 20 27 | malyon-keymap-read."\r"........' |
| 4ae0 | 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e 70 75 74 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 | malyon-end-input)...(define-key. |
| 4b00 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 75 70 5d 20 20 20 20 20 20 20 20 27 | malyon-keymap-read.[up]........' |
| 4b20 | 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 0a 20 20 | malyon-history-previous-char)... |
| 4b40 | 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 64 20 5b | (define-key.malyon-keymap-read.[ |
| 4b60 | 64 6f 77 6e 5d 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d | down]......'malyon-history-next- |
| 4b80 | 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 79 6d 61 | char)...(define-key.malyon-keyma |
| 4ba0 | 70 2d 72 65 61 64 20 22 5c 4d 2d 70 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f | p-read."\M-p"......'malyon-histo |
| 4bc0 | 72 79 2d 70 72 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 | ry-previous-char)...(define-key. |
| 4be0 | 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 22 5c 4d 2d 6e 22 20 20 20 20 20 20 27 | malyon-keymap-read."\M-n"......' |
| 4c00 | 6d 61 6c 79 6f 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 | malyon-history-next-char)...(def |
| 4c20 | 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 22 5c 43 2d 61 | ine-key.malyon-keymap-read."\C-a |
| 4c40 | 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 | "......'malyon-beginning-of-line |
| 4c60 | 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 72 65 | )...(define-key.malyon-keymap-re |
| 4c80 | 61 64 20 22 5c 43 2d 77 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 | ad."\C-w"......'malyon-kill-regi |
| 4ca0 | 6f 6e 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 | on)...(define-key.malyon-keymap- |
| 4cc0 | 72 65 61 64 20 22 5c 43 2d 6b 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 6c 69 | read."\C-k"......'malyon-kill-li |
| 4ce0 | 6e 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 6d 61 70 2d | ne)...(define-key.malyon-keymap- |
| 4d00 | 72 65 61 64 20 22 5c 4d 2d 64 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 77 6f | read."\M-d"......'malyon-kill-wo |
| 4d20 | 72 64 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 | rd)...(define-key.malyon-keymap- |
| 4d40 | 72 65 61 64 20 22 5c 43 2d 79 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 29 0a 20 | read."\C-y"......'malyon-yank).. |
| 4d60 | 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 64 20 | .(define-key.malyon-keymap-read. |
| 4d80 | 22 5c 4d 2d 79 22 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 2d 70 6f 70 29 0a 20 20 | "\M-y"......'malyon-yank-pop)... |
| 4da0 | 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 64 20 22 | (define-key.malyon-keymap-read." |
| 4dc0 | 5c 43 2d 64 22 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 | \C-d"......'malyon-delete-char). |
| 4de0 | 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 64 | ..(define-key.malyon-keymap-read |
| 4e00 | 20 22 5c 64 22 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 62 61 63 6b 77 61 72 64 2d 64 65 | ."\d"........'malyon-backward-de |
| 4e20 | 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 79 6f 6e 2d | lete-char)...(define-key.malyon- |
| 4e40 | 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 64 65 6c 5d 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d | keymap-read.[del].......'malyon- |
| 4e60 | 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 79 6f | delete-char)...(define-key.malyo |
| 4e80 | 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 20 5b 62 61 63 6b 73 70 61 63 65 5d 20 27 6d 61 6c 79 6f | n-keymap-read.[backspace].'malyo |
| 4ea0 | 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 73 75 62 73 74 | n-backward-delete-char)...(subst |
| 4ec0 | 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 6b 65 79 | itute-key-definition.(lookup-key |
| 4ee0 | 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 20 20 20 | .(current-global-map)."a")...... |
| 4f00 | 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 6f 6e 2d | ........................'malyon- |
| 4f20 | 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 | self-insert-command............. |
| 4f40 | 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 72 | .................malyon-keymap-r |
| 4f60 | 65 61 64 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 | ead.(current-global-map)))..(def |
| 4f80 | 76 61 72 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 20 6e 69 6c 0a 20 | var.malyon-keymap-readchar.nil.. |
| 4fa0 | 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 77 61 69 | ."Keymap.for.malyon.mode.for.wai |
| 4fc0 | 74 69 6e 67 20 66 6f 72 20 69 6e 70 75 74 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 6b 65 | ting.for.input.")..(if.malyon-ke |
| 4fe0 | 79 6d 61 70 2d 72 65 61 64 63 68 61 72 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 | ymap-readchar.....'()...(setq.ma |
| 5000 | 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 20 28 6d 61 6b 65 2d 73 70 61 72 73 | lyon-keymap-readchar.(make-spars |
| 5020 | 65 2d 6b 65 79 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 | e-keymap))...(malyon-set-keymap- |
| 5040 | 6e 61 6d 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 20 27 6d 61 6c | name.malyon-keymap-readchar.'mal |
| 5060 | 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b | yon-keymap-readchar)...(define-k |
| 5080 | 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 20 22 5c 72 22 20 27 | ey.malyon-keymap-readchar."\r".' |
| 50a0 | 6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d | malyon-wait-char)...(substitute- |
| 50c0 | 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 | key-definition.(lookup-key.(curr |
| 50e0 | 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ent-global-map)."a")............ |
| 5100 | 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 77 61 69 74 2d 63 | ..................'malyon-wait-c |
| 5120 | 68 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 20 20 20 | har............................. |
| 5140 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 20 28 63 75 72 72 65 6e 74 | .malyon-keymap-readchar.(current |
| 5160 | 2d 67 6c 6f 62 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 | -global-map)))..(defvar.malyon-k |
| 5180 | 65 79 6d 61 70 2d 6d 6f 72 65 20 6e 69 6c 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 6d 61 6c | eymap-more.nil..."Keymap.for.mal |
| 51a0 | 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 62 72 6f 77 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 65 | yon.mode.for.browsing.through.te |
| 51c0 | 78 74 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 0a 20 20 | xt.")..(if.malyon-keymap-more... |
| 51e0 | 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 70 2d 6d 6f 72 65 | ..'()...(setq.malyon-keymap-more |
| 5200 | 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 79 6f 6e | .(make-sparse-keymap))...(malyon |
| 5220 | 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 70 2d 6d | -set-keymap-name.malyon-keymap-m |
| 5240 | 6f 72 65 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 29 0a 20 20 28 64 65 66 69 | ore.'malyon-keymap-more)...(defi |
| 5260 | 6e 65 2d 6b 65 79 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 20 22 5c 72 22 20 27 | ne-key.malyon-keymap-more."\r".' |
| 5280 | 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d | malyon-more-char)...(substitute- |
| 52a0 | 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 63 75 72 72 | key-definition.(lookup-key.(curr |
| 52c0 | 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ent-global-map)."a")............ |
| 52e0 | 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 6d 6f 72 65 2d 63 | ..................'malyon-more-c |
| 5300 | 68 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 20 20 20 | har............................. |
| 5320 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f | .malyon-keymap-more.(current-glo |
| 5340 | 62 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 | bal-map)))..(defvar.malyon-keyma |
| 5360 | 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 6e 69 6c 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 | p-more-status.nil..."Keymap.for. |
| 5380 | 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 66 6f 72 20 62 72 6f 77 73 69 6e 67 20 74 68 72 6f 75 67 68 | malyon.mode.for.browsing.through |
| 53a0 | 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f | .the.status.buffer.")..(if.malyo |
| 53c0 | 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 0a 20 20 20 20 27 28 29 0a 20 20 28 | n-keymap-more-status.....'()...( |
| 53e0 | 73 65 74 71 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 28 | setq.malyon-keymap-more-status.( |
| 5400 | 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 79 6f 6e 2d 73 | make-sparse-keymap))...(malyon-s |
| 5420 | 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 70 2d 6d 6f 72 | et-keymap-name.malyon-keymap-mor |
| 5440 | 65 2d 73 74 61 74 75 73 20 27 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 | e-status.'malyon-keymap-more-sta |
| 5460 | 74 75 73 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 | tus)...(define-key.malyon-keymap |
| 5480 | 2d 6d 6f 72 65 2d 73 74 61 74 75 73 20 22 5c 72 22 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 | -more-status."\r".'malyon-more-c |
| 54a0 | 68 61 72 2d 73 74 61 74 75 73 29 0a 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 | har-status)...(substitute-key-de |
| 54c0 | 66 69 6e 69 74 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 | finition.(lookup-key.(current-gl |
| 54e0 | 6f 62 61 6c 2d 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 | obal-map)."a").................. |
| 5500 | 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 | ............'malyon-more-char-st |
| 5520 | 61 74 75 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 | atus............................ |
| 5540 | 20 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 28 63 75 72 | ..malyon-keymap-more-status.(cur |
| 5560 | 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 29 29 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c | rent-global-map)))..(defface.mal |
| 5580 | 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 | yon-face-plain...'((t.:inherit.d |
| 55a0 | 65 66 61 75 6c 74 29 29 0a 20 20 22 42 61 73 69 63 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 20 | efault))..."Basic.face.for.game. |
| 55c0 | 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 61 | text."...:group.'malyon)..(deffa |
| 55e0 | 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 62 6f 6c 64 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 | ce.malyon-face-bold...'((t.:inhe |
| 5600 | 72 69 74 20 62 6f 6c 64 29 29 0a 20 20 22 42 6f 6c 64 20 66 61 63 65 20 66 6f 72 20 67 61 6d 65 | rit.bold))..."Bold.face.for.game |
| 5620 | 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 | .text."...:group.'malyon)..(deff |
| 5640 | 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 65 72 72 6f 72 0a 20 20 27 28 28 74 20 3a 69 6e | ace.malyon-face-error...'((t.:in |
| 5660 | 68 65 72 69 74 20 65 72 72 6f 72 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 67 61 6d 65 20 65 | herit.error))..."Face.for.game.e |
| 5680 | 72 72 6f 72 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 65 66 66 | rrors."...:group.'malyon)..(deff |
| 56a0 | 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 69 74 61 6c 69 63 0a 20 20 27 28 28 74 20 3a 69 | ace.malyon-face-italic...'((t.:i |
| 56c0 | 6e 68 65 72 69 74 20 69 74 61 6c 69 63 29 29 0a 20 20 22 49 74 61 6c 69 63 20 66 61 63 65 20 66 | nherit.italic))..."Italic.face.f |
| 56e0 | 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 6d 61 6c 79 6f 6e 29 | or.game.text."...:group.'malyon) |
| 5700 | 0a 0a 28 64 65 66 66 61 63 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 0a 20 | ..(defface.malyon-face-reverse.. |
| 5720 | 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 20 3a 69 6e 76 65 72 73 65 2d | .'((t.:inherit.default.:inverse- |
| 5740 | 76 69 64 65 6f 20 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 72 65 76 65 72 73 65 2d 76 69 | video.t))..."Face.for.reverse-vi |
| 5760 | 64 65 6f 20 74 65 78 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 6d 61 6c 79 6f 6e 29 0a 0a 28 64 | deo.text."...:group.'malyon)..(d |
| 5780 | 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 73 0a 20 20 27 28 28 30 20 2e 20 6d 61 6c 79 | efvar.malyon-faces...'((0...maly |
| 57a0 | 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 0a 20 20 20 20 28 31 20 2e 20 6d 61 6c 79 6f 6e 2d 66 | on-face-plain).....(1...malyon-f |
| 57c0 | 61 63 65 2d 72 65 76 65 72 73 65 29 0a 20 20 20 20 28 32 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 | ace-reverse).....(2...malyon-fac |
| 57e0 | 65 2d 62 6f 6c 64 29 0a 20 20 20 20 28 34 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 69 74 61 | e-bold).....(4...malyon-face-ita |
| 5800 | 6c 69 63 29 0a 20 20 20 20 28 38 20 2e 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 | lic).....(8...malyon-face-plain) |
| 5820 | 29 0a 20 20 22 41 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 20 6f 66 20 74 65 78 74 | )..."An.association.list.of.text |
| 5840 | 20 66 61 63 65 73 20 75 73 65 64 20 62 79 20 74 68 65 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 2e 22 | .faces.used.by.the.malyon.mode." |
| 5860 | 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f | )..(defvar.malyon-print-separato |
| 5880 | 72 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 | r.nil..."A.flag.indicating.wheth |
| 58a0 | 65 72 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 2a 20 2a 20 2a 20 73 65 70 61 72 61 74 6f 72 2e | er.to.print.the.*.*.*.separator. |
| 58c0 | 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 62 65 67 69 6e 2d 73 65 63 74 69 6f 6e 20 | ")..(defun.malyon-begin-section. |
| 58e0 | 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 65 63 74 69 6f 6e 20 64 69 76 69 64 65 72 20 61 6e | ()..."Print.a.section.divider.an |
| 5900 | 64 20 62 65 67 69 6e 20 61 20 6e 65 77 20 73 65 63 74 69 6f 6e 2e 22 0a 20 20 28 69 66 20 6d 61 | d.begin.a.new.section."...(if.ma |
| 5920 | 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f 72 0a 20 20 20 20 20 20 28 70 72 6f 67 | lyon-print-separator.......(prog |
| 5940 | 6e 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d | n.........(mapc.'malyon-putchar- |
| 5960 | 74 72 61 6e 73 63 72 69 70 74 20 27 28 3f 5c 6e 20 3f 5c 6e 20 3f 2a 20 3f 20 20 3f 2a 20 3f 20 | transcript.'(?\n.?\n.?*.?..?*.?. |
| 5980 | 20 3f 2a 29 29 0a 20 20 20 20 20 20 20 20 28 63 65 6e 74 65 72 2d 6c 69 6e 65 29 0a 20 20 20 20 | .?*)).........(center-line)..... |
| 59a0 | 20 20 20 20 28 6d 61 70 63 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 | ....(mapc.'malyon-putchar-transc |
| 59c0 | 72 69 70 74 20 27 28 3f 5c 6e 20 3f 5c 6e 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d | ript.'(?\n.?\n)).........(setq.m |
| 59e0 | 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f 72 20 6e 69 6c 29 29 29 0a 20 20 28 | alyon-print-separator.nil)))...( |
| 5a00 | 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f | narrow-to-region.(point-max).(po |
| 5a20 | 69 6e 74 2d 6d 61 78 29 29 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 | int-max)))..(if.malyon-whitespac |
| 5a40 | 65 0a 20 20 20 20 27 28 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 | e.....'()...(setq.malyon-whitesp |
| 5a60 | 61 63 65 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 20 | ace.(list.(malyon-char-to-int.?. |
| 5a80 | 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 20 | )............................... |
| 5aa0 | 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 5c 74 29 0a 20 20 20 20 20 | ..(malyon-char-to-int.?\t)...... |
| 5ac0 | 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 79 | ...........................(maly |
| 5ae0 | 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 5c 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | on-char-to-int.?\n)............. |
| 5b00 | 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 63 68 61 72 | ....................(malyon-char |
| 5b20 | 2d 74 6f 2d 69 6e 74 20 3f 5c 72 29 29 29 29 0a 0a 3b 3b 20 6d 65 6d 6f 72 79 20 75 74 69 6c 69 | -to-int.?\r))))..;;.memory.utili |
| 5b40 | 74 69 65 73 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 | ties..(defsubst.malyon-read-byte |
| 5b60 | 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 61 64 20 61 20 62 79 74 65 20 61 74 20 61 64 64 | .(address)..."Read.a.byte.at.add |
| 5b80 | 72 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 | ress.in.the.story.file."...(if.( |
| 5ba0 | 3c 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e | <=.0.address).......(aref.malyon |
| 5bc0 | 2d 73 74 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 73 73 29 0a 20 20 20 20 28 61 72 65 66 20 6d | -story-file.address).....(aref.m |
| 5be0 | 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 64 72 65 73 | alyon-story-file.(+.65536.addres |
| 5c00 | 73 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 | s))))..(defsubst.malyon-store-by |
| 5c20 | 74 65 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 62 79 | te.(address.value)..."Store.a.by |
| 5c40 | 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 20 66 69 6c 65 2e | te.at.address.in.the.story.file. |
| 5c60 | 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 20 20 20 28 61 73 | "...(if.(<=.0.address).......(as |
| 5c80 | 65 74 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 20 28 6c 6f | et.malyon-story-file.address.(lo |
| 5ca0 | 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 6f | gand.255.value)).....(aset.malyo |
| 5cc0 | 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 36 35 35 33 36 20 61 64 64 72 65 73 73 29 20 28 | n-story-file.(+.65536.address).( |
| 5ce0 | 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 | logand.255.value))))..(defsubst. |
| 5d00 | 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 | malyon-read-word.(address)..."Re |
| 5d20 | 61 64 20 61 20 77 6f 72 64 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72 | ad.a.word.at.address.in.the.stor |
| 5d40 | 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 73 73 29 0a 20 20 | y.file."...(if.(<=.0.address)... |
| 5d60 | 20 20 20 20 28 6c 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 | ....(logior.(lsh.(aref.malyon-st |
| 5d80 | 6f 72 79 2d 66 69 6c 65 20 61 64 64 72 65 73 73 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ory-file.address).8)............ |
| 5da0 | 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 31 20 | ...(aref.malyon-story-file.(+.1. |
| 5dc0 | 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 61 72 65 | address))).....(logior.(lsh.(are |
| 5de0 | 66 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 64 | f.malyon-story-file.(+.65536.add |
| 5e00 | 72 65 73 73 29 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 | ress)).8).............(aref.maly |
| 5e20 | 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 36 35 35 33 37 20 61 64 64 72 65 73 73 29 29 | on-story-file.(+.65537.address)) |
| 5e40 | 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 | )))..(defsubst.malyon-store-word |
| 5e60 | 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 61 20 77 6f 72 64 | .(address.value)..."Store.a.word |
| 5e80 | 20 61 74 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a | .at.address.in.the.story.file.". |
| 5ea0 | 20 20 28 69 66 20 28 3c 3d 20 30 20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 28 70 72 6f 67 | ..(if.(<=.0.address).......(prog |
| 5ec0 | 6e 0a 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 | n.........(aset.malyon-story-fil |
| 5ee0 | 65 20 61 64 64 72 65 73 73 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 76 61 6c 75 65 | e.address.(logand.255.(lsh.value |
| 5f00 | 20 2d 38 29 29 29 0a 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 | .-8))).........(aset.malyon-stor |
| 5f20 | 79 2d 66 69 6c 65 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 | y-file.(+.1.address).(logand.255 |
| 5f40 | 20 76 61 6c 75 65 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 | .value))).....(aset.malyon-story |
| 5f60 | 2d 66 69 6c 65 20 28 2b 20 36 35 35 33 36 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 | -file.(+.65536.address).(logand. |
| 5f80 | 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 28 61 73 65 74 20 6d | 255.(lsh.value.-8))).....(aset.m |
| 5fa0 | 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 2b 20 36 35 35 33 37 20 61 64 64 72 65 73 | alyon-story-file.(+.65537.addres |
| 5fc0 | 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 76 61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 73 75 | s).(logand.255.value))))..(defsu |
| 5fe0 | 62 73 74 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 20 28 29 0a 20 20 22 | bst.malyon-read-code-byte.()..." |
| 6000 | 52 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79 74 65 20 61 74 20 74 68 65 20 70 72 6f 67 72 61 | Read.the.next.byte.at.the.progra |
| 6020 | 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 65 74 71 20 6d 61 6c | m.counter.location."...(setq.mal |
| 6040 | 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 2b 20 6d 61 6c 79 6f | yon-instruction-pointer.(+.malyo |
| 6060 | 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 0a 20 20 28 6d 61 6c | n-instruction-pointer.1))...(mal |
| 6080 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2d 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 | yon-read-byte.(-.malyon-instruct |
| 60a0 | 69 6f 6e 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 | ion-pointer.1)))..(defsubst.maly |
| 60c0 | 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 20 28 29 0a 20 20 22 52 65 61 64 20 74 68 65 | on-read-code-word.()..."Read.the |
| 60e0 | 20 6e 65 78 74 20 77 6f 72 64 20 61 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 | .next.word.at.the.program.counte |
| 6100 | 72 20 6c 6f 63 61 74 69 6f 6e 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 | r.location."...(setq.malyon-inst |
| 6120 | 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 72 75 | ruction-pointer.(+.malyon-instru |
| 6140 | 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 32 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | ction-pointer.2))...(malyon-read |
| 6160 | 2d 77 6f 72 64 20 28 2d 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e | -word.(-.malyon-instruction-poin |
| 6180 | 74 65 72 20 32 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 | ter.2)))..(defsubst.malyon-pop-s |
| 61a0 | 74 61 63 6b 20 28 29 0a 20 20 22 50 6f 70 20 61 20 76 61 6c 75 65 20 6f 66 66 20 74 68 65 20 73 | tack.()..."Pop.a.value.off.the.s |
| 61c0 | 74 61 63 6b 2e 22 0a 20 20 28 69 66 20 28 3e 20 30 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 | tack."...(if.(>.0.malyon-stack-p |
| 61e0 | 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f | ointer).......(malyon-fatal-erro |
| 6200 | 72 20 22 73 74 61 63 6b 20 75 6e 64 65 72 66 6c 6f 77 2e 22 29 29 0a 20 20 28 73 65 74 71 20 6d | r."stack.underflow."))...(setq.m |
| 6220 | 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 28 2d 20 6d 61 6c 79 6f 6e 2d 73 74 | alyon-stack-pointer.(-.malyon-st |
| 6240 | 61 63 6b 2d 70 6f 69 6e 74 65 72 20 31 29 29 0a 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 | ack-pointer.1))...(aref.malyon-s |
| 6260 | 74 61 63 6b 20 28 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 | tack.(+.malyon-stack-pointer.1)) |
| 6280 | 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 6c 6f 63 61 6c 2d 76 | )..(defsubst.malyon-read-local-v |
| 62a0 | 61 72 69 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 6c 6f 63 | ariable.(variable)..."Read.a.loc |
| 62c0 | 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 | al.variable."...(aref.malyon-sta |
| 62e0 | 63 6b 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 | ck.(+.variable.malyon-frame-poin |
| 6300 | 74 65 72 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 67 6c | ter)))..(defsubst.malyon-read-gl |
| 6320 | 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20 22 52 65 61 64 | obal-variable.(variable)..."Read |
| 6340 | 20 61 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 | .a.global.variable."...(malyon-r |
| 6360 | 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 | ead-word.(+.malyon-global-variab |
| 6380 | 6c 65 73 20 28 2a 20 32 20 76 61 72 69 61 62 6c 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 | les.(*.2.variable))))..(defsubst |
| 63a0 | 20 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 28 76 61 72 69 61 62 6c 65 29 | .malyon-read-variable.(variable) |
| 63c0 | 0a 20 20 22 52 65 61 64 20 61 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 | ..."Read.a.variable."...(cond.(( |
| 63e0 | 3d 20 76 61 72 69 61 62 6c 65 20 30 29 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b | =.variable.0)..(malyon-pop-stack |
| 6400 | 29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 76 61 72 69 61 62 6c 65 20 31 36 29 20 28 6d 61 6c | )).........((<.variable.16).(mal |
| 6420 | 79 6f 6e 2d 72 65 61 64 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 | yon-read-local-variable.variable |
| 6440 | 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | )).........(t...............(mal |
| 6460 | 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 2d 20 76 61 72 69 | yon-read-global-variable.(-.vari |
| 6480 | 61 62 6c 65 20 31 36 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 70 | able.16)))))..(defsubst.malyon-p |
| 64a0 | 75 73 68 2d 73 74 61 63 6b 20 28 76 61 6c 75 65 29 0a 20 20 22 50 75 73 68 20 61 20 76 61 6c 75 | ush-stack.(value)..."Push.a.valu |
| 64c0 | 65 20 6f 6e 74 6f 20 74 68 65 20 73 74 61 63 6b 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | e.onto.the.stack."...(setq.malyo |
| 64e0 | 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 28 2b 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d | n-stack-pointer.(+.malyon-stack- |
| 6500 | 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 73 74 61 63 6b | pointer.1))...(aset.malyon-stack |
| 6520 | 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 76 61 6c 75 65 29 29 0a 0a 28 | .malyon-stack-pointer.value))..( |
| 6540 | 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 | defsubst.malyon-store-local-vari |
| 6560 | 61 62 6c 65 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 | able.(variable.value)..."Store.a |
| 6580 | 20 76 61 6c 75 65 20 69 6e 20 61 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 | .value.in.a.local.variable."...( |
| 65a0 | 61 73 65 74 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 | aset.malyon-stack.(+.variable.ma |
| 65c0 | 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 | lyon-frame-pointer).value))..(de |
| 65e0 | 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 | fsubst.malyon-store-global-varia |
| 6600 | 62 6c 65 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 | ble.(variable.value)..."Store.a. |
| 6620 | 76 61 6c 75 65 20 69 6e 20 61 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 | value.in.a.global.variable."...( |
| 6640 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 67 6c 6f 62 | malyon-store-word.(+.malyon-glob |
| 6660 | 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 29 29 20 76 61 6c | al-variables.(*.2.variable)).val |
| 6680 | 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 72 65 2d 76 61 72 | ue))..(defsubst.malyon-store-var |
| 66a0 | 69 61 62 6c 65 20 28 76 61 72 20 76 61 6c 75 65 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 76 | iable.(var.value)..."Store.the.v |
| 66c0 | 61 6c 75 65 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 73 65 74 71 20 76 61 6c | alue.in.a.variable."...(setq.val |
| 66e0 | 75 65 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 20 76 61 6c 75 65 29 29 0a 20 20 28 63 6f 6e 64 | ue.(logand.65535.value))...(cond |
| 6700 | 20 28 28 3d 20 76 61 72 20 30 29 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 | .((=.var.0)..(malyon-push-stack. |
| 6720 | 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 28 28 3c 20 76 61 72 20 31 36 29 20 28 6d 61 6c | value)).........((<.var.16).(mal |
| 6740 | 79 6f 6e 2d 73 74 6f 72 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 76 61 72 20 76 61 6c | yon-store-local-variable.var.val |
| 6760 | 75 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | ue)).........(t..........(malyon |
| 6780 | 2d 73 74 6f 72 65 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 2d 20 76 61 72 20 31 36 | -store-global-variable.(-.var.16 |
| 67a0 | 29 20 76 61 6c 75 65 29 29 29 29 0a 0a 3b 3b 20 6c 69 73 74 20 6f 66 20 6f 70 63 6f 64 65 73 0a | ).value))))..;;.list.of.opcodes. |
| 67c0 | 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 0a 20 20 5b 6d 61 6c 79 6f | .(defvar.malyon-opcodes...[malyo |
| 67e0 | 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 6a 65 | n-opcode-nop....malyon-opcode-je |
| 6800 | 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 6a 6c 0a 20 | ..............malyon-opcode-jl.. |
| 6820 | 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 20 20 20 20 20 | ..malyon-opcode-jg.............. |
| 6840 | 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 6c 79 6f 6e 2d | malyon-opcode-dec-chk....malyon- |
| 6860 | 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 6f 6e 2d 6f 70 | opcode-inc-chk.........malyon-op |
| 6880 | 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 65 73 74 20 20 | code-jin....malyon-opcode-test.. |
| 68a0 | 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 20 20 20 6d 61 | ..........malyon-opcode-or....ma |
| 68c0 | 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 20 6d 61 6c 79 | lyon-opcode-and.............maly |
| 68e0 | 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 6f 6e 2d 6f 70 | on-opcode-test-attr....malyon-op |
| 6900 | 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 2d 6f 70 63 6f | code-set-attr........malyon-opco |
| 6920 | 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 6f 64 65 2d 73 | de-clear-attr....malyon-opcode-s |
| 6940 | 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 65 2d 69 6e 73 | tore...........malyon-opcode-ins |
| 6960 | 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 61 64 77 20 20 | ert-obj....malyon-opcode-loadw.. |
| 6980 | 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 62 0a 20 20 20 | .........malyon-opcode-loadb.... |
| 69a0 | 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 20 20 20 6d 61 | malyon-opcode-get-prop........ma |
| 69c0 | 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 20 20 6d 61 6c | lyon-opcode-get-prop-addr....mal |
| 69e0 | 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 6d 61 6c 79 6f | yon-opcode-get-next-prop...malyo |
| 6a00 | 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 64 65 2d 73 75 | n-opcode-add....malyon-opcode-su |
| 6a20 | 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 2d 6d 75 6c 0a | b.............malyon-opcode-mul. |
| 6a40 | 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 20 20 20 20 20 | ...malyon-opcode-div............ |
| 6a60 | 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 6e 2d 6f 70 63 | .malyon-opcode-mod....malyon-opc |
| 6a80 | 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 6f 70 63 6f 64 | ode-calls...........malyon-opcod |
| 6aa0 | 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 74 2d 63 6f 6c | e-calln....malyon-opcode-set-col |
| 6ac0 | 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 77 0a 20 20 20 | or.......malyon-opcode-throw.... |
| 6ae0 | 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 6d 61 | malyon-opcode-nop.............ma |
| 6b00 | 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 64 65 | lyon-opcode-nop....malyon-opcode |
| 6b20 | 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 6f 64 65 2d 6e | -nop.............malyon-opcode-n |
| 6b40 | 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 20 20 20 20 20 | op....malyon-opcode-je.......... |
| 6b60 | 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 79 6f 6e 2d 6f | ....malyon-opcode-jl....malyon-o |
| 6b80 | 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 6e 2d 6f 70 63 | pcode-jg..............malyon-opc |
| 6ba0 | 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 65 2d 69 6e 63 | ode-dec-chk....malyon-opcode-inc |
| 6bc0 | 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 6a 69 6e 0a 20 | -chk.........malyon-opcode-jin.. |
| 6be0 | 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 20 20 20 20 20 | ..malyon-opcode-test............ |
| 6c00 | 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 6f 70 63 6f 64 | malyon-opcode-or....malyon-opcod |
| 6c20 | 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 63 6f 64 65 2d | e-and.............malyon-opcode- |
| 6c40 | 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 73 65 74 2d 61 | test-attr....malyon-opcode-set-a |
| 6c60 | 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 65 61 72 2d 61 | ttr........malyon-opcode-clear-a |
| 6c80 | 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 20 20 20 20 20 | ttr....malyon-opcode-store...... |
| 6ca0 | 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 62 6a 0a 20 20 | .....malyon-opcode-insert-obj... |
| 6cc0 | 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 20 20 20 20 6d | .malyon-opcode-loadw...........m |
| 6ce0 | 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 6e 2d 6f 70 63 | alyon-opcode-loadb....malyon-opc |
| 6d00 | 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 6f 70 63 6f 64 | ode-get-prop........malyon-opcod |
| 6d20 | 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 70 63 6f 64 65 | e-get-prop-addr....malyon-opcode |
| 6d40 | 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 6f 64 65 2d 61 | -get-next-prop...malyon-opcode-a |
| 6d60 | 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 20 20 20 20 20 | dd....malyon-opcode-sub......... |
| 6d80 | 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 6c 79 6f 6e 2d | ....malyon-opcode-mul....malyon- |
| 6da0 | 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 6f 6e 2d 6f 70 | opcode-div.............malyon-op |
| 6dc0 | 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 61 6c 6c 73 20 | code-mod....malyon-opcode-calls. |
| 6de0 | 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 0a 20 20 | ..........malyon-opcode-calln... |
| 6e00 | 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 20 20 20 20 6d | .malyon-opcode-set-color.......m |
| 6e20 | 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 6e 2d 6f 70 63 | alyon-opcode-throw....malyon-opc |
| 6e40 | 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 6f 64 | ode-nop.............malyon-opcod |
| 6e60 | 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 20 20 20 20 20 | e-nop....malyon-opcode-nop...... |
| 6e80 | 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 20 6d 61 6c 79 | .......malyon-opcode-nop....maly |
| 6ea0 | 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 79 6f 6e | on-opcode-je..............malyon |
| 6ec0 | 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 67 20 20 | -opcode-jl....malyon-opcode-jg.. |
| 6ee0 | 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 2d 63 68 | ............malyon-opcode-dec-ch |
| 6f00 | 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 20 20 20 | k....malyon-opcode-inc-chk...... |
| 6f20 | 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 6e 2d 6f | ...malyon-opcode-jin....malyon-o |
| 6f40 | 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 6f 70 63 | pcode-test............malyon-opc |
| 6f60 | 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 20 20 20 | ode-or....malyon-opcode-and..... |
| 6f80 | 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 74 72 0a | ........malyon-opcode-test-attr. |
| 6fa0 | 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 20 20 20 | ...malyon-opcode-set-attr....... |
| 6fc0 | 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 6d 61 6c | .malyon-opcode-clear-attr....mal |
| 6fe0 | 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 6c 79 6f | yon-opcode-store...........malyo |
| 7000 | 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 2d 6f 70 | n-opcode-insert-obj....malyon-op |
| 7020 | 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 70 63 6f | code-loadw...........malyon-opco |
| 7040 | 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 2d 70 72 | de-loadb....malyon-opcode-get-pr |
| 7060 | 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 72 6f 70 | op........malyon-opcode-get-prop |
| 7080 | 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 78 74 2d | -addr....malyon-opcode-get-next- |
| 70a0 | 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 61 6c 79 | prop...malyon-opcode-add....maly |
| 70c0 | 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 79 6f 6e | on-opcode-sub.............malyon |
| 70e0 | 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 64 69 76 | -opcode-mul....malyon-opcode-div |
| 7100 | 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 64 0a 20 | .............malyon-opcode-mod.. |
| 7120 | 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 20 20 20 | ..malyon-opcode-calls........... |
| 7140 | 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 2d 6f 70 | malyon-opcode-calln....malyon-op |
| 7160 | 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 70 63 6f | code-set-color.......malyon-opco |
| 7180 | 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 20 20 20 | de-throw....malyon-opcode-nop... |
| 71a0 | 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 20 6d | ..........malyon-opcode-nop....m |
| 71c0 | 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 6d 61 6c | alyon-opcode-nop.............mal |
| 71e0 | 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 64 65 2d | yon-opcode-nop....malyon-opcode- |
| 7200 | 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 2d 6a 6c | je..............malyon-opcode-jl |
| 7220 | 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 20 20 20 | ....malyon-opcode-jg............ |
| 7240 | 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 6c 79 6f | ..malyon-opcode-dec-chk....malyo |
| 7260 | 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 6f 6e 2d | n-opcode-inc-chk.........malyon- |
| 7280 | 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 65 73 74 | opcode-jin....malyon-opcode-test |
| 72a0 | 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 20 20 20 | ............malyon-opcode-or.... |
| 72c0 | 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 20 6d 61 | malyon-opcode-and.............ma |
| 72e0 | 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 6f 6e 2d | lyon-opcode-test-attr....malyon- |
| 7300 | 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 2d 6f 70 | opcode-set-attr........malyon-op |
| 7320 | 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 6f 64 65 | code-clear-attr....malyon-opcode |
| 7340 | 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 65 2d 69 | -store...........malyon-opcode-i |
| 7360 | 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 61 64 77 | nsert-obj....malyon-opcode-loadw |
| 7380 | 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 62 0a 20 | ...........malyon-opcode-loadb.. |
| 73a0 | 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 20 20 20 | ..malyon-opcode-get-prop........ |
| 73c0 | 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 20 20 6d | malyon-opcode-get-prop-addr....m |
| 73e0 | 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 6d 61 6c | alyon-opcode-get-next-prop...mal |
| 7400 | 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 64 65 2d | yon-opcode-add....malyon-opcode- |
| 7420 | 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 2d 6d 75 | sub.............malyon-opcode-mu |
| 7440 | 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 20 20 20 | l....malyon-opcode-div.......... |
| 7460 | 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 6e 2d 6f | ...malyon-opcode-mod....malyon-o |
| 7480 | 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 6f 70 63 | pcode-calls...........malyon-opc |
| 74a0 | 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 74 2d 63 | ode-calln....malyon-opcode-set-c |
| 74c0 | 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 77 0a 20 | olor.......malyon-opcode-throw.. |
| 74e0 | 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............. |
| 7500 | 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 |
| 7520 | 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 6f 64 65 | de-nop.............malyon-opcode |
| 7540 | 2d 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 | -jz....malyon-opcode-get-sibling |
| 7560 | 20 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 | .....malyon-opcode-get-child.... |
| 7580 | 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 20 20 20 20 20 6d 61 | malyon-opcode-get-parent......ma |
| 75a0 | 6c 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 | lyon-opcode-get-prop-len....maly |
| 75c0 | 6f 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 | on-opcode-inc.............malyon |
| 75e0 | 2d 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 | -opcode-dec....malyon-opcode-pri |
| 7600 | 6e 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 | nt-addr......malyon-opcode-calls |
| 7620 | 0a 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 | ....malyon-opcode-remove-obj.... |
| 7640 | 20 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 | ..malyon-opcode-print-obj....mal |
| 7660 | 79 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 | yon-opcode-ret.............malyo |
| 7680 | 6e 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 | n-opcode-jump....malyon-opcode-p |
| 76a0 | 72 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 | rint-paddr.....malyon-opcode-loa |
| 76c0 | 64 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 | d....malyon-opcode-calln........ |
| 76e0 | 20 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 | ...malyon-opcode-jz....malyon-op |
| 7700 | 63 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 | code-get-sibling.....malyon-opco |
| 7720 | 64 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 | de-get-child....malyon-opcode-ge |
| 7740 | 74 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 | t-parent......malyon-opcode-get- |
| 7760 | 70 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 | prop-len....malyon-opcode-inc... |
| 7780 | 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 0a 20 20 20 6d | ..........malyon-opcode-dec....m |
| 77a0 | 61 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 | alyon-opcode-print-addr......mal |
| 77c0 | 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 70 63 6f 64 | yon-opcode-calls....malyon-opcod |
| 77e0 | 65 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 | e-remove-obj......malyon-opcode- |
| 7800 | 70 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 | print-obj....malyon-opcode-ret.. |
| 7820 | 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 6a 75 6d 70 0a 20 20 | ...........malyon-opcode-jump... |
| 7840 | 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 20 20 20 20 6d | .malyon-opcode-print-paddr.....m |
| 7860 | 61 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 | alyon-opcode-load....malyon-opco |
| 7880 | 64 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 | de-calln...........malyon-opcode |
| 78a0 | 2d 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 | -jz....malyon-opcode-get-sibling |
| 78c0 | 20 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 | .....malyon-opcode-get-child.... |
| 78e0 | 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 20 20 20 20 20 6d 61 | malyon-opcode-get-parent......ma |
| 7900 | 6c 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 | lyon-opcode-get-prop-len....maly |
| 7920 | 6f 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 | on-opcode-inc.............malyon |
| 7940 | 2d 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 | -opcode-dec....malyon-opcode-pri |
| 7960 | 6e 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 | nt-addr......malyon-opcode-calls |
| 7980 | 0a 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 | ....malyon-opcode-remove-obj.... |
| 79a0 | 20 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 | ..malyon-opcode-print-obj....mal |
| 79c0 | 79 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 | yon-opcode-ret.............malyo |
| 79e0 | 6e 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 | n-opcode-jump....malyon-opcode-p |
| 7a00 | 72 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 | rint-paddr.....malyon-opcode-loa |
| 7a20 | 64 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 | d....malyon-opcode-calln........ |
| 7a40 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 74 72 75 65 0a 20 20 20 6d 61 6c 79 6f 6e | ...malyon-opcode-rtrue....malyon |
| 7a60 | 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-rfalse..........malyon-o |
| 7a80 | 70 63 6f 64 65 2d 70 72 69 6e 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 | pcode-print....malyon-opcode-pri |
| 7aa0 | 6e 74 2d 72 65 74 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 | nt-ret.......malyon-opcode-nop.. |
| 7ac0 | 20 20 6d 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 | ..malyon-opcode-illegal......... |
| 7ae0 | 6d 61 6c 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 | malyon-opcode-illegal....malyon- |
| 7b00 | 6f 70 63 6f 64 65 2d 72 65 73 74 61 72 74 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 | opcode-restart.........malyon-op |
| 7b20 | 63 6f 64 65 2d 72 65 74 2d 70 6f 70 70 65 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | code-ret-popped....malyon-opcode |
| 7b40 | 2d 63 61 74 63 68 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 71 | -catch...........malyon-opcode-q |
| 7b60 | 75 69 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 20 20 | uit....malyon-opcode-new-line... |
| 7b80 | 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 0a 20 20 20 6d 61 | .....malyon-opcode-illegal....ma |
| 7ba0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 76 65 72 69 66 79 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-verify..........maly |
| 7bc0 | 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 6f | on-opcode-illegal....malyon-opco |
| 7be0 | 64 65 2d 70 69 72 61 63 79 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | de-piracy..........malyon-opcode |
| 7c00 | 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 20 20 20 | -nop....malyon-opcode-je........ |
| 7c20 | 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 79 6f 6e | ......malyon-opcode-jl....malyon |
| 7c40 | 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 6e 2d 6f | -opcode-jg..............malyon-o |
| 7c60 | 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 65 2d 69 | pcode-dec-chk....malyon-opcode-i |
| 7c80 | 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 6a 69 6e | nc-chk.........malyon-opcode-jin |
| 7ca0 | 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 20 20 20 | ....malyon-opcode-test.......... |
| 7cc0 | 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 6f 70 63 | ..malyon-opcode-or....malyon-opc |
| 7ce0 | 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 63 6f 64 | ode-and.............malyon-opcod |
| 7d00 | 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 73 65 74 | e-test-attr....malyon-opcode-set |
| 7d20 | 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 65 61 72 | -attr........malyon-opcode-clear |
| 7d40 | 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 20 20 20 | -attr....malyon-opcode-store.... |
| 7d60 | 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 62 6a 0a | .......malyon-opcode-insert-obj. |
| 7d80 | 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 20 20 20 | ...malyon-opcode-loadw.......... |
| 7da0 | 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 6e 2d 6f | .malyon-opcode-loadb....malyon-o |
| 7dc0 | 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 6f 70 63 | pcode-get-prop........malyon-opc |
| 7de0 | 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 70 63 6f | ode-get-prop-addr....malyon-opco |
| 7e00 | 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 6f 64 65 | de-get-next-prop...malyon-opcode |
| 7e20 | 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 20 20 20 | -add....malyon-opcode-sub....... |
| 7e40 | 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 6c 79 6f | ......malyon-opcode-mul....malyo |
| 7e60 | 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 6f 6e 2d | n-opcode-div.............malyon- |
| 7e80 | 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 61 6c 6c | opcode-mod....malyon-opcode-call |
| 7ea0 | 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 6c 6e 0a | s...........malyon-opcode-calln. |
| 7ec0 | 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 20 20 20 | ...malyon-opcode-set-color...... |
| 7ee0 | 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 6e 2d 6f | .malyon-opcode-throw....malyon-o |
| 7f00 | 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 |
| 7f20 | 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 20 20 20 | ode-nop....malyon-opcode-nop.... |
| 7f40 | 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 73 0a 20 20 20 | .........malyon-opcode-calls.... |
| 7f60 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 77 20 20 20 20 20 20 20 20 20 20 6d 61 | malyon-opcode-storew..........ma |
| 7f80 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 62 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | lyon-opcode-storeb....malyon-opc |
| 7fa0 | 6f 64 65 2d 70 75 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 | ode-put-prop........malyon-opcod |
| 7fc0 | 65 2d 61 72 65 61 64 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 63 | e-aread....malyon-opcode-print-c |
| 7fe0 | 68 61 72 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 2d 6e 75 6d | har......malyon-opcode-print-num |
| 8000 | 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 61 6e 64 6f 6d 20 20 20 20 20 20 20 20 | ....malyon-opcode-random........ |
| 8020 | 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 73 68 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | ..malyon-opcode-push....malyon-o |
| 8040 | 70 63 6f 64 65 2d 70 75 6c 6c 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-pull............malyon-opc |
| 8060 | 6f 64 65 2d 73 70 6c 69 74 2d 77 69 6e 64 6f 77 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-split-window....malyon-opcod |
| 8080 | 65 2d 73 65 74 2d 77 69 6e 64 6f 77 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | e-set-window......malyon-opcode- |
| 80a0 | 63 61 6c 6c 73 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 72 61 73 65 2d 77 69 6e | calls....malyon-opcode-erase-win |
| 80c0 | 64 6f 77 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 72 61 73 65 2d 6c 69 6e 65 0a | dow....malyon-opcode-erase-line. |
| 80e0 | 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 20 20 20 20 | ...malyon-opcode-set-cursor..... |
| 8100 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63 75 72 73 6f 72 0a 20 20 20 6d 61 6c | .malyon-opcode-get-cursor....mal |
| 8120 | 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 20 6d 61 6c 79 6f | yon-opcode-set-text-style..malyo |
| 8140 | 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65 72 2d 6d 6f 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | n-opcode-buffer-mode....malyon-o |
| 8160 | 70 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-output-stream...malyon-opc |
| 8180 | 6f 64 65 2d 69 6e 70 75 74 2d 73 74 72 65 61 6d 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | ode-input-stream....malyon-opcod |
| 81a0 | 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 6f 64 65 2d | e-nop.............malyon-opcode- |
| 81c0 | 72 65 61 64 2d 63 68 61 72 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 63 61 6e 2d | read-char....malyon-opcode-scan- |
| 81e0 | 74 61 62 6c 65 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 0a 20 20 20 | table......malyon-opcode-not.... |
| 8200 | 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 20 20 6d 61 | malyon-opcode-calln...........ma |
| 8220 | 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 2d 6f 70 63 6f | lyon-opcode-calln....malyon-opco |
| 8240 | 64 65 2d 74 6f 6b 65 6e 69 73 65 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | de-tokenise........malyon-opcode |
| 8260 | 2d 65 6e 63 6f 64 65 2d 74 65 78 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 6f | -encode-text....malyon-opcode-co |
| 8280 | 70 79 2d 74 61 62 6c 65 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e | py-table......malyon-opcode-prin |
| 82a0 | 74 2d 74 61 62 6c 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 61 | t-table....malyon-opcode-check-a |
| 82c0 | 72 67 2d 63 6f 75 6e 74 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 0a 20 20 20 6d | rg-count.malyon-opcode-save....m |
| 82e0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 20 20 20 20 20 20 20 20 20 6d 61 6c | alyon-opcode-restore.........mal |
| 8300 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 67 2d 73 68 69 66 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f | yon-opcode-log-shift....malyon-o |
| 8320 | 70 63 6f 64 65 2d 61 72 74 2d 73 68 69 66 74 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | pcode-art-shift.......malyon-opc |
| 8340 | 6f 64 65 2d 73 65 74 2d 66 6f 6e 74 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c | ode-set-font....malyon-opcode-il |
| 8360 | 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 65 | legal.........malyon-opcode-ille |
| 8380 | 67 61 6c 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 20 20 20 20 | gal....malyon-opcode-illegal.... |
| 83a0 | 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 0a 20 20 20 6d 61 | .....malyon-opcode-illegal....ma |
| 83c0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 2d 75 6e 64 6f 20 20 20 20 20 20 20 6d 61 6c 79 | lyon-opcode-save-undo.......maly |
| 83e0 | 6f 6e 2d 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 2d 75 6e 64 6f 0a 20 20 20 6d 61 6c 79 6f 6e | on-opcode-restore-undo....malyon |
| 8400 | 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 75 6e 69 63 6f 64 65 20 20 20 6d 61 6c 79 6f 6e 2d 6f | -opcode-print-unicode...malyon-o |
| 8420 | 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 63 6f 64 65 0a 20 20 20 6d 61 6c 79 6f 6e 2d 6f 70 | pcode-check-unicode....malyon-op |
| 8440 | 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 6f | code-nop.............malyon-opco |
| 8460 | 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 5d 0a 20 20 22 | de-nop....malyon-opcode-nop]..." |
| 8480 | 41 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20 6b 6e 6f 77 6e 20 6c 65 67 61 6c 20 5a 2d 63 6f | A.vector.of.all.known.legal.Z-co |
| 84a0 | 64 65 20 6f 70 63 6f 64 65 73 2e 22 29 0a 0a 3b 3b 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e | de.opcodes.")..;;.initialization |
| 84c0 | 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 72 6f 6d 2d | ..(defun.malyon-load-story-from- |
| 84e0 | 62 75 66 66 65 72 20 28 6d 69 6e 20 6d 61 78 29 0a 20 20 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 | buffer.(min.max)..."Load.a.Z-cod |
| 8500 | 65 20 73 74 6f 72 79 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 2e | e.story.into.an.internal.vector. |
| 8520 | 22 0a 20 20 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 73 74 72 | "...(setq.malyon-story-file.(str |
| 8540 | 69 6e 67 2d 74 6f 2d 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ing-to-vector................... |
| 8560 | 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 | .........(buffer-substring-no-pr |
| 8580 | 6f 70 65 72 74 69 65 73 20 6d 69 6e 20 6d 61 78 29 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 | operties.min.max)))...(if.(not.( |
| 85a0 | 65 71 20 3f 5c 5e 41 20 31 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 | eq.?\^A.1)).......(let.((i.0)).. |
| 85c0 | 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 28 6c 65 6e 67 74 68 20 6d 61 6c 79 6f | .......(while.(<.i.(length.malyo |
| 85e0 | 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d | n-story-file))...........(aset.m |
| 8600 | 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | alyon-story-file................ |
| 8620 | 20 69 0a 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 | .i.................(malyon-char- |
| 8640 | 74 6f 2d 69 6e 74 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 69 | to-int.(aref.malyon-story-file.i |
| 8660 | 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 29 | )))...........(setq.i.(+.1.i)))) |
| 8680 | 29 0a 20 20 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 28 | )...)..(defun.malyon-load-file.( |
| 86a0 | 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 4c 6f 61 64 20 61 20 62 69 6e 61 72 79 20 66 69 6c 65 | file-name)..."Load.a.binary.file |
| 86c0 | 20 69 6e 74 6f 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 6d 61 | .into.the.current.buffer."...(ma |
| 86e0 | 6c 79 6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 69 62 79 74 65 29 0a 20 20 28 6d 61 6c 79 6f | lyon-disable-multibyte)...(malyo |
| 8700 | 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d | n-erase-buffer)...(let.((coding- |
| 8720 | 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20 27 62 69 6e 61 72 79 29 29 0a 20 20 20 20 28 69 | system-for-read.'binary)).....(i |
| 8740 | 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 | nsert-file-contents.file-name))) |
| 8760 | 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c 79 6f 6e 2d 69 66 66 2d 63 68 75 6e 6b 2d 73 70 65 | ..(defconst.malyon-iff-chunk-spe |
| 8780 | 63 0a 20 20 27 28 28 3a 69 64 20 20 20 20 20 73 74 72 20 34 29 0a 20 20 20 20 28 3a 6c 65 6e 67 | c...'((:id.....str.4).....(:leng |
| 87a0 | 74 68 20 75 33 32 29 29 0a 20 20 22 44 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 61 6e 20 49 46 | th.u32))..."Description.of.an.IF |
| 87c0 | 46 20 63 68 75 6e 6b 20 68 65 61 64 65 72 2e 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 6d 61 6c | F.chunk.header.")..(defconst.mal |
| 87e0 | 79 6f 6e 2d 52 49 64 78 2d 73 70 65 63 0a 20 20 27 28 28 3a 6e 75 6d 20 75 33 32 29 0a 20 20 20 | yon-RIdx-spec...'((:num.u32).... |
| 8800 | 20 28 3a 72 65 73 6f 75 72 63 65 73 20 72 65 70 65 61 74 20 28 3a 6e 75 6d 29 20 28 3a 75 73 61 | .(:resources.repeat.(:num).(:usa |
| 8820 | 67 65 20 73 74 72 20 34 29 20 28 3a 6e 75 6d 62 65 72 20 75 33 32 29 20 28 3a 73 74 61 72 74 20 | ge.str.4).(:number.u32).(:start. |
| 8840 | 75 33 32 29 29 29 0a 20 20 22 44 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 52 49 64 | u32)))..."Description.of.the.RId |
| 8860 | 78 20 63 68 75 6e 6b 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 75 6e 70 61 63 6b | x.chunk.")..(defun.malyon-unpack |
| 8880 | 20 28 73 70 65 63 20 73 74 61 72 74 20 6c 65 6e 67 74 68 29 0a 20 20 22 55 6e 70 61 63 6b 20 4c | .(spec.start.length)..."Unpack.L |
| 88a0 | 45 4e 47 54 48 20 62 79 74 65 73 20 61 74 20 30 2d 62 61 73 65 64 20 6f 66 66 73 65 74 20 53 54 | ENGTH.bytes.at.0-based.offset.ST |
| 88c0 | 41 52 54 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 53 50 45 43 2e 22 0a 20 20 28 62 69 6e 64 61 | ART.according.to.SPEC."...(binda |
| 88e0 | 74 2d 75 6e 70 61 63 6b 20 73 70 65 63 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d | t-unpack.spec.(buffer-substring- |
| 8900 | 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 31 2b 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 | no-properties.(1+.start)........ |
| 8920 | 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 | ................................ |
| 8940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 31 20 73 74 61 72 74 20 6c 65 6e 67 74 68 | ...............(+.1.start.length |
| 8960 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 62 6c 6f 72 62 2d 66 | ))))..(defun.malyon-load-blorb-f |
| 8980 | 69 6c 65 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 | ile.(file-name)..."Load.a.Z-code |
| 89a0 | 20 42 6c 6f 72 62 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 | .Blorb.file.into.an.internal.vec |
| 89c0 | 74 6f 72 2e 22 0a 20 20 28 72 65 71 75 69 72 65 20 27 62 69 6e 64 61 74 29 0a 20 20 28 72 65 71 | tor."...(require.'bindat)...(req |
| 89e0 | 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 | uire.'cl-lib)...(with-temp-buffe |
| 8a00 | 72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 66 69 6c 65 2d 6e 61 6d | r.....(malyon-load-file.file-nam |
| 8a20 | 65 29 0a 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 74 68 65 20 73 69 67 6e 61 74 75 72 65 2e 20 20 | e).....;;.Check.the.signature... |
| 8a40 | 4d 75 73 74 20 62 65 20 61 6e 20 49 46 46 20 66 69 6c 65 20 6f 66 20 74 79 70 65 20 49 46 52 53 | Must.be.an.IFF.file.of.type.IFRS |
| 8a60 | 0a 20 20 20 20 3b 3b 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 61 6e 20 52 49 64 78 20 63 68 | .....;;.starting.with.an.RIdx.ch |
| 8a80 | 75 6e 6b 2e 0a 20 20 20 20 28 6f 72 20 28 61 6e 64 20 28 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d | unk......(or.(and.(string=."FORM |
| 8aa0 | 22 20 28 62 75 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 | ".(buffer-substring-no-propertie |
| 8ac0 | 73 20 31 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 22 49 | s.1.5))..............(string=."I |
| 8ae0 | 46 52 53 52 49 64 78 22 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 | FRSRIdx".(buffer-substring-no-pr |
| 8b00 | 6f 70 65 72 74 69 65 73 20 39 20 31 37 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 | operties.9.17))).........(error. |
| 8b20 | 22 4e 6f 74 20 61 20 42 6c 6f 72 62 20 66 69 6c 65 22 29 29 0a 20 20 20 20 3b 3b 20 55 6e 70 61 | "Not.a.Blorb.file")).....;;.Unpa |
| 8b40 | 63 6b 20 74 68 65 20 52 49 64 78 20 63 68 75 6e 6b 2c 20 66 69 6e 64 20 74 68 65 20 45 78 65 63 | ck.the.RIdx.chunk,.find.the.Exec |
| 8b60 | 20 63 68 75 6e 63 6b 2c 20 61 6e 64 20 75 6e 70 61 63 6b 20 69 74 73 20 68 65 61 64 65 72 2e 0a | .chunck,.and.unpack.its.header.. |
| 8b80 | 20 20 20 20 28 6c 65 74 2a 20 28 28 72 69 64 78 2d 68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d | ....(let*.((ridx-header.(malyon- |
| 8ba0 | 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66 66 2d 63 68 75 6e 6b 2d 73 70 65 63 20 31 32 20 | unpack.malyon-iff-chunk-spec.12. |
| 8bc0 | 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 69 64 78 20 20 20 20 20 20 20 20 28 6d 61 6c | 8))............(ridx........(mal |
| 8be0 | 79 6f 6e 2d 75 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 52 49 64 78 2d 73 70 65 63 20 32 30 0a 20 | yon-unpack.malyon-RIdx-spec.20.. |
| 8c00 | 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 | ................................ |
| 8c20 | 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71 20 3a 6c 65 6e 67 74 68 20 72 69 64 78 2d 68 65 | ......(cdr.(assq.:length.ridx-he |
| 8c40 | 61 64 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 78 65 63 20 28 63 6c 2d 66 69 | ader))))............(exec.(cl-fi |
| 8c60 | 6e 64 2d 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f | nd-if...................(functio |
| 8c80 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 72 29 | n....................(lambda.(r) |
| 8ca0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3d 20 30 20 | ......................(and.(=.0. |
| 8cc0 | 28 63 64 72 20 28 61 73 73 71 20 3a 6e 75 6d 62 65 72 20 72 29 29 29 0a 20 20 20 20 20 20 20 20 | (cdr.(assq.:number.r)))......... |
| 8ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 22 45 78 65 63 | ..................(string=."Exec |
| 8d00 | 22 20 28 63 64 72 20 28 61 73 73 71 20 3a 75 73 61 67 65 20 72 29 29 29 29 29 29 0a 20 20 20 20 | ".(cdr.(assq.:usage.r))))))..... |
| 8d20 | 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 3a 72 65 73 6f 75 72 | ..............(cdr.(assq.:resour |
| 8d40 | 63 65 73 20 72 69 64 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 6f 72 79 2d 73 | ces.ridx))))............(story-s |
| 8d60 | 74 61 72 74 20 28 63 64 72 20 28 61 73 73 71 20 3a 73 74 61 72 74 20 65 78 65 63 29 29 29 0a 20 | tart.(cdr.(assq.:start.exec))).. |
| 8d80 | 20 20 20 20 20 20 20 20 20 20 28 65 78 65 63 2d 68 65 61 64 65 72 20 28 6d 61 6c 79 6f 6e 2d 75 | ..........(exec-header.(malyon-u |
| 8da0 | 6e 70 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 66 66 2d 63 68 75 6e 6b 2d 73 70 65 63 20 73 74 6f 72 | npack.malyon-iff-chunk-spec.stor |
| 8dc0 | 79 2d 73 74 61 72 74 20 38 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 45 6e 73 75 72 65 20 74 68 61 | y-start.8))).......;;.Ensure.tha |
| 8de0 | 74 20 74 68 65 20 45 78 65 63 20 63 68 75 6e 6b 20 69 73 20 5a 2d 63 6f 64 65 2e 0a 20 20 20 20 | t.the.Exec.chunk.is.Z-code...... |
| 8e00 | 20 20 28 6f 72 20 28 73 74 72 69 6e 67 3d 20 22 5a 43 4f 44 22 20 28 63 64 72 20 28 61 73 73 71 | ..(or.(string=."ZCOD".(cdr.(assq |
| 8e20 | 20 3a 69 64 20 65 78 65 63 2d 68 65 61 64 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 | .:id.exec-header)))...........(e |
| 8e40 | 72 72 6f 72 20 22 4e 6f 74 20 61 20 5a 2d 63 6f 64 65 20 42 6c 6f 72 62 20 66 69 6c 65 22 29 29 | rror."Not.a.Z-code.Blorb.file")) |
| 8e60 | 0a 20 20 20 20 20 20 3b 3b 20 4c 6f 61 64 20 74 68 65 20 5a 2d 63 6f 64 65 20 66 72 6f 6d 20 74 | .......;;.Load.the.Z-code.from.t |
| 8e80 | 68 65 20 63 68 75 6e 6b 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f | he.chunk........(setq.malyon-sto |
| 8ea0 | 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6d | ry-file-name.file-name).......(m |
| 8ec0 | 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d 2d 62 75 66 66 65 72 20 28 2b 20 | alyon-load-story-from-buffer.(+. |
| 8ee0 | 39 20 73 74 6f 72 79 2d 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 9.story-start).................. |
| 8f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 39 20 73 74 6f 72 79 2d 73 | ....................(+.9.story-s |
| 8f20 | 74 61 72 74 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 | tart............................ |
| 8f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71 20 3a 6c 65 6e 67 74 68 20 | .............(cdr.(assq.:length. |
| 8f60 | 65 78 65 63 2d 68 65 61 64 65 72 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | exec-header)))))))..(defun.malyo |
| 8f80 | 6e 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 | n-load-story-file.(file-name)... |
| 8fa0 | 22 4c 6f 61 64 20 61 20 5a 2d 63 6f 64 65 20 73 74 6f 72 79 20 66 69 6c 65 20 69 6e 74 6f 20 61 | "Load.a.Z-code.story.file.into.a |
| 8fc0 | 6e 20 69 6e 74 65 72 6e 61 6c 20 76 65 63 74 6f 72 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 | n.internal.vector."...(with-temp |
| 8fe0 | 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 66 69 | -buffer.....(malyon-load-file.fi |
| 9000 | 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d | le-name).....(setq.malyon-story- |
| 9020 | 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e | file-name.file-name).....(malyon |
| 9040 | 2d 6c 6f 61 64 2d 73 74 6f 72 79 2d 66 72 6f 6d 2d 62 75 66 66 65 72 20 28 70 6f 69 6e 74 2d 6d | -load-story-from-buffer.(point-m |
| 9060 | 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | in).(point-max))))..(defun.malyo |
| 9080 | 6e 2d 69 6e 69 74 69 61 6c 69 7a 65 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 | n-initialize.()..."Initialize.th |
| 90a0 | 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 3b 20 20 28 6d 61 6c 79 6f | e.Z-code.interpreter.".;..(malyo |
| 90c0 | 6e 2d 74 72 61 63 65 2d 66 69 6c 65 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d | n-trace-file)...(setq.malyon-gam |
| 90e0 | 65 2d 73 74 61 74 65 2d 71 75 65 74 7a 61 6c 20 74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 | e-state-quetzal.t)...(malyon-ini |
| 9100 | 74 69 61 6c 69 7a 65 2d 73 74 61 74 75 73 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 | tialize-status)...(malyon-initia |
| 9120 | 6c 69 7a 65 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 | lize-transcript)...(malyon-initi |
| 9140 | 61 6c 69 7a 65 2d 77 69 6e 64 6f 77 73 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 69 61 6c | alize-windows)...(malyon-initial |
| 9160 | 69 7a 65 2d 73 74 6f 72 79 2d 68 65 61 64 65 72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 | ize-story-header)...(malyon-init |
| 9180 | 69 61 6c 69 7a 65 2d 72 65 67 69 73 74 65 72 73 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 74 | ialize-registers)...(malyon-init |
| 91a0 | 69 61 6c 69 7a 65 2d 6f 70 63 6f 64 65 73 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 | ialize-opcodes)...(malyon-histor |
| 91c0 | 79 2d 63 6c 65 61 72 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 | y-clear)...(setq.malyon-game-sta |
| 91e0 | 74 65 2d 72 65 73 74 61 72 74 20 28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 67 61 6d 65 2d | te-restart.(malyon-current-game- |
| 9200 | 73 74 61 74 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 68 65 61 64 65 72 29 29 | state))...(malyon-print-header)) |
| 9220 | 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 2d 73 74 61 74 75 | ..(defun.malyon-initialize-statu |
| 9240 | 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 73 74 61 74 75 73 20 62 75 | s.()..."Initialize.the.status.bu |
| 9260 | 66 66 65 72 2e 22 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 | ffer."...(setq.malyon-status-buf |
| 9280 | 66 65 72 20 28 67 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 53 | fer.(get-buffer-create."Malyon.S |
| 92a0 | 74 61 74 75 73 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 | tatus"))...(switch-to-buffer.mal |
| 92c0 | 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 | yon-status-buffer)...(malyon-era |
| 92e0 | 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 61 72 | se-buffer)...(kill-all-local-var |
| 9300 | 69 61 62 6c 65 73 29 0a 20 20 28 73 65 74 71 20 63 75 72 73 6f 72 2d 69 6e 2d 6e 6f 6e 2d 73 65 | iables)...(setq.cursor-in-non-se |
| 9320 | 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 73 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 | lected-windows.nil)...(setq.mode |
| 9340 | 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | -line-format.nil)...(setq.malyon |
| 9360 | 2d 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 | -status-buffer-point.(point))... |
| 9380 | 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 6c 69 6e 65 73 | (setq.malyon-status-buffer-lines |
| 93a0 | 20 30 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 72 | .0)...(setq.malyon-status-buffer |
| 93c0 | 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 6e 69 6c 29 0a 20 20 28 75 73 65 2d 6c 6f 63 61 6c | -delayed-split.nil)...(use-local |
| 93e0 | 2d 6d 61 70 20 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 | -map.malyon-keymap-read)...(set- |
| 9400 | 73 79 6e 74 61 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 | syntax-table.malyon-syntax-table |
| 9420 | 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6e 61 6d 65 20 22 4d 61 6c 79 6f 6e 22 29 0a 20 20 | )...(setq.mode-name."Malyon")... |
| 9440 | 28 73 65 74 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 20 | (setq.major-mode.'malyon-mode).. |
| 9460 | 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 0a | .(run-hooks.'malyon-mode-hook)). |
| 9480 | 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 74 72 61 6e 73 63 | .(defun.malyon-initialize-transc |
| 94a0 | 72 69 70 74 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 74 72 61 6e 73 63 | ript.()..."Initialize.the.transc |
| 94c0 | 72 69 70 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 | ript.buffer."...(setq.malyon-tra |
| 94e0 | 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 | nscript-buffer.(get-buffer-creat |
| 9500 | 65 20 22 4d 61 6c 79 6f 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 29 0a 20 20 28 73 77 69 74 63 | e."Malyon.Transcript"))...(switc |
| 9520 | 68 2d 74 6f 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 2d 62 75 | h-to-buffer.malyon-transcript-bu |
| 9540 | 66 66 65 72 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 | ffer)...(malyon-erase-buffer)... |
| 9560 | 28 6b 69 6c 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 | (kill-all-local-variables)...(se |
| 9580 | 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 |
| 95a0 | 66 74 65 72 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 69 6e 74 | fter-input.........(malyon-point |
| 95c0 | 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 29 0a | -max.malyon-transcript-buffer)). |
| 95e0 | 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 70 2d 72 | ..(use-local-map.malyon-keymap-r |
| 9600 | 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 6f 6e 2d | ead)...(set-syntax-table.malyon- |
| 9620 | 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 0a 20 20 28 73 65 74 71 20 66 69 6c 6c 2d 63 6f 6c 75 6d | syntax-table)...(setq.fill-colum |
| 9640 | 6e 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 0a 20 20 28 61 75 74 6f 2d 66 69 6c | n.malyon-max-column)...(auto-fil |
| 9660 | 6c 2d 6d 6f 64 65 20 31 29 0a 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6e 61 6d 65 20 22 4d 61 6c | l-mode.1)...(setq.mode-name."Mal |
| 9680 | 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 27 6d 61 6c 79 6f 6e | yon")...(setq.major-mode.'malyon |
| 96a0 | 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 6f 6e 2d 6d 6f 64 65 | -mode)...(run-hooks.'malyon-mode |
| 96c0 | 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 69 74 69 61 6c 69 7a | -hook))..(defun.malyon-initializ |
| 96e0 | 65 2d 77 69 6e 64 6f 77 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 77 | e-windows.()..."Initialize.the.w |
| 9700 | 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 7a 20 6d 61 | indow.configuration.for.the.z.ma |
| 9720 | 63 68 69 6e 65 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 | chine."...(setq.malyon-transcrip |
| 9740 | 74 2d 62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 20 74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 | t-buffer-buffered.t)...(malyon-s |
| 9760 | 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 30 29 0a 20 20 28 6d 61 | et-window-configuration.0)...(ma |
| 9780 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 77 69 6e 64 6f 77 20 30 29 29 0a 0a 28 64 65 66 | lyon-opcode-set-window.0))..(def |
| 97a0 | 75 6e 20 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 | un.malyon-initialize-story-heade |
| 97c0 | 72 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 68 65 61 64 65 72 20 73 | r.()..."Initializes.the.header.s |
| 97e0 | 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 6d 61 | ection.of.the.story.file."...(ma |
| 9800 | 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lyon-store-byte.1............... |
| 9820 | 20 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 65 72 73 | .......(if.(>=.malyon-story-vers |
| 9840 | 69 6f 6e 20 35 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 | ion.5).......................... |
| 9860 | 32 38 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 6c 6f 67 69 6f | 28........................(logio |
| 9880 | 72 20 23 78 32 30 20 28 6c 6f 67 61 6e 64 20 23 62 31 31 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | r.#x20.(logand.#b111.(malyon-rea |
| 98a0 | 64 2d 62 79 74 65 20 31 29 29 29 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 | d-byte.1)))))...(malyon-store-by |
| 98c0 | 74 65 20 31 36 20 28 6c 6f 67 61 6e 64 20 34 34 30 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 | te.16.(logand.440.(malyon-read-b |
| 98e0 | 79 74 65 20 31 36 29 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 33 | yte.16)))...(malyon-store-byte.3 |
| 9900 | 30 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 33 31 20 36 35 29 | 0.1)...(malyon-store-byte.31.65) |
| 9920 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 33 32 20 32 35 35 29 0a 20 20 | ...(malyon-store-byte.32.255)... |
| 9940 | 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 33 33 20 28 2d 20 6d 61 6c 79 6f 6e 2d | (malyon-store-byte.33.(-.malyon- |
| 9960 | 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 |
| 9980 | 6f 72 64 20 33 34 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 | ord.34.(-.malyon-max-column.1)). |
| 99a0 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 36 20 32 35 35 29 0a 20 20 28 | ..(malyon-store-word.36.255)...( |
| 99c0 | 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 38 20 31 29 0a 20 20 28 6d 61 6c 79 6f | malyon-store-word.38.1)...(malyo |
| 99e0 | 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 33 39 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f | n-store-word.39.1)...(malyon-sto |
| 9a00 | 72 65 2d 62 79 74 65 20 34 34 20 30 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 | re-byte.44.0)...(malyon-store-by |
| 9a20 | 74 65 20 34 35 20 30 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 35 30 | te.45.0)...(malyon-store-byte.50 |
| 9a40 | 20 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 35 31 20 30 29 29 0a | .1)...(malyon-store-byte.51.0)). |
| 9a60 | 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 72 65 67 69 73 74 | .(defun.malyon-initialize-regist |
| 9a80 | 65 72 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 69 6e 74 65 72 70 72 | ers.()..."Initialize.the.interpr |
| 9aa0 | 65 74 65 72 27 73 20 69 6e 74 65 72 6e 61 6c 20 72 65 67 69 73 74 65 72 73 2e 22 0a 20 20 28 73 | eter's.internal.registers."...(s |
| 9ac0 | 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 31 30 | etq.malyon-stack.(make-vector.10 |
| 9ae0 | 32 34 20 30 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 | 24.0))...(setq.malyon-stack-poin |
| 9b00 | 74 65 72 20 2d 31 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 69 6e 69 74 69 61 6c 2d 66 | ter.-1)...(malyon-push-initial-f |
| 9b20 | 72 61 6d 65 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 | rame)...(setq.malyon-frame-point |
| 9b40 | 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 20 28 73 65 74 71 | er.malyon-stack-pointer)...(setq |
| 9b60 | 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 6d 61 6c | .malyon-instruction-pointer.(mal |
| 9b80 | 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 36 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | yon-read-word.6))...(setq.malyon |
| 9ba0 | 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 | -global-variables.(malyon-read-w |
| 9bc0 | 6f 72 64 20 31 32 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 | ord.12))...(setq.malyon-object-t |
| 9be0 | 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 30 29 29 0a 20 20 28 63 | able.(malyon-read-word.10))...(c |
| 9c00 | 6f 6e 64 20 28 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 | ond.((<.malyon-story-version.5). |
| 9c20 | 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 74 61 62 | .........(setq.malyon-object-tab |
| 9c40 | 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 39 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | le-entry-size.9)..........(setq. |
| 9c60 | 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20 33 | malyon-object-properties.......3 |
| 9c80 | 31 29 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 | 1)..........(setq.malyon-object- |
| 9ca0 | 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20 20 37 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a | property-offset..7)).........(t. |
| 9cc0 | 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 74 61 62 | .........(setq.malyon-object-tab |
| 9ce0 | 6c 65 2d 65 6e 74 72 79 2d 73 69 7a 65 20 31 34 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | le-entry-size.14)..........(setq |
| 9d00 | 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 20 20 20 20 20 20 20 | .malyon-object-properties....... |
| 9d20 | 36 33 29 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 | 63)..........(setq.malyon-object |
| 9d40 | 2d 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 20 20 31 32 29 29 29 0a 20 20 28 73 65 74 71 20 | -property-offset..12)))...(setq. |
| 9d60 | 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | malyon-abbreviations.(malyon-rea |
| 9d80 | 64 2d 77 6f 72 64 20 32 34 29 29 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | d-word.24))...(if.(<.malyon-stor |
| 9da0 | 79 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d | y-version.5).......(setq.malyon- |
| 9dc0 | 73 63 6f 72 65 2d 67 61 6d 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 32 20 28 6d 61 6c | score-game.(zerop.(logand.2.(mal |
| 9de0 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 31 29 29 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c | yon-read-byte.1)))))...(setq.mal |
| 9e00 | 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 6c 69 65 72 0a 20 20 20 20 20 20 20 20 28 63 | yon-packed-multiplier.........(c |
| 9e20 | 61 64 72 20 28 61 73 73 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 27 | adr.(assq.malyon-story-version.' |
| 9e40 | 28 28 33 20 32 29 20 28 35 20 34 29 20 28 38 20 38 29 29 29 29 29 0a 20 20 28 69 66 20 28 6f 72 | ((3.2).(5.4).(8.8)))))...(if.(or |
| 9e60 | 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 28 7a 65 72 | .(<.malyon-story-version.5).(zer |
| 9e80 | 6f 70 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 35 32 29 29 29 0a 20 20 20 20 20 | op.(malyon-read-word.52)))...... |
| 9ea0 | 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 28 63 6f 6e 63 61 74 20 22 | .(setq.malyon-alphabet.(concat." |
| 9ec0 | 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 22 0a 20 20 20 20 | abcdefghijklmnopqrstuvwxyz"..... |
| 9ee0 | 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 | ................................ |
| 9f00 | 22 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 22 0a 20 20 20 | "ABCDEFGHIJKLMNOPQRSTUVWXYZ".... |
| 9f20 | 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 | ................................ |
| 9f40 | 20 22 20 5c 6e 30 31 32 33 34 35 36 37 38 39 2e 2c 21 3f 5f 23 27 5c 22 2f 5c 5c 2d 3a 28 29 22 | .".\n0123456789.,!?_#'\"/\\-:()" |
| 9f60 | 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 28 6d 61 | )).....(setq.malyon-alphabet.(ma |
| 9f80 | 6b 65 2d 73 74 72 69 6e 67 20 37 38 20 3f 20 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 | ke-string.78.?.)).....(let.((i.0 |
| 9fa0 | 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 37 38 29 0a 20 20 20 20 20 20 20 | )).......(while.(<.i.78)........ |
| 9fc0 | 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 62 65 74 20 69 0a 20 20 20 20 20 20 20 | .(aset.malyon-alphabet.i........ |
| 9fe0 | 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 2b 20 69 20 28 6d | .......(malyon-read-byte.(+.i.(m |
| a000 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 35 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 | alyon-read-word.52)))).........( |
| a020 | 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 69 | setq.i.(+.1.i)))))...(malyon-ini |
| a040 | 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 29 0a 20 20 28 73 65 74 71 20 6d | tialize-unicode-table)...(setq.m |
| a060 | 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 65 61 64 2d 77 6f | alyon-dictionary.(malyon-read-wo |
| a080 | 72 64 20 38 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 | rd.8))...(setq.malyon-dictionary |
| a0a0 | 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | -entry-length.........(malyon-re |
| a0c0 | 61 64 2d 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 28 2b 20 31 20 6d 61 6c 79 6f 6e 2d 64 69 63 | ad-byte..........(+.1.malyon-dic |
| a0e0 | 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 |
| a100 | 2d 64 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 64 | -dictionary))))...(setq.malyon-d |
| a120 | 69 63 74 69 6f 6e 61 72 79 2d 6e 75 6d 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 28 6d | ictionary-num-entries.........(m |
| a140 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 28 2b 20 32 20 6d 61 | alyon-read-word..........(+.2.ma |
| a160 | 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 65 61 64 2d 62 79 74 | lyon-dictionary.(malyon-read-byt |
| a180 | 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 20 28 73 65 74 71 20 | e.malyon-dictionary))))...(setq. |
| a1a0 | 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 | malyon-dictionary-entries....... |
| a1c0 | 20 20 28 2b 20 34 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 | ..(+.4.malyon-dictionary.(malyon |
| a1e0 | 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 72 79 29 29 29 0a | -read-byte.malyon-dictionary))). |
| a200 | 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 2d 77 6f 72 64 2d 6c | ..(setq.malyon-dictionary-word-l |
| a220 | 65 6e 67 74 68 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 | ength.(if.(<.malyon-story-versio |
| a240 | 6e 20 35 29 20 33 20 35 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e | n.5).3.5))...(setq.malyon-curren |
| a260 | 74 2d 66 61 63 65 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 0a 20 20 28 73 65 | t-face.'malyon-face-plain)...(se |
| a280 | 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f 72 20 6e 69 6c 29 0a 20 | tq.malyon-print-separator.nil).. |
| a2a0 | 20 28 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 | .(malyon-initialize-output-strea |
| a2c0 | 6d 73 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 69 7a 65 2d 6f | ms))..(defun.malyon-initialize-o |
| a2e0 | 70 63 6f 64 65 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 6f 70 63 6f | pcodes.()..."Initialize.the.opco |
| a300 | 64 65 20 74 61 62 6c 65 20 75 73 65 64 20 62 79 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e | de.table.used.by.the.story.file. |
| a320 | 22 0a 20 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 72 73 69 | "...(cond.((<.malyon-story-versi |
| a340 | 6f 6e 20 35 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 | on.5)..........(aset.malyon-opco |
| a360 | 64 65 73 20 31 34 33 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 29 0a 20 20 20 20 | des.143.'malyon-opcode-not)..... |
| a380 | 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 31 20 27 6d | .....(aset.malyon-opcodes.181.'m |
| a3a0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 61 76 65 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 | alyon-opcode-save)..........(ase |
| a3c0 | 74 20 6d 61 6c 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 | t.malyon-opcodes.182.'malyon-opc |
| a3e0 | 6f 64 65 2d 72 65 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 | ode-restore)..........(aset.maly |
| a400 | 6f 6e 2d 6f 70 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 70 6f | on-opcodes.185.'malyon-opcode-po |
| a420 | 70 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 | p)..........(aset.malyon-opcodes |
| a440 | 20 31 38 38 20 27 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 | .188.'malyon-opcode-show-status) |
| a460 | 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 | ).........(t..........(aset.maly |
| a480 | 6f 6e 2d 6f 70 63 6f 64 65 73 20 31 34 33 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 | on-opcodes.143.'malyon-opcode-ca |
| a4a0 | 6c 6c 6e 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 | lln)..........(aset.malyon-opcod |
| a4c0 | 65 73 20 31 38 31 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 29 0a 20 | es.181.'malyon-opcode-illegal).. |
| a4e0 | 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 32 | ........(aset.malyon-opcodes.182 |
| a500 | 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6c 6c 65 67 61 6c 29 0a 20 20 20 20 20 20 20 | .'malyon-opcode-illegal)........ |
| a520 | 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 61 6c 79 | ..(aset.malyon-opcodes.185.'maly |
| a540 | 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 65 63 | on-opcode-catch)..........;;.Tec |
| a560 | 68 6e 69 63 61 6c 6c 79 2c 20 31 38 38 20 28 73 68 6f 77 5f 73 74 61 74 75 73 29 20 69 73 20 76 | hnically,.188.(show_status).is.v |
| a580 | 33 20 6f 6e 6c 79 2c 20 62 75 74 20 56 65 72 73 69 6f 6e 20 35 20 52 65 6c 65 61 73 65 20 32 33 | 3.only,.but.Version.5.Release.23 |
| a5a0 | 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 66 20 57 69 73 68 62 72 69 6e 67 65 72 20 63 6f 6e 74 | ..........;;.of.Wishbringer.cont |
| a5c0 | 61 69 6e 73 20 69 74 20 62 79 20 61 63 63 69 64 65 6e 74 2c 20 73 6f 20 74 72 65 61 74 20 69 74 | ains.it.by.accident,.so.treat.it |
| a5e0 | 20 61 73 20 4e 4f 50 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 | .as.NOP.instead...........(aset. |
| a600 | 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 64 | malyon-opcodes.188.'malyon-opcod |
| a620 | 65 2d 6e 6f 70 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 68 | e-nop))))..(defun.malyon-print-h |
| a640 | 65 61 64 65 72 20 28 29 0a 20 20 22 50 72 69 6e 74 20 6d 61 6c 79 6f 6e 20 6d 6f 64 65 20 68 65 | eader.()..."Print.malyon.mode.he |
| a660 | 61 64 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 | ader.information."...(malyon-opc |
| a680 | 6f 64 65 2d 73 65 74 2d 74 65 78 74 2d 73 74 79 6c 65 20 32 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d | ode-set-text-style.2)...(malyon- |
| a6a0 | 70 72 69 6e 74 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 56 20 22 20 6d 61 6c 79 6f 6e | print.(concat."Malyon.V.".malyon |
| a6c0 | 2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d | -version))...(malyon-opcode-set- |
| a6e0 | 74 65 78 74 2d 73 74 79 6c 65 20 30 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 | text-style.0)...(malyon-newline) |
| a700 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 22 41 20 7a 2d 63 6f 64 65 20 69 6e 74 65 72 | ...(malyon-print."A.z-code.inter |
| a720 | 70 72 65 74 65 72 20 66 6f 72 20 76 65 72 73 69 6f 6e 20 33 2c 20 35 2c 20 61 6e 64 20 38 20 67 | preter.for.version.3,.5,.and.8.g |
| a740 | 61 6d 65 73 2e 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 | ames.")...(malyon-newline)...(ma |
| a760 | 6c 79 6f 6e 2d 70 72 69 6e 74 20 22 28 63 29 20 31 39 39 39 2d 32 30 31 31 20 62 79 20 50 65 74 | lyon-print."(c).1999-2011.by.Pet |
| a780 | 65 72 20 49 6c 62 65 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 | er.Ilberg.<peter.ilberg@gmail.co |
| a7a0 | 6d 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 6f | m>")...(malyon-newline)...(malyo |
| a7c0 | 6e 2d 70 72 69 6e 74 20 22 28 63 29 20 32 30 31 36 20 62 79 20 45 72 69 6b 20 53 65 6c 62 65 72 | n-print."(c).2016.by.Erik.Selber |
| a7e0 | 67 20 3c 65 72 69 6b 40 73 65 6c 62 65 72 67 2e 6f 72 67 3e 22 29 0a 20 20 28 6d 61 6c 79 6f 6e | g.<erik@selberg.org>")...(malyon |
| a800 | 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 29 0a 0a 3b | -newline)...(malyon-newline))..; |
| a820 | 3b 20 63 6c 65 61 6e 75 70 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 | ;.cleanup..(defun.malyon-cleanup |
| a840 | 20 28 29 0a 20 20 22 43 6c 65 61 6e 20 75 70 20 74 68 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 | .()..."Clean.up.the.Z-code.inter |
| a860 | 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 64 65 2d 69 6e 74 65 72 6e 61 6c | preter."...(malyon-hide-internal |
| a880 | 2d 65 72 72 6f 72 73 20 22 63 6c 65 61 6e 75 70 20 66 61 69 6c 65 64 2e 22 0a 20 20 20 20 28 70 | -errors."cleanup.failed.".....(p |
| a8a0 | 72 6f 67 6e 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 | rogn.......(setq.malyon-story-fi |
| a8c0 | 6c 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f | le.nil).......(setq.malyon-windo |
| a8e0 | 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 | w-configuration.nil).......(setq |
| a900 | 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 20 6e 69 6c 29 0a | .malyon-game-state-restart.nil). |
| a920 | 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 65 2d 75 6e | ......(setq.malyon-game-state-un |
| a940 | 64 6f 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 69 66 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 4d | do.nil).......(if.(get-buffer."M |
| a960 | 61 6c 79 6f 6e 20 53 74 61 74 75 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 | alyon.Status")...........(kill-b |
| a980 | 75 66 66 65 72 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 | uffer.(get-buffer."Malyon.Status |
| a9a0 | 22 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 4d 61 6c 79 | "))).......(if.(get-buffer."Maly |
| a9c0 | 6f 6e 20 54 72 61 6e 73 63 72 69 70 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e | on.Transcript")...........(progn |
| a9e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 | .............(switch-to-buffer.( |
| aa00 | 67 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 29 | get-buffer."Malyon.Transcript")) |
| aa20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 | .............(malyon-redisplay-f |
| aa40 | 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 20 20 20 | rame.(selected-frame).t)........ |
| aa60 | 20 20 20 20 20 28 64 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 | .....(delete-other-windows.(get- |
| aa80 | 62 75 66 66 65 72 2d 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 | buffer-window.(current-buffer))) |
| aaa0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .............(widen)............ |
| aac0 | 20 28 74 65 78 74 2d 6d 6f 64 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | .(text-mode))).......(setq.malyo |
| aae0 | 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 | n-status-buffer.nil).......(setq |
| ab00 | 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 29 29 29 | .malyon-transcript-buffer.nil))) |
| ab20 | 29 0a 0a 3b 3b 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | )..;;.error.handling..(defun.mal |
| ab40 | 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 28 6d 65 73 73 61 67 65 29 0a 20 20 22 50 72 69 | yon-fatal-error.(message)..."Pri |
| ab60 | 6e 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 6e 64 20 61 62 6f 72 74 2e 22 0a 20 20 28 | nt.error.message.and.abort."...( |
| ab80 | 73 65 74 71 20 6d 65 73 73 61 67 65 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c 79 6f 6e 20 66 61 74 | setq.message.(concat."Malyon.fat |
| aba0 | 61 6c 20 65 72 72 6f 72 3a 20 22 20 6d 65 73 73 61 67 65 29 29 0a 20 20 28 75 6e 77 69 6e 64 2d | al.error:.".message))...(unwind- |
| abc0 | 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 | protect.......(with-current-buff |
| abe0 | 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 0a 20 20 20 20 | er.malyon-transcript-buffer..... |
| ac00 | 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))..... |
| ac20 | 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a | ....(newline).........(newline). |
| ac40 | 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 0a 20 20 20 | ........(put-text-property.0.... |
| ac60 | 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 6c 65 6e 67 74 68 20 | ........................(length. |
| ac80 | 6d 65 73 73 61 67 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 | message)........................ |
| aca0 | 20 20 20 20 27 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....'face....................... |
| acc0 | 20 20 20 20 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 | .....'malyon-face-error......... |
| ace0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 | ...................message)..... |
| ad00 | 20 20 20 20 28 69 6e 73 65 72 74 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 28 6e 65 | ....(insert.message).........(ne |
| ad20 | 77 6c 69 6e 65 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 29 0a 20 20 20 | wline)).....(malyon-cleanup).... |
| ad40 | 20 28 6d 61 6c 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 | .(malyon-redisplay-frame.(select |
| ad60 | 65 64 2d 66 72 61 6d 65 29 20 74 29 0a 20 20 20 20 28 65 72 72 6f 72 20 6d 65 73 73 61 67 65 29 | ed-frame).t).....(error.message) |
| ad80 | 29 29 0a 0a 3b 3b 20 63 6f 6e 76 65 72 73 69 6f 6e 20 6f 66 20 7a 73 63 69 69 20 74 6f 20 61 73 | ))..;;.conversion.of.zscii.to.as |
| ada0 | 63 69 69 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c | cii..(defvar.malyon-unicode-tabl |
| adc0 | 65 20 6e 69 6c 0a 20 20 22 41 6e 20 61 72 72 61 79 20 6d 61 70 70 69 6e 67 20 7a 73 63 69 69 20 | e.nil..."An.array.mapping.zscii. |
| ade0 | 63 68 61 72 61 63 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 | characters.to.latin-1.ones.")..( |
| ae00 | 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 | defvar.malyon-default-unicode-ta |
| ae20 | 62 6c 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 61 72 72 61 79 20 6d 61 70 | ble.nil..."The.default.array.map |
| ae40 | 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 69 6e 2d 31 | ping.zscii.characters.to.latin-1 |
| ae60 | 20 6f 6e 65 73 2e 22 29 0a 0a 28 69 66 20 6d 61 6c 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 | .ones.")..(if.malyon-default-uni |
| ae80 | 63 6f 64 65 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 6c 79 6f | code-table.....'()...(setq.malyo |
| aea0 | 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 20 20 20 20 | n-default-unicode-table......... |
| aec0 | 5b 33 32 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 | [32..........0...0...0...0...0.. |
| aee0 | 20 30 20 20 20 30 20 20 20 20 20 20 20 3b 20 20 20 31 20 2d 20 20 20 37 0a 20 20 20 20 20 20 20 | .0...0.......;...1.-...7........ |
| af00 | 20 20 38 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 31 30 20 20 30 20 20 20 30 20 | ..8...0...0...0...0...10..0...0. |
| af20 | 20 20 3b 20 20 20 38 20 2d 20 20 31 35 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 | ..;...8.-..15..........0...0...0 |
| af40 | 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 20 31 36 20 2d 20 20 | ...0...0...0...0...0...;..16.-.. |
| af60 | 32 33 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 33 39 20 20 30 20 20 20 | 23..........0...0...0...39..0... |
| af80 | 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 20 32 34 20 2d 20 20 33 31 0a 20 20 20 20 20 20 20 20 | 0...0...0...;..24.-..31......... |
| afa0 | 20 33 32 20 20 33 33 20 20 33 34 20 20 33 35 20 20 33 36 20 20 33 37 20 20 33 38 20 20 33 39 20 | .32..33..34..35..36..37..38..39. |
| afc0 | 20 3b 20 20 33 32 20 2d 20 20 33 39 0a 20 20 20 20 20 20 20 20 20 34 30 20 20 34 31 20 20 34 32 | .;..32.-..39..........40..41..42 |
| afe0 | 20 20 34 33 20 20 34 34 20 20 34 35 20 20 34 36 20 20 34 37 20 20 3b 20 20 34 30 20 2d 20 20 34 | ..43..44..45..46..47..;..40.-..4 |
| b000 | 37 0a 20 20 20 20 20 20 20 20 20 34 38 20 20 34 39 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35 | 7..........48..49..50..51..52..5 |
| b020 | 33 20 20 35 34 20 20 35 35 20 20 3b 20 20 34 38 20 2d 20 20 35 35 0a 20 20 20 20 20 20 20 20 20 | 3..54..55..;..48.-..55.......... |
| b040 | 35 36 20 20 35 37 20 20 35 38 20 20 35 39 20 20 36 30 20 20 36 31 20 20 36 32 20 20 36 33 20 20 | 56..57..58..59..60..61..62..63.. |
| b060 | 3b 20 20 35 36 20 2d 20 20 36 33 0a 20 20 20 20 20 20 20 20 20 36 34 20 20 36 35 20 20 36 36 20 | ;..56.-..63..........64..65..66. |
| b080 | 20 36 37 20 20 36 38 20 20 36 39 20 20 37 30 20 20 37 31 20 20 3b 20 20 36 34 20 2d 20 20 37 31 | .67..68..69..70..71..;..64.-..71 |
| b0a0 | 0a 20 20 20 20 20 20 20 20 20 37 32 20 20 37 33 20 20 37 34 20 20 37 35 20 20 37 36 20 20 37 37 | ..........72..73..74..75..76..77 |
| b0c0 | 20 20 37 38 20 20 37 39 20 20 3b 20 20 37 32 20 2d 20 20 37 39 0a 20 20 20 20 20 20 20 20 20 38 | ..78..79..;..72.-..79..........8 |
| b0e0 | 30 20 20 38 31 20 20 38 32 20 20 38 33 20 20 38 34 20 20 38 35 20 20 38 36 20 20 38 37 20 20 3b | 0..81..82..83..84..85..86..87..; |
| b100 | 20 20 38 30 20 2d 20 20 38 37 0a 20 20 20 20 20 20 20 20 20 38 38 20 20 38 39 20 20 39 30 20 20 | ..80.-..87..........88..89..90.. |
| b120 | 39 31 20 20 39 32 20 20 39 33 20 20 39 34 20 20 39 35 20 20 3b 20 20 38 38 20 2d 20 20 39 35 0a | 91..92..93..94..95..;..88.-..95. |
| b140 | 20 20 20 20 20 20 20 20 20 39 36 20 20 39 37 20 20 39 38 20 20 39 39 20 20 31 30 30 20 31 30 31 | .........96..97..98..99..100.101 |
| b160 | 20 31 30 32 20 31 30 33 20 3b 20 20 39 36 20 2d 20 31 30 33 0a 20 20 20 20 20 20 20 20 20 31 30 | .102.103.;..96.-.103..........10 |
| b180 | 34 20 31 30 35 20 31 30 36 20 31 30 37 20 31 30 38 20 31 30 39 20 31 31 30 20 31 31 31 20 3b 20 | 4.105.106.107.108.109.110.111.;. |
| b1a0 | 31 30 34 20 2d 20 31 31 31 0a 20 20 20 20 20 20 20 20 20 31 31 32 20 31 31 33 20 31 31 34 20 31 | 104.-.111..........112.113.114.1 |
| b1c0 | 31 35 20 31 31 36 20 31 31 37 20 31 31 38 20 31 31 39 20 3b 20 31 31 32 20 2d 20 31 31 39 0a 20 | 15.116.117.118.119.;.112.-.119.. |
| b1e0 | 20 20 20 20 20 20 20 20 31 32 30 20 31 32 31 20 31 32 32 20 31 32 33 20 31 32 34 20 31 32 35 20 | ........120.121.122.123.124.125. |
| b200 | 31 32 36 20 30 20 20 20 3b 20 31 32 30 20 2d 20 31 32 37 0a 20 20 20 20 20 20 20 20 20 30 20 20 | 126.0...;.120.-.127..........0.. |
| b220 | 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 31 | .0...0...0...0...0...0...0...;.1 |
| b240 | 32 38 20 2d 20 31 33 35 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 | 28.-.135..........0...0...0...0. |
| b260 | 20 20 30 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 31 33 36 20 2d 20 31 34 33 0a 20 20 | ..0...0...0...0...;.136.-.143... |
| b280 | 20 20 20 20 20 20 20 30 20 20 20 34 38 20 20 34 39 20 20 35 30 20 20 35 31 20 20 35 32 20 20 35 | .......0...48..49..50..51..52..5 |
| b2a0 | 33 20 20 35 34 20 20 3b 20 31 34 34 20 2d 20 31 35 31 0a 20 20 20 20 20 20 20 20 20 35 35 20 20 | 3..54..;.144.-.151..........55.. |
| b2c0 | 35 36 20 20 35 37 20 20 32 32 38 20 32 34 36 20 32 35 32 20 31 39 36 20 32 31 34 20 3b 20 31 35 | 56..57..228.246.252.196.214.;.15 |
| b2e0 | 32 20 2d 20 31 35 39 0a 20 20 20 20 20 20 20 20 20 32 32 30 20 32 32 33 20 31 38 37 20 31 37 31 | 2.-.159..........220.223.187.171 |
| b300 | 20 32 33 35 20 32 33 39 20 32 35 35 20 32 30 33 20 3b 20 31 36 30 20 2d 20 31 36 37 0a 20 20 20 | .235.239.255.203.;.160.-.167.... |
| b320 | 20 20 20 20 20 20 32 30 37 20 32 32 35 20 32 33 33 20 32 33 37 20 32 34 33 20 32 35 30 20 32 35 | ......207.225.233.237.243.250.25 |
| b340 | 33 20 31 39 33 20 3b 20 31 36 38 20 2d 20 31 37 35 0a 20 20 20 20 20 20 20 20 20 32 30 31 20 32 | 3.193.;.168.-.175..........201.2 |
| b360 | 30 35 20 32 31 31 20 32 31 38 20 32 32 31 20 32 32 34 20 32 33 32 20 32 33 36 20 3b 20 31 37 36 | 05.211.218.221.224.232.236.;.176 |
| b380 | 20 2d 20 31 38 33 0a 20 20 20 20 20 20 20 20 20 32 34 32 20 32 34 39 20 31 39 32 20 32 30 30 20 | .-.183..........242.249.192.200. |
| b3a0 | 32 30 34 20 32 31 30 20 32 31 37 20 32 32 36 20 3b 20 31 38 34 20 2d 20 31 39 31 0a 20 20 20 20 | 204.210.217.226.;.184.-.191..... |
| b3c0 | 20 20 20 20 20 32 33 34 20 32 33 38 20 32 34 34 20 32 35 31 20 31 39 34 20 32 30 32 20 32 30 36 | .....234.238.244.251.194.202.206 |
| b3e0 | 20 32 31 32 20 3b 20 31 39 32 20 2d 20 31 39 39 0a 20 20 20 20 20 20 20 20 20 32 31 39 20 32 32 | .212.;.192.-.199..........219.22 |
| b400 | 39 20 31 39 37 20 32 34 38 20 32 31 36 20 32 32 37 20 32 34 31 20 32 34 35 20 3b 20 32 30 30 20 | 9.197.248.216.227.241.245.;.200. |
| b420 | 2d 20 32 30 37 0a 20 20 20 20 20 20 20 20 20 31 39 35 20 32 30 39 20 32 31 33 20 32 33 30 20 31 | -.207..........195.209.213.230.1 |
| b440 | 39 38 20 32 33 31 20 31 39 39 20 32 35 34 20 3b 20 32 30 38 20 2d 20 32 31 35 0a 20 20 20 20 20 | 98.231.199.254.;.208.-.215...... |
| b460 | 20 20 20 20 32 34 30 20 32 32 32 20 32 30 38 20 31 36 33 20 36 33 20 20 36 33 20 20 31 36 31 20 | ....240.222.208.163.63..63..161. |
| b480 | 31 39 31 20 3b 20 32 31 36 20 2d 20 32 32 33 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 | 191.;.216.-.223..........0...0.. |
| b4a0 | 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 32 34 20 2d | .0...0...0...0...0...0...;.224.- |
| b4c0 | 20 32 33 31 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 | .231..........0...0...0...0...0. |
| b4e0 | 20 20 30 20 20 20 30 20 20 20 30 20 20 20 3b 20 32 33 32 20 2d 20 32 33 39 0a 20 20 20 20 20 20 | ..0...0...0...;.232.-.239....... |
| b500 | 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 20 30 | ...0...0...0...0...0...0...0...0 |
| b520 | 20 20 20 3b 20 32 34 30 20 2d 20 32 34 37 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 30 20 20 20 | ...;.240.-.247..........0...0... |
| b540 | 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 34 38 20 2d 20 | 0...0...0...0...0...0...;.248.-. |
| b560 | 32 35 35 0a 20 20 20 20 20 20 20 20 20 5d 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | 255..........]))..(defun.malyon- |
| b580 | 69 6e 69 74 69 61 6c 69 7a 65 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 28 29 0a 20 20 22 49 | initialize-unicode-table.()..."I |
| b5a0 | 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 7a 73 63 69 69 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 | nitializes.the.zscii-to-unicode. |
| b5c0 | 63 6f 6e 76 65 72 73 69 6f 6e 20 74 61 62 6c 65 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | conversion.table."...(setq.malyo |
| b5e0 | 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 | n-unicode-table.........(copy-se |
| b600 | 71 75 65 6e 63 65 20 6d 61 6c 79 6f 6e 2d 64 65 66 61 75 6c 74 2d 75 6e 69 63 6f 64 65 2d 74 61 | quence.malyon-default-unicode-ta |
| b620 | 62 6c 65 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 65 78 74 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | ble))...(let*.((ext...(malyon-re |
| b640 | 61 64 2d 77 6f 72 64 20 35 34 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 6e 20 20 20 28 69 66 | ad-word.54))..........(len...(if |
| b660 | 20 28 7a 65 72 6f 70 20 65 78 74 29 20 30 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 | .(zerop.ext).0.(malyon-read-word |
| b680 | 20 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 62 6c 65 20 28 69 66 20 28 3c 20 6c | .ext)))..........(table.(if.(<.l |
| b6a0 | 65 6e 20 33 29 20 20 20 30 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 65 | en.3)...0.(malyon-read-word.(+.e |
| b6c0 | 78 74 20 36 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6f 72 20 28 3c 20 6d 61 6c 79 6f 6e 2d | xt.6))))).....(if.(or.(<.malyon- |
| b6e0 | 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 74 61 62 6c 65 29 29 0a | story-version.5).(zerop.table)). |
| b700 | 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 | ........'().......(let.((i.0)).. |
| b720 | 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 39 36 29 0a 20 20 20 20 20 20 20 20 20 | .......(while.(<.i.96).......... |
| b740 | 20 28 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 28 2b 20 31 | .(aset.malyon-unicode-table.(+.1 |
| b760 | 35 35 20 69 29 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 3f 3f 29 29 0a 20 | 55.i).(malyon-char-to-int.??)).. |
| b780 | 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 0a 20 20 20 20 | .........(setq.i.(+.1.i))))..... |
| b7a0 | 20 20 28 73 65 74 71 20 6c 65 6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 61 | ..(setq.len.(malyon-read-byte.ta |
| b7c0 | 62 6c 65 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 20 | ble)).......(let.((i.0))........ |
| b7e0 | 20 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 61 73 65 | .(while.(<.i.len)...........(ase |
| b800 | 74 20 6d 61 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 28 2b 20 31 35 35 20 69 29 | t.malyon-unicode-table.(+.155.i) |
| b820 | 0a 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 |
| b840 | 72 64 20 28 2b 20 74 61 62 6c 65 20 31 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 | rd.(+.table.1.i)))...........(se |
| b860 | 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 | tq.i.(+.1.i)))))))..(defsubst.ma |
| b880 | 6c 79 6f 6e 2d 7a 73 63 69 69 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 | lyon-zscii-to-unicode.(char)..." |
| b8a0 | 43 6f 6e 76 65 72 74 73 20 61 20 7a 73 63 69 69 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 75 6e | Converts.a.zscii.character.to.un |
| b8c0 | 69 63 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 6f 72 20 28 3c 20 63 68 61 72 20 30 29 20 28 3e 20 | icode."...(if.(or.(<.char.0).(>. |
| b8e0 | 63 68 61 72 20 32 35 35 29 29 0a 20 20 20 20 20 20 3f 3f 0a 20 20 20 20 28 6c 65 74 20 28 28 75 | char.255)).......??.....(let.((u |
| b900 | 6e 69 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 63 68 | ni.(aref.malyon-unicode-table.ch |
| b920 | 61 72 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 75 6e 69 29 0a 20 20 20 20 | ar))).......(if.(zerop.uni)..... |
| b940 | 20 20 20 20 20 20 3f 3f 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 75 6e 69 62 79 74 65 | ......??.........(malyon-unibyte |
| b960 | 2d 63 68 61 72 2d 74 6f 2d 6d 75 6c 74 69 62 79 74 65 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 | -char-to-multibyte.(malyon-int-t |
| b980 | 6f 2d 63 68 61 72 20 75 6e 69 29 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 | o-char.uni))))))..(defsubst.maly |
| b9a0 | 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 69 69 20 28 63 68 61 72 29 0a 20 20 22 43 6f | on-unicode-to-zscii.(char)..."Co |
| b9c0 | 6e 76 65 72 74 73 20 61 20 75 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 7a 73 | nverts.a.unicode.character.to.zs |
| b9e0 | 63 69 69 2e 22 0a 20 20 28 73 65 74 71 20 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 6d 75 6c 74 69 | cii."...(setq.char.(malyon-multi |
| ba00 | 62 79 74 65 2d 63 68 61 72 2d 74 6f 2d 75 6e 69 62 79 74 65 20 63 68 61 72 29 29 0a 20 20 28 73 | byte-char-to-unibyte.char))...(s |
| ba20 | 65 74 71 20 63 68 61 72 20 28 69 66 20 28 63 68 61 72 61 63 74 65 72 70 20 63 68 61 72 29 20 28 | etq.char.(if.(characterp.char).( |
| ba40 | 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 63 68 61 72 29 20 63 68 61 72 29 29 0a | malyon-char-to-int.char).char)). |
| ba60 | 20 20 28 69 66 20 28 3d 20 31 33 20 63 68 61 72 29 0a 20 20 20 20 20 20 3f 5c 72 0a 20 20 20 20 | ..(if.(=.13.char).......?\r..... |
| ba80 | 28 6c 65 74 20 28 28 69 20 31 29 20 28 66 6f 75 6e 64 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 | (let.((i.1).(found.0)).......(wh |
| baa0 | 69 6c 65 20 28 61 6e 64 20 28 3c 20 69 20 32 35 35 29 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 | ile.(and.(<.i.255).(zerop.found) |
| bac0 | 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 63 68 61 72 20 28 61 72 65 66 20 6d 61 6c 79 | ).........(if.(=.char.(aref.maly |
| bae0 | 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 61 62 6c 65 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | on-unicode-table.i))............ |
| bb00 | 20 28 73 65 74 71 20 66 6f 75 6e 64 20 69 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 | .(setq.found.i)).........(setq.i |
| bb20 | 20 28 2b 20 69 20 31 29 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d | .(+.i.1))).......(malyon-int-to- |
| bb40 | 63 68 61 72 20 66 6f 75 6e 64 29 29 29 29 0a 0a 3b 3b 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d | char.found))))..;;.output.stream |
| bb60 | 73 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 73 | s..(defvar.malyon-output-streams |
| bb80 | 20 6e 69 6c 0a 20 20 22 56 61 6c 69 64 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 73 20 66 6f 72 | .nil..."Valid.output.streams.for |
| bba0 | 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c | .the.interpreter.")..(defvar.mal |
| bbc0 | 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73 20 6e 69 6c 0a 20 20 | yon-output-streams-tables.nil... |
| bbe0 | 22 41 20 6c 69 73 74 20 6f 66 20 61 63 74 69 76 65 20 74 61 62 6c 65 73 20 66 6f 72 20 73 74 72 | "A.list.of.active.tables.for.str |
| bc00 | 65 61 6d 20 33 2e 22 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 | eam.3.")..(defun.malyon-initiali |
| bc20 | 7a 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 | ze-output-streams.()..."Initiali |
| bc40 | 7a 65 73 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 73 2e 22 0a 20 20 28 73 65 74 71 | zes.the.output.streams."...(setq |
| bc60 | 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20 27 28 29 29 0a 20 20 28 73 | .malyon-output-streams.'())...(s |
| bc80 | 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 61 62 6c 65 73 | etq.malyon-output-streams-tables |
| bca0 | 20 27 28 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 | .'())...(malyon-add-output-strea |
| bcc0 | 6d 20 31 20 30 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 | m.1.0))..(defun.malyon-output-st |
| bce0 | 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 28 73 74 72 65 61 6d 29 0a 20 20 22 52 65 74 75 72 6e | ream-function.(stream)..."Return |
| bd00 | 73 20 74 68 65 20 6f 75 74 70 75 74 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 72 65 73 65 6e 74 69 | s.the.output.function.representi |
| bd20 | 6e 67 20 74 68 65 20 67 69 76 65 6e 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 | ng.the.given.stream."...(cond.(( |
| bd40 | 3d 20 31 20 73 74 72 65 61 6d 29 20 28 69 66 20 28 7a 65 72 6f 70 20 6d 61 6c 79 6f 6e 2d 63 75 | =.1.stream).(if.(zerop.malyon-cu |
| bd60 | 72 72 65 6e 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rrent-window)................... |
| bd80 | 20 20 20 20 20 20 20 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 | ........'malyon-putchar-transcri |
| bda0 | 70 74 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 27 6d 61 6c 79 | pt.........................'maly |
| bdc0 | 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 | on-putchar-status)).........((=. |
| bde0 | 32 20 73 74 72 65 61 6d 29 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 70 72 69 6e 74 65 | 2.stream).'malyon-putchar-printe |
| be00 | 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 | r)))..(defun.malyon-add-output-s |
| be20 | 74 72 65 61 6d 20 28 73 74 72 65 61 6d 20 74 61 62 6c 65 29 0a 20 20 22 41 64 64 20 61 20 6e 65 | tream.(stream.table)..."Add.a.ne |
| be40 | 77 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 69 66 20 28 3d 20 73 74 72 65 61 | w.output.stream."...(if.(=.strea |
| be60 | 6d 20 33 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | m.3).......(progn.........(setq. |
| be80 | 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 65 73 0a 20 20 20 | malyon-output-streams-tables.... |
| bea0 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 74 61 62 6c 65 20 6d 61 6c 79 6f 6e 2d 6f 75 | ...........(cons.table.malyon-ou |
| bec0 | 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 6d | tput-streams-tables)).........(m |
| bee0 | 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 74 61 62 6c 65 20 30 29 29 0a 20 20 20 20 28 | alyon-store-word.table.0)).....( |
| bf00 | 6c 65 74 20 28 28 66 75 6e 63 74 69 6f 6e 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 | let.((function.(malyon-output-st |
| bf20 | 72 65 61 6d 2d 66 75 6e 63 74 69 6f 6e 20 73 74 72 65 61 6d 29 29 29 0a 20 20 20 20 20 20 28 73 | ream-function.stream))).......(s |
| bf40 | 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 0a 20 20 20 20 20 20 | etq.malyon-output-streams....... |
| bf60 | 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65 72 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6c 79 6f | ......(if.(member.function.malyo |
| bf80 | 6e 2d 6f 75 74 70 75 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 | n-output-streams)............... |
| bfa0 | 20 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 0a 20 20 20 20 20 20 20 20 | ..malyon-output-streams......... |
| bfc0 | 20 20 20 20 20 20 28 63 6f 6e 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 | ......(cons.function.malyon-outp |
| bfe0 | 75 74 2d 73 74 72 65 61 6d 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | ut-streams))))))..(defun.malyon- |
| c000 | 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 28 73 74 72 65 61 6d 29 0a 20 20 | remove-output-stream.(stream)... |
| c020 | 22 52 65 6d 6f 76 65 20 61 6e 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 22 0a 20 20 28 69 66 | "Remove.an.output.stream."...(if |
| c040 | 20 28 3d 20 73 74 72 65 61 6d 20 33 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | .(=.stream.3).......(setq.malyon |
| c060 | 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73 20 28 63 64 72 20 6d 61 6c 79 | -output-streams-tables.(cdr.maly |
| c080 | 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28 | on-output-streams-tables)).....( |
| c0a0 | 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 0a 09 20 20 28 72 | setq.malyon-output-streams....(r |
| c0c0 | 65 6d 6f 76 65 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 2d 66 75 6e 63 | emove.(malyon-output-stream-func |
| c0e0 | 74 69 6f 6e 20 73 74 72 65 61 6d 29 0a 09 09 09 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 | tion.stream).....malyon-output-s |
| c100 | 74 72 65 61 6d 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 75 70 64 61 74 65 | treams))))..(defun.malyon-update |
| c120 | 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 20 28 29 0a 20 20 22 55 70 64 61 74 65 20 6f 75 74 | -output-streams.()..."Update.out |
| c140 | 70 75 74 20 73 74 72 65 61 6d 73 20 77 68 65 6e 20 74 68 65 20 6f 75 74 70 75 74 20 77 69 6e 64 | put.streams.when.the.output.wind |
| c160 | 6f 77 20 68 61 73 20 63 68 61 6e 67 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 6e 65 20 28 6f | ow.has.changed."...(let.((one.(o |
| c180 | 72 20 28 6d 65 6d 62 65 72 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 72 61 6e 73 63 | r.(member.'malyon-putchar-transc |
| c1a0 | 72 69 70 74 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 0a 20 20 20 20 | ript.malyon-output-streams)..... |
| c1c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 62 65 72 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 | .............(member.'malyon-put |
| c1e0 | 63 68 61 72 2d 73 74 61 74 75 73 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 | char-status.....malyon-output-st |
| c200 | 72 65 61 6d 73 29 29 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 | reams)))).....(setq.malyon-outpu |
| c220 | 74 2d 73 74 72 65 61 6d 73 0a 09 20 20 28 72 65 6d 6f 76 65 20 27 6d 61 6c 79 6f 6e 2d 70 75 74 | t-streams....(remove.'malyon-put |
| c240 | 63 68 61 72 2d 74 72 61 6e 73 63 72 69 70 74 0a 09 09 09 20 28 72 65 6d 6f 76 65 20 27 6d 61 6c | char-transcript.....(remove.'mal |
| c260 | 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 73 0a 09 09 09 09 09 6d 61 6c 79 6f 6e 2d 6f | yon-putchar-status......malyon-o |
| c280 | 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 29 29 0a 20 20 20 20 28 69 66 20 6f 6e 65 0a 20 20 20 | utput-streams))).....(if.one.... |
| c2a0 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 31 | .....(malyon-add-output-stream.1 |
| c2c0 | 20 30 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d | .0))))..(defsubst.malyon-output- |
| c2e0 | 63 68 61 72 61 63 74 65 72 20 28 63 68 61 72 29 0a 20 20 22 4f 75 74 70 75 74 20 61 20 73 69 6e | character.(char)..."Output.a.sin |
| c300 | 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 6e 20 61 6c 6c 20 61 63 74 69 76 65 20 73 74 72 65 | gle.character.on.all.active.stre |
| c320 | 61 6d 73 2e 22 0a 20 20 28 73 65 74 71 20 63 68 61 72 20 28 6d 61 6c 79 6f 6e 2d 7a 73 63 69 69 | ams."...(setq.char.(malyon-zscii |
| c340 | 2d 74 6f 2d 75 6e 69 63 6f 64 65 20 63 68 61 72 29 29 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d | -to-unicode.char))...(if.malyon- |
| c360 | 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73 0a 20 20 20 20 20 20 28 6d 61 6c | output-streams-tables.......(mal |
| c380 | 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 61 62 6c 65 20 63 68 61 72 20 28 63 61 72 20 6d 61 6c 79 | yon-putchar-table.char.(car.maly |
| c3a0 | 6f 6e 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 2d 74 61 62 6c 65 73 29 29 0a 20 20 20 20 28 | on-output-streams-tables)).....( |
| c3c0 | 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 73 29 20 28 66 75 6e 63 61 6c 6c 20 73 20 63 68 61 72 | mapc.(lambda.(s).(funcall.s.char |
| c3e0 | 29 29 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 0a 0a 3b 3b 20 | )).malyon-output-streams)))..;;. |
| c400 | 70 72 69 6e 74 69 6e 67 20 74 65 78 74 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d | printing.text..(defsubst.malyon- |
| c420 | 61 62 62 72 65 76 20 28 61 62 62 72 65 76 20 78 29 0a 20 20 22 50 72 69 6e 74 20 61 6e 20 61 62 | abbrev.(abbrev.x)..."Print.an.ab |
| c440 | 62 72 65 76 69 61 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 | breviation."...(malyon-print-zte |
| c460 | 78 74 0a 20 20 20 28 2a 20 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 | xt....(*.2.(malyon-read-word.(+. |
| c480 | 6d 61 6c 79 6f 6e 2d 61 62 62 72 65 76 69 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 | malyon-abbreviations............ |
| c4a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 32 20 28 2b 20 78 20 28 2a 20 33 | ..................(*.2.(+.x.(*.3 |
| c4c0 | 32 20 28 31 2d 20 61 62 62 72 65 76 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | 2.(1-.abbrev)))))))))..(defun.ma |
| c4e0 | 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c 69 | lyon-newline.()..."Print.a.newli |
| c500 | 6e 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 | ne."...(if.(eq.malyon-status-buf |
| c520 | 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 67 6f 74 | fer.(current-buffer)).......(got |
| c540 | 6f 2d 63 68 61 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 | o-char.malyon-status-buffer-poin |
| c560 | 74 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 29 0a | t).....(goto-char.(point-max))). |
| c580 | 20 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 3f 5c 72 29 0a | ..(malyon-output-character.?\r). |
| c5a0 | 20 20 28 69 66 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 | ..(if.(eq.malyon-status-buffer.( |
| c5c0 | 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c | current-buffer)).......(setq.mal |
| c5e0 | 79 6f 6e 2d 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 | yon-status-buffer-point.(point)) |
| c600 | 0a 20 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 | .....(goto-char.malyon-last-curs |
| c620 | 6f 72 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 28 6d 61 6c | or-position-after-input))...(mal |
| c640 | 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 |
| c660 | 61 6d 65 29 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 | ame).nil))..(defun.malyon-print. |
| c680 | 28 6f 62 6a 65 63 74 29 0a 20 20 22 50 72 69 6e 74 20 74 65 78 74 2e 22 20 0a 20 20 28 6c 65 74 | (object)..."Print.text."....(let |
| c6a0 | 20 28 28 74 65 78 74 20 28 69 66 20 28 63 68 61 72 61 63 74 65 72 70 20 6f 62 6a 65 63 74 29 20 | .((text.(if.(characterp.object). |
| c6c0 | 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6f 62 6a 65 63 74 29 20 6f 62 6a 65 63 74 29 29 | (char-to-string.object).object)) |
| c6e0 | 0a 09 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 | ..(start)).....(if.(eq.malyon-tr |
| c700 | 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 66 66 65 72 29 | anscript-buffer.(current-buffer) |
| c720 | 29 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 | ).........(goto-char.(point-max) |
| c740 | 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 74 75 73 | ).......(goto-char.malyon-status |
| c760 | 2d 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 | -buffer-point)).....(setq.start. |
| c780 | 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 63 68 61 72 61 | (point)).....(malyon-print-chara |
| c7a0 | 63 74 65 72 73 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 74 65 78 74 29 29 0a 20 20 20 | cters.(string-to-list.text)).... |
| c7c0 | 20 28 70 75 74 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 | .(put-text-property.start.(point |
| c7e0 | 29 20 27 66 61 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 | ).'face.malyon-current-face).... |
| c800 | 20 28 69 66 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 | .(if.(eq.malyon-status-buffer.(c |
| c820 | 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 73 65 74 71 20 6d 61 | urrent-buffer)).........(setq.ma |
| c840 | 6c 79 6f 6e 2d 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 | lyon-status-buffer-point.(point) |
| c860 | 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 6c 61 73 74 2d 63 | ).......(goto-char.malyon-last-c |
| c880 | 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 29 29 29 29 0a 0a | ursor-position-after-input)))).. |
| c8a0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 20 28 | (defun.malyon-print-characters.( |
| c8c0 | 74 65 78 74 29 0a 20 20 22 50 72 69 6e 74 20 61 20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 | text)..."Print.a.list.of.charact |
| c8e0 | 65 72 73 2e 22 0a 20 20 28 6d 61 70 63 20 27 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 | ers."...(mapc.'malyon-output-cha |
| c900 | 72 61 63 74 65 72 20 74 65 78 74 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d | racter.text))..(defsubst.malyon- |
| c920 | 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 28 63 68 61 72 20 73 68 69 66 74 20 61 62 62 72 | print-state-new.(char.shift.abbr |
| c940 | 20 7a 73 63 69 69 20 7a 63 6f 64 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 | .zscii.zcode)..."Generate.a.new. |
| c960 | 70 72 69 6e 74 20 73 74 61 74 65 2e 22 0a 20 20 28 6c 69 73 74 20 63 68 61 72 20 73 68 69 66 74 | print.state."...(list.char.shift |
| c980 | 20 61 62 62 72 20 7a 73 63 69 69 20 7a 63 6f 64 65 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d | .abbr.zscii.zcode))..(defsubst.m |
| c9a0 | 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 20 28 29 0a 20 20 22 | alyon-print-state-initial.()..." |
| c9c0 | 52 65 74 75 72 6e 73 20 61 6e 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 20 66 6f 72 20 74 68 65 | Returns.an.initial.state.for.the |
| c9e0 | 20 7a 74 65 78 74 20 64 65 63 6f 64 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 | .ztext.decoder."...(malyon-print |
| ca00 | 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 2d 36 20 30 20 30 20 30 29 29 0a 0a 28 64 65 66 73 | -state-new.nil.-6.0.0.0))..(defs |
| ca20 | 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 78 74 20 28 78 20 | ubst.malyon-print-state-next.(x. |
| ca40 | 69 67 6e 6f 72 65 20 73 68 69 66 74 20 61 62 62 72 20 7a 73 63 69 69 20 7a 29 0a 20 20 22 50 72 | ignore.shift.abbr.zscii.z)..."Pr |
| ca60 | 69 6e 74 20 73 74 61 74 65 20 74 72 61 6e 73 69 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 22 0a | int.state.transition.function.". |
| ca80 | 20 20 28 63 6f 6e 64 20 28 28 3d 20 7a 73 63 69 69 20 32 29 0a 20 20 20 20 20 20 20 20 20 28 6d | ..(cond.((=.zscii.2)..........(m |
| caa0 | 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 28 2b 20 7a 20 78 29 20 2d 36 | alyon-print-state-new.(+.z.x).-6 |
| cac0 | 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 7a 73 63 69 69 20 31 29 0a 20 20 | .0.0.0)).........((=.zscii.1)... |
| cae0 | 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 |
| cb00 | 69 6c 20 20 20 20 20 2d 36 20 30 20 32 20 28 2a 20 33 32 20 78 29 29 29 0a 20 20 20 20 20 20 20 | il.....-6.0.2.(*.32.x)))........ |
| cb20 | 20 28 28 3e 20 61 62 62 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 61 62 | .((>.abbr.0)..........(malyon-ab |
| cb40 | 62 72 65 76 20 61 62 62 72 20 78 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 | brev.abbr.x)..........(malyon-pr |
| cb60 | 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 74 69 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 | int-state-initial)).........((=. |
| cb80 | 78 20 30 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 | x.0)..........(malyon-print-stat |
| cba0 | 65 2d 6e 65 77 20 3f 20 20 20 20 20 20 20 2d 36 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 | e-new.?.......-6.0.0.0))........ |
| cbc0 | 20 28 28 3c 20 78 20 34 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 | .((<.x.4)..........(malyon-print |
| cbe0 | 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 20 20 20 20 2d 36 20 78 20 30 20 30 29 29 0a 20 20 | -state-new.nil.....-6.x.0.0))... |
| cc00 | 20 20 20 20 20 20 28 28 3d 20 78 20 34 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | ......((=.x.4)..........(malyon- |
| cc20 | 70 72 69 6e 74 2d 73 74 61 74 65 2d 6e 65 77 20 6e 69 6c 20 20 20 20 20 32 30 20 30 20 30 20 30 | print-state-new.nil.....20.0.0.0 |
| cc40 | 29 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 78 20 35 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 | )).........((=.x.5)..........(ma |
| cc60 | 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 20 20 34 36 20 | lyon-print-state-new.nil.....46. |
| cc80 | 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 73 68 69 66 74 20 34 | 0.0.0)).........((and.(=.shift.4 |
| cca0 | 36 29 20 28 3d 20 78 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 | 6).(=.x.6))..........(malyon-pri |
| ccc0 | 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 31 20 30 29 29 0a | nt-state-new.nil.....-6.0.1.0)). |
| cce0 | 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 73 68 69 66 74 20 34 36 29 20 28 3d 20 78 20 | ........((and.(=.shift.46).(=.x. |
| cd00 | 37 29 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 | 7))..........(malyon-print-state |
| cd20 | 2d 6e 65 77 20 3f 5c 72 20 20 20 20 20 2d 36 20 30 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 | -new.?\r.....-6.0.0.0))......... |
| cd40 | 28 74 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 | (t..........(malyon-print-state- |
| cd60 | 6e 65 77 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 61 6c 70 68 61 | new...........(aref.malyon-alpha |
| cd80 | 62 65 74 20 28 2b 20 73 68 69 66 74 20 78 29 29 20 2d 36 20 30 20 30 20 30 29 29 29 29 0a 0a 28 | bet.(+.shift.x)).-6.0.0.0))))..( |
| cda0 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 28 61 64 64 72 65 73 73 | defun.malyon-print-text.(address |
| cdc0 | 29 0a 20 20 22 50 72 69 6e 74 20 74 65 78 74 20 61 74 20 61 64 64 72 65 73 73 20 61 6e 64 20 72 | )..."Print.text.at.address.and.r |
| cde0 | 65 74 75 72 6e 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 69 | eturn.the.address.of.the.followi |
| ce00 | 6e 67 20 62 79 74 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 61 72 74 29 29 0a 20 20 20 20 28 | ng.byte."...(let.((start)).....( |
| ce20 | 69 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 | if.(eq.malyon-transcript-buffer. |
| ce40 | 28 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 | (current-buffer)).........(goto- |
| ce60 | 63 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 | char.(point-max)).......(goto-ch |
| ce80 | 61 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 | ar.malyon-status-buffer-point)). |
| cea0 | 20 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 73 65 | ....(setq.start.(point)).....(se |
| cec0 | 74 71 20 61 64 64 72 65 73 73 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 65 78 74 20 61 | tq.address.(malyon-print-ztext.a |
| cee0 | 64 64 72 65 73 73 29 29 0a 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 | ddress)).....(put-text-property. |
| cf00 | 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 72 72 65 | start.(point).'face.malyon-curre |
| cf20 | 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 74 61 74 | nt-face).....(if.(eq.malyon-stat |
| cf40 | 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 20 20 20 | us-buffer.(current-buffer))..... |
| cf60 | 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 2d 70 | ....(setq.malyon-status-buffer-p |
| cf80 | 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 72 20 6d | oint.(point)).......(goto-char.m |
| cfa0 | 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 |
| cfc0 | 2d 69 6e 70 75 74 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 64 69 73 70 6c 61 79 2d 66 | -input)).....(malyon-redisplay-f |
| cfe0 | 72 61 6d 65 20 28 73 65 6c 65 63 74 65 64 2d 66 72 61 6d 65 29 20 6e 69 6c 29 0a 20 20 20 20 61 | rame.(selected-frame).nil).....a |
| d000 | 64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 7a 74 | ddress))..(defun.malyon-print-zt |
| d020 | 65 78 74 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 50 72 69 6e 74 20 74 68 65 20 7a 74 65 78 74 | ext.(address)..."Print.the.ztext |
| d040 | 20 73 74 6f 72 65 64 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 61 64 64 72 65 73 73 2e 22 0a 20 | .stored.at.the.given.address.".. |
| d060 | 20 28 6c 65 74 20 28 28 68 69 67 68 20 30 29 20 28 6c 6f 77 29 20 28 61 29 20 28 62 29 20 28 63 | .(let.((high.0).(low).(a).(b).(c |
| d080 | 29 20 28 73 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 65 2d 69 6e 69 | ).(state.(malyon-print-state-ini |
| d0a0 | 74 69 61 6c 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e | tial))).....(while.(zerop.(logan |
| d0c0 | 64 20 31 32 38 20 68 69 67 68 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 68 69 67 68 20 28 6d | d.128.high)).......(setq.high.(m |
| d0e0 | 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 0a 20 20 20 20 20 20 | alyon-read-byte.address))....... |
| d100 | 28 73 65 74 71 20 6c 6f 77 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 | (setq.low..(malyon-read-byte.(+. |
| d120 | 31 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 20 20 20 20 28 6c | 1.address))).......(setq.a....(l |
| d140 | 6f 67 61 6e 64 20 33 31 20 28 6c 73 68 20 68 69 67 68 20 2d 32 29 29 29 0a 20 20 20 20 20 20 28 | ogand.31.(lsh.high.-2))).......( |
| d160 | 73 65 74 71 20 62 20 20 20 20 28 6c 6f 67 61 6e 64 20 33 31 20 28 6c 6f 67 69 6f 72 20 28 6c 73 | setq.b....(logand.31.(logior.(ls |
| d180 | 68 20 68 69 67 68 20 33 29 20 28 6c 73 68 20 6c 6f 77 20 2d 35 29 29 29 29 0a 20 20 20 20 20 20 | h.high.3).(lsh.low.-5))))....... |
| d1a0 | 28 73 65 74 71 20 63 20 20 20 20 28 6c 6f 67 61 6e 64 20 33 31 20 6c 6f 77 29 29 0a 20 20 20 20 | (setq.c....(logand.31.low))..... |
| d1c0 | 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 69 | ..(setq.state.(apply.'malyon-pri |
| d1e0 | 6e 74 2d 73 74 61 74 65 2d 6e 65 78 74 20 61 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 28 69 | nt-state-next.a.state)).......(i |
| d200 | 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 61 | f.(car.state).(malyon-output-cha |
| d220 | 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 71 | racter.(car.state))).......(setq |
| d240 | 20 73 74 61 74 65 20 28 61 70 70 6c 79 20 27 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 74 61 74 | .state.(apply.'malyon-print-stat |
| d260 | 65 2d 6e 65 78 74 20 62 20 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 63 61 72 20 | e-next.b.state)).......(if.(car. |
| d280 | 73 74 61 74 65 29 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 61 63 74 65 72 20 | state).(malyon-output-character. |
| d2a0 | 28 63 61 72 20 73 74 61 74 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 65 20 | (car.state))).......(setq.state. |
| d2c0 | 28 61 70 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 | (apply.'malyon-print-state-next. |
| d2e0 | 63 20 73 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 | c.state)).......(if.(car.state). |
| d300 | 28 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 61 72 20 73 74 | (malyon-output-character.(car.st |
| d320 | 61 74 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 65 73 73 20 28 2b 20 32 20 | ate))).......(setq.address.(+.2. |
| d340 | 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 61 64 64 72 65 73 73 29 29 0a 0a 28 64 65 66 75 6e | address))).....address))..(defun |
| d360 | 20 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 28 63 68 61 72 | .malyon-putchar-transcript.(char |
| d380 | 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e | )..."Print.a.single.character.in |
| d3a0 | 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 74 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 69 66 20 28 | .the.transcript.window."...(if.( |
| d3c0 | 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 6e 65 77 6c | char-equal.char.?\n).......(newl |
| d3e0 | 69 6e 65 20 31 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 63 68 61 72 29 0a 20 20 20 20 28 73 65 | ine.1).....(insert.char).....(se |
| d400 | 74 71 20 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 73 65 70 61 72 61 74 6f 72 20 28 6e 75 6c 6c 20 | tq.malyon-print-separator.(null. |
| d420 | 28 6d 65 6d 62 65 72 20 63 68 61 72 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 29 29 | (member.char.malyon-whitespace)) |
| d440 | 29 29 0a 20 20 28 69 66 20 28 61 6e 64 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 70 74 2d | ))...(if.(and.malyon-transcript- |
| d460 | 62 75 66 66 65 72 2d 62 75 66 66 65 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 63 | buffer-buffered............(>.(c |
| d480 | 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 6c 2d 63 6f 6c | urrent-column).(current-fill-col |
| d4a0 | 75 6d 6e 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 65 6e 64 | umn))).......(progn.........(end |
| d4c0 | 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 77 6f 72 64 20 | -of-line).........(forward-word. |
| d4e0 | 2d 31 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 30 20 28 63 75 72 72 65 6e 74 2d 63 6f | -1).........(if.(<.0.(current-co |
| d500 | 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 0a | lumn)).............(newline.1)). |
| d520 | 20 20 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e 65 29 29 29 29 0a 0a 28 64 65 66 75 6e | ........(end-of-line))))..(defun |
| d540 | 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 73 74 61 74 75 73 20 28 63 68 61 72 29 0a 20 20 | .malyon-putchar-status.(char)... |
| d560 | 22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 | "Print.a.single.character.in.the |
| d580 | 20 73 74 61 74 75 73 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 | .status.window."...(if.malyon-st |
| d5a0 | 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 20 20 | atus-buffer-delayed-split....... |
| d5c0 | 28 70 72 6f 67 6e 0a 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 | (progn.........(malyon-split-buf |
| d5e0 | 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 62 75 66 66 65 72 | fer-windows.malyon-status-buffer |
| d600 | 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 29 0a 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 | -delayed-split).........(other-w |
| d620 | 69 6e 64 6f 77 20 31 29 29 29 0a 20 20 28 69 66 20 28 63 68 61 72 2d 65 71 75 61 6c 20 63 68 61 | indow.1)))...(if.(char-equal.cha |
| d640 | 72 20 3f 5c 6e 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 62 65 67 | r.?\n).......(progn.........(beg |
| d660 | 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 | inning-of-line).........(forward |
| d680 | 2d 6c 69 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 28 70 6f 69 6e 74 29 20 | -line.1).........(if.(=.(point). |
| d6a0 | 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 | (point-max)).............(forwar |
| d6c0 | 64 2d 6c 69 6e 65 20 2d 31 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e 20 28 63 75 72 72 65 6e 74 | d-line.-1))).....(if.(>.(current |
| d6e0 | 2d 63 6f 6c 75 6d 6e 29 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 29 0a | -column).(current-fill-column)). |
| d700 | 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 68 61 72 29 0a | ........'().......(insert.char). |
| d720 | 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e | ......(delete-char.1))))..(defun |
| d740 | 20 6d 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 74 61 62 6c 65 20 28 63 68 61 72 20 74 61 62 6c | .malyon-putchar-table.(char.tabl |
| d760 | 65 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 | e)..."Print.a.single.character.i |
| d780 | 6e 74 6f 20 61 20 74 61 62 6c 65 2e 22 0a 20 20 28 73 65 74 71 20 63 68 61 72 20 28 6d 61 6c 79 | nto.a.table."...(setq.char.(maly |
| d7a0 | 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 69 69 20 63 68 61 72 29 29 0a 20 20 28 6d 61 | on-unicode-to-zscii.char))...(ma |
| d7c0 | 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 32 20 74 61 62 6c 65 20 28 6d 61 6c 79 | lyon-store-byte.(+.2.table.(maly |
| d7e0 | 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62 6c 65 29 29 20 63 68 61 72 29 0a 20 20 28 6d 61 | on-read-word.table)).char)...(ma |
| d800 | 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 74 61 62 6c 65 20 28 2b 20 31 20 28 6d 61 6c 79 | lyon-store-word.table.(+.1.(maly |
| d820 | 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 74 61 62 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d | on-read-word.table))))..(defun.m |
| d840 | 61 6c 79 6f 6e 2d 70 75 74 63 68 61 72 2d 70 72 69 6e 74 65 72 20 28 63 68 61 72 29 0a 20 20 22 | alyon-putchar-printer.(char)..." |
| d860 | 50 72 69 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 6f 6e 74 6f 20 61 20 | Print.a.single.character.onto.a. |
| d880 | 70 72 69 6e 74 65 72 2e 22 29 3b 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a | printer.");.not.yet.implemented. |
| d8a0 | 0a 3b 3b 20 6d 6f 72 65 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f | .;;.more..(defvar.malyon-more-co |
| d8c0 | 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 6e 69 6c 0a 20 20 22 54 68 65 20 6b 65 79 6d 61 70 20 | ntinue-keymap.nil..."The.keymap. |
| d8e0 | 77 69 74 68 20 77 68 69 63 68 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 61 66 74 65 72 20 4d 6f 72 | with.which.to.continue.after.Mor |
| d900 | 65 20 68 61 73 20 66 69 6e 69 73 68 65 64 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | e.has.finished.")..(defun.malyon |
| d920 | 2d 6d 6f 72 65 20 28 6b 65 79 6d 61 70 29 0a 20 20 22 45 6e 74 65 72 20 4d 6f 72 65 20 6d 6f 64 | -more.(keymap)..."Enter.More.mod |
| d940 | 65 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 | e."...(if.(eq.malyon-status-buff |
| d960 | 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 75 73 65 2d | er.(current-buffer)).......(use- |
| d980 | 6c 6f 63 61 6c 2d 6d 61 70 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c | local-map.keymap).....(if.(<.mal |
| d9a0 | 79 6f 6e 2d 73 74 6f 72 79 2d 76 65 72 73 69 6f 6e 20 35 29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 | yon-story-version.5).(malyon-opc |
| d9c0 | 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 75 73 29 29 0a 20 20 20 20 28 69 66 20 28 3c 20 28 63 6f | ode-show-status)).....(if.(<.(co |
| d9e0 | 75 6e 74 2d 6c 69 6e 65 73 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d 63 75 72 73 6f 72 2d 70 6f 73 | unt-lines.malyon-last-cursor-pos |
| da00 | 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 6e 70 75 74 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 | ition-after-input.(point-max)).. |
| da20 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 | ..........(malyon-window-display |
| da40 | 65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 | ed-height)).........(progn...... |
| da60 | 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 63 72 69 70 74 29 0a | .....(malyon-adjust-transcript). |
| da80 | 20 20 20 20 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 | ..........(use-local-map.keymap) |
| daa0 | 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 6c 61 73 74 2d 63 | ).......(goto-char.malyon-last-c |
| dac0 | 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 29 0a 20 20 20 20 | ursor-position-after-input)..... |
| dae0 | 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 72 65 63 | ..(beginning-of-line).......(rec |
| db00 | 65 6e 74 65 72 20 31 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 | enter.1).......(setq.malyon-more |
| db20 | 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 28 | -continue-keymap.keymap).......( |
| db40 | 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 6d 6f 72 65 | use-local-map.malyon-keymap-more |
| db60 | 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 5b 4d 6f 72 65 5d 22 29 29 29 29 0a 0a 28 | ).......(message."[More]"))))..( |
| db80 | 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 | defun.malyon-more-status-buffer. |
| dba0 | 28 29 0a 20 20 22 45 6e 74 65 72 20 4d 6f 72 65 20 6d 6f 64 65 20 66 6f 72 20 74 68 65 20 73 74 | ()..."Enter.More.mode.for.the.st |
| dbc0 | 61 74 75 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 | atus.buffer."...(setq.malyon-mor |
| dbe0 | 65 2d 63 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 20 28 63 75 72 72 65 6e 74 2d 6c 6f 63 61 6c | e-continue-keymap.(current-local |
| dc00 | 2d 6d 61 70 29 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 | -map))...(use-local-map.malyon-k |
| dc20 | 65 79 6d 61 70 2d 6d 6f 72 65 2d 73 74 61 74 75 73 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 5b | eymap-more-status)...(message."[ |
| dc40 | 4d 6f 72 65 5d 22 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d | More]")...(throw.'malyon-end-of- |
| dc60 | 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 6e 67 | interpreter-loop.'malyon-waiting |
| dc80 | 2d 66 6f 72 2d 69 6e 70 75 74 29 29 0a 0a 3b 3b 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 0a 0a | -for-input))..;;.input.history.. |
| dca0 | 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 6e 69 6c 0a 20 20 22 54 68 | (defvar.malyon-history.nil..."Th |
| dcc0 | 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | e.input.history.")..(defun.malyo |
| dce0 | 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 73 20 28 29 0a 20 20 22 4d 6f 76 65 20 6f 6e | n-history-previous.()..."Move.on |
| dd00 | 65 20 65 6e 74 72 79 20 75 70 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e | e.entry.up.in.the.input.history. |
| dd20 | 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 6f 6e 2d 68 69 73 | "...(let.((prev.(aref.malyon-his |
| dd40 | 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 65 66 20 6d 61 6c | tory.0)).........(curr.(aref.mal |
| dd60 | 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 65 78 74 20 28 61 | yon-history.1)).........(next.(a |
| dd80 | 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 20 20 28 69 66 20 | ref.malyon-history.2))).....(if. |
| dda0 | 28 6e 75 6c 6c 20 70 72 65 76 29 0a 20 20 20 20 20 20 20 20 63 75 72 72 0a 20 20 20 20 20 20 28 | (null.prev).........curr.......( |
| ddc0 | 61 73 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 32 20 28 69 66 20 63 75 72 72 20 28 | aset.malyon-history.2.(if.curr.( |
| dde0 | 63 6f 6e 73 20 63 75 72 72 20 6e 65 78 74 29 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73 | cons.curr.next).next)).......(as |
| de00 | 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 20 28 63 64 72 20 70 72 65 76 29 29 0a | et.malyon-history.0.(cdr.prev)). |
| de20 | 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 20 31 20 28 63 61 | ......(aset.malyon-history.1.(ca |
| de40 | 72 20 70 72 65 76 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f | r.prev)))))..(defun.malyon-histo |
| de60 | 72 79 2d 6e 65 78 74 20 28 29 0a 20 20 22 4d 6f 76 65 20 6f 6e 65 20 65 6e 74 72 79 20 64 6f 77 | ry-next.()..."Move.one.entry.dow |
| de80 | 6e 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 6c 65 74 20 | n.in.the.input.history."...(let. |
| dea0 | 28 28 70 72 65 76 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 29 29 0a | ((prev.(aref.malyon-history.0)). |
| dec0 | 20 20 20 20 20 20 20 20 28 63 75 72 72 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f | ........(curr.(aref.malyon-histo |
| dee0 | 72 79 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 61 72 65 66 20 6d 61 6c 79 6f | ry.1)).........(next.(aref.malyo |
| df00 | 6e 2d 68 69 73 74 6f 72 79 20 32 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6e 65 78 | n-history.2))).....(if.(null.nex |
| df20 | 74 29 0a 20 20 20 20 20 20 20 20 63 75 72 72 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 61 6c 79 | t).........curr.......(aset.maly |
| df40 | 6f 6e 2d 68 69 73 74 6f 72 79 20 30 20 28 69 66 20 63 75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 | on-history.0.(if.curr.(cons.curr |
| df60 | 20 70 72 65 76 29 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 6e | .prev).prev)).......(aset.malyon |
| df80 | 2d 68 69 73 74 6f 72 79 20 32 20 28 63 64 72 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 61 73 | -history.2.(cdr.next)).......(as |
| dfa0 | 65 74 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 31 20 28 63 61 72 20 6e 65 78 74 29 29 29 | et.malyon-history.1.(car.next))) |
| dfc0 | 29 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 63 6c 65 61 72 20 | ))..(defun.malyon-history-clear. |
| dfe0 | 28 29 0a 20 20 22 43 6c 65 61 72 20 74 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a | ()..."Clear.the.input.history.". |
| e000 | 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 20 28 76 65 63 74 6f 72 20 27 | ..(setq.malyon-history.(vector.' |
| e020 | 28 29 20 6e 69 6c 20 27 28 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 68 69 73 | ().nil.'())))..(defun.malyon-his |
| e040 | 74 6f 72 79 2d 69 6e 73 65 72 74 20 28 65 6e 74 72 79 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e | tory-insert.(entry)..."Insert.an |
| e060 | 20 65 6e 74 72 79 20 69 6e 74 6f 20 74 68 65 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 2e 22 0a | .entry.into.the.input.history.". |
| e080 | 20 20 28 6c 65 74 2a 20 28 28 70 72 65 76 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 74 | ..(let*.((prev.(aref.malyon-hist |
| e0a0 | 6f 72 79 20 30 29 29 0a 09 20 28 63 75 72 72 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 73 | ory.0))...(curr.(aref.malyon-his |
| e0c0 | 74 6f 72 79 20 31 29 29 0a 09 20 28 6e 65 78 74 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 68 69 | tory.1))...(next.(aref.malyon-hi |
| e0e0 | 73 74 6f 72 79 20 32 29 29 0a 09 20 28 6c 20 20 20 20 28 72 65 6d 6f 76 65 20 65 6e 74 72 79 0a | story.2))...(l....(remove.entry. |
| e100 | 09 09 09 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6e 72 65 76 65 72 73 65 20 70 72 65 76 29 | .........(append.(nreverse.prev) |
| e120 | 0a 09 09 09 09 20 20 20 20 20 20 28 69 66 20 63 75 72 72 20 28 63 6f 6e 73 20 63 75 72 72 20 6e | ...........(if.curr.(cons.curr.n |
| e140 | 65 78 74 29 20 6e 65 78 74 29 29 29 29 0a 09 20 28 63 75 74 20 20 28 2d 20 28 6c 65 6e 67 74 68 | ext).next))))...(cut..(-.(length |
| e160 | 20 6c 29 20 31 39 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 63 75 74 20 30 29 0a 20 | .l).19))).....(while.(>.cut.0).. |
| e180 | 20 20 20 20 20 28 73 65 74 71 20 6c 20 20 20 28 63 64 72 20 6c 29 0a 20 20 20 20 20 20 20 20 20 | .....(setq.l...(cdr.l).......... |
| e1a0 | 20 20 20 63 75 74 20 28 2d 20 63 75 74 20 31 29 29 29 0a 20 20 20 20 28 61 73 65 74 20 6d 61 6c | ...cut.(-.cut.1))).....(aset.mal |
| e1c0 | 79 6f 6e 2d 68 69 73 74 6f 72 79 20 30 0a 09 20 20 28 72 65 6d 6f 76 65 20 6e 69 6c 20 28 72 65 | yon-history.0....(remove.nil.(re |
| e1e0 | 6d 6f 76 65 20 22 22 20 28 63 6f 6e 73 20 65 6e 74 72 79 20 28 6e 72 65 76 65 72 73 65 20 6c 29 | move."".(cons.entry.(nreverse.l) |
| e200 | 29 29 29 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 31 20 | )))).....(aset.malyon-history.1. |
| e220 | 6e 69 6c 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 32 20 | nil).....(aset.malyon-history.2. |
| e240 | 27 28 29 29 29 29 0a 0a 3b 3b 20 64 69 63 74 69 6f 6e 61 72 79 20 6c 6f 6f 6b 75 70 0a 0a 28 64 | '())))..;;.dictionary.lookup..(d |
| e260 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 20 28 63 68 61 | efun.malyon-dictionary-word.(cha |
| e280 | 72 73 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 | rs)..."Convert.a.list.of.charact |
| e2a0 | 65 72 73 20 69 6e 74 6f 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 2e 22 0a 20 20 28 | ers.into.a.dictionary.word."...( |
| e2c0 | 6c 69 73 74 20 28 63 61 72 20 28 63 61 72 20 63 68 61 72 73 29 29 0a 09 28 6c 65 6e 67 74 68 20 | list.(car.(car.chars))..(length. |
| e2e0 | 63 68 61 72 73 29 0a 09 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72 | chars)..(malyon-encode-dictionar |
| e300 | 79 2d 77 6f 72 64 20 28 61 70 70 65 6e 64 20 28 63 6c 2d 6d 61 70 63 61 6e 20 27 63 64 72 20 63 | y-word.(append.(cl-mapcan.'cdr.c |
| e320 | 68 61 72 73 29 0a 09 09 09 09 09 20 20 20 20 20 20 20 27 28 35 20 35 20 35 20 35 20 35 20 35 20 | hars).............'(5.5.5.5.5.5. |
| e340 | 35 20 35 29 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d | 5.5)))))..(defsubst.malyon-join- |
| e360 | 63 68 61 72 61 63 74 65 72 73 20 28 73 74 6f 70 20 6c 69 73 74 29 0a 20 20 22 4a 6f 69 6e 73 20 | characters.(stop.list)..."Joins. |
| e380 | 74 68 72 65 65 20 7a 74 65 78 74 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 74 77 6f 20 | three.ztext.characters.into.two. |
| e3a0 | 62 79 74 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 20 28 63 61 72 20 20 20 20 20 20 20 20 20 | bytes."...(let.((a.(car......... |
| e3c0 | 20 6c 69 73 74 29 29 0a 09 28 62 20 28 63 61 64 72 20 20 6c 69 73 74 29 29 0a 09 28 63 20 28 63 | .list))..(b.(cadr..list))..(c.(c |
| e3e0 | 6c 2d 63 61 64 64 72 20 6c 69 73 74 29 29 0a 09 28 78 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 | l-caddr.list))..(x.(if.(zerop.st |
| e400 | 6f 70 29 20 30 20 31 32 38 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 28 6c 6f 67 69 6f 72 20 78 | op).0.128))).....(list.(logior.x |
| e420 | 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 61 20 32 29 20 28 | .(logand.255.(logior.(lsh.a.2).( |
| e440 | 6c 73 68 20 62 20 2d 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 32 | lsh.b.-3))))...........(logand.2 |
| e460 | 35 35 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 62 20 35 29 20 63 29 29 29 29 29 0a 0a 28 64 65 | 55.(logior.(lsh.b.5).c)))))..(de |
| e480 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 | fun.malyon-encode-dictionary-wor |
| e4a0 | 64 20 28 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74 73 20 61 20 6c 69 73 74 20 6f 66 20 7a 74 65 78 | d.(l)..."Converts.a.list.of.ztex |
| e4c0 | 74 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 6e 61 72 79 20 77 | t.characters.into.a.dictionary.w |
| e4e0 | 6f 72 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 72 73 74 20 20 6c 29 0a 09 20 28 73 65 63 | ord."...(let*.((first..l)...(sec |
| e500 | 6f 6e 64 20 28 63 6c 2d 63 64 64 64 72 20 66 69 72 73 74 29 29 0a 09 20 28 74 68 69 72 64 20 20 | ond.(cl-cdddr.first))...(third.. |
| e520 | 28 63 6c 2d 63 64 64 64 72 20 73 65 63 6f 6e 64 29 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 27 | (cl-cdddr.second))).....(apply.' |
| e540 | 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d | vector............(if.(<.malyon- |
| e560 | 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 20 20 20 20 20 | story-version.5)................ |
| e580 | 28 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 | (append.(malyon-join-characters. |
| e5a0 | 30 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 20 20 | 0.first)........................ |
| e5c0 | 28 6d 61 6c 79 6f 6e 2d 6a 6f 69 6e 2d 63 68 61 72 61 63 74 65 72 73 20 31 20 73 65 63 6f 6e 64 | (malyon-join-characters.1.second |
| e5e0 | 29 29 0a 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 | ))..............(append.(malyon- |
| e600 | 6a 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 | join-characters.0.first)........ |
| e620 | 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 61 | ..............(malyon-join-chara |
| e640 | 63 74 65 72 73 20 30 20 73 65 63 6f 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cters.0.second)................. |
| e660 | 20 20 20 20 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 31 20 74 | .....(malyon-join-characters.1.t |
| e680 | 68 69 72 64 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 | hird))))))..(defun.malyon-lookup |
| e6a0 | 20 28 64 69 63 74 20 63 6f 64 65 29 0a 20 20 22 4c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 67 69 76 | .(dict.code)..."Look.for.the.giv |
| e6c0 | 65 6e 20 63 6f 64 65 20 69 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 61 6e 64 20 72 65 | en.code.in.the.dictionary.and.re |
| e6e0 | 74 75 72 6e 20 69 74 73 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 | turn.its.address."...(cond.((not |
| e700 | 20 63 6f 64 65 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 | .code).................0)....... |
| e720 | 20 20 28 28 6e 6f 74 20 64 69 63 74 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d | ..((not.dict).................(m |
| e740 | 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61 72 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 20 | alyon-binary-search.code))...... |
| e760 | 20 20 20 28 28 3d 20 64 69 63 74 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 20 28 | ...((=.dict.malyon-dictionary).( |
| e780 | 6d 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61 72 63 68 20 63 6f 64 65 29 29 0a 20 20 20 20 | malyon-binary-search.code))..... |
| e7a0 | 20 20 20 20 28 74 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.......................... |
| e7c0 | 28 6d 61 6c 79 6f 6e 2d 6c 69 6e 65 61 72 2d 73 65 61 72 63 68 20 64 69 63 74 20 63 6f 64 65 29 | (malyon-linear-search.dict.code) |
| e7e0 | 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 63 6f 6d 70 61 72 65 2d 77 6f | )))..(defsubst.malyon-compare-wo |
| e800 | 72 64 73 20 28 77 6f 72 64 20 61 64 64 72 65 73 73 29 0a 20 20 22 43 6f 6d 70 61 72 65 73 20 74 | rds.(word.address)..."Compares.t |
| e820 | 68 65 20 67 69 76 65 6e 20 77 6f 72 64 20 74 6f 20 74 68 65 20 77 6f 72 64 20 73 74 6f 72 65 64 | he.given.word.to.the.word.stored |
| e840 | 20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 20 30 29 0a 20 20 20 | .at.address."...(let*.((i.0).... |
| e860 | 20 20 20 20 20 20 28 6a 20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 28 78 20 28 61 | ......(j.address)..........(x.(a |
| e880 | 72 65 66 20 77 6f 72 64 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 20 28 6d 61 6c 79 6f 6e | ref.word.i))..........(y.(malyon |
| e8a0 | 2d 72 65 61 64 2d 62 79 74 65 20 6a 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 | -read-byte.j))).....(while.(not. |
| e8c0 | 28 6f 72 20 28 2f 3d 20 78 20 79 29 20 28 3d 20 69 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e | (or.(/=.x.y).(=.i.malyon-diction |
| e8e0 | 61 72 79 2d 77 6f 72 64 2d 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 | ary-word-length))).......(setq.i |
| e900 | 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 0a 20 | .(+.1.i).............j.(+.1.j).. |
| e920 | 20 20 20 20 20 20 20 20 20 20 20 78 20 28 61 72 65 66 20 77 6f 72 64 20 69 29 0a 20 20 20 20 20 | ...........x.(aref.word.i)...... |
| e940 | 20 20 20 20 20 20 20 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 | .......y.(malyon-read-byte.j))). |
| e960 | 20 20 20 20 28 2d 20 78 20 79 29 29 29 0a 0a 3b 3b 20 73 65 61 72 63 68 20 66 75 6e 63 74 69 6f | ....(-.x.y)))..;;.search.functio |
| e980 | 6e 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 62 69 6e 61 72 79 2d 73 65 61 72 63 68 20 | ns..(defun.malyon-binary-search. |
| e9a0 | 28 63 6f 64 65 29 0a 20 20 22 42 69 6e 61 72 79 20 73 65 61 72 63 68 20 74 68 72 6f 75 67 68 20 | (code)..."Binary.search.through. |
| e9c0 | 74 68 65 20 6d 61 69 6e 20 64 69 63 74 69 6f 6e 61 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 | the.main.dictionary."...(let*.(( |
| e9e0 | 6c 6f 77 65 72 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 75 70 70 65 72 20 20 20 28 2d 20 | lower...0)..........(upper...(-. |
| ea00 | 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 73 20 31 29 | malyon-dictionary-num-entries.1) |
| ea20 | 29 0a 20 20 20 20 20 20 20 20 20 28 6d 65 64 69 61 6e 20 20 28 2f 20 28 2b 20 6c 6f 77 65 72 20 | )..........(median..(/.(+.lower. |
| ea40 | 75 70 70 65 72 29 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 20 20 28 2b 20 | upper).2))..........(entry...(+. |
| ea60 | 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 | malyon-dictionary-entries....... |
| ea80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e | ...............(*.malyon-diction |
| eaa0 | 61 72 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 6d 65 64 69 61 6e 29 29 29 0a 20 20 20 20 20 | ary-entry-length.median)))...... |
| eac0 | 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 72 | ....(looking.(malyon-compare-wor |
| eae0 | 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 74 | ds.code.entry))).....(while.(not |
| eb00 | 20 28 6f 72 20 28 3e 20 6c 6f 77 65 72 20 75 70 70 65 72 29 20 28 7a 65 72 6f 70 20 6c 6f 6f 6b | .(or.(>.lower.upper).(zerop.look |
| eb20 | 69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 77 65 72 20 20 20 28 69 66 20 28 | ing))).......(setq.lower...(if.( |
| eb40 | 3c 20 30 20 6c 6f 6f 6b 69 6e 67 29 20 28 2b 20 6d 65 64 69 61 6e 20 31 29 20 6c 6f 77 65 72 29 | <.0.looking).(+.median.1).lower) |
| eb60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 70 70 65 72 20 20 20 28 69 66 20 28 3e 20 30 20 6c 6f | .............upper...(if.(>.0.lo |
| eb80 | 6f 6b 69 6e 67 29 20 28 2d 20 6d 65 64 69 61 6e 20 31 29 20 75 70 70 65 72 29 0a 20 20 20 20 20 | oking).(-.median.1).upper)...... |
| eba0 | 20 20 20 20 20 20 20 6d 65 64 69 61 6e 20 20 28 2f 20 28 2b 20 6c 6f 77 65 72 20 75 70 70 65 72 | .......median..(/.(+.lower.upper |
| ebc0 | 29 20 32 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 6d 61 6c 79 | ).2).............entry...(+.maly |
| ebe0 | 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 | on-dictionary-entries........... |
| ec00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 | .............(*.malyon-dictionar |
| ec20 | 79 2d 65 6e 74 72 79 2d 6c 65 6e 67 74 68 20 6d 65 64 69 61 6e 29 29 0a 20 20 20 20 20 20 20 20 | y-entry-length.median))......... |
| ec40 | 20 20 20 20 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 72 64 | ....looking.(malyon-compare-word |
| ec60 | 73 20 63 6f 64 65 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6c | s.code.entry))).....(if.(zerop.l |
| ec80 | 6f 6f 6b 69 6e 67 29 20 65 6e 74 72 79 20 30 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | ooking).entry.0)))..(defun.malyo |
| eca0 | 6e 2d 6c 69 6e 65 61 72 2d 73 65 61 72 63 68 20 28 64 69 63 74 69 6f 6e 61 72 79 20 63 6f 64 65 | n-linear-search.(dictionary.code |
| ecc0 | 29 0a 20 20 22 4c 69 6e 65 61 72 20 73 65 61 72 63 68 20 74 68 72 6f 75 67 68 20 74 68 65 20 67 | )..."Linear.search.through.the.g |
| ece0 | 69 76 65 6e 20 64 69 63 74 69 6f 6e 61 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 67 | iven.dictionary."...(let*.((leng |
| ed00 | 74 68 20 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 69 6f 6e | th..(malyon-read-byte.(+.diction |
| ed20 | 61 72 79 20 31 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 | ary.1........................... |
| ed40 | 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 64 | .............(malyon-read-byte.d |
| ed60 | 69 63 74 69 6f 6e 61 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 20 20 | ictionary))))..........(number.. |
| ed80 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 64 69 63 74 69 6f 6e 61 72 79 20 | (malyon-read-word.(+.dictionary. |
| eda0 | 32 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 20 | 2............................... |
| edc0 | 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 64 69 63 74 69 | .........(malyon-read-byte.dicti |
| ede0 | 6f 6e 61 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 28 2b 20 64 | onary))))..........(entries.(+.d |
| ee00 | 69 63 74 69 6f 6e 61 72 79 20 34 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64 69 | ictionary.4.(malyon-read-byte.di |
| ee20 | 63 74 69 6f 6e 61 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 20 20 30 29 | ctionary)))..........(i.......0) |
| ee40 | 0a 20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20 20 20 28 2b 20 65 6e 74 72 69 65 73 20 28 2a | ..........(entry...(+.entries.(* |
| ee60 | 20 6c 65 6e 67 74 68 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 20 28 | .length.i)))..........(looking.( |
| ee80 | 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 74 72 79 29 | malyon-compare-words.code.entry) |
| eea0 | 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 3e 3d 20 69 20 6e 75 6d | )).....(while.(not.(or.(>=.i.num |
| eec0 | 62 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 | ber).(zerop.looking))).......(se |
| eee0 | 74 71 20 69 20 20 20 20 20 20 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 | tq.i.......(+.1.i).............e |
| ef00 | 6e 74 72 79 20 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 0a | ntry...(+.entries.(*.length.i)). |
| ef20 | 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 6f 6e 2d 63 6f 6d 70 | ............looking.(malyon-comp |
| ef40 | 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 20 20 20 28 69 66 20 | are-words.code.entry))).....(if. |
| ef60 | 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 29 0a 0a 3b 3b 20 65 | (zerop.looking).entry.0)))..;;.e |
| ef80 | 6e 63 6f 64 69 6e 67 20 74 65 78 74 20 61 6e 64 20 6c 65 78 69 63 61 6c 20 61 6e 61 6c 79 73 69 | ncoding.text.and.lexical.analysi |
| efa0 | 73 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 28 73 65 70 | s..(defun.malyon-split-list.(sep |
| efc0 | 20 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 78 29 0a 20 20 22 53 70 6c 69 74 20 61 20 6c 69 | .list.&optional.x)..."Split.a.li |
| efe0 | 73 74 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 61 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 | st.into.sublists.as.indicated.by |
| f000 | 20 74 68 65 20 73 65 70 61 72 61 74 6f 72 73 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c | .the.separators."...(cond.((null |
| f020 | 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 | .list)..........(list.(nreverse. |
| f040 | 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 73 65 70 20 28 63 61 72 20 6c 69 73 74 29 | x))).........((eq.sep.(car.list) |
| f060 | 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 20 78 29 20 28 6d | )..........(cons.(nreverse.x).(m |
| f080 | 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 73 65 70 20 28 63 64 72 20 6c 69 73 74 29 20 | alyon-split-list.sep.(cdr.list). |
| f0a0 | 27 28 29 29 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 | '()))).........(t..........(maly |
| f0c0 | 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 73 65 70 20 28 63 64 72 20 6c 69 73 74 29 20 28 63 6f | on-split-list.sep.(cdr.list).(co |
| f0e0 | 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | ns.(car.list).x)))))..(defun.mal |
| f100 | 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 73 2d 74 6f 2d 77 6f 72 64 73 20 28 6c 69 73 74 29 0a 20 | yon-characters-to-words.(list).. |
| f120 | 20 22 54 75 72 6e 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 | ."Turn.the.list.of.characters.in |
| f140 | 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 77 6f 72 64 73 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 27 | to.a.list.of.words."...(mapcar.' |
| f160 | 6d 61 6c 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 | malyon-dictionary-word.......... |
| f180 | 20 28 64 65 6c 65 74 65 20 27 28 29 20 28 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 6c 69 73 74 20 | .(delete.'().(malyon-split-list. |
| f1a0 | 27 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72 61 74 6f 72 20 6c 69 73 74 29 29 29 29 0a | 'malyon-word-separator.list)))). |
| f1c0 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67 | .(defsubst.malyon-char-in-string |
| f1e0 | 20 28 63 20 73 29 0a 20 20 22 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 63 | .(c.s)..."Returns.the.index.of.c |
| f200 | 20 69 6e 20 73 20 69 66 20 66 6f 75 6e 64 2c 20 6f 72 20 6c 65 6e 67 74 68 20 6f 66 20 73 2e 22 | .in.s.if.found,.or.length.of.s." |
| f220 | 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 | ...(let.((i.0)).....(while.(not. |
| f240 | 28 6f 72 20 28 3d 20 69 20 28 6c 65 6e 67 74 68 20 73 29 29 20 28 3d 20 63 20 28 61 72 65 66 20 | (or.(=.i.(length.s)).(=.c.(aref. |
| f260 | 73 20 69 29 29 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 | s.i)))).......(setq.i.(+.1.i))). |
| f280 | 20 20 20 20 69 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 | ....i))..(defsubst.malyon-encode |
| f2a0 | 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 28 63 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 63 68 61 | -into-ztext.(c)..."Convert.a.cha |
| f2c0 | 72 61 63 74 65 72 20 69 6e 74 6f 20 7a 74 65 78 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 6e | racter.into.ztext."...(let*.((in |
| f2e0 | 64 65 78 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 69 6e 2d 73 74 72 69 6e 67 20 63 20 6d 61 6c | dex.(malyon-char-in-string.c.mal |
| f300 | 79 6f 6e 2d 61 6c 70 68 61 62 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 68 69 66 74 20 28 | yon-alphabet))..........(shift.( |
| f320 | 66 6c 6f 6f 72 20 69 6e 64 65 78 20 32 36 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 68 61 72 20 | floor.index.26))..........(char. |
| f340 | 20 28 2b 20 36 20 28 6d 6f 64 20 69 6e 64 65 78 20 32 36 29 29 29 29 0a 20 20 20 20 28 63 6f 6e | .(+.6.(mod.index.26)))).....(con |
| f360 | 64 20 28 28 3e 20 73 68 69 66 74 20 32 29 20 28 6c 69 73 74 20 35 20 36 20 28 6c 6f 67 61 6e 64 | d.((>.shift.2).(list.5.6.(logand |
| f380 | 20 33 31 20 28 6c 73 68 20 63 20 2d 35 29 29 20 28 6c 6f 67 61 6e 64 20 33 31 20 63 29 29 29 0a | .31.(lsh.c.-5)).(logand.31.c))). |
| f3a0 | 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 73 68 69 66 74 20 32 29 20 28 6c 69 73 74 20 35 20 63 | ..........((=.shift.2).(list.5.c |
| f3c0 | 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 73 68 69 66 74 20 31 29 20 28 6c 69 | har))...........((=.shift.1).(li |
| f3e0 | 73 74 20 34 20 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 | st.4.char))...........(t........ |
| f400 | 20 20 20 28 6c 69 73 74 20 63 68 61 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | ...(list.char)))))..(defun.malyo |
| f420 | 6e 2d 65 6e 63 6f 64 65 2d 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20 28 74 65 72 6d 69 | n-encode-single-character.(termi |
| f440 | 6e 61 74 69 6e 67 2d 63 68 61 72 61 63 74 65 72 73 20 63 68 61 72 29 0a 20 20 22 45 6e 63 6f 64 | nating-characters.char)..."Encod |
| f460 | 65 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 6f 20 7a 74 65 78 74 2e 22 0a 20 20 28 6c 65 | e.a.character.into.ztext."...(le |
| f480 | 74 20 28 28 70 6f 73 20 28 63 61 72 20 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 28 63 20 20 | t.((pos.(car.char)).........(c.. |
| f4a0 | 20 28 63 64 72 20 63 68 61 72 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 62 65 72 | .(cdr.char))).....(cond.((member |
| f4c0 | 20 63 20 6d 61 6c 79 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 | .c.malyon-whitespace)........... |
| f4e0 | 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 74 6f 72 29 29 0a | .(list.'malyon-word-separator)). |
| f500 | 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 62 65 72 20 63 20 74 65 72 6d 69 6e 61 74 69 6e 67 | ..........((member.c.terminating |
| f520 | 2d 63 68 61 72 61 63 74 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 6d | -characters)............(list.'m |
| f540 | 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 | alyon-word-separator............ |
| f560 | 20 20 20 20 20 20 28 63 6f 6e 73 20 70 6f 73 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 | ......(cons.pos.(malyon-encode-i |
| f580 | 6e 74 6f 2d 7a 74 65 78 74 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 | nto-ztext.c))..................' |
| f5a0 | 6d 61 6c 79 6f 6e 2d 77 6f 72 64 2d 73 65 70 61 72 61 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 | malyon-word-separator))......... |
| f5c0 | 20 20 28 74 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 70 6f 73 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 | ..(t.(list.(cons.pos.(malyon-enc |
| f5e0 | 6f 64 65 2d 69 6e 74 6f 2d 7a 74 65 78 74 20 63 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ode-into-ztext.c)))))))..(defun. |
| f600 | 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20 28 64 69 | malyon-encode-character-list.(di |
| f620 | 63 74 20 6c 69 73 74 29 0a 20 20 22 45 6e 63 6f 64 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 | ct.list)..."Encode.the.list.of.c |
| f640 | 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 7a 74 65 78 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 | haracters.into.ztext."...(let.(( |
| f660 | 6c 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 | l.'()).........(i.0)).....(while |
| f680 | 20 28 3c 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 64 69 63 74 29 29 0a 20 | .(<.i.(malyon-read-byte.dict)).. |
| f6a0 | 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 72 65 61 64 2d | .....(setq.l.(cons.(malyon-read- |
| f6c0 | 62 79 74 65 20 28 2b 20 64 69 63 74 20 31 20 69 29 29 20 6c 29 0a 09 20 20 20 20 69 20 28 2b 20 | byte.(+.dict.1.i)).l)......i.(+. |
| f6e0 | 31 20 69 29 29 29 0a 20 20 20 20 28 63 6c 2d 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 78 | 1.i))).....(cl-mapcan.(lambda.(x |
| f700 | 29 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 | ).(malyon-encode-single-characte |
| f720 | 72 20 6c 20 78 29 29 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 | r.l.x)).list)))..(defun.malyon-t |
| f740 | 65 78 74 2d 6c 65 6e 67 74 68 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | ext-length.(address)..."Return.t |
| f760 | 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 74 65 78 74 2e 22 0a 20 20 | he.length.of.the.input.text."... |
| f780 | 28 69 66 20 28 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 | (if.(>=.malyon-story-version.5). |
| f7a0 | 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 31 20 61 64 64 | ......(malyon-read-byte.(+.1.add |
| f7c0 | 72 65 73 73 29 29 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 | ress)).....(let.((i.0)).......(w |
| f7e0 | 68 69 6c 65 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 | hile.(not.(zerop.(malyon-read-by |
| f800 | 74 65 20 28 2b 20 69 20 31 20 61 64 64 72 65 73 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 | te.(+.i.1.address)))).........(s |
| f820 | 65 74 71 20 69 20 28 2b 20 69 20 31 29 29 29 0a 20 20 20 20 20 20 69 29 29 29 0a 0a 28 64 65 66 | etq.i.(+.i.1))).......i)))..(def |
| f840 | 75 6e 20 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 | un.malyon-text-to-character-list |
| f860 | 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 74 68 65 20 69 6e 70 75 74 20 | .(address)..."Convert.the.input. |
| f880 | 74 65 78 74 20 69 6e 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 | text.into.a.list.of.characters." |
| f8a0 | 0a 20 20 28 6c 65 74 20 28 28 69 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 6c 65 6e 67 | ...(let.((i....(malyon-text-leng |
| f8c0 | 74 68 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 28 74 65 78 74 20 27 28 29 29 29 | th.address)).........(text.'())) |
| f8e0 | 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 30 20 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 | .....(while.(<.0.i).......(setq. |
| f900 | 74 65 78 74 20 28 63 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f | text.(cons...................(co |
| f920 | 6e 73 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 | ns.(if.(<.malyon-story-version.5 |
| f940 | 29 20 69 20 28 2b 20 31 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).i.(+.1.i)).................... |
| f960 | 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.......... |
| f980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 69 20 61 64 64 72 65 73 73 20 28 69 66 | ................(+.i.address.(if |
| f9a0 | 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 30 20 31 29 | .(<.malyon-story-version.5).0.1) |
| f9c0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 29 0a 20 20 20 20 | )))...................text)..... |
| f9e0 | 20 20 20 20 20 20 20 20 69 20 20 20 20 28 2d 20 69 20 31 29 29 29 0a 20 20 20 20 74 65 78 74 29 | ........i....(-.i.1))).....text) |
| fa00 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f 2d 77 6f 72 64 73 20 28 | )..(defun.malyon-text-to-words.( |
| fa20 | 61 64 64 72 65 73 73 20 64 69 63 74 69 6f 6e 61 72 79 29 0a 20 20 22 54 75 72 6e 20 7a 74 65 78 | address.dictionary)..."Turn.ztex |
| fa40 | 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 79 20 77 6f 72 64 | t.into.a.list.of.dictionary.word |
| fa60 | 73 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 61 63 74 65 72 73 2d 74 6f 2d 77 6f 72 64 | s."...(malyon-characters-to-word |
| fa80 | 73 0a 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 | s....(malyon-encode-character-li |
| faa0 | 73 74 20 28 69 66 20 64 69 63 74 69 6f 6e 61 72 79 20 64 69 63 74 69 6f 6e 61 72 79 20 6d 61 6c | st.(if.dictionary.dictionary.mal |
| fac0 | 79 6f 6e 2d 64 69 63 74 69 6f 6e 61 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yon-dictionary)................. |
| fae0 | 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 74 65 78 74 2d 74 6f | .................(malyon-text-to |
| fb00 | 2d 63 68 61 72 61 63 74 65 72 2d 6c 69 73 74 20 61 64 64 72 65 73 73 29 29 29 29 0a 0a 3b 3b 20 | -character-list.address))))..;;. |
| fb20 | 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 6d 65 6e 74 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f | window.management..(defvar.malyo |
| fb40 | 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 6e | n-status-buffer-grew-this-turn.n |
| fb60 | 69 6c 0a 20 20 22 41 20 66 6c 61 67 20 73 69 67 6e 61 6c 6c 69 6e 67 20 69 66 20 74 68 65 20 73 | il..."A.flag.signalling.if.the.s |
| fb80 | 74 61 74 75 73 20 62 75 66 66 65 72 20 67 72 65 77 20 74 68 69 73 20 74 75 72 6e 2e 22 29 0a 0a | tatus.buffer.grew.this.turn.").. |
| fba0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 61 64 6a 75 73 74 2d 74 72 61 6e 73 63 72 69 70 74 20 | (defun.malyon-adjust-transcript. |
| fbc0 | 28 29 0a 20 20 22 41 64 6a 75 73 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 | ()..."Adjust.the.position.of.the |
| fbe0 | 20 74 72 61 6e 73 63 72 69 70 74 20 74 65 78 74 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 | .transcript.text."...(with-curre |
| fc00 | 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 2d 62 75 66 66 | nt-buffer.malyon-transcript-buff |
| fc20 | 65 72 0a 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 | er.....(setq.malyon-status-buffe |
| fc40 | 72 2d 67 72 65 77 2d 74 68 69 73 2d 74 75 72 6e 20 6e 69 6c 29 0a 20 20 20 20 28 67 6f 74 6f 2d | r-grew-this-turn.nil).....(goto- |
| fc60 | 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 | char.(point-max)).....(recenter. |
| fc80 | 28 2d 20 28 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 65 69 67 | (-.(malyon-window-displayed-heig |
| fca0 | 68 74 29 20 32 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 72 65 70 61 72 65 | ht).2))))..(defun.malyon-prepare |
| fcc0 | 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 28 73 74 61 74 75 73 29 0a 20 20 22 46 69 6c 6c 20 | -status-buffer.(status)..."Fill. |
| fce0 | 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 72 20 77 69 74 68 20 65 6d 70 74 79 20 6c 69 6e | the.status.buffer.with.empty.lin |
| fd00 | 65 73 2e 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 | es."...(with-current-buffer.maly |
| fd20 | 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 | on-status-buffer.....(let.((line |
| fd40 | 73 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e | s.(count-lines.(point-min).(poin |
| fd60 | 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 20 20 20 73 74 61 74 75 73 | t-max)))...........(new...status |
| fd80 | 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 | )).......(if.(zerop.lines)...... |
| fda0 | 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | .....(newline.1)).......(goto-ch |
| fdc0 | 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 74 | ar.(point-max)).......(setq.stat |
| fde0 | 75 73 20 28 2d 20 73 74 61 74 75 73 20 6c 69 6e 65 73 20 2d 31 29 29 0a 20 20 20 20 20 20 28 77 | us.(-.status.lines.-1)).......(w |
| fe00 | 68 69 6c 65 20 28 3e 20 73 74 61 74 75 73 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 | hile.(>.status.0).........(inser |
| fe20 | 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 61 78 2d 63 | t.(make-string.(+.3.malyon-max-c |
| fe40 | 6f 6c 75 6d 6e 29 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 0a | olumn).?.)).........(newline.1). |
| fe60 | 20 20 20 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 31 | ........(setq.status.(-.status.1 |
| fe80 | 29 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 69 6e 29 | ))).......(goto-char.(point-min) |
| fea0 | 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 28 2b 20 31 20 6e 65 77 29 29 | ).......(forward-line.(+.1.new)) |
| fec0 | 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 | .......(kill-region.(point).(poi |
| fee0 | 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 | nt-max)).......(insert.(make-str |
| ff00 | 69 6e 67 20 28 2b 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 | ing.(+.3.malyon-max-column).?.)) |
| ff20 | 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | .......(newline.1))))..(defun.ma |
| ff40 | 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 67 75 72 61 74 69 6f | lyon-restore-window-configuratio |
| ff60 | 6e 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20 74 68 65 20 73 61 76 65 64 20 77 69 6e 64 6f 77 | n.()..."Restore.the.saved.window |
| ff80 | 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 | .configuration."...(let.((buffer |
| ffa0 | 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 28 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 | .(window-buffer.(selected-window |
| ffc0 | 29 29 29 29 0a 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 | )))).....(if.malyon-window-confi |
| ffe0 | 67 75 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e | guration.........(set-window-con |
| 10000 | 66 69 67 75 72 61 74 69 6f 6e 20 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 | figuration.malyon-window-configu |
| 10020 | 72 61 74 69 6f 6e 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 6d 61 6c 79 6f 6e 2d 73 | ration)).....(cond.((eq.malyon-s |
| 10040 | 74 61 74 75 73 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 20 20 20 20 20 28 6f 74 68 65 72 2d | tatus-buffer.buffer).....(other- |
| 10060 | 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 6d 61 6c 79 6f 6e | window.1))...........((eq.malyon |
| 10080 | 2d 74 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 20 28 67 6f 74 6f | -transcript-buffer.buffer).(goto |
| 100a0 | 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d | -char.(point-max))))))..(defun.m |
| 100c0 | 61 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 28 | alyon-set-window-configuration.( |
| 100e0 | 73 74 61 74 75 73 29 0a 20 20 22 53 65 74 20 75 70 20 74 68 65 20 6e 65 77 20 77 69 6e 64 6f 77 | status)..."Set.up.the.new.window |
| 10100 | 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 73 74 61 | .configuration."...(cond.((<.sta |
| 10120 | 74 75 73 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 29 0a | tus.malyon-status-buffer-lines). |
| 10140 | 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 75 66 | .........(setq.malyon-status-buf |
| 10160 | 66 65 72 2d 64 65 6c 61 79 65 64 2d 73 70 6c 69 74 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 | fer-delayed-split.status)....... |
| 10180 | 20 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 67 72 65 77 | ...(if.malyon-status-buffer-grew |
| 101a0 | 2d 74 68 69 73 2d 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | -this-turn..............(malyon- |
| 101c0 | 6d 6f 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 | more-status-buffer))).........(( |
| 101e0 | 3e 20 73 74 61 74 75 73 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 | >.status.malyon-status-buffer-li |
| 10200 | 6e 65 73 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 | nes)..........(malyon-split-buff |
| 10220 | 65 72 2d 77 69 6e 64 6f 77 73 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 | er-windows.status)..........(set |
| 10240 | 71 20 6d 61 6c 79 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 | q.malyon-status-buffer-grew-this |
| 10260 | 2d 74 75 72 6e 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 6d 61 6c 79 6f 6e 2d 77 | -turn.t)).........((not.malyon-w |
| 10280 | 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 6d | indow-configuration)..........(m |
| 102a0 | 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 73 74 61 74 75 | alyon-split-buffer-windows.statu |
| 102c0 | 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 70 6c 69 74 2d 62 75 66 66 65 | s))))..(defun.malyon-split-buffe |
| 102e0 | 72 2d 77 69 6e 64 6f 77 73 20 28 73 74 61 74 75 73 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20 | r-windows.(status)..."Split.the. |
| 10300 | 62 75 66 66 65 72 20 77 69 6e 64 6f 77 73 2e 0a 54 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 | buffer.windows..The.status.buffe |
| 10320 | 72 20 67 65 74 73 20 27 73 74 61 74 75 73 27 20 6c 69 6e 65 73 20 77 68 69 6c 65 20 74 68 65 20 | r.gets.'status'.lines.while.the. |
| 10340 | 74 72 61 6e 73 63 72 69 70 74 20 62 75 66 66 65 72 0a 67 65 74 73 20 74 68 65 20 72 65 6d 61 69 | transcript.buffer.gets.the.remai |
| 10360 | 6e 69 6e 67 20 6c 69 6e 65 73 2e 22 0a 20 20 28 64 65 6c 65 74 65 2d 6f 74 68 65 72 2d 77 69 6e | ning.lines."...(delete-other-win |
| 10380 | 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 72 72 65 6e 74 | dows.(get-buffer-window.(current |
| 103a0 | 2d 62 75 66 66 65 72 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 61 74 75 73 | -buffer)))...(setq.malyon-status |
| 103c0 | 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 20 73 74 61 74 75 73 29 0a 20 20 28 73 65 74 71 20 6d 61 | -buffer-lines.status)...(setq.ma |
| 103e0 | 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 |
| 10400 | 20 6e 69 6c 29 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 | .nil)...(if.(zerop.status)...... |
| 10420 | 20 27 28 29 0a 20 20 20 20 28 73 70 6c 69 74 2d 77 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 | .'().....(split-window.(get-buff |
| 10440 | 65 72 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 20 73 74 61 74 | er-window.(current-buffer)).stat |
| 10460 | 75 73 29 0a 20 20 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 | us).....(switch-to-buffer.malyon |
| 10480 | 2d 73 74 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 70 72 65 70 | -status-buffer).....(malyon-prep |
| 104a0 | 61 72 65 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 20 73 74 61 74 75 73 29 0a 20 20 20 20 28 6d | are-status-buffer.status).....(m |
| 104c0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 31 20 31 29 0a 20 20 20 | alyon-opcode-set-cursor.1.1).... |
| 104e0 | 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 29 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d | .(other-window.1))...(switch-to- |
| 10500 | 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) |
| 10520 | 0a 20 20 28 73 65 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 | ...(setq.malyon-window-configura |
| 10540 | 74 69 6f 6e 20 28 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 | tion.(current-window-configurati |
| 10560 | 6f 6e 29 29 29 0a 0a 3b 3b 20 67 65 74 74 69 6e 67 20 61 6e 64 20 73 65 74 74 69 6e 67 20 74 68 | on)))..;;.getting.and.setting.th |
| 10580 | 65 20 6d 61 63 68 69 6e 65 20 73 74 61 74 65 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 63 | e.machine.state..(defun.malyon-c |
| 105a0 | 75 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | urrent-game-state.()..."Return.t |
| 105c0 | 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 69 6e 74 65 72 70 72 65 | he.current.state.of.the.interpre |
| 105e0 | 74 65 72 2e 22 0a 20 20 28 76 65 63 74 6f 72 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 | ter."...(vector.malyon-instructi |
| 10600 | 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 | on-pointer...........malyon-stac |
| 10620 | 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 | k-pointer...........malyon-frame |
| 10640 | 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 | -pointer...........(copy-sequenc |
| 10660 | 65 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d | e.malyon-stack)...........(copy- |
| 10680 | 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 0a 20 20 20 20 | sequence.malyon-story-file)..... |
| 106a0 | 20 20 20 20 20 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 29 | ......malyon-game-state-quetzal) |
| 106c0 | 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 65 74 2d 67 61 6d 65 2d 73 74 61 74 65 20 | )..(defun.malyon-set-game-state. |
| 106e0 | 28 73 74 61 74 65 29 0a 20 20 22 49 6e 73 74 61 6c 6c 73 20 74 68 65 20 67 69 76 65 6e 20 73 74 | (state)..."Installs.the.given.st |
| 10700 | 61 74 65 20 61 73 20 74 68 65 20 6e 65 77 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 69 6e 74 65 | ate.as.the.new.state.of.the.inte |
| 10720 | 72 70 72 65 74 65 72 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 | rpreter."...(setq.malyon-instruc |
| 10740 | 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 | tion-pointer.......(aref.state.0 |
| 10760 | 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 65 72 20 | ))...(setq.malyon-stack-pointer. |
| 10780 | 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 31 29 29 0a 20 20 28 73 | ............(aref.state.1))...(s |
| 107a0 | 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 20 20 20 20 20 20 20 | etq.malyon-frame-pointer........ |
| 107c0 | 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 32 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c | .....(aref.state.2))...(setq.mal |
| 107e0 | 79 6f 6e 2d 73 74 61 63 6b 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 20 20 20 20 20 28 61 | yon-stack.(copy-sequence......(a |
| 10800 | 72 65 66 20 73 74 61 74 65 20 33 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 | ref.state.3)))...(setq.malyon-st |
| 10820 | 6f 72 79 2d 66 69 6c 65 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 65 66 20 73 74 | ory-file.(copy-sequence.(aref.st |
| 10840 | 61 74 65 20 34 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 | ate.4)))...(setq.malyon-game-sta |
| 10860 | 74 65 2d 71 75 65 74 7a 61 6c 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 74 65 20 35 29 | te-quetzal........(aref.state.5) |
| 10880 | 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 20 6d 61 6c 79 6f 6e | )...(with-current-buffer..malyon |
| 108a0 | 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 72 61 73 65 | -status-buffer.....(malyon-erase |
| 108c0 | 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 20 | -buffer.malyon-status-buffer)... |
| 108e0 | 20 20 28 6d 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 30 | ..(malyon-split-buffer-windows.0 |
| 10900 | 29 0a 20 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 | ).....(setq.malyon-last-cursor-p |
| 10920 | 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 20 20 20 20 28 6d | osition-after-input...........(m |
| 10940 | 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 63 72 69 70 | alyon-point-max.malyon-transcrip |
| 10960 | 74 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 3b 3b 20 66 69 6c 65 20 75 74 69 6c 69 74 69 65 73 0a | t-buffer))))..;;.file.utilities. |
| 10980 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d | .(defsubst.malyon-write-byte-to- |
| 109a0 | 66 69 6c 65 20 28 62 79 74 65 29 0a 20 20 22 57 72 69 74 65 20 61 20 62 79 74 65 20 74 6f 20 61 | file.(byte)..."Write.a.byte.to.a |
| 109c0 | 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 | .file."...(insert-char.(logand.2 |
| 109e0 | 35 35 20 62 79 74 65 29 20 31 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77 | 55.byte).1))..(defsubst.malyon-w |
| 10a00 | 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 77 6f 72 64 29 0a 20 20 22 57 72 69 74 | rite-word-to-file.(word)..."Writ |
| 10a20 | 65 20 61 20 77 6f 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 | e.a.word.to.the.last.opened.file |
| 10a40 | 2e 22 0a 20 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 28 6c | ."...(insert-char.(logand.255.(l |
| 10a60 | 73 68 20 77 6f 72 64 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 | sh.word.-8)).1)...(insert-char.( |
| 10a80 | 6c 6f 67 61 6e 64 20 32 35 35 20 77 6f 72 64 29 20 31 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 | logand.255.word).1))..(defsubst. |
| 10aa0 | 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 28 64 77 6f 72 | malyon-write-dword-to-file.(dwor |
| 10ac0 | 64 29 0a 20 20 22 57 72 69 74 65 20 61 20 64 77 6f 72 64 20 74 6f 20 74 68 65 20 6c 61 73 74 20 | d)..."Write.a.dword.to.the.last. |
| 10ae0 | 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 20 28 6c 6f | opened.file."...(insert-char.(lo |
| 10b00 | 67 61 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f 72 64 20 2d 32 34 29 29 20 31 29 0a 20 20 28 | gand.255.(lsh.dword.-24)).1)...( |
| 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 31 36 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.-16)).1)...(insert-char.(loga |
| 10b60 | 6e 64 20 32 35 35 20 28 6c 73 68 20 64 77 6f 72 64 20 2d 38 29 29 20 31 29 0a 20 20 28 69 6e 73 | nd.255.(lsh.dword.-8)).1)...(ins |
| 10b80 | 65 72 74 2d 63 68 61 72 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 64 77 6f 72 64 29 20 31 29 29 0a | ert-char.(logand.255.dword).1)). |
| 10ba0 | 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 63 68 75 6e 6b 2d 69 64 | .(defsubst.malyon-write-chunk-id |
| 10bc0 | 2d 74 6f 2d 66 69 6c 65 20 28 69 64 29 0a 20 20 22 57 72 69 74 65 20 61 20 71 75 65 74 7a 61 6c | -to-file.(id)..."Write.a.quetzal |
| 10be0 | 20 63 68 75 6e 6b 20 69 64 20 74 6f 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 69 6c | .chunk.id.to.the.last.opened.fil |
| 10c00 | 65 2e 22 0a 20 20 28 69 6e 73 65 72 74 20 69 64 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 | e."...(insert.id))..(defsubst.ma |
| 10c20 | 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 | lyon-read-byte-from-file.()..."R |
| 10c40 | 65 61 64 20 74 68 65 20 6e 65 78 74 20 62 79 74 65 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a | ead.the.next.byte.from.a.file.". |
| 10c60 | 20 20 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 | ..(if.(=.(point).(point-max))... |
| 10c80 | 20 20 20 20 30 0a 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 68 61 72 20 31 29 0a 20 20 20 20 28 | ....0.....(forward-char.1).....( |
| 10ca0 | 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f 2d 69 6e 74 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 | malyon-char-to-int.(char-before) |
| 10cc0 | 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 2d | )))..(defsubst.malyon-read-word- |
| 10ce0 | 66 72 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 77 6f | from-file.()..."Read.the.next.wo |
| 10d00 | 72 64 20 66 72 6f 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 | rd.from.the.last.opened.file.".. |
| 10d20 | 20 28 6c 6f 67 69 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 | .(logior.(lsh.(malyon-read-byte- |
| 10d40 | 66 72 6f 6d 2d 66 69 6c 65 29 20 38 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d | from-file).8).(malyon-read-byte- |
| 10d60 | 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 6f 6e 2d 72 | from-file)))..(defsubst.malyon-r |
| 10d80 | 65 61 64 2d 64 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 65 61 64 20 74 | ead-dword-from-file.()..."Read.t |
| 10da0 | 68 65 20 6e 65 78 74 20 64 77 6f 72 64 20 66 72 6f 6d 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e | he.next.dword.from.the.last.open |
| 10dc0 | 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 6c 79 6f 6e | ed.file."...(logior.(lsh.(malyon |
| 10de0 | 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 32 34 29 0a 20 20 20 20 20 20 | -read-byte-from-file).24)....... |
| 10e00 | 20 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 | ....(lsh.(malyon-read-byte-from- |
| 10e20 | 66 69 6c 65 29 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e | file).16)...........(lsh.(malyon |
| 10e40 | 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 20 | -read-byte-from-file).8)........ |
| 10e60 | 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)) |
| 10e80 | 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 68 75 6e 6b 2d 69 | )..(defsubst.malyon-read-chunk-i |
| 10ea0 | 64 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 65 61 64 20 61 20 71 75 65 74 7a 61 6c | d-from-file.()..."Read.a.quetzal |
| 10ec0 | 20 63 68 75 6e 6b 20 69 64 20 66 72 6f 6d 20 74 68 65 20 6c 61 73 74 20 6f 70 65 6e 65 64 20 66 | .chunk.id.from.the.last.opened.f |
| 10ee0 | 69 6c 65 2e 22 0a 20 20 28 73 74 72 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 | ile."...(string.(malyon-int-to-c |
| 10f00 | 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 6c 65 29 | har.(malyon-read-byte-from-file) |
| 10f20 | 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 6f 2d 63 68 61 72 20 | )...........(malyon-int-to-char. |
| 10f40 | 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 0a 20 20 | (malyon-read-byte-from-file))... |
| 10f60 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 2d 74 6f 2d 63 68 61 72 20 28 6d 61 6c | ........(malyon-int-to-char.(mal |
| 10f80 | 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 0a 20 20 20 20 20 20 | yon-read-byte-from-file))....... |
| 10fa0 | 20 20 20 20 28 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 | ....(malyon-int-to-char.(malyon- |
| 10fc0 | 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | read-byte-from-file))))..(defun. |
| 10fe0 | 6d 61 6c 79 6f 6e 2d 67 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 61 64 64 72 65 73 73 29 0a 20 | malyon-get-file-name.(address).. |
| 11000 | 20 22 52 65 74 72 69 65 76 65 73 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 73 74 6f 72 65 64 | ."Retrieves.the.file.name.stored |
| 11020 | 20 61 74 20 61 64 64 72 65 73 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 6d 61 6b | .at.address."...(let.((name.(mak |
| 11040 | 65 2d 73 74 72 69 6e 67 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 64 64 72 65 | e-string.(malyon-read-byte.addre |
| 11060 | 73 73 29 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 30 29 29 0a 20 20 20 20 28 | ss).?.)).........(i....0)).....( |
| 11080 | 77 68 69 6c 65 20 28 3c 20 69 20 28 6c 65 6e 67 74 68 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 | while.(<.i.(length.name))....... |
| 110a0 | 28 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 20 28 | (aset.name.i.(malyon-read-byte.( |
| 110c0 | 2b 20 61 64 64 72 65 73 73 20 31 20 69 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 | +.address.1.i))).......(setq.i.( |
| 110e0 | 2b 20 31 20 69 29 29 29 0a 20 20 20 20 6e 61 6d 65 29 29 0a 0a 3b 3b 20 73 61 76 69 6e 67 20 64 | +.1.i))).....name))..;;.saving.d |
| 11100 | 61 74 61 20 74 6f 20 64 69 73 6b 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d | ata.to.disk..(defun.malyon-save- |
| 11120 | 66 69 6c 65 20 28 66 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 | file.(file.&optional.table.lengt |
| 11140 | 68 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 67 61 6d 65 20 73 74 61 74 | h)..."Save.the.current.game.stat |
| 11160 | 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79 20 73 65 63 74 69 6f 6e 20 74 6f 20 64 69 73 6b 2e 22 0a | e.or.a.memory.section.to.disk.". |
| 11180 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 46 53 61 76 65 20 66 69 6c 65 3a 20 22 29 0a 20 | ..(interactive."FSave.file:.").. |
| 111a0 | 20 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 28 6c 65 74 20 | .(condition-case.nil.......(let. |
| 111c0 | 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 27 62 69 6e 61 72 | ((coding-system-for-write.'binar |
| 111e0 | 79 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 66 69 6c 65 | y)).........(with-temp-file.file |
| 11200 | 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 64 69 73 61 62 6c 65 2d 6d 75 6c 74 69 | ...........(malyon-disable-multi |
| 11220 | 62 79 74 65 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 | byte)...........(malyon-erase-bu |
| 11240 | 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 74 61 62 6c 65 20 28 6d 61 | ffer)...........(cond.(table.(ma |
| 11260 | 6c 79 6f 6e 2d 73 61 76 65 2d 74 61 62 6c 65 20 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 29 0a 20 | lyon-save-table.table.length)).. |
| 11280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 | ...............(malyon-game-stat |
| 112a0 | 65 2d 71 75 65 74 7a 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 | e-quetzal..................(maly |
| 112c0 | 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d 63 75 | on-save-quetzal-state.(malyon-cu |
| 112e0 | 72 72 65 6e 74 2d 67 61 6d 65 2d 73 74 61 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | rrent-game-state)))............. |
| 11300 | 20 20 20 20 28 74 0a 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 | ....(t..................(malyon- |
| 11320 | 73 61 76 65 2d 67 61 6d 65 2d 73 74 61 74 65 20 28 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d | save-game-state.(malyon-current- |
| 11340 | 67 61 6d 65 2d 73 74 61 74 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 31 29 29 0a 20 20 20 | game-state))))...........1)).... |
| 11360 | 20 20 20 28 65 72 72 6f 72 20 30 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 | ...(error.0)))..(defun.malyon-sa |
| 11380 | 76 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 53 61 76 65 20 | ve-table.(table.length)..."Save. |
| 113a0 | 74 68 65 20 67 69 76 65 6e 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 74 | the.given.section.of.memory.to.t |
| 113c0 | 68 65 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 | he.file."...(let.((i.0)......... |
| 113e0 | 28 6a 20 74 61 62 6c 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 67 74 | (j.table)).....(while.(<.i.lengt |
| 11400 | 68 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 66 | h).......(malyon-write-byte-to-f |
| 11420 | 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6a 29 29 0a 20 20 20 20 20 20 | ile.(malyon-read-byte.j))....... |
| 11440 | 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b | (setq.i.(+.1.i).............j.(+ |
| 11460 | 20 31 20 6a 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 2d 67 61 | .1.j)))))..(defun.malyon-save-ga |
| 11480 | 6d 65 2d 73 74 61 74 65 20 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 67 61 | me-state.(state)..."Saves.the.ga |
| 114a0 | 6d 65 20 73 74 61 74 65 20 74 6f 20 64 69 73 6b 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 70 20 20 | me.state.to.disk."...(let.((ip.. |
| 114c0 | 20 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 73 70 20 20 20 | ..(aref.state.0)).........(sp... |
| 114e0 | 20 28 61 72 65 66 20 73 74 61 74 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 28 66 70 20 20 20 20 | .(aref.state.1)).........(fp.... |
| 11500 | 28 61 72 65 66 20 73 74 61 74 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 28 73 74 61 63 6b 20 28 | (aref.state.2)).........(stack.( |
| 11520 | 61 72 65 66 20 73 74 61 74 65 20 33 29 29 0a 20 20 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 61 | aref.state.3)).........(mem...(a |
| 11540 | 72 65 66 20 73 74 61 74 65 20 34 29 29 0a 20 20 20 20 20 20 20 20 28 64 79 6e 20 20 20 28 6d 61 | ref.state.4)).........(dyn...(ma |
| 11560 | 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 34 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 | lyon-read-word.14)).........(i.. |
| 11580 | 20 20 20 30 29 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 | ...0)).....(malyon-write-word-to |
| 115a0 | 2d 66 69 6c 65 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 | -file.(length.malyon-story-file- |
| 115c0 | 6e 61 6d 65 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 68 20 6d | name)).....(while.(<.i.(length.m |
| 115e0 | 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 20 20 20 20 28 6d | alyon-story-file-name)).......(m |
| 11600 | 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 20 6d | alyon-write-byte-to-file.(aref.m |
| 11620 | 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 69 29 29 0a 20 20 20 20 20 20 | alyon-story-file-name.i))....... |
| 11640 | 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 | (setq.i.(+.1.i))).....(malyon-wr |
| 11660 | 69 74 65 2d 64 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 69 70 29 0a 20 20 20 20 28 6d 61 6c 79 6f | ite-dword-to-file.ip).....(malyo |
| 11680 | 6e 2d 77 72 69 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 20 73 70 29 0a 20 20 20 20 28 6d | n-write-word-to-file..sp).....(m |
| 116a0 | 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 20 66 70 29 0a 20 20 | alyon-write-word-to-file..fp)... |
| 116c0 | 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 20 64 79 | ..(malyon-write-word-to-file..dy |
| 116e0 | 6e 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 3d | n).....(setq.i.0).....(while.(<= |
| 11700 | 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 6f 72 64 | .i.sp).......(malyon-write-dword |
| 11720 | 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 73 74 61 63 6b 20 69 29 29 0a 20 20 20 20 20 20 28 | -to-file.(aref.stack.i)).......( |
| 11740 | 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 29 0a | setq.i.(+.1.i))).....(setq.i.0). |
| 11760 | 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 64 79 6e 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 | ....(while.(<.i.dyn).......(maly |
| 11780 | 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 20 6d 65 6d 20 | on-write-byte-to-file.(aref.mem. |
| 117a0 | 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 29 29 0a 0a 28 | i)).......(setq.i.(+.1.i)))))..( |
| 117c0 | 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 74 61 74 65 20 | defun.malyon-save-quetzal-state. |
| 117e0 | 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 67 61 6d 65 20 73 74 61 74 65 20 | (state)..."Saves.the.game.state. |
| 11800 | 74 6f 20 64 69 73 6b 20 69 6e 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 67 | to.disk.in.quetzal.format."...(g |
| 11820 | 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d | oto-char.(point-min))...(malyon- |
| 11840 | 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 20 73 74 61 74 65 29 0a 20 20 28 6d 61 6c 79 | save-quetzal-ifhd.state)...(maly |
| 11860 | 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 73 74 61 74 65 29 0a 20 20 28 6d | on-save-quetzal-cmem.state)...(m |
| 11880 | 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 73 74 61 74 65 29 0a 20 | alyon-save-quetzal-stks.state).. |
| 118a0 | 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 20 20 28 6d 61 6c 79 | .(goto-char.(point-min))...(maly |
| 118c0 | 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 20 22 49 46 5a 53 22 | on-write-chunk-id-to-file."IFZS" |
| 118e0 | 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 20 20 28 6d | )...(goto-char.(point-min))...(m |
| 11900 | 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 28 2d 20 28 70 6f | alyon-write-dword-to-file.(-.(po |
| 11920 | 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 20 20 28 67 6f 74 6f 2d 63 | int-max).(point-min)))...(goto-c |
| 11940 | 68 61 72 20 28 70 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 | har.(point-min))...(malyon-write |
| 11960 | 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 22 46 4f 52 4d 22 29 29 0a 0a 28 64 65 66 | -chunk-id-to-file."FORM"))..(def |
| 11980 | 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 20 28 73 74 61 | un.malyon-save-quetzal-ifhd.(sta |
| 119a0 | 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 49 46 68 64 20 63 68 75 6e 6b 20 6f 66 20 74 | te)..."Saves.the.IFhd.chunk.of.t |
| 119c0 | 68 65 20 71 75 65 74 7a 61 6c 20 66 6f 72 6d 61 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 | he.quetzal.format."...(malyon-wr |
| 119e0 | 69 74 65 2d 63 68 75 6e 6b 2d 69 64 2d 74 6f 2d 66 69 6c 65 20 22 49 46 68 64 22 29 0a 20 20 28 | ite-chunk-id-to-file."IFhd")...( |
| 11a00 | 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 31 33 29 0a 20 | malyon-write-dword-to-file.13).. |
| 11a20 | 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 61 6c | .(malyon-write-word-to-file.(mal |
| 11a40 | 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 | yon-read-word.2))...(malyon-writ |
| 11a60 | 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 6f 72 64 | e-word-to-file.(malyon-read-word |
| 11a80 | 20 31 38 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 2d 66 69 | .18))...(malyon-write-word-to-fi |
| 11aa0 | 6c 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 30 29 29 0a 20 20 28 6d 61 6c | le.(malyon-read-word.20))...(mal |
| 11ac0 | 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 6e 2d 72 | yon-write-word-to-file.(malyon-r |
| 11ae0 | 65 61 64 2d 77 6f 72 64 20 32 32 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f | ead-word.22))...(malyon-write-wo |
| 11b00 | 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 38 29 | rd-to-file.(malyon-read-word.28) |
| 11b20 | 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 66 69 6c 65 20 28 | )...(malyon-write-byte-to-file.( |
| 11b40 | 6c 73 68 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 20 2d 31 36 29 29 0a 20 20 28 6d 61 6c 79 | lsh.(aref.state.0).-16))...(maly |
| 11b60 | 6f 6e 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 28 61 72 65 66 | on-write-byte-to-file.(lsh.(aref |
| 11b80 | 20 73 74 61 74 65 20 30 29 20 2d 38 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 | .state.0).-8))...(malyon-write-b |
| 11ba0 | 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 61 72 65 66 20 73 74 61 74 65 20 30 29 29 0a 20 20 28 6d | yte-to-file.(aref.state.0))...(m |
| 11bc0 | 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 30 29 29 0a 0a 28 64 | alyon-write-byte-to-file.0))..(d |
| 11be0 | 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 63 6d 65 6d 20 28 73 | efun.malyon-save-quetzal-cmem.(s |
| 11c00 | 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 43 4d 65 6d 20 63 68 75 6e 6b 20 6f 66 | tate)..."Saves.the.CMem.chunk.of |
| 11c20 | 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 |
| 11c40 | 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 6f | eginning.(point-max)).........(o |
| 11c60 | 72 69 67 69 6e 61 6c 20 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 | riginal..(aref.malyon-game-state |
| 11c80 | 2d 72 65 73 74 61 72 74 20 34 29 29 0a 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 20 20 20 | -restart.4)).........(current... |
| 11ca0 | 28 61 72 65 66 20 73 74 61 74 65 20 34 29 29 0a 20 20 20 20 20 20 20 20 28 73 69 7a 65 20 20 20 | (aref.state.4)).........(size... |
| 11cc0 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 34 29 29 0a 20 20 20 20 20 20 | ...(malyon-read-word.14))....... |
| 11ce0 | 20 20 28 62 79 74 65 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 20 | ..(byte......0).........(count.. |
| 11d00 | 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 | ...0).........(i.........0)).... |
| 11d20 | 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 28 77 68 | .(goto-char.(point-max)).....(wh |
| 11d40 | 69 6c 65 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 79 74 65 20 | ile.(<.i.size).......(setq.byte. |
| 11d60 | 28 6c 6f 67 78 6f 72 20 28 61 72 65 66 20 63 75 72 72 65 6e 74 20 69 29 20 28 61 72 65 66 20 6f | (logxor.(aref.current.i).(aref.o |
| 11d80 | 72 69 67 69 6e 61 6c 20 69 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 62 79 | riginal.i))).......(if.(zerop.by |
| 11da0 | 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 75 6e 74 20 28 2b 20 31 20 63 | te)...........(setq.count.(+.1.c |
| 11dc0 | 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 63 6f 75 6e 74 20 30 | ount)).........(while.(>.count.0 |
| 11de0 | 29 0a 20 20 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 |
| 11e00 | 6f 2d 66 69 6c 65 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 75 6e 74 20 | o-file.0)...........(setq.count. |
| 11e20 | 28 2d 20 63 6f 75 6e 74 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 | (-.count.1))...........(malyon-w |
| 11e40 | 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74 | rite-byte-to-file.(min.255.count |
| 11e60 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 75 6e 74 20 28 2d 20 63 6f 75 6e | ))...........(setq.count.(-.coun |
| 11e80 | 74 20 28 6d 69 6e 20 32 35 35 20 63 6f 75 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 | t.(min.255.count)))).........(ma |
| 11ea0 | 6c 79 6f 6e 2d 77 72 69 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 62 79 74 65 29 29 0a 20 | lyon-write-byte-to-file.byte)).. |
| 11ec0 | 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 28 73 65 74 71 | .....(setq.i.(+.1.i))).....(setq |
| 11ee0 | 20 73 69 7a 65 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 62 65 67 69 6e 6e 69 6e 67 29 29 | .size.(-.(point-max).beginning)) |
| 11f00 | 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 73 69 7a 65 20 32 29 29 20 27 28 | .....(if.(zerop.(mod.size.2)).'( |
| 11f20 | 29 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 30 29 29 | ).(malyon-write-byte-to-file.0)) |
| 11f40 | 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 28 | .....(goto-char.beginning).....( |
| 11f60 | 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 20 22 43 | malyon-write-chunk-id-to-file."C |
| 11f80 | 4d 65 6d 22 29 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 | Mem").....(malyon-write-dword-to |
| 11fa0 | 2d 66 69 6c 65 20 73 69 7a 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 61 76 | -file.size)))..(defun.malyon-sav |
| 11fc0 | 65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 28 73 74 61 74 65 29 0a 20 20 22 53 61 76 65 73 20 | e-quetzal-stks.(state)..."Saves. |
| 11fe0 | 74 68 65 20 53 74 6b 73 20 63 68 75 6e 6b 20 6f 66 20 74 68 65 20 71 75 65 74 7a 61 6c 20 66 6f | the.Stks.chunk.of.the.quetzal.fo |
| 12000 | 72 6d 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 | rmat."...(let.((beginning.(point |
| 12020 | 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 73 69 7a 65 20 20 20 20 20 20 30 29 29 0a 20 20 | -max)).........(size......0))... |
| 12040 | 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 28 6d | ..(goto-char.(point-max)).....(m |
| 12060 | 61 6c 79 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 28 | alyon-save-quetzal-stack-frame.( |
| 12080 | 2d 20 28 61 72 65 66 20 73 74 61 74 65 20 32 29 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | -.(aref.state.2).4)............. |
| 120a0 | 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 66 20 73 | .........................(aref.s |
| 120c0 | 74 61 74 65 20 31 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 | tate.1)......................... |
| 120e0 | 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 33 29 29 0a 20 20 20 | .............(aref.state.3)).... |
| 12100 | 20 28 73 65 74 71 20 73 69 7a 65 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 62 65 67 69 6e | .(setq.size.(-.(point-max).begin |
| 12120 | 6e 69 6e 67 29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 73 69 7a 65 20 | ning)).....(if.(zerop.(mod.size. |
| 12140 | 32 29 29 20 27 28 29 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 | 2)).'().(malyon-write-byte-to-fi |
| 12160 | 6c 65 20 30 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 69 6e 6e 69 6e 67 29 | le.0)).....(goto-char.beginning) |
| 12180 | 0a 20 20 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 |
| 121a0 | 69 6c 65 20 22 53 74 6b 73 22 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 64 77 | ile."Stks").....(malyon-write-dw |
| 121c0 | 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 73 69 7a 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | ord-to-file.size)))..(defun.maly |
| 121e0 | 6f 6e 2d 73 61 76 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 28 66 70 20 | on-save-quetzal-stack-frame.(fp. |
| 12200 | 73 70 20 73 74 61 63 6b 29 0a 20 20 22 53 61 76 65 73 20 74 68 65 20 73 74 61 63 6b 20 66 72 61 | sp.stack)..."Saves.the.stack.fra |
| 12220 | 6d 65 73 20 66 6f 72 20 74 68 65 20 53 74 6b 73 20 63 68 75 6e 6b 2e 22 0a 20 20 28 6c 65 74 2a | mes.for.the.Stks.chunk."...(let* |
| 12240 | 20 28 28 66 72 61 6d 65 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 67 65 74 2d 73 74 61 63 6b | .((frame.......(malyon-get-stack |
| 12260 | 2d 66 72 61 6d 65 20 66 70 20 73 70 20 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 | -frame.fp.sp.stack))..........(f |
| 12280 | 72 61 6d 65 2d 69 64 20 20 20 20 28 61 72 65 66 20 66 72 61 6d 65 20 30 29 29 0a 20 20 20 20 20 | rame-id....(aref.frame.0))...... |
| 122a0 | 20 20 20 20 28 70 72 65 76 69 6f 75 73 2d 66 70 20 28 61 72 65 66 20 66 72 61 6d 65 20 31 29 29 | ....(previous-fp.(aref.frame.1)) |
| 122c0 | 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 76 69 6f 75 73 2d 73 70 20 28 61 72 65 66 20 66 72 61 | ..........(previous-sp.(aref.fra |
| 122e0 | 6d 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d 61 64 64 72 20 28 61 72 | me.2))..........(return-addr.(ar |
| 12300 | 65 66 20 66 72 61 6d 65 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 | ef.frame.3))..........(result-ad |
| 12320 | 64 72 20 28 61 72 65 66 20 66 72 61 6d 65 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 63 | dr.(aref.frame.4))..........(loc |
| 12340 | 61 6c 2d 76 61 72 73 20 20 28 61 72 65 66 20 66 72 61 6d 65 20 35 29 29 0a 20 20 20 20 20 20 20 | al-vars..(aref.frame.5))........ |
| 12360 | 20 20 28 6e 75 6d 2d 61 72 67 73 20 20 20 20 28 61 72 65 66 20 66 72 61 6d 65 20 36 29 29 0a 20 | ..(num-args....(aref.frame.6)).. |
| 12380 | 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 74 61 63 6b 20 20 28 61 72 65 66 20 66 72 61 6d 65 | ........(eval-stack..(aref.frame |
| 123a0 | 20 37 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e 20 66 72 61 6d 65 2d 69 64 20 30 29 0a 20 20 20 | .7))).....(if.(>.frame-id.0).... |
| 123c0 | 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 74 61 63 6b 2d | .....(malyon-save-quetzal-stack- |
| 123e0 | 66 72 61 6d 65 20 70 72 65 76 69 6f 75 73 2d 66 70 20 70 72 65 76 69 6f 75 73 2d 73 70 20 73 74 | frame.previous-fp.previous-sp.st |
| 12400 | 61 63 6b 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 74 6f 2d | ack)).....(malyon-write-byte-to- |
| 12420 | 66 69 6c 65 20 28 6c 73 68 20 72 65 74 75 72 6e 2d 61 64 64 72 20 2d 31 36 29 29 0a 20 20 20 20 | file.(lsh.return-addr.-16))..... |
| 12440 | 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 6c 73 68 20 | (malyon-write-byte-to-file.(lsh. |
| 12460 | 72 65 74 75 72 6e 2d 61 64 64 72 20 2d 38 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 | return-addr.-8)).....(malyon-wri |
| 12480 | 74 65 2d 62 79 74 65 2d 74 6f 2d 66 69 6c 65 20 72 65 74 75 72 6e 2d 61 64 64 72 29 0a 20 20 20 | te-byte-to-file.return-addr).... |
| 124a0 | 20 28 69 66 20 28 7a 65 72 6f 70 20 66 72 61 6d 65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 28 6d | .(if.(zerop.frame-id).........(m |
| 124c0 | 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 30 29 0a 20 20 20 20 | alyon-write-byte-to-file.0)..... |
| 124e0 | 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 28 6c 6f | ..(malyon-write-byte-to-file.(lo |
| 12500 | 67 69 6f 72 20 28 69 66 20 72 65 73 75 6c 74 2d 61 64 64 72 20 30 20 31 36 29 0a 20 20 20 20 20 | gior.(if.result-addr.0.16)...... |
| 12520 | 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 | ................................ |
| 12540 | 20 20 20 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 29 29 0a 20 20 20 20 28 | ....(length.local-vars)))).....( |
| 12560 | 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 69 66 20 72 65 | malyon-write-byte-to-file.(if.re |
| 12580 | 73 75 6c 74 2d 61 64 64 72 20 72 65 73 75 6c 74 2d 61 64 64 72 20 30 29 29 0a 20 20 20 20 28 6d | sult-addr.result-addr.0)).....(m |
| 125a0 | 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 2d 20 28 6c 73 68 | alyon-write-byte-to-file.(-.(lsh |
| 125c0 | 20 31 20 6e 75 6d 2d 61 72 67 73 29 20 31 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 | .1.num-args).1)).....(malyon-wri |
| 125e0 | 74 65 2d 77 6f 72 64 2d 74 6f 2d 66 69 6c 65 20 28 6c 65 6e 67 74 68 20 65 76 61 6c 2d 73 74 61 | te-word-to-file.(length.eval-sta |
| 12600 | 63 6b 29 29 0a 20 20 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 | ck)).....(while.(not.(null.local |
| 12620 | 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 | -vars)).......(malyon-write-word |
| 12640 | 2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 | -to-file.(car.local-vars))...... |
| 12660 | 20 28 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 | .(setq.local-vars.(cdr.local-var |
| 12680 | 73 29 29 29 0a 20 20 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 | s))).....(while.(not.(null.eval- |
| 126a0 | 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 72 69 74 65 2d 77 6f 72 64 | stack)).......(malyon-write-word |
| 126c0 | 2d 74 6f 2d 66 69 6c 65 20 28 63 61 72 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 | -to-file.(car.eval-stack))...... |
| 126e0 | 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 |
| 12700 | 6b 29 29 29 29 29 0a 0a 3b 3b 20 72 65 73 74 6f 72 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 64 | k)))))..;;.restoring.data.from.d |
| 12720 | 69 73 6b 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 | isk..(defvar.malyon-restore-data |
| 12740 | 2d 65 72 72 6f 72 20 6e 69 6c 0a 20 20 22 41 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 | -error.nil..."An.error.message.i |
| 12760 | 66 20 72 65 73 74 6f 72 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 61 20 66 69 6c 65 20 66 61 69 | f.restoring.data.from.a.file.fai |
| 12780 | 6c 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 | led.")..(defvar.malyon-restore-q |
| 127a0 | 75 65 74 7a 61 6c 2d 73 74 61 63 6b 20 6e 69 6c 0a 20 20 22 41 20 74 65 6d 70 6f 72 61 72 79 20 | uetzal-stack.nil..."A.temporary. |
| 127c0 | 73 74 61 63 6b 20 66 6f 72 20 72 65 73 74 6f 72 69 6e 67 20 71 75 65 74 7a 61 6c 20 67 61 6d 65 | stack.for.restoring.quetzal.game |
| 127e0 | 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 73 74 6f | .states.")..(defvar.malyon-resto |
| 12800 | 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 20 6e 69 6c 0a 20 20 22 | re-quetzal-stack-pointer.nil..." |
| 12820 | 41 20 74 65 6d 70 6f 72 61 72 79 20 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 72 65 | A.temporary.stack.pointer.for.re |
| 12840 | 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 29 0a 0a | storing.quetzal.game.states.").. |
| 12860 | 28 64 65 66 76 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 66 | (defvar.malyon-restore-quetzal-f |
| 12880 | 72 61 6d 65 2d 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 | rame-pointer.nil..."A.temporary. |
| 128a0 | 66 72 61 6d 65 2d 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 | frame-pointer.for.restoring.quet |
| 128c0 | 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f | zal.game.states.")..(defun.malyo |
| 128e0 | 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 20 28 66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 | n-restore-file.(file.&optional.t |
| 12900 | 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 67 61 6d 65 20 73 | able.length)..."Restore.a.game.s |
| 12920 | 74 61 74 65 20 6f 72 20 61 20 6d 65 6d 6f 72 79 20 73 65 63 74 69 6f 6e 20 66 72 6f 6d 20 64 69 | tate.or.a.memory.section.from.di |
| 12940 | 73 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 66 4c 6f 61 64 20 66 69 6c 65 3a | sk."...(interactive."fLoad.file: |
| 12960 | 20 22 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 61 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 | .")...(if.(not.(and.(file-exists |
| 12980 | 2d 70 20 66 69 6c 65 29 20 28 66 69 6c 65 2d 72 65 61 64 61 62 6c 65 2d 70 20 66 69 6c 65 29 29 | -p.file).(file-readable-p.file)) |
| 129a0 | 29 0a 20 20 20 20 20 20 30 0a 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 | ).......0.....(condition-case.ni |
| 129c0 | 6c 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 | l.........(save-excursion....... |
| 129e0 | 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 72 | ....(setq.malyon-restore-data-er |
| 12a00 | 72 6f 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 20 28 | ror.nil)...........(set-buffer.( |
| 12a20 | 63 72 65 61 74 65 2d 66 69 6c 65 2d 62 75 66 66 65 72 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 | create-file-buffer.file))....... |
| 12a40 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 61 64 2d 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20 | ....(malyon-load-file.file)..... |
| 12a60 | 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 69 6e 29 29 0a 20 20 | ......(goto-char.(point-min))... |
| 12a80 | 20 20 20 20 20 20 20 20 28 69 66 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(if.table............... |
| 12aa0 | 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 74 61 62 6c 65 20 74 61 62 6c 65 20 6c 65 6e 67 | (malyon-restore-table.table.leng |
| 12ac0 | 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 66 69 72 73 74 20 20 28 | th).............(let*.((first..( |
| 12ae0 | 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 66 69 6c 65 29 29 | malyon-read-chunk-id-from-file)) |
| 12b00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 63 6f 6e 64 20 28 6d 61 6c | ....................(second.(mal |
| 12b20 | 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 | yon-read-dword-from-file))...... |
| 12b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 69 72 64 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | ..............(third..(malyon-re |
| 12b60 | 61 64 2d 63 68 75 6e 6b 2d 69 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 | ad-chunk-id-from-file)))........ |
| 12b80 | 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 73 74 72 69 6e 67 3d 20 22 46 4f 52 4d 22 20 | .......(if.(and.(string=."FORM". |
| 12ba0 | 66 69 72 73 74 29 20 28 73 74 72 69 6e 67 3d 20 22 49 46 5a 53 22 20 74 68 69 72 64 29 29 0a 20 | first).(string=."IFZS".third)).. |
| 12bc0 | 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 73 74 6f 72 65 | .................(malyon-restore |
| 12be0 | 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28 2b 20 38 20 73 65 63 6f 6e 64 29 29 0a 20 20 20 | -quetzal-state.(+.8.second)).... |
| 12c00 | 20 20 20 20 20 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 | .............(goto-char.(point-m |
| 12c20 | 69 6e 29 29 0a 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 73 | in)).................(malyon-res |
| 12c40 | 74 6f 72 65 2d 67 61 6d 65 2d 73 74 61 74 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6b | tore-game-state))))...........(k |
| 12c60 | 69 6c 6c 2d 62 75 66 66 65 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e | ill-buffer.nil)...........(if.(n |
| 12c80 | 75 6c 6c 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 29 0a 20 | ull.malyon-restore-data-error).. |
| 12ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 | .............2.............(mess |
| 12cc0 | 61 67 65 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 29 0a 20 | age.malyon-restore-data-error).. |
| 12ce0 | 20 20 20 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 30 29 29 29 | ...........0)).......(error.0))) |
| 12d00 | 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 74 61 62 6c 65 20 28 | )..(defun.malyon-restore-table.( |
| 12d20 | 74 61 62 6c 65 20 6c 65 6e 67 74 68 29 0a 20 20 22 52 65 73 74 6f 72 65 20 74 68 65 20 67 69 76 | table.length)..."Restore.the.giv |
| 12d40 | 65 6e 20 73 65 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 | en.section.of.memory.from.a.file |
| 12d60 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 28 6a 20 74 61 62 6c | ."...(let.((i.0).........(j.tabl |
| 12d80 | 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 | e)).....(while.(<.i.length)..... |
| 12da0 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 6a 20 28 6d 61 6c 79 6f 6e 2d 72 | ..(malyon-store-byte.j.(malyon-r |
| 12dc0 | 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 71 | ead-byte-from-file)).......(setq |
| 12de0 | 20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b 20 31 20 6a 29 | .i.(+.1.i).............j.(+.1.j) |
| 12e00 | 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 67 61 6d 65 | ))))..(defun.malyon-restore-game |
| 12e20 | 2d 73 74 61 74 65 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 67 61 6d | -state.()..."Restore.a.saved.gam |
| 12e40 | 65 20 73 74 61 74 65 20 66 72 6f 6d 20 64 69 73 6b 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e | e.state.from.disk."...(let.((len |
| 12e60 | 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 20 30 29 0a 20 20 20 20 20 20 20 20 | ...0).........(name..0)......... |
| 12e80 | 28 73 74 6f 72 79 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 70 20 20 20 20 30 29 0a 20 20 20 20 | (story.0).........(ip....0)..... |
| 12ea0 | 20 20 20 20 28 73 70 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 66 70 20 20 20 20 30 29 0a | ....(sp....0).........(fp....0). |
| 12ec0 | 20 20 20 20 20 20 20 20 28 64 79 6e 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 73 74 61 63 6b | ........(dyn...0).........(stack |
| 12ee0 | 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 29 0a 20 | .(copy-sequence.malyon-stack)).. |
| 12f00 | 20 20 20 20 20 20 20 28 6d 65 6d 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 6c | .......(mem...(copy-sequence.mal |
| 12f20 | 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 | yon-story-file)).........(i..... |
| 12f40 | 30 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 65 6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 | 0)).....(setq.len.(malyon-read-w |
| 12f60 | 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 6e 61 6d 65 20 28 | ord-from-file)).....(setq.name.( |
| 12f80 | 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6c 65 6e 20 3f 20 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 | make-string.len.?.)).....(while. |
| 12fa0 | 28 3c 20 69 20 6c 65 6e 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6e 61 6d 65 20 69 20 28 6d 61 | (<.i.len).......(aset.name.i.(ma |
| 12fc0 | 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 0a 20 20 20 20 20 | lyon-read-byte-from-file))...... |
| 12fe0 | 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 70 20 | .(setq.i.(+.1.i))).....(setq.ip. |
| 13000 | 20 28 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 6c 65 29 29 0a | .(malyon-read-dword-from-file)). |
| 13020 | 20 20 20 20 28 73 65 74 71 20 73 70 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d | ....(setq.sp..(malyon-read-word- |
| 13040 | 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 66 70 20 20 28 6d 61 6c 79 6f | from-file)).....(setq.fp..(malyo |
| 13060 | 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 73 65 74 | n-read-word-from-file)).....(set |
| 13080 | 71 20 64 79 6e 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 | q.dyn.(malyon-read-word-from-fil |
| 130a0 | 65 29 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 | e)).....(setq.i.0).....(while.(< |
| 130c0 | 3d 20 69 20 73 70 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 73 74 61 63 6b 20 69 20 28 6d 61 6c | =.i.sp).......(aset.stack.i.(mal |
| 130e0 | 79 6f 6e 2d 72 65 61 64 2d 64 77 6f 72 64 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 | yon-read-dword-from-file))...... |
| 13100 | 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 30 | .(setq.i.(+.1.i))).....(setq.i.0 |
| 13120 | 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 64 79 6e 29 0a 20 20 20 20 20 20 28 61 73 | ).....(while.(<.i.dyn).......(as |
| 13140 | 65 74 20 6d 65 6d 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 2d 66 72 6f 6d 2d | et.mem.i.(malyon-read-byte-from- |
| 13160 | 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 29 0a 20 | file)).......(setq.i.(+.1.i))).. |
| 13180 | 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 | ...(setq.name..(file-name-nondir |
| 131a0 | 65 63 74 6f 72 79 20 6e 61 6d 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 74 6f 72 79 20 28 66 | ectory.name)).....(setq.story.(f |
| 131c0 | 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 6d 61 6c 79 6f 6e 2d 73 74 6f | ile-name-nondirectory.malyon-sto |
| 131e0 | 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28 69 66 20 28 6f 72 20 28 73 74 72 69 | ry-file-name)).....(if.(or.(stri |
| 13200 | 6e 67 2d 6d 61 74 63 68 20 6e 61 6d 65 20 73 74 6f 72 79 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 | ng-match.name.story).(string-mat |
| 13220 | 63 68 20 73 74 6f 72 79 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d | ch.story.name)).........(malyon- |
| 13240 | 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 20 73 70 20 66 70 20 | set-game-state.(vector.ip.sp.fp. |
| 13260 | 73 74 61 63 6b 20 6d 65 6d 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 | stack.mem.nil)).......(setq.maly |
| 13280 | 6f 6e 2d 72 65 73 74 6f 72 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 73 | on-restore-data-error."Invalid.s |
| 132a0 | 61 76 65 20 66 69 6c 65 2e 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 | ave.file."))))..(defun.malyon-re |
| 132c0 | 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 61 74 65 20 28 73 69 7a 65 29 0a 20 20 22 52 65 | store-quetzal-state.(size)..."Re |
| 132e0 | 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 71 75 65 74 7a 61 6c 20 67 61 6d 65 20 73 74 61 74 65 | store.a.saved.quetzal.game.state |
| 13300 | 20 66 72 6f 6d 20 64 69 73 6b 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 68 75 6e 6b 2d 69 64 20 20 | .from.disk."...(let.((chunk-id.. |
| 13320 | 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 63 68 75 6e 6b 2d 6c 65 6e 20 30 29 0a 20 20 20 20 20 | nil).........(chunk-len.0)...... |
| 13340 | 20 20 20 28 69 70 20 20 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 6d 65 6d 6f 72 79 | ...(ip........0).........(memory |
| 13360 | 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73 74 61 63 6b 20 20 20 20 20 6e 69 6c 29 | ....nil).........(stack.....nil) |
| 13380 | 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 0a 20 20 20 20 28 77 68 69 | .........(beginning.0)).....(whi |
| 133a0 | 6c 65 20 28 3c 20 28 70 6f 69 6e 74 29 20 73 69 7a 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 | le.(<.(point).size).......(setq. |
| 133c0 | 63 68 75 6e 6b 2d 69 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 | chunk-id..(malyon-read-chunk-id- |
| 133e0 | 66 72 6f 6d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 | from-file)).......(setq.chunk-le |
| 13400 | 6e 20 28 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 6c 65 29 29 | n.(malyon-read-dword-from-file)) |
| 13420 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 69 6e 6e 69 6e 67 20 28 70 6f 69 6e 74 29 29 0a | .......(setq.beginning.(point)). |
| 13440 | 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 22 | ......(cond.((string=.chunk-id." |
| 13460 | 49 46 68 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 70 20 28 6d 61 | IFhd")..............(setq.ip.(ma |
| 13480 | 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 63 68 75 6e 6b 2d | lyon-restore-quetzal-ifhd.chunk- |
| 134a0 | 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 3d 20 63 68 75 | len))).............((string=.chu |
| 134c0 | 6e 6b 2d 69 64 20 22 43 4d 65 6d 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | nk-id."CMem")..............(setq |
| 134e0 | 20 6d 65 6d 6f 72 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 | .memory.(malyon-restore-quetzal- |
| 13500 | 63 6d 65 6d 20 63 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 | cmem.chunk-len))).............(( |
| 13520 | 73 74 72 69 6e 67 3d 20 63 68 75 6e 6b 2d 69 64 20 22 55 4d 65 6d 22 29 0a 20 20 20 20 20 20 20 | string=.chunk-id."UMem")........ |
| 13540 | 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 65 73 74 6f | ......(setq.memory.(malyon-resto |
| 13560 | 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65 6d 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 | re-quetzal-umem.chunk-len))).... |
| 13580 | 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 22 53 74 6b | .........((string=.chunk-id."Stk |
| 135a0 | 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 63 6b 20 28 6d 61 | s")..............(setq.stack.(ma |
| 135c0 | 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 73 74 6b 73 20 63 68 75 6e 6b 2d | lyon-restore-quetzal-stks.chunk- |
| 135e0 | 6c 65 6e 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 63 68 | len)))).......(if.(zerop.(mod.ch |
| 13600 | 75 6e 6b 2d 6c 65 6e 20 32 29 29 20 27 28 29 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 6c 65 6e 20 | unk-len.2)).'().(setq.chunk-len. |
| 13620 | 28 2b 20 31 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | (+.1.chunk-len))).......(goto-ch |
| 13640 | 61 72 20 28 2b 20 62 65 67 69 6e 6e 69 6e 67 20 63 68 75 6e 6b 2d 6c 65 6e 29 29 29 0a 20 20 20 | ar.(+.beginning.chunk-len))).... |
| 13660 | 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 69 70 20 6d 65 6d 6f 72 79 20 73 74 61 63 6b 29 0a 20 20 | .(cond.((and.ip.memory.stack)... |
| 13680 | 20 20 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 | .........(malyon-set-game-state. |
| 136a0 | 28 76 65 63 74 6f 72 20 69 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (vector.ip...................... |
| 136c0 | 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 6b | .....................(aref.stack |
| 136e0 | 20 30 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 | .0)............................. |
| 13700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 63 6b 20 31 29 0a 20 20 20 | ..............(aref.stack.1).... |
| 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 20 20 20 | ................................ |
| 13740 | 20 20 20 20 20 20 20 28 61 72 65 66 20 73 74 61 63 6b 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 | .......(aref.stack.2)........... |
| 13760 | 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 | ................................ |
| 13780 | 6d 65 6d 6f 72 79 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 | memory.......................... |
| 137a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .................t)))........... |
| 137c0 | 28 28 6e 75 6c 6c 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 | ((null.malyon-restore-data-error |
| 137e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 | )............(setq.malyon-restor |
| 13800 | 65 2d 64 61 74 61 2d 65 72 72 6f 72 20 22 69 6e 76 61 6c 69 64 20 71 75 65 74 7a 61 6c 20 66 69 | e-data-error."invalid.quetzal.fi |
| 13820 | 6c 65 2e 22 29 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 | le.")))))..(defun.malyon-restore |
| 13840 | 2d 71 75 65 74 7a 61 6c 2d 69 66 68 64 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 | -quetzal-ifhd.(size)..."Restore. |
| 13860 | 61 6e 20 49 46 68 64 20 63 68 75 6e 6b 20 66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 | an.IFhd.chunk.from.disk..Return. |
| 13880 | 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 2e 22 0a 20 20 28 69 66 20 | the.instruction.pointer."...(if. |
| 138a0 | 28 61 6e 64 20 28 3d 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 | (and.(=.(malyon-read-word-from-f |
| 138c0 | 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 29 29 0a 20 20 20 20 20 | ile).(malyon-read-word.2))...... |
| 138e0 | 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f 6d 2d | ......(=.(malyon-read-word-from- |
| 13900 | 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 31 38 29 29 0a 20 20 20 | file).(malyon-read-word.18)).... |
| 13920 | 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 72 6f | ........(=.(malyon-read-word-fro |
| 13940 | 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 30 29 29 0a 20 | m-file).(malyon-read-word.20)).. |
| 13960 | 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 | ..........(=.(malyon-read-word-f |
| 13980 | 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 32 29 29 | rom-file).(malyon-read-word.22)) |
| 139a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 | ............(=.(malyon-read-word |
| 139c0 | 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38 | -from-file).(malyon-read-word.28 |
| 139e0 | 29 29 29 0a 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 | ))).......(logior.(lsh.(malyon-r |
| 13a00 | 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 20 | ead-byte-from-file).16)......... |
| 13a20 | 20 20 20 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 | ......(lsh.(malyon-read-byte-fro |
| 13a40 | 6d 2d 66 69 6c 65 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | m-file).8)...............(malyon |
| 13a60 | 2d 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 28 73 65 74 71 | -read-byte-from-file)).....(setq |
| 13a80 | 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 71 75 65 74 | .malyon-restore-data-error."quet |
| 13aa0 | 7a 61 6c 20 66 69 6c 65 20 64 6f 65 73 6e 27 74 20 62 65 6c 6f 6e 67 20 74 6f 20 67 61 6d 65 2e | zal.file.doesn't.belong.to.game. |
| 13ac0 | 22 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 | ").....nil))..(defun.malyon-rest |
| 13ae0 | 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 63 6d 65 6d 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f | ore-quetzal-cmem.(size)..."Resto |
| 13b00 | 72 65 20 61 20 43 4d 65 6d 20 63 68 75 6e 6b 20 66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 | re.a.CMem.chunk.from.disk..Retur |
| 13b20 | 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 28 | n.the.entire.memory.layout."...( |
| 13b40 | 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 | let.((memory...(copy-sequence.(a |
| 13b60 | 72 65 66 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 20 34 29 | ref.malyon-game-state-restart.4) |
| 13b80 | 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 78 2d 73 69 7a 65 20 28 2b 20 28 70 6f 69 6e 74 29 20 | )).........(max-size.(+.(point). |
| 13ba0 | 73 69 7a 65 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 65 20 20 20 20 20 30 29 0a 20 20 20 20 | size)).........(byte.....0)..... |
| 13bc0 | 20 20 20 20 28 69 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 | ....(i........0)).....(while.(<. |
| 13be0 | 28 70 6f 69 6e 74 29 20 6d 61 78 2d 73 69 7a 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 79 | (point).max-size).......(setq.by |
| 13c00 | 74 65 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 | te.(malyon-read-byte-from-file)) |
| 13c20 | 0a 20 20 20 20 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 | .......(if.(zerop.byte)......... |
| 13c40 | 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 | ..(setq.i.(+.1.i.(malyon-read-by |
| 13c60 | 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6d 65 | te-from-file))).........(aset.me |
| 13c80 | 6d 6f 72 79 20 69 20 28 6c 6f 67 78 6f 72 20 62 79 74 65 20 28 61 72 65 66 20 6d 65 6d 6f 72 79 | mory.i.(logxor.byte.(aref.memory |
| 13ca0 | 20 69 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 | .i))).........(setq.i.(+.1.i)))) |
| 13cc0 | 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 6e 2d 72 65 73 | .....memory))..(defun.malyon-res |
| 13ce0 | 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 75 6d 65 6d 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 | tore-quetzal-umem.(size)..."Rest |
| 13d00 | 6f 72 65 20 61 20 55 4d 65 6d 20 63 68 75 6e 6b 20 66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 | ore.a.UMem.chunk.from.disk..Retu |
| 13d20 | 72 6e 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 2e 22 0a 20 20 | rn.the.entire.memory.layout."... |
| 13d40 | 28 6c 65 74 20 28 28 6d 65 6d 6f 72 79 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 61 72 | (let.((memory.(copy-sequence.(ar |
| 13d60 | 65 66 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 20 34 29 29 | ef.malyon-game-state-restart.4)) |
| 13d80 | 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 | ).........(i......0)).....(while |
| 13da0 | 20 28 3c 20 69 20 73 69 7a 65 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 6d 65 6d 6f 72 79 20 69 | .(<.i.size).......(aset.memory.i |
| 13dc0 | 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 0a 20 | .(malyon-read-byte-from-file)).. |
| 13de0 | 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 6d 65 6d 6f 72 | .....(setq.i.(+.1.i))).....memor |
| 13e00 | 79 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 71 75 65 74 7a | y))..(defun.malyon-restore-quetz |
| 13e20 | 61 6c 2d 73 74 6b 73 20 28 73 69 7a 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 53 74 6b 73 | al-stks.(size)..."Restore.a.Stks |
| 13e40 | 20 63 68 75 6e 6b 20 66 72 6f 6d 20 64 69 73 6b 2e 20 52 65 74 75 72 6e 20 61 20 76 65 63 74 6f | .chunk.from.disk..Return.a.vecto |
| 13e60 | 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 2c 20 | r.containing.the.stack.pointer,. |
| 13e80 | 74 68 65 20 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 2c 20 61 6e 64 20 74 68 65 20 73 74 61 63 6b | the.frame.pointer,.and.the.stack |
| 13ea0 | 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 20 28 66 72 61 6d 65 2d 69 | .itself."...(let.((i.0).(frame-i |
| 13ec0 | 64 20 30 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 71 | d.0)).....(setq.malyon-restore-q |
| 13ee0 | 75 65 74 7a 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 73 65 71 | uetzal-stack...........(copy-seq |
| 13f00 | 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 61 74 65 2d 72 65 | uence.(aref.malyon-game-state-re |
| 13f20 | 73 74 61 72 74 20 33 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 | start.3))).....(setq.malyon-rest |
| 13f40 | 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 20 2d 31 29 0a 20 20 | ore-quetzal-stack-pointer.-1)... |
| 13f60 | 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 74 7a 61 6c 2d 66 | ..(setq.malyon-restore-quetzal-f |
| 13f80 | 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 32 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 | rame-pointer.2).....(while.(<.i. |
| 13fa0 | 73 69 7a 65 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 69 6e 6e 69 6e 67 20 20 20 | size).......(let*.((beginning... |
| 13fc0 | 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 33 | ..(point))..............(return3 |
| 13fe0 | 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 69 | .......(malyon-read-byte-from-fi |
| 14000 | 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 32 20 20 20 20 20 20 | le))..............(return2...... |
| 14020 | 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 0a 20 | .(malyon-read-byte-from-file)).. |
| 14040 | 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 31 20 20 20 20 20 20 20 28 6d 61 6c 79 | ............(return1.......(maly |
| 14060 | 6f 6e 2d 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 20 | on-read-byte-from-file))........ |
| 14080 | 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d 61 64 64 72 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 | ......(return-addr...(logior.(ls |
| 140a0 | 68 20 72 65 74 75 72 6e 33 20 31 36 29 20 28 6c 73 68 20 72 65 74 75 72 6e 32 20 38 29 20 72 65 | h.return3.16).(lsh.return2.8).re |
| 140c0 | 74 75 72 6e 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 6c 6f 63 | turn1))..............(result-loc |
| 140e0 | 61 6c 73 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 | als.(malyon-read-byte-from-file) |
| 14100 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 2d 72 65 73 75 6c 74 20 20 20 20 28 7a | )..............(has-result....(z |
| 14120 | 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 36 20 72 65 73 75 6c 74 2d 6c 6f 63 61 6c 73 29 29 29 | erop.(logand.16.result-locals))) |
| 14140 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6d 2d 6c 6f 63 61 6c 73 20 20 20 20 28 6c 6f | ..............(num-locals....(lo |
| 14160 | 67 61 6e 64 20 31 35 20 72 65 73 75 6c 74 2d 6c 6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 | gand.15.result-locals))......... |
| 14180 | 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 64 72 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 | .....(result-addr...(malyon-read |
| 141a0 | 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 20 28 | -byte-from-file))..............( |
| 141c0 | 61 72 67 2d 66 6c 61 67 73 20 20 20 20 20 28 2b 20 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d | arg-flags.....(+.1.(malyon-read- |
| 141e0 | 62 79 74 65 2d 66 72 6f 6d 2d 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | byte-from-file)))..............( |
| 14200 | 6e 75 6d 2d 61 72 67 73 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 | num-args......0)..............(e |
| 14220 | 76 61 6c 2d 73 69 7a 65 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 2d 66 | val-size.....(malyon-read-word-f |
| 14240 | 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 6c 6f 63 61 6c 2d 76 | rom-file))..............(local-v |
| 14260 | 61 72 73 20 20 20 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 | ars....'())..............(eval-s |
| 14280 | 74 61 63 6b 20 20 20 20 27 28 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 | tack....'())).........(while.(>. |
| 142a0 | 6e 75 6d 2d 6c 6f 63 61 6c 73 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f | num-locals.0)...........(setq.lo |
| 142c0 | 63 61 6c 2d 76 61 72 73 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 | cal-vars.(cons.(malyon-read-word |
| 142e0 | 2d 66 72 6f 6d 2d 66 69 6c 65 29 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 20 20 20 | -from-file).local-vars))........ |
| 14300 | 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 6c 6f 63 61 6c 73 20 28 2d 20 6e 75 6d 2d 6c 6f 63 61 6c | ...(setq.num-locals.(-.num-local |
| 14320 | 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 65 76 61 6c 2d 73 69 | s.1))).........(while.(>.eval-si |
| 14340 | 7a 65 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b | ze.0)...........(setq.eval-stack |
| 14360 | 20 28 63 6f 6e 73 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 | .(cons.(malyon-read-word-from-fi |
| 14380 | 6c 65 29 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | le).eval-stack))...........(setq |
| 143a0 | 20 65 76 61 6c 2d 73 69 7a 65 20 28 2d 20 65 76 61 6c 2d 73 69 7a 65 20 31 29 29 29 0a 20 20 20 | .eval-size.(-.eval-size.1))).... |
| 143c0 | 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 61 72 67 2d 66 6c 61 67 73 20 31 29 0a 20 20 20 20 | .....(while.(>.arg-flags.1)..... |
| 143e0 | 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 2d 66 6c 61 67 73 20 28 6c 73 68 20 61 72 67 2d 66 | ......(setq.arg-flags.(lsh.arg-f |
| 14400 | 6c 61 67 73 20 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 2d 61 72 | lags.-1))...........(setq.num-ar |
| 14420 | 67 73 20 28 2b 20 6e 75 6d 2d 61 72 67 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c | gs.(+.num-args.1))).........(mal |
| 14440 | 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 66 72 61 6d 65 2d 69 64 0a 20 20 | yon-push-stack-frame.frame-id... |
| 14460 | 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 72 | ...............................r |
| 14480 | 65 74 75 72 6e 2d 61 64 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eturn-addr...................... |
| 144a0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 66 72 61 6d 65 2d 69 64 29 | ............(if.(zerop.frame-id) |
| 144c0 | 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 20 20 | ................................ |
| 144e0 | 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......nil....................... |
| 14500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 68 61 73 2d 72 65 73 75 6c 74 20 72 65 73 75 | .............(if.has-result.resu |
| 14520 | 6c 74 2d 61 64 64 72 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lt-addr.nil))................... |
| 14540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 76 65 72 73 65 20 6c 6f 63 61 6c 2d 76 61 | ...............(reverse.local-va |
| 14560 | 72 73 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 | rs)............................. |
| 14580 | 20 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 20 20 20 20 20 20 | .....num-args................... |
| 145a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 76 65 72 73 65 20 65 76 61 6c 2d 73 74 61 | ...............(reverse.eval-sta |
| 145c0 | 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 72 61 6d 65 2d 69 64 20 28 2b 20 31 | ck)).........(setq.frame-id.(+.1 |
| 145e0 | 20 66 72 61 6d 65 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 2b 20 69 | .frame-id)).........(setq.i.(+.i |
| 14600 | 20 28 2d 20 28 70 6f 69 6e 74 29 20 62 65 67 69 6e 6e 69 6e 67 29 29 29 29 29 0a 20 20 20 20 28 | .(-.(point).beginning))))).....( |
| 14620 | 76 65 63 74 6f 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 | vector.malyon-restore-quetzal-st |
| 14640 | 61 63 6b 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 | ack-pointer.............malyon-r |
| 14660 | 65 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 0a 20 20 20 | estore-quetzal-frame-pointer.... |
| 14680 | 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 75 65 74 7a 61 6c 2d | .........malyon-restore-quetzal- |
| 146a0 | 73 74 61 63 6b 29 29 29 0a 0a 3b 3b 20 6f 62 6a 65 63 74 20 74 61 62 6c 65 20 6d 61 6e 61 67 65 | stack)))..;;.object.table.manage |
| 146c0 | 6d 65 6e 74 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 | ment..(defsubst.malyon-object-ad |
| 146e0 | 64 72 65 73 73 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 43 6f 6d 70 75 74 65 20 74 68 65 20 61 64 | dress.(object)..."Compute.the.ad |
| 14700 | 64 72 65 73 73 20 61 74 20 77 68 69 63 68 20 74 68 65 20 6f 62 6a 65 63 74 20 69 73 20 73 74 6f | dress.at.which.the.object.is.sto |
| 14720 | 72 65 64 2e 22 0a 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 0a 20 | red."...(+.malyon-object-table.. |
| 14740 | 20 20 20 20 28 2a 20 32 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 65 72 74 69 65 | ....(*.2.malyon-object-propertie |
| 14760 | 73 29 0a 20 20 20 20 20 28 2a 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 2d 65 | s)......(*.malyon-object-table-e |
| 14780 | 6e 74 72 79 2d 73 69 7a 65 20 28 2d 20 6f 62 6a 65 63 74 20 31 29 29 29 29 0a 0a 28 64 65 66 73 | ntry-size.(-.object.1))))..(defs |
| 147a0 | 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 20 28 | ubst.malyon-object-read-parent.( |
| 147c0 | 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 61 72 65 6e 74 2e 22 0a | address)..."Return.the.parent.". |
| 147e0 | 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 20 35 29 | ..(if.(<.malyon-story-version.5) |
| 14800 | 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 34 20 61 64 | .......(malyon-read-byte.(+.4.ad |
| 14820 | 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 64 20 28 2b | dress)).....(malyon-read-word.(+ |
| 14840 | 20 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 6d 61 6c 79 6f 6e | .6.address))))..(defsubst.malyon |
| 14860 | 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 28 61 64 64 72 65 73 73 29 0a 20 | -object-read-sibling.(address).. |
| 14880 | 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 65 78 74 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 69 | ."Return.the.next.sibling."...(i |
| 148a0 | 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 20 20 | f.(<.malyon-story-version.5).... |
| 148c0 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 35 20 61 64 64 72 65 73 | ...(malyon-read-byte.(+.5.addres |
| 148e0 | 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 38 20 61 | s)).....(malyon-read-word.(+.8.a |
| 14900 | 64 64 72 65 73 73 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 | ddress))))..(defsubst.malyon-obj |
| 14920 | 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 52 65 74 75 | ect-read-child.(address)..."Retu |
| 14940 | 72 6e 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 6d 61 | rn.the.first.child."...(if.(<.ma |
| 14960 | 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 61 6c | lyon-story-version.5).......(mal |
| 14980 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 | yon-read-byte.(+.6.address)).... |
| 149a0 | 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 31 30 20 61 64 64 72 65 73 73 | .(malyon-read-word.(+.10.address |
| 149c0 | 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 74 2d 73 74 | ))))..(defsubst.malyon-object-st |
| 149e0 | 6f 72 65 2d 70 61 72 65 6e 74 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 65 29 0a 20 20 22 53 65 | ore-parent.(address.value)..."Se |
| 14a00 | 74 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 | t.the.parent."...(if.(<.malyon-s |
| 14a20 | 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 73 74 | tory-version.5).......(malyon-st |
| 14a40 | 6f 72 65 2d 62 79 74 65 20 28 2b 20 34 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 0a 20 20 | ore-byte.(+.4.address).value)... |
| 14a60 | 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 36 20 61 64 64 72 65 73 | ..(malyon-store-word.(+.6.addres |
| 14a80 | 73 29 20 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 | s).value)))..(defsubst.malyon-ob |
| 14aa0 | 6a 65 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 28 61 64 64 72 65 73 73 20 76 61 6c 75 | ject-store-sibling.(address.valu |
| 14ac0 | 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 6e 65 78 74 20 73 69 62 6c 69 6e 67 2e 22 0a 20 20 28 | e)..."Set.the.next.sibling."...( |
| 14ae0 | 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 20 | if.(<.malyon-story-version.5)... |
| 14b00 | 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 61 64 64 72 | ....(malyon-store-byte.(+.5.addr |
| 14b20 | 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 6f | ess).value).....(malyon-store-wo |
| 14b40 | 72 64 20 28 2b 20 38 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 73 | rd.(+.8.address).value)))..(defs |
| 14b60 | 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 63 68 69 6c 64 20 28 | ubst.malyon-object-store-child.( |
| 14b80 | 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 66 69 72 73 74 20 | address.value)..."Set.the.first. |
| 14ba0 | 63 68 69 6c 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 | child."...(if.(<.malyon-story-ve |
| 14bc0 | 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 2d 62 79 74 | rsion.5).......(malyon-store-byt |
| 14be0 | 65 20 28 2b 20 36 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 0a 20 20 20 20 28 6d 61 6c 79 | e.(+.6.address).value).....(maly |
| 14c00 | 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 31 30 20 61 64 64 72 65 73 73 29 20 76 61 6c | on-store-word.(+.10.address).val |
| 14c20 | 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 66 69 6e 64 2d 70 72 6f 70 65 72 | ue)))..(defun.malyon-find-proper |
| 14c40 | 74 79 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | ty.(object.property)..."Return.t |
| 14c60 | 68 65 20 61 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 | he.address.of.the.object's.prope |
| 14c80 | 72 74 79 2c 20 6f 72 20 30 20 69 66 20 69 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 22 0a | rty,.or.0.if.it.doesn't.exist.". |
| 14ca0 | 20 20 28 6c 65 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 | ..(let.((next.(malyon-first-prop |
| 14cc0 | 65 72 74 79 20 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 | erty.object)).........(number.0) |
| 14ce0 | 29 0a 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 6c 79 | ).....(setq.number.(logand.(maly |
| 14d00 | 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 | on-read-byte.next).malyon-object |
| 14d20 | 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 | -properties)).....(while.(>.numb |
| 14d40 | 65 72 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d | er.property).......(setq.next.(m |
| 14d60 | 61 6c 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 | alyon-next-property.next))...... |
| 14d80 | 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 65 | .(setq.number.(logand.(malyon-re |
| 14da0 | 61 64 2d 62 79 74 65 20 6e 65 78 74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 6f 70 | ad-byte.next).malyon-object-prop |
| 14dc0 | 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 28 69 66 20 28 3d 20 6e 75 6d 62 65 72 20 70 72 6f 70 | erties))).....(if.(=.number.prop |
| 14de0 | 65 72 74 79 29 20 6e 65 78 74 20 30 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 66 | erty).next.0)))..(defun.malyon-f |
| 14e00 | 69 72 73 74 2d 70 72 6f 70 65 72 74 79 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 | irst-property.(object)..."Get.th |
| 14e20 | 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 66 69 72 73 74 20 | e.address.of.the.object's.first. |
| 14e40 | 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 68 65 61 64 65 72 20 28 6d 61 6c 79 | property."...(let.((header.(maly |
| 14e60 | 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 70 72 | on-read-word.(+.malyon-object-pr |
| 14e80 | 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | operty-offset................... |
| 14ea0 | 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 6f 62 6a 65 63 | ...................(malyon-objec |
| 14ec0 | 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 29 29 29 29 0a 20 20 20 20 28 2b 20 68 65 61 | t-address.object))))).....(+.hea |
| 14ee0 | 64 65 72 20 31 20 28 2a 20 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 68 65 61 | der.1.(*.2.(malyon-read-byte.hea |
| 14f00 | 64 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6e 65 78 74 2d 70 72 6f | der)))))..(defun.malyon-next-pro |
| 14f20 | 70 65 72 74 79 20 28 70 72 6f 70 65 72 74 79 29 0a 20 20 22 47 65 74 20 74 68 65 20 61 64 64 72 | perty.(property)..."Get.the.addr |
| 14f40 | 65 73 73 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 6f 70 65 72 74 79 2e 22 0a | ess.of.the.following.property.". |
| 14f60 | 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 74 65 20 | ..(let.((size.(malyon-read-byte. |
| 14f80 | 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 72 20 28 2b 20 70 72 6f 70 | property)).........(addr.(+.prop |
| 14fa0 | 65 72 74 79 20 31 29 29 29 0a 20 20 20 20 28 2b 20 31 20 61 64 64 72 20 28 63 6f 6e 64 20 28 28 | erty.1))).....(+.1.addr.(cond.(( |
| 14fc0 | 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 28 6c 73 68 20 73 | <.malyon-story-version.5).(lsh.s |
| 14fe0 | 69 7a 65 20 2d 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 7a | ize.-5)).....................((z |
| 15000 | 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 73 69 7a 65 29 29 20 20 28 6c 73 68 20 73 69 | erop.(logand.128.size))..(lsh.si |
| 15020 | 7a 65 20 2d 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 | ze.-6)).....................(t.. |
| 15040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 65 63 6f 6e | ....................(let.((secon |
| 15060 | 64 20 28 6c 6f 67 61 6e 64 20 36 33 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 | d.(logand.63.(malyon-read-byte.a |
| 15080 | 64 64 72 29 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 28 | ddr))))........................( |
| 150a0 | 69 66 20 28 3d 20 30 20 73 65 63 6f 6e 64 29 20 36 34 20 73 65 63 6f 6e 64 29 29 29 29 29 29 29 | if.(=.0.second).64.second))))))) |
| 150c0 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 20 28 6f | ..(defun.malyon-remove-object.(o |
| 150e0 | 62 6a 65 63 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6f 62 6a 65 63 74 20 66 72 6f 6d | bject)..."Remove.the.object.from |
| 15100 | 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 74 20 6f 66 20 69 74 73 20 70 61 72 65 6e 74 | .the.children.list.of.its.parent |
| 15120 | 2e 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 6f 62 6a | ."...(let*.((address.(malyon-obj |
| 15140 | 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 20 20 20 28 70 | ect-address.object))..........(p |
| 15160 | 61 72 65 6e 74 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e | arent..(malyon-object-read-paren |
| 15180 | 74 20 61 64 64 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 62 6c 69 6e 67 20 28 6d | t.address))..........(sibling.(m |
| 151a0 | 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 73 69 62 6c 69 6e 67 20 61 64 64 72 65 73 | alyon-object-read-sibling.addres |
| 151c0 | 73 29 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 70 61 | s))).....(malyon-object-store-pa |
| 151e0 | 72 65 6e 74 20 61 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 | rent.address.0).....(malyon-obje |
| 15200 | 63 74 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 61 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 | ct-store-sibling.address.0)..... |
| 15220 | 28 69 66 20 28 2f 3d 20 70 61 72 65 6e 74 20 30 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 | (if.(/=.parent.0).........(let.( |
| 15240 | 28 70 61 72 65 6e 74 2d 61 64 64 72 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 64 72 | (parent-addr.(malyon-object-addr |
| 15260 | 65 73 73 20 70 61 72 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 | ess.parent)))...........(let.((c |
| 15280 | 68 69 6c 64 72 65 6e 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 | hildren.(malyon-object-read-chil |
| 152a0 | 64 20 70 61 72 65 6e 74 2d 61 64 64 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 | d.parent-addr))).............(if |
| 152c0 | 20 28 6f 72 20 28 3d 20 63 68 69 6c 64 72 65 6e 20 30 29 20 28 3d 20 63 68 69 6c 64 72 65 6e 20 | .(or.(=.children.0).(=.children. |
| 152e0 | 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | object)).................(malyon |
| 15300 | 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 63 68 69 6c 64 20 70 61 72 65 6e 74 2d 61 64 64 72 20 | -object-store-child.parent-addr. |
| 15320 | 73 69 62 6c 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68 | sibling)...............(let.((th |
| 15340 | 69 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 63 68 69 6c 64 72 | is.(malyon-object-address.childr |
| 15360 | 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 78 | en))).................(let.((nex |
| 15380 | 74 20 28 6d 61 6c 79 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 | t.(malyon-object-read-sibling.th |
| 153a0 | 69 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 | is)))...................(while.( |
| 153c0 | 2f 3d 20 6e 65 78 74 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | /=.next.object)................. |
| 153e0 | 20 20 20 20 28 73 65 74 71 20 74 68 69 73 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 61 64 | ....(setq.this.(malyon-object-ad |
| 15400 | 64 72 65 73 73 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dress.next)).................... |
| 15420 | 20 28 73 65 74 71 20 6e 65 78 74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d | .(setq.next.(malyon-object-read- |
| 15440 | 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 20 20 20 20 20 | sibling.this)))................. |
| 15460 | 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 74 | ..(malyon-object-store-sibling.t |
| 15480 | 68 69 73 20 73 69 62 6c 69 6e 67 29 29 29 29 29 29 29 29 29 0a 0a 3b 3b 20 66 75 6e 63 74 69 6f | his.sibling)))))))))..;;.functio |
| 154a0 | 6e 20 63 61 6c 6c 73 20 61 6e 64 20 63 6f 64 65 20 62 72 61 6e 63 68 65 73 0a 0a 28 64 65 66 75 | n.calls.and.code.branches..(defu |
| 154c0 | 6e 20 6d 61 6c 79 6f 6e 2d 63 61 6c 6c 2d 72 6f 75 74 69 6e 65 20 28 72 6f 75 74 69 6e 65 20 61 | n.malyon-call-routine.(routine.a |
| 154e0 | 72 67 75 6d 65 6e 74 73 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 73 75 6c 74 29 0a 20 20 22 43 61 | rguments.&optional.result)..."Ca |
| 15500 | 6c 6c 20 61 20 72 6f 75 74 69 6e 65 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 75 | ll.a.routine.with.the.given.argu |
| 15520 | 6d 65 6e 74 73 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 72 65 73 75 6c 74 2e 22 0a 20 20 | ments.and.return.its.result."... |
| 15540 | 28 69 66 20 28 3d 20 72 6f 75 74 69 6e 65 20 30 29 0a 20 20 20 20 20 20 28 69 66 20 72 65 73 75 | (if.(=.routine.0).......(if.resu |
| 15560 | 6c 74 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 72 65 73 75 6c 74 | lt.(malyon-store-variable.result |
| 15580 | 20 30 29 20 30 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 | .0).0).....(malyon-push-stack.(i |
| 155a0 | 66 20 72 65 73 75 6c 74 20 30 20 31 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d | f.result.0.1)).....(malyon-push- |
| 155c0 | 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 6c 74 20 72 65 73 75 6c 74 20 30 29 29 0a 20 20 20 20 | stack.(if.result.result.0))..... |
| 155e0 | 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 | (malyon-push-stack.malyon-instru |
| 15600 | 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d | ction-pointer).....(malyon-push- |
| 15620 | 73 74 61 63 6b 0a 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f | stack......(logior.(lsh.(-.malyo |
| 15640 | 6e 2d 73 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 | n-stack-pointer.malyon-frame-poi |
| 15660 | 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 61 72 | nter).8)..............(length.ar |
| 15680 | 67 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 | guments))).....(setq.malyon-inst |
| 156a0 | 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 | ruction-pointer.(*.malyon-packed |
| 156c0 | 2d 6d 75 6c 74 69 70 6c 69 65 72 20 72 6f 75 74 69 6e 65 29 29 0a 20 20 20 20 28 6c 65 74 20 28 | -multiplier.routine)).....(let.( |
| 156e0 | 28 61 72 67 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 29 20 28 | (args.(malyon-read-code-byte)).( |
| 15700 | 76 61 6c 75 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 67 61 6d | value.nil)).......(if.malyon-gam |
| 15720 | 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 28 6c 65 74 20 28 | e-state-quetzal...........(let.( |
| 15740 | 28 69 64 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 6d 61 6c 79 | (id.(lsh.(aref.malyon-stack.maly |
| 15760 | 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 20 2d 38 29 29 29 0a 20 20 20 20 20 20 20 20 | on-frame-pointer).-8)))......... |
| 15780 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 6c 6f 67 69 6f 72 20 28 | ....(malyon-push-stack.(logior.( |
| 157a0 | 6c 73 68 20 28 2b 20 31 20 69 64 29 20 38 29 20 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 28 | lsh.(+.1.id).8).args)))).......( |
| 157c0 | 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 6d 61 6c 79 6f 6e | setq.malyon-frame-pointer.malyon |
| 157e0 | 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 | -stack-pointer).......(while.(>. |
| 15800 | 61 72 67 73 20 30 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 61 6c 75 65 20 28 69 66 20 | args.0).........(setq.value.(if. |
| 15820 | 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 28 6d 61 6c 79 | (<.malyon-story-version.5).(maly |
| 15840 | 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 | on-read-code-word).0)).........( |
| 15860 | 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 28 69 66 20 28 6e 75 6c 6c 20 61 72 67 75 | malyon-push-stack.(if.(null.argu |
| 15880 | 6d 65 6e 74 73 29 20 76 61 6c 75 65 20 28 63 61 72 20 61 72 67 75 6d 65 6e 74 73 29 29 29 0a 20 | ments).value.(car.arguments))).. |
| 158a0 | 20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 75 6d 65 6e 74 73 20 28 63 64 72 20 61 72 67 75 | .......(setq.arguments.(cdr.argu |
| 158c0 | 6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 67 73 20 28 2d 20 61 72 | ments)).........(setq.args.(-.ar |
| 158e0 | 67 73 20 31 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 | gs.1))))))..(defun.malyon-jump-i |
| 15900 | 66 20 28 63 6f 6e 64 69 74 69 6f 6e 29 0a 20 20 22 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20 | f.(condition)..."Jump.depending. |
| 15920 | 6f 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 | on.the.condition.and.the.followi |
| 15940 | 6e 67 20 6a 75 6d 70 20 64 61 74 61 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 79 74 65 20 20 20 28 | ng.jump.data."...(let.((byte...( |
| 15960 | 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 | malyon-read-code-byte))......... |
| 15980 | 28 6f 66 66 73 65 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 69 66 74 72 75 65 20 6e 69 6c | (offset.nil).........(iftrue.nil |
| 159a0 | 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 66 74 72 75 65 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e | )).....(setq.iftrue.(/=.0.(logan |
| 159c0 | 64 20 62 79 74 65 20 31 32 38 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6f 66 66 73 65 74 20 28 | d.byte.128))).....(setq.offset.( |
| 159e0 | 6c 6f 67 61 6e 64 20 62 79 74 65 20 36 33 29 29 0a 20 20 20 20 28 69 66 20 28 3d 20 30 20 28 6c | logand.byte.63)).....(if.(=.0.(l |
| 15a00 | 6f 67 61 6e 64 20 62 79 74 65 20 36 34 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 | ogand.byte.64)).........(progn.. |
| 15a20 | 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 66 66 73 65 74 20 28 6c 6f 67 69 6f 72 20 28 6c | .........(setq.offset.(logior.(l |
| 15a40 | 73 68 20 6f 66 66 73 65 74 20 38 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 | sh.offset.8).(malyon-read-code-b |
| 15a60 | 79 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 6f 66 66 73 65 74 20 | yte)))...........(if.(>=.offset. |
| 15a80 | 38 31 39 32 29 20 28 73 65 74 71 20 6f 66 66 73 65 74 20 28 2d 20 6f 66 66 73 65 74 20 31 36 33 | 8192).(setq.offset.(-.offset.163 |
| 15aa0 | 38 34 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6f 72 20 28 61 6e 64 20 69 66 74 72 75 65 20 | 84))))).....(if.(or.(and.iftrue. |
| 15ac0 | 63 6f 6e 64 69 74 69 6f 6e 29 20 28 61 6e 64 20 28 6e 6f 74 20 69 66 74 72 75 65 29 20 28 6e 6f | condition).(and.(not.iftrue).(no |
| 15ae0 | 74 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 | t.condition))).........(progn... |
| 15b00 | 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 6f 66 66 73 65 74 20 30 29 20 28 6d 61 6c | ........(cond.((=.offset.0).(mal |
| 15b20 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | yon-opcode-rfalse))............. |
| 15b40 | 20 20 20 20 28 28 3d 20 6f 66 66 73 65 74 20 31 29 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 | ....((=.offset.1).(malyon-opcode |
| 15b60 | 2d 72 74 72 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 | -rtrue)).................(t..... |
| 15b80 | 20 20 20 20 20 20 20 28 73 65 74 71 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......(setq.................... |
| 15ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 | ............malyon-instruction-p |
| 15bc0 | 6f 69 6e 74 65 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 | ointer.......................... |
| 15be0 | 20 20 20 20 20 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 6e | ......(+.malyon-instruction-poin |
| 15c00 | 74 65 72 20 6f 66 66 73 65 74 20 2d 32 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | ter.offset.-2))))))))..(defun.ma |
| 15c20 | 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 28 76 61 6c 75 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 72 | lyon-return.(value)..."Return.fr |
| 15c40 | 6f 6d 20 61 20 72 6f 75 74 69 6e 65 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 | om.a.routine."...(setq.malyon-st |
| 15c60 | 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 72 | ack-pointer.malyon-frame-pointer |
| 15c80 | 29 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 75 65 74 7a 61 | )...(if.malyon-game-state-quetza |
| 15ca0 | 6c 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20 28 73 65 74 71 20 6d 61 | l.(malyon-pop-stack))...(setq.ma |
| 15cc0 | 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 28 2d 20 6d 61 | lyon-frame-pointer.........(-.ma |
| 15ce0 | 6c 79 6f 6e 2d 73 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 | lyon-stack-pointer.1.(lsh.(malyo |
| 15d00 | 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 20 2d 38 29 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f | n-pop-stack).-8)))...(setq.malyo |
| 15d20 | 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e 74 65 72 20 28 6d 61 6c 79 6f 6e 2d 70 6f | n-instruction-pointer.(malyon-po |
| 15d40 | 70 2d 73 74 61 63 6b 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6c 79 6f | p-stack))...(let.((result.(malyo |
| 15d60 | 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 28 73 74 6f 72 65 20 20 28 6d | n-pop-stack)).........(store..(m |
| 15d80 | 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f | alyon-pop-stack))).....(if.(zero |
| 15da0 | 70 20 73 74 6f 72 65 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d | p.store).........(malyon-return- |
| 15dc0 | 73 74 6f 72 65 20 72 65 73 75 6c 74 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f | store.result.value).......(malyo |
| 15de0 | 6e 2d 72 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20 72 65 73 75 6c 74 20 76 61 6c 75 65 29 29 29 29 | n-return-ignore.result.value)))) |
| 15e00 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d 69 67 6e 6f 72 65 20 28 77 | ..(defun.malyon-return-ignore.(w |
| 15e20 | 68 65 72 65 20 76 61 6c 75 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 72 6f 6d 20 61 20 72 6f 75 | here.value)..."Return.from.a.rou |
| 15e40 | 74 69 6e 65 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28 64 65 | tine.ignoring.the.result.")..(de |
| 15e60 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 2d 73 74 6f 72 65 20 28 77 68 65 72 65 20 76 | fun.malyon-return-store.(where.v |
| 15e80 | 61 6c 75 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 20 73 | alue)..."Return.from.a.routine.s |
| 15ea0 | 74 6f 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 | toring.the.result."...(malyon-st |
| 15ec0 | 6f 72 65 2d 76 61 72 69 61 62 6c 65 20 77 68 65 72 65 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 | ore-variable.where.value))..(def |
| 15ee0 | 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 69 6e 69 74 69 61 6c 2d 66 72 61 6d 65 20 28 29 0a | un.malyon-push-initial-frame.(). |
| 15f00 | 20 20 22 50 75 73 68 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 63 6b 20 66 72 61 6d 65 20 | .."Push.the.initial.stack.frame. |
| 15f20 | 72 65 71 75 69 72 65 64 20 69 6e 20 71 75 65 74 7a 61 6c 20 6d 6f 64 65 2e 22 0a 20 20 28 69 66 | required.in.quetzal.mode."...(if |
| 15f40 | 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 20 20 20 20 | .malyon-game-state-quetzal...... |
| 15f60 | 20 28 70 72 6f 67 6e 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 | .(progn.........(malyon-push-sta |
| 15f80 | 63 6b 20 31 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 | ck.1).........(malyon-push-stack |
| 15fa0 | 20 30 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 20 30 | .0).........(malyon-push-stack.0 |
| 15fc0 | 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 20 30 29 0a | ).........(malyon-push-stack.0). |
| 15fe0 | 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 20 30 29 29 29 29 | ........(malyon-push-stack.0)))) |
| 16000 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 67 65 74 2d 73 74 61 63 6b 2d 66 72 61 6d 65 20 | ..(defun.malyon-get-stack-frame. |
| 16020 | 28 66 70 20 73 70 20 73 74 61 63 6b 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 64 65 63 6f 64 65 | (fp.sp.stack)..."Return.a.decode |
| 16040 | 64 20 73 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 0a 54 | d.stack.frame.in.quetzal.mode..T |
| 16060 | 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 76 65 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 | he.result.is.a.vector.containing |
| 16080 | 20 74 68 65 20 66 72 61 6d 65 20 69 64 2c 20 74 68 65 20 66 70 20 6f 66 20 74 68 65 0a 70 72 65 | .the.frame.id,.the.fp.of.the.pre |
| 160a0 | 76 69 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65 20 73 70 20 6f 66 20 74 68 65 20 70 72 65 76 69 | vious.frame,.the.sp.of.the.previ |
| 160c0 | 6f 75 73 20 66 72 61 6d 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 61 64 64 72 65 73 73 2c 0a 74 | ous.frame,.the.return.address,.t |
| 160e0 | 68 65 20 72 65 73 75 6c 74 20 76 61 72 69 61 62 6c 65 20 69 66 20 61 6e 79 2c 20 61 20 6c 69 73 | he.result.variable.if.any,.a.lis |
| 16100 | 74 20 6f 66 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 74 68 65 20 6e 75 6d 62 65 72 | t.of.local.variables,.the.number |
| 16120 | 0a 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 | .of.arguments,.and.a.list.of.the |
| 16140 | 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 61 63 6b 20 65 6c 65 6d 65 6e 74 73 2e 22 0a 20 20 28 | .evaluation.stack.elements."...( |
| 16160 | 6c 65 74 2a 20 28 28 68 61 73 2d 72 65 73 75 6c 74 20 20 20 28 7a 65 72 6f 70 20 28 61 72 65 66 | let*.((has-result...(zerop.(aref |
| 16180 | 20 73 74 61 63 6b 20 66 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 2d 61 64 | .stack.fp)))..........(result-ad |
| 161a0 | 64 72 20 20 28 69 66 20 68 61 73 2d 72 65 73 75 6c 74 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 | dr..(if.has-result.(aref.stack.( |
| 161c0 | 2b 20 31 20 66 70 29 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 74 75 72 6e 2d | +.1.fp)).nil))..........(return- |
| 161e0 | 61 64 64 72 20 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 32 20 66 70 29 29 29 0a 20 20 20 | addr..(aref.stack.(+.2.fp))).... |
| 16200 | 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 20 20 20 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 73 | ......(offset.......(lsh.(aref.s |
| 16220 | 74 61 63 6b 20 28 2b 20 33 20 66 70 29 29 20 2d 38 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 | tack.(+.3.fp)).-8))..........(nu |
| 16240 | 6d 2d 61 72 67 73 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 61 72 65 66 20 73 74 61 | m-args.....(logand.255.(aref.sta |
| 16260 | 63 6b 20 28 2b 20 33 20 66 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 72 61 6d 65 2d 69 | ck.(+.3.fp))))..........(frame-i |
| 16280 | 64 20 20 20 20 20 28 6c 73 68 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 34 20 66 70 29 29 | d.....(lsh.(aref.stack.(+.4.fp)) |
| 162a0 | 20 2d 38 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 6d 2d 6c 6f 63 61 6c 73 20 20 20 28 6c 6f | .-8))..........(num-locals...(lo |
| 162c0 | 67 61 6e 64 20 32 35 35 20 28 61 72 65 66 20 73 74 61 63 6b 20 28 2b 20 34 20 66 70 29 29 29 29 | gand.255.(aref.stack.(+.4.fp)))) |
| 162e0 | 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 2d 6c 6f 63 61 6c 73 20 28 2b 20 35 20 66 70 29 | ..........(start-locals.(+.5.fp) |
| 16300 | 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 2d 65 76 61 6c 20 20 20 28 2b 20 35 20 66 70 | )..........(start-eval...(+.5.fp |
| 16320 | 20 6e 75 6d 2d 6c 6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 | .num-locals))..........(local-va |
| 16340 | 72 73 20 20 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 73 74 61 63 6b 20 20 | rs...'())..........(eval-stack.. |
| 16360 | 20 27 28 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 6e 75 6d 2d 6c | .'())).....(if.(not.(zerop.num-l |
| 16380 | 6f 63 61 6c 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 | ocals)).........(setq.local-vars |
| 163a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 76 65 63 74 6f 72 2d 74 6f | ...............(malyon-vector-to |
| 163c0 | 2d 6c 69 73 74 20 73 74 61 63 6b 20 73 74 61 72 74 2d 6c 6f 63 61 6c 73 20 73 74 61 72 74 2d 65 | -list.stack.start-locals.start-e |
| 163e0 | 76 61 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28 3e 20 73 70 20 73 74 61 72 74 2d 65 76 61 6c 29 | val))).....(if.(>.sp.start-eval) |
| 16400 | 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 | .........(setq.eval-stack....... |
| 16420 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 76 65 63 74 6f 72 2d 74 6f 2d 6c 69 73 74 20 73 | ........(malyon-vector-to-list.s |
| 16440 | 74 61 63 6b 20 73 74 61 72 74 2d 65 76 61 6c 20 28 2b 20 31 20 73 70 29 29 29 29 0a 20 20 20 20 | tack.start-eval.(+.1.sp))))..... |
| 16460 | 28 76 65 63 74 6f 72 20 66 72 61 6d 65 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 | (vector.frame-id.............(-. |
| 16480 | 66 70 20 6f 66 66 73 65 74 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 66 70 20 31 | fp.offset.2).............(-.fp.1 |
| 164a0 | 29 0a 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....... |
| 164c0 | 20 20 20 20 20 20 72 65 73 75 6c 74 2d 61 64 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f | ......result-addr.............lo |
| 164e0 | 63 61 6c 2d 76 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 2d 61 72 67 73 0a 20 20 | cal-vars.............num-args... |
| 16500 | 20 20 20 20 20 20 20 20 20 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 29 0a 0a 28 64 65 66 73 75 62 | ..........eval-stack)))..(defsub |
| 16520 | 73 74 20 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 | st.malyon-restore-quetzal-push-s |
| 16540 | 74 61 63 6b 20 28 76 61 6c 75 65 29 0a 20 20 22 50 75 73 68 20 61 20 76 61 6c 75 65 20 6f 6e 74 | tack.(value)..."Push.a.value.ont |
| 16560 | 6f 20 74 68 65 20 72 65 73 74 6f 72 65 20 71 75 65 74 7a 61 6c 20 73 74 61 63 6b 2e 22 0a 20 20 | o.the.restore.quetzal.stack."... |
| 16580 | 28 73 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 | (setq.malyon-restore-quetzal-sta |
| 165a0 | 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 72 65 73 | ck-pointer.........(+.malyon-res |
| 165c0 | 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 20 31 29 29 0a 20 | tore-quetzal-stack-pointer.1)).. |
| 165e0 | 20 28 61 73 65 74 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 | .(aset.malyon-restore-quetzal-st |
| 16600 | 61 63 6b 0a 20 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 | ack.........malyon-restore-quetz |
| 16620 | 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 | al-stack-pointer.........value)) |
| 16640 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 2d 66 72 61 6d 65 | ..(defun.malyon-push-stack-frame |
| 16660 | 0a 20 20 28 66 72 61 6d 65 2d 69 64 20 72 65 74 75 72 6e 2d 61 64 64 72 20 72 65 73 75 6c 74 20 | ...(frame-id.return-addr.result. |
| 16680 | 6c 6f 63 61 6c 2d 76 61 72 73 20 6e 75 6d 2d 61 72 67 73 20 65 76 61 6c 2d 73 74 61 63 6b 29 0a | local-vars.num-args.eval-stack). |
| 166a0 | 20 20 22 50 75 73 68 65 73 20 61 20 6e 65 77 20 73 74 61 63 6b 20 66 72 61 6d 65 20 69 6e 20 71 | .."Pushes.a.new.stack.frame.in.q |
| 166c0 | 75 65 74 7a 61 6c 20 6d 6f 64 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d | uetzal.mode."...(malyon-restore- |
| 166e0 | 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 6c 74 20 30 20 | quetzal-push-stack.(if.result.0. |
| 16700 | 31 29 29 0a 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 | 1))...(malyon-restore-quetzal-pu |
| 16720 | 73 68 2d 73 74 61 63 6b 20 28 69 66 20 72 65 73 75 6c 74 20 72 65 73 75 6c 74 20 30 29 29 0a 20 | sh-stack.(if.result.result.0)).. |
| 16740 | 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 74 | .(malyon-restore-quetzal-push-st |
| 16760 | 61 63 6b 20 72 65 74 75 72 6e 2d 61 64 64 72 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f | ack.return-addr)...(malyon-resto |
| 16780 | 72 65 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 | re-quetzal-push-stack....(logior |
| 167a0 | 20 28 6c 73 68 20 28 2d 20 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d | .(lsh.(-.malyon-restore-quetzal- |
| 167c0 | 73 74 61 63 6b 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 20 20 | stack-pointer................... |
| 167e0 | 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 61 6d 65 2d 70 6f | .malyon-restore-quetzal-frame-po |
| 16800 | 69 6e 74 65 72 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 2d 61 72 67 73 29 29 0a | inter).8)............num-args)). |
| 16820 | 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 |
| 16840 | 74 61 63 6b 0a 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 66 72 61 6d 65 2d 69 64 20 38 29 | tack....(logior.(lsh.frame-id.8) |
| 16860 | 20 28 6c 65 6e 67 74 68 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 29 0a 20 20 28 73 65 74 71 20 6d | .(length.local-vars)))...(setq.m |
| 16880 | 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 71 75 65 74 7a 61 6c 2d 66 72 61 6d 65 2d 70 6f 69 6e | alyon-restore-quetzal-frame-poin |
| 168a0 | 74 65 72 0a 20 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 | ter.........malyon-restore-quetz |
| 168c0 | 61 6c 2d 73 74 61 63 6b 2d 70 6f 69 6e 74 65 72 29 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 | al-stack-pointer)...(while.(not. |
| 168e0 | 28 6e 75 6c 6c 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 | (null.local-vars)).....(malyon-r |
| 16900 | 65 73 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 63 61 72 20 6c | estore-quetzal-push-stack.(car.l |
| 16920 | 6f 63 61 6c 2d 76 61 72 73 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 6f 63 61 6c 2d 76 61 72 73 | ocal-vars)).....(setq.local-vars |
| 16940 | 20 28 63 64 72 20 6c 6f 63 61 6c 2d 76 61 72 73 29 29 29 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f | .(cdr.local-vars)))...(while.(no |
| 16960 | 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 28 6d 61 6c 79 6f 6e | t.(null.eval-stack)).....(malyon |
| 16980 | 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 6b 20 28 63 61 72 | -restore-quetzal-push-stack.(car |
| 169a0 | 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 0a 20 20 20 20 28 73 65 74 71 20 65 76 61 6c 2d 73 74 61 | .eval-stack)).....(setq.eval-sta |
| 169c0 | 63 6b 20 28 63 64 72 20 65 76 61 6c 2d 73 74 61 63 6b 29 29 29 29 0a 0a 3b 3b 20 6f 74 68 65 72 | ck.(cdr.eval-stack))))..;;.other |
| 169e0 | 20 73 74 75 66 66 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 | .stuff..(defvar.malyon-aread-tex |
| 16a00 | 74 20 6e 69 6c 0a 20 20 22 54 65 78 74 20 62 75 66 66 65 72 20 66 6f 72 20 75 73 65 72 20 69 6e | t.nil..."Text.buffer.for.user.in |
| 16a20 | 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 | put.")..(defvar.malyon-aread-par |
| 16a40 | 73 65 20 6e 69 6c 0a 20 20 22 50 61 72 73 65 20 62 75 66 66 65 72 20 66 6f 72 20 75 73 65 72 20 | se.nil..."Parse.buffer.for.user. |
| 16a60 | 69 6e 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 62 | input.")..(defvar.malyon-aread-b |
| 16a80 | 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 6e 69 6c 0a 20 20 22 54 68 65 20 62 65 67 69 | eginning-of-line.nil..."The.begi |
| 16aa0 | 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 6e 65 2e 22 29 0a 0a 3b 3b 20 65 | nning.of.the.input.line.")..;;.e |
| 16ac0 | 78 65 63 75 74 69 6f 6e 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 | xecution..(defun.malyon-interpre |
| 16ae0 | 74 65 72 20 28 29 0a 20 20 22 52 75 6e 20 74 68 65 20 5a 2d 63 6f 64 65 20 69 6e 74 65 72 70 72 | ter.()..."Run.the.Z-code.interpr |
| 16b00 | 65 74 65 72 20 6f 6e 20 74 68 65 20 67 69 76 65 6e 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 | eter.on.the.given.story.file.".. |
| 16b20 | 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 20 22 75 | .(malyon-hide-internal-errors."u |
| 16b40 | 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 65 20 65 72 72 6f | nspecified.internal.runtime.erro |
| 16b60 | 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 6f 6e 2d 72 65 73 | r.".....(progn.......(malyon-res |
| 16b80 | 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 0a 20 20 20 20 20 | tore-window-configuration)...... |
| 16ba0 | 20 28 69 66 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 | .(if.malyon-story-file.......... |
| 16bc0 | 20 28 63 61 74 63 68 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 72 65 74 | .(catch.'malyon-end-of-interpret |
| 16be0 | 65 72 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | er-loop.............(setq.malyon |
| 16c00 | 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 75 | -last-cursor-position-after-inpu |
| 16c20 | 74 0a 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 70 6f 69 6e | t...................(malyon-poin |
| 16c40 | 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 29 | t-max.malyon-transcript-buffer)) |
| 16c60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 65 78 65 63 75 74 65 29 29 29 29 | .............(malyon-execute)))) |
| 16c80 | 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 61 72 69 61 | ))..(defsubst.malyon-fetch-varia |
| 16ca0 | 62 6c 65 2d 6f 70 65 72 61 6e 64 73 20 28 73 70 65 63 69 66 69 65 72 29 0a 20 20 22 46 65 74 63 | ble-operands.(specifier)..."Fetc |
| 16cc0 | 68 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 6f 70 65 72 61 6e 64 73 20 | h.a.variable.number.of.operands. |
| 16ce0 | 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69 65 72 20 61 72 67 75 6d 65 6e 74 2e | based.on.the.specifier.argument. |
| 16d00 | 22 0a 20 20 28 6c 65 74 20 28 28 76 61 72 20 20 28 6c 6f 67 61 6e 64 20 73 70 65 63 69 66 69 65 | "...(let.((var..(logand.specifie |
| 16d20 | 72 20 34 39 31 35 32 29 29 0a 20 20 20 20 20 20 20 20 28 6f 70 20 20 20 27 28 29 29 29 0a 20 20 | r.49152)).........(op...'()))... |
| 16d40 | 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 35 35 33 35 20 | ..(setq.specifier.(logand.65535. |
| 16d60 | 73 70 65 63 69 66 69 65 72 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 30 20 73 70 65 | specifier)).....(while.(/=.0.spe |
| 16d80 | 63 69 66 69 65 72 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 76 61 72 20 30 29 20 20 | cifier).......(cond.((=.var.0).. |
| 16da0 | 20 20 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 63 | ...(setq.op.(cons.(malyon-read-c |
| 16dc0 | 6f 64 65 2d 77 6f 72 64 29 20 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 | ode-word).op))).............((=. |
| 16de0 | 76 61 72 20 31 36 33 38 34 29 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f | var.16384).(setq.op.(cons.(malyo |
| 16e00 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 | n-read-code-byte).op)))......... |
| 16e20 | 20 20 20 20 28 28 3d 20 76 61 72 20 33 32 37 36 38 29 20 28 73 65 74 71 20 6f 70 20 28 63 6f 6e | ....((=.var.32768).(setq.op.(con |
| 16e40 | 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 | s.(malyon-read-variable......... |
| 16e60 | 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 | ................................ |
| 16e80 | 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 29 20 6f 70 29 29 | ...(malyon-read-code-byte)).op)) |
| 16ea0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 | ).............(t.............(se |
| 16ec0 | 74 71 20 73 70 65 63 69 66 69 65 72 20 30 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 70 | tq.specifier.0))).......(setq.sp |
| 16ee0 | 65 63 69 66 69 65 72 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 20 28 6c 73 68 20 73 70 65 63 69 | ecifier.(logand.65535.(lsh.speci |
| 16f00 | 66 69 65 72 20 32 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 76 61 72 20 20 28 6c 6f 67 61 | fier.2))).......(setq.var..(loga |
| 16f20 | 6e 64 20 73 70 65 63 69 66 69 65 72 20 34 39 31 35 32 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 | nd.specifier.49152))).....(nreve |
| 16f40 | 72 73 65 20 6f 70 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 | rse.op)))..(defsubst.malyon-fetc |
| 16f60 | 68 2d 65 78 74 65 6e 64 65 64 20 28 6f 70 63 6f 64 65 29 0a 20 20 22 46 65 74 63 68 20 6f 70 65 | h-extended.(opcode)..."Fetch.ope |
| 16f80 | 72 61 6e 64 73 20 66 6f 72 20 61 6e 20 65 78 74 65 6e 64 65 64 20 69 6e 73 74 72 75 63 74 69 6f | rands.for.an.extended.instructio |
| 16fa0 | 6e 2e 22 0a 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 | n."...(malyon-fetch-variable-ope |
| 16fc0 | 72 61 6e 64 73 0a 20 20 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 | rands....(logior.(lsh.(malyon-re |
| 16fe0 | 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 38 29 20 32 35 35 29 29 29 0a 0a 28 64 65 66 73 75 62 | ad-code-byte).8).255)))..(defsub |
| 17000 | 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 76 61 72 69 61 62 6c 65 20 28 6f 70 63 6f 64 65 | st.malyon-fetch-variable.(opcode |
| 17020 | 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 76 61 72 69 61 62 | )..."Fetch.operands.for.a.variab |
| 17040 | 6c 65 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 63 68 | le.instruction."...(malyon-fetch |
| 17060 | 2d 76 61 72 69 61 62 6c 65 2d 6f 70 65 72 61 6e 64 73 0a 20 20 20 28 69 66 20 28 6f 72 20 28 3d | -variable-operands....(if.(or.(= |
| 17080 | 20 6f 70 63 6f 64 65 20 32 33 36 29 20 28 3d 20 6f 70 63 6f 64 65 20 32 35 30 29 29 0a 20 20 20 | .opcode.236).(=.opcode.250)).... |
| 170a0 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 29 0a 20 20 20 20 | ....(malyon-read-code-word)..... |
| 170c0 | 20 28 6c 6f 67 69 6f 72 20 28 6c 73 68 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d | .(logior.(lsh.(malyon-read-code- |
| 170e0 | 62 79 74 65 29 20 38 29 20 32 35 35 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 6d 61 6c 79 | byte).8).255))))..(defsubst.maly |
| 17100 | 6f 6e 2d 66 65 74 63 68 2d 73 68 6f 72 74 20 28 6f 70 63 6f 64 65 29 0a 20 20 22 46 65 74 63 68 | on-fetch-short.(opcode)..."Fetch |
| 17120 | 20 6f 70 65 72 61 6e 64 73 20 66 6f 72 20 61 20 73 68 6f 72 74 20 69 6e 73 74 72 75 63 74 69 6f | .operands.for.a.short.instructio |
| 17140 | 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 70 20 28 6c 6f 67 61 6e 64 20 6f 70 63 6f 64 65 20 34 | n."...(let.((op.(logand.opcode.4 |
| 17160 | 38 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 6f 70 20 30 29 20 20 28 6c 69 73 74 20 | 8))).....(cond.((=.op.0)..(list. |
| 17180 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 | (malyon-read-code-word)))....... |
| 171a0 | 20 20 20 20 28 28 3d 20 6f 70 20 31 36 29 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | ....((=.op.16).(list.(malyon-rea |
| 171c0 | 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 28 28 3d 20 6f 70 20 | d-code-byte)))...........((=.op. |
| 171e0 | 33 32 29 20 28 6c 69 73 74 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 20 | 32).(list.(malyon-read-variable. |
| 17200 | 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 29 29 29 29 0a 0a 28 | (malyon-read-code-byte)))))))..( |
| 17220 | 64 65 66 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 6c 6f 6e 67 20 28 69 6e 73 74 | defsubst.malyon-fetch-long.(inst |
| 17240 | 72 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 6c 6f 6e 67 20 | r)..."Fetch.operands.for.a.long. |
| 17260 | 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 79 74 65 31 20 28 6d 61 | instruction."...(let.((byte1.(ma |
| 17280 | 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 62 | lyon-read-code-byte)).........(b |
| 172a0 | 79 74 65 32 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 | yte2.(malyon-read-code-byte))).. |
| 172c0 | 20 20 20 28 6c 69 73 74 20 28 69 66 20 28 3d 20 28 6c 6f 67 61 6e 64 20 69 6e 73 74 72 20 36 34 | ...(list.(if.(=.(logand.instr.64 |
| 172e0 | 29 20 30 29 20 62 79 74 65 31 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 76 61 72 69 61 62 6c 65 | ).0).byte1.(malyon-read-variable |
| 17300 | 20 62 79 74 65 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 28 6c 6f 67 61 6e | .byte1))...........(if.(=.(logan |
| 17320 | 64 20 69 6e 73 74 72 20 33 32 29 20 30 29 20 62 79 74 65 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 | d.instr.32).0).byte2.(malyon-rea |
| 17340 | 64 2d 76 61 72 69 61 62 6c 65 20 62 79 74 65 32 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | d-variable.byte2)))))..(defun.ma |
| 17360 | 6c 79 6f 6e 2d 65 78 65 63 75 74 65 20 28 29 0a 20 20 22 45 78 65 63 75 74 65 20 5a 2d 63 6f 64 | lyon-execute.()..."Execute.Z-cod |
| 17380 | 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 4c 6f 61 64 20 74 68 65 20 6e 65 78 74 20 69 6e | e.instructions..Load.the.next.in |
| 173a0 | 73 74 72 75 63 74 69 6f 6e 20 6f 70 63 6f 64 65 20 61 6e 64 20 69 74 73 20 6f 70 65 72 61 6e 64 | struction.opcode.and.its.operand |
| 173c0 | 73 20 61 6e 64 20 65 78 65 63 75 74 65 20 69 74 2e 0a 52 65 70 65 61 74 20 61 64 20 69 6e 66 69 | s.and.execute.it..Repeat.ad.infi |
| 173e0 | 6e 69 74 75 6d 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 70 63 6f 64 65 29 20 28 6f 70 65 72 61 6e | nitum."...(let.((opcode).(operan |
| 17400 | 64 73 29 29 3b 20 28 70 63 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 74 0a 3b 20 20 20 20 20 20 | ds));.(pc)).....(while.t.;...... |
| 17420 | 28 73 65 74 71 20 70 63 20 6d 61 6c 79 6f 6e 2d 69 6e 73 74 72 75 63 74 69 6f 6e 2d 70 6f 69 6e | (setq.pc.malyon-instruction-poin |
| 17440 | 74 65 72 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f 70 63 6f 64 65 20 28 6d 61 6c 79 6f 6e 2d | ter).......(setq.opcode.(malyon- |
| 17460 | 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f 70 65 | read-code-byte)).......(setq.ope |
| 17480 | 72 61 6e 64 73 20 28 63 6f 6e 64 20 28 28 3d 20 20 6f 70 63 6f 64 65 20 31 39 30 29 0a 20 20 20 | rands.(cond.((=..opcode.190).... |
| 174a0 | 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 73 65 74 71 20 6f | .........................(setq.o |
| 174c0 | 70 63 6f 64 65 20 28 2b 20 32 35 36 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 | pcode.(+.256.(malyon-read-code-b |
| 174e0 | 79 74 65 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 | yte))).......................... |
| 17500 | 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 65 78 74 65 6e 64 65 64 20 6f 70 63 6f 64 65 | ...(malyon-fetch-extended.opcode |
| 17520 | 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 20 28 28 | ))............................(( |
| 17540 | 3e 3d 20 6f 70 63 6f 64 65 20 31 39 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | >=.opcode.192).................. |
| 17560 | 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 76 61 72 69 61 62 6c | ...........(malyon-fetch-variabl |
| 17580 | 65 20 6f 70 63 6f 64 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 | e.opcode))...................... |
| 175a0 | 20 20 20 20 20 20 28 28 3e 3d 20 6f 70 63 6f 64 65 20 31 32 38 29 0a 20 20 20 20 20 20 20 20 20 | ......((>=.opcode.128).......... |
| 175c0 | 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 66 65 74 63 68 | ...................(malyon-fetch |
| 175e0 | 2d 73 68 6f 72 74 20 6f 70 63 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -short.opcode))................. |
| 17600 | 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................... |
| 17620 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 65 74 63 68 2d 6c 6f 6e 67 20 6f 70 63 | ..........(malyon-fetch-long.opc |
| 17640 | 6f 64 65 29 29 29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 63 | ode)))).;......(malyon-trace-opc |
| 17660 | 6f 64 65 20 70 63 20 6f 70 63 6f 64 65 20 6f 70 65 72 61 6e 64 73 29 0a 20 20 20 20 20 20 28 61 | ode.pc.opcode.operands).......(a |
| 17680 | 70 70 6c 79 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 64 65 | pply.(aref.malyon-opcodes.opcode |
| 176a0 | 29 20 6f 70 65 72 61 6e 64 73 29 29 29 29 0a 0a 3b 3b 20 6f 70 63 6f 64 65 73 0a 0a 28 64 65 66 | ).operands))))..;;.opcodes..(def |
| 176c0 | 73 75 62 73 74 20 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 28 6e 29 0a 20 20 22 43 6f 6e 76 65 | subst.malyon-number.(n)..."Conve |
| 176e0 | 72 74 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 6e 75 6d 62 65 72 20 69 6e 74 6f 20 61 20 73 69 67 | rt.an.unsigned.number.into.a.sig |
| 17700 | 6e 65 64 20 6f 6e 65 2e 22 0a 20 20 28 69 66 20 28 3c 20 6e 20 33 32 37 36 38 29 20 6e 20 28 2d | ned.one."...(if.(<.n.32768).n.(- |
| 17720 | 20 6e 20 36 35 35 33 36 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 | .n.65536)))..(defun.malyon-opcod |
| 17740 | 65 2d 61 64 64 20 28 61 20 62 29 0a 20 20 22 41 64 64 69 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 6c | e-add.(a.b)..."Addition."...(mal |
| 17760 | 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- |
| 17780 | 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)...................... |
| 177a0 | 20 20 20 20 28 2b 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 |
| 177c0 | 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 |
| 177e0 | 6f 64 65 2d 61 6e 64 20 28 61 20 62 29 0a 20 20 22 42 69 74 77 69 73 65 20 61 6e 64 2e 22 0a 20 | ode-and.(a.b)..."Bitwise.and.".. |
| 17800 | 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 2d | .(malyon-store-variable.(malyon- |
| 17820 | 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 28 6c 6f 67 61 6e 64 20 61 20 62 29 29 29 0a 0a | read-code-byte).(logand.a.b))).. |
| 17840 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 61 72 65 61 64 20 28 74 65 78 74 | (defun.malyon-opcode-aread.(text |
| 17860 | 20 70 61 72 73 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65 20 72 6f 75 74 69 6e 65 29 0a 20 | .parse.&optional.time.routine).. |
| 17880 | 20 22 52 65 61 64 20 69 6e 70 75 74 20 74 65 78 74 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 | ."Read.input.text."...(setq.maly |
| 178a0 | 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 74 65 78 74 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 | on-aread-text.text)...(setq.maly |
| 178c0 | 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 20 70 61 72 73 65 29 0a 20 20 28 67 6f 74 6f 2d 63 68 | on-aread-parse.parse)...(goto-ch |
| 178e0 | 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 61 | ar.(point-max))...(setq.malyon-a |
| 17900 | 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 29 29 0a | read-beginning-of-line.(point)). |
| 17920 | 3b 20 53 6f 6d 65 20 67 61 6d 65 73 20 76 69 6f 6c 61 74 65 20 74 68 65 73 65 20 61 73 73 75 6d | ;.Some.games.violate.these.assum |
| 17940 | 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 22 51 75 69 74 22 20 71 75 65 73 74 69 6f 6e 2e 0a | ptions.for.the."Quit".question.. |
| 17960 | 3b 20 20 28 69 66 20 28 3e 20 33 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 74 65 | ;..(if.(>.3.(malyon-read-byte.te |
| 17980 | 78 74 29 29 0a 3b 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 | xt)).;......(malyon-fatal-error. |
| 179a0 | 22 74 65 78 74 20 62 75 66 66 65 72 20 6c 65 73 73 20 74 68 61 6e 20 33 20 62 79 74 65 73 2e 22 | "text.buffer.less.than.3.bytes." |
| 179c0 | 29 29 0a 3b 20 20 28 69 66 20 28 61 6e 64 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 70 61 72 73 65 | )).;..(if.(and.(not.(zerop.parse |
| 179e0 | 29 29 20 28 3e 20 32 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 70 61 72 73 65 29 | )).(>.2.(malyon-read-byte.parse) |
| 17a00 | 29 29 0a 3b 20 20 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 | )).;......(malyon-fatal-error."p |
| 17a20 | 61 72 73 65 20 62 75 66 66 65 72 20 6c 65 73 73 20 74 68 61 6e 20 32 20 62 79 74 65 73 2e 22 29 | arse.buffer.less.than.2.bytes.") |
| 17a40 | 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 72 | )...(malyon-more.malyon-keymap-r |
| 17a60 | 65 61 64 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 | ead)...(throw.'malyon-end-of-int |
| 17a80 | 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 6e 67 2d 66 6f | erpreter-loop.'malyon-waiting-fo |
| 17aa0 | 72 2d 69 6e 70 75 74 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 | r-input))..(defun.malyon-opcode- |
| 17ac0 | 61 72 74 2d 73 68 69 66 74 20 28 76 61 6c 75 65 20 70 6c 61 63 65 73 29 0a 20 20 22 41 72 69 74 | art-shift.(value.places)..."Arit |
| 17ae0 | 68 6d 65 74 69 63 20 73 68 69 66 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 | hmetic.shift."...(malyon-store-v |
| 17b00 | 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 20 | ariable.(malyon-read-code-byte). |
| 17b20 | 28 61 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | (ash.value.places)))..(defun.mal |
| 17b40 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 62 75 66 66 65 72 2d 6d 6f 64 65 20 28 6d 6f 64 65 29 0a 20 20 | yon-opcode-buffer-mode.(mode)... |
| 17b60 | 22 54 6f 67 67 6c 65 73 20 62 75 66 66 65 72 69 6e 67 20 6f 66 20 74 65 78 74 20 69 6e 20 74 68 | "Toggles.buffering.of.text.in.th |
| 17b80 | 65 20 74 72 61 6e 73 63 72 69 70 74 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 73 65 74 71 20 6d 61 | e.transcript.window."...(setq.ma |
| 17ba0 | 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 20 | lyon-transcript-buffer-buffered. |
| 17bc0 | 28 2f 3d 20 30 20 6d 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | (/=.0.mode)))..(defun.malyon-opc |
| 17be0 | 6f 64 65 2d 63 61 6c 6c 6e 20 28 72 6f 75 74 69 6e 65 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e | ode-calln.(routine.&rest.argumen |
| 17c00 | 74 73 29 0a 20 20 22 43 61 6c 6c 20 61 20 72 6f 75 74 69 6e 65 20 61 6e 64 20 69 67 6e 6f 72 65 | ts)..."Call.a.routine.and.ignore |
| 17c20 | 20 74 68 65 20 72 65 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 | .the.result."...(malyon-call-rou |
| 17c40 | 74 69 6e 65 20 72 6f 75 74 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 75 6e | tine.routine.arguments))..(defun |
| 17c60 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 6c 6c 73 20 28 72 6f 75 74 69 6e 65 20 26 72 | .malyon-opcode-calls.(routine.&r |
| 17c80 | 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 74 69 6e 65 | est.arguments)..."Call.a.routine |
| 17ca0 | 20 61 6e 64 20 73 74 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 2e 22 0a 20 20 28 6d 61 6c 79 6f | .and.store.the.result."...(malyo |
| 17cc0 | 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 6d 65 6e 74 73 | n-call-routine.routine.arguments |
| 17ce0 | 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 0a 28 64 65 66 | .(malyon-read-code-byte)))..(def |
| 17d00 | 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 61 74 63 68 20 28 29 0a 20 20 22 52 65 74 | un.malyon-opcode-catch.()..."Ret |
| 17d20 | 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 22 0a 20 20 | urn.the.current.stack.frame."... |
| 17d40 | 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 28 6d 61 6c 79 6f | (malyon-store-variable....(malyo |
| 17d60 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 0a 20 20 20 28 69 66 20 6d 61 6c 79 6f 6e 2d | n-read-code-byte)....(if.malyon- |
| 17d80 | 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 28 6c 73 68 20 28 | game-state-quetzal........(lsh.( |
| 17da0 | 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 |
| 17dc0 | 6f 69 6e 74 65 72 29 20 2d 38 29 0a 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f | ointer).-8)......malyon-frame-po |
| 17de0 | 69 6e 74 65 72 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 63 | inter)))..(defun.malyon-opcode-c |
| 17e00 | 68 65 63 6b 2d 61 72 67 2d 63 6f 75 6e 74 20 28 63 6f 75 6e 74 29 0a 20 20 22 54 65 73 74 73 20 | heck-arg-count.(count)..."Tests. |
| 17e20 | 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 | the.number.of.arguments.passed.t |
| 17e40 | 6f 20 72 6f 75 74 69 6e 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 | o.routine."...(malyon-jump-if... |
| 17e60 | 20 28 3c 3d 20 63 6f 75 6e 74 20 28 6c 6f 67 61 6e 64 20 32 35 35 20 28 61 72 65 66 20 6d 61 6c | .(<=.count.(logand.255.(aref.mal |
| 17e80 | 79 6f 6e 2d 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yon-stack....................... |
| 17ea0 | 20 20 20 20 20 20 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 | .........(if.malyon-game-state-q |
| 17ec0 | 75 65 74 7a 61 6c 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 | uetzal.......................... |
| 17ee0 | 20 20 20 20 20 20 20 20 20 20 28 2d 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 | ..........(-.malyon-frame-pointe |
| 17f00 | 72 20 31 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 | r.1)............................ |
| 17f20 | 20 20 20 20 20 20 6d 61 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 29 29 29 29 29 | ......malyon-frame-pointer)))))) |
| 17f40 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 63 68 65 63 6b 2d 75 6e 69 | ..(defun.malyon-opcode-check-uni |
| 17f60 | 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 43 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 | code.(char)..."Check.whether.the |
| 17f80 | 20 67 69 76 65 6e 20 63 68 61 72 61 63 74 65 72 20 69 73 20 76 61 6c 69 64 20 66 6f 72 20 69 6e | .given.character.is.valid.for.in |
| 17fa0 | 70 75 74 2f 6f 75 74 70 75 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 | put/output."...(malyon-store-var |
| 17fc0 | 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 30 29 | iable.(malyon-read-code-byte).0) |
| 17fe0 | 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 6c 65 61 72 2d 61 74 | )..(defun.malyon-opcode-clear-at |
| 18000 | 74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69 62 75 74 65 29 0a 20 20 22 43 6c 65 61 72 20 74 | tr.(object.attribute)..."Clear.t |
| 18020 | 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 65 6e 20 | he.given.attribute.in.the.given. |
| 18040 | 6f 62 6a 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 | object."...(let.((attributes.(ma |
| 18060 | 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 29 0a 20 20 20 | lyon-object-address.object)).... |
| 18080 | 20 20 20 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 | .....(byte.......(lsh.attribute. |
| 180a0 | 2d 33 29 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 | -3))).....(malyon-store-byte.(+. |
| 180c0 | 61 74 74 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 | attributes.byte)................ |
| 180e0 | 20 20 20 20 20 20 20 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 | ........(logand.(malyon-read-byt |
| 18100 | 65 20 28 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 | e.(+.attributes.byte)).......... |
| 18120 | 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 78 6f 72 20 28 6c | ......................(logxor.(l |
| 18140 | 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 6e 64 20 61 74 74 72 69 62 75 74 65 20 37 29 29 29 | sh.128.(-.(logand.attribute.7))) |
| 18160 | 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 20 20 | ................................ |
| 18180 | 20 20 20 20 20 20 20 20 32 35 35 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | ........255)))))..(defun.malyon- |
| 181a0 | 6f 70 63 6f 64 65 2d 63 6f 70 79 2d 74 61 62 6c 65 20 28 66 69 72 73 74 20 73 65 63 6f 6e 64 20 | opcode-copy-table.(first.second. |
| 181c0 | 73 69 7a 65 29 0a 20 20 22 43 6f 70 69 65 73 20 66 69 72 73 74 20 74 61 62 6c 65 20 6f 6e 74 6f | size)..."Copies.first.table.onto |
| 181e0 | 20 73 65 63 6f 6e 64 20 6f 6e 65 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 67 74 68 20 20 | .second.one."...(let*.((length.. |
| 18200 | 28 61 62 73 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 73 69 7a 65 29 29 29 0a 20 20 20 20 | (abs.(malyon-number.size)))..... |
| 18220 | 20 20 20 20 20 28 7a 65 72 6f 20 20 20 20 28 7a 65 72 6f 70 20 73 65 63 6f 6e 64 29 29 0a 20 20 | .....(zero....(zerop.second))... |
| 18240 | 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 20 28 6f 72 20 28 3c 20 28 6d 61 6c 79 6f 6e 2d 6e | .......(forward.(or.(<.(malyon-n |
| 18260 | 75 6d 62 65 72 20 73 69 7a 65 29 20 30 29 20 28 3e 20 66 69 72 73 74 20 73 65 63 6f 6e 64 29 29 | umber.size).0).(>.first.second)) |
| 18280 | 29 0a 20 20 20 20 20 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 | )..........(i.......0).......... |
| 182a0 | 28 61 20 20 20 20 20 20 20 28 69 66 20 66 6f 72 77 61 72 64 20 66 69 72 73 74 20 28 2b 20 66 69 | (a.......(if.forward.first.(+.fi |
| 182c0 | 72 73 74 20 6c 65 6e 67 74 68 20 2d 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 20 20 20 20 | rst.length.-1)))..........(b.... |
| 182e0 | 20 20 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 69 66 20 7a 65 72 6f 20 66 69 72 73 74 20 73 65 | ...(if.forward.(if.zero.first.se |
| 18300 | 63 6f 6e 64 29 20 28 2b 20 73 65 63 6f 6e 64 20 6c 65 6e 67 74 68 20 2d 31 29 29 29 29 0a 20 20 | cond).(+.second.length.-1))))... |
| 18320 | 20 20 28 77 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 | ..(while.(<.i.length).......(mal |
| 18340 | 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 62 20 28 69 66 20 7a 65 72 6f 20 30 20 28 6d 61 6c | yon-store-byte.b.(if.zero.0.(mal |
| 18360 | 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 61 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 | yon-read-byte.a))).......(setq.i |
| 18380 | 20 28 2b 20 69 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 20 28 69 66 20 66 6f 72 77 61 | .(+.i.1).............a.(if.forwa |
| 183a0 | 72 64 20 28 2b 20 61 20 31 29 20 28 2d 20 61 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | rd.(+.a.1).(-.a.1))............. |
| 183c0 | 62 20 28 69 66 20 66 6f 72 77 61 72 64 20 28 2b 20 62 20 31 29 20 28 2d 20 62 20 31 29 29 29 29 | b.(if.forward.(+.b.1).(-.b.1)))) |
| 183e0 | 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 64 65 63 20 28 76 61 | ))..(defun.malyon-opcode-dec.(va |
| 18400 | 72 29 0a 20 20 22 44 65 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)..."Decrement.variable."...(ma |
| 18420 | 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......... |
| 18440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 | .................(-.(malyon-numb |
| 18460 | 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 |
| 18480 | 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 64 65 63 2d 63 68 | )))..(defun.malyon-opcode-dec-ch |
| 184a0 | 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 44 65 63 72 65 6d | k.(variable.threshold)..."Decrem |
| 184c0 | 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 6c 65 | ent.variable.and.jump.if.it's.le |
| 184e0 | 73 73 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 6c 65 74 | ss.than.the.given.value."...(let |
| 18500 | 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 6f 6e 2d | .((value.(malyon-number.(malyon- |
| 18520 | 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 20 20 28 | read-variable.variable)))).....( |
| 18540 | 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 65 20 28 | malyon-store-variable.variable.( |
| 18560 | 2d 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 69 66 20 | -.value.1)).....(malyon-jump-if. |
| 18580 | 28 3c 20 28 2d 20 76 61 6c 75 65 20 31 29 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 74 68 | (<.(-.value.1).(malyon-number.th |
| 185a0 | 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 70 63 6f | reshold)))))..(defun.malyon-opco |
| 185c0 | 64 65 2d 64 69 76 20 28 61 20 62 29 0a 20 20 22 44 69 76 69 73 69 6f 6e 2e 22 0a 20 20 28 69 66 | de-div.(a.b)..."Division."...(if |
| 185e0 | 20 28 7a 65 72 6f 70 20 62 29 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 22 | .(zerop.b).(malyon-fatal-error." |
| 18600 | 64 69 76 69 73 69 6f 6e 20 62 79 20 30 2e 22 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | division.by.0."))...(malyon-stor |
| 18620 | 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 |
| 18640 | 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 2f 20 28 | e)..........................(/.( |
| 18660 | 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. |
| 18680 | 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 65 6e 63 6f | b))))..(defun.malyon-opcode-enco |
| 186a0 | 64 65 2d 74 65 78 74 20 28 74 65 78 74 20 6c 65 6e 67 74 68 20 66 72 6f 6d 20 65 6e 63 6f 64 65 | de-text.(text.length.from.encode |
| 186c0 | 64 29 0a 20 20 22 45 6e 63 6f 64 65 20 74 68 65 20 7a 73 63 69 69 20 74 65 78 74 20 73 74 61 72 | d)..."Encode.the.zscii.text.star |
| 186e0 | 74 69 6e 67 20 61 74 20 66 72 6f 6d 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 6c 65 6e 67 | ting.at.from.with.the.given.leng |
| 18700 | 74 68 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 73 74 6f 72 65 64 20 61 74 20 65 6e 63 6f | th..The.result.is.stored.at.enco |
| 18720 | 64 65 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 20 20 20 20 20 6c 65 6e 67 74 68 29 0a 20 20 | ded."...(let*.((i.....length)... |
| 18740 | 20 20 20 20 20 20 20 28 6a 20 20 20 20 20 65 6e 63 6f 64 65 64 29 0a 20 20 20 20 20 20 20 20 20 | .......(j.....encoded).......... |
| 18760 | 28 6c 20 20 20 20 20 27 28 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 6f 72 64 20 20 27 28 29 29 | (l.....'())..........(word..'()) |
| 18780 | 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 30 20 69 29 0a 20 20 20 20 20 20 28 73 65 74 71 | ).....(while.(<.0.i).......(setq |
| 187a0 | 20 6c 20 28 63 6f 6e 73 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 74 65 | .l.(cons.(malyon-read-byte.(+.te |
| 187c0 | 78 74 20 66 72 6f 6d 20 69 20 2d 31 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 | xt.from.i.-1)).l).............i. |
| 187e0 | 28 2d 20 69 20 31 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 20 28 6d 61 6c 79 6f 6e | (-.i.1))).....(setq.word.(malyon |
| 18800 | 2d 65 6e 63 6f 64 65 2d 64 69 63 74 69 6f 6e 61 72 79 2d 77 6f 72 64 0a 09 09 28 61 70 70 65 6e | -encode-dictionary-word...(appen |
| 18820 | 64 20 28 63 6c 2d 6d 61 70 63 61 6e 20 27 6d 61 6c 79 6f 6e 2d 65 6e 63 6f 64 65 2d 69 6e 74 6f | d.(cl-mapcan.'malyon-encode-into |
| 18840 | 2d 7a 74 65 78 74 20 6c 29 0a 09 09 09 27 28 35 20 35 20 35 20 35 20 35 20 35 20 35 20 35 29 29 | -ztext.l)....'(5.5.5.5.5.5.5.5)) |
| 18860 | 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 36 29 0a 20 20 20 20 20 20 28 6d 61 6c | )).....(while.(<.i.6).......(mal |
| 18880 | 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 6a 20 28 63 61 72 20 6c 29 29 0a 20 20 20 20 20 20 | yon-store-byte.j.(car.l))....... |
| 188a0 | 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6a 20 28 2b | (setq.i.(+.1.i).............j.(+ |
| 188c0 | 20 31 20 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 20 28 63 64 72 20 77 6f 72 64 29 29 29 | .1.j).............l.(cdr.word))) |
| 188e0 | 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 61 73 65 2d 6c | ))..(defun.malyon-opcode-erase-l |
| 18900 | 69 6e 65 20 28 76 61 6c 75 65 29 0a 20 20 22 45 72 61 73 65 73 20 74 68 65 20 72 65 73 74 20 6f | ine.(value)..."Erases.the.rest.o |
| 18920 | 66 20 74 68 65 20 6c 69 6e 65 2e 22 0a 20 20 28 69 66 20 28 3d 20 76 61 6c 75 65 20 31 29 0a 20 | f.the.line."...(if.(=.value.1).. |
| 18940 | 20 20 20 20 20 28 69 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 | .....(if.(eq.malyon-transcript-b |
| 18960 | 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 20 20 20 20 20 20 20 | uffer.(current-buffer))......... |
| 18980 | 20 20 28 6b 69 6c 6c 2d 6c 69 6e 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d | ..(kill-line.nil).........(save- |
| 189a0 | 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 28 63 75 | excursion...........(let.((i.(cu |
| 189c0 | 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 | rrent-column))).............(whi |
| 189e0 | 6c 65 20 28 3c 3d 20 69 20 6d 61 6c 79 6f 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 | le.(<=.i.malyon-max-column)..... |
| 18a00 | 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 3f 20 29 0a 20 20 20 20 20 20 20 20 20 20 | ..........(insert.?.)........... |
| 18a20 | 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ....(delete-char.1)............. |
| 18a40 | 20 20 28 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | ..(setq.i.(+.1.i))))))))..(defun |
| 18a60 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 65 72 61 73 65 2d 77 69 6e 64 6f 77 20 28 77 69 6e | .malyon-opcode-erase-window.(win |
| 18a80 | 64 6f 77 29 0a 20 20 22 45 72 61 73 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 | dow)..."Erase.the.contents.of.th |
| 18aa0 | 65 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 | e.given.window."...(save-excursi |
| 18ac0 | 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 77 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 77 | on.....(let.((w.(malyon-number.w |
| 18ae0 | 69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3d 20 77 20 30 29 20 28 | indow))).......(if.(or.(=.w.0).( |
| 18b00 | 3d 20 77 20 2d 31 29 20 28 3d 20 77 20 2d 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | =.w.-1).(=.w.-2))...........(mal |
| 18b20 | 79 6f 6e 2d 65 72 61 73 65 2d 62 75 66 66 65 72 20 6d 61 6c 79 6f 6e 2d 74 72 61 6e 73 63 72 69 | yon-erase-buffer.malyon-transcri |
| 18b40 | 70 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3d 20 77 20 31 | pt-buffer)).......(if.(or.(=.w.1 |
| 18b60 | 29 20 28 3d 20 77 20 2d 31 29 20 28 3d 20 77 20 2d 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | ).(=.w.-1).(=.w.-2))...........( |
| 18b80 | 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 61 74 75 | malyon-erase-buffer.malyon-statu |
| 18ba0 | 73 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 3d 20 77 20 2d 31 29 0a 20 20 | s-buffer)).......(if.(=.w.-1)... |
| 18bc0 | 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 72 2d 77 69 6e | ........(malyon-split-buffer-win |
| 18be0 | 64 6f 77 73 20 30 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 6c 61 73 74 2d | dows.0))).....(setq.malyon-last- |
| 18c00 | 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 0a 20 20 20 20 | cursor-position-after-input..... |
| 18c20 | 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 61 6c 79 6f 6e 2d 74 | ......(malyon-point-max.malyon-t |
| 18c40 | 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | ranscript-buffer))))..(defun.mal |
| 18c60 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63 68 69 6c 64 20 28 6f 62 6a 65 63 74 29 0a 20 20 | yon-opcode-get-child.(object)... |
| 18c80 | 22 47 65 74 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c 64 20 6f 66 20 74 68 65 20 67 69 76 65 | "Get.the.first.child.of.the.give |
| 18ca0 | 6e 20 6f 62 6a 65 63 74 20 61 6e 64 20 6a 75 6d 70 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 68 69 | n.object.and.jump."...(let.((chi |
| 18cc0 | 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 28 6d 61 | ld.(malyon-object-read-child.(ma |
| 18ce0 | 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 29 29 29 0a 20 | lyon-object-address.object)))).. |
| 18d00 | 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 |
| 18d20 | 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 63 68 69 6c 64 29 0a 20 20 20 20 28 6d 61 | n-read-code-byte).child).....(ma |
| 18d40 | 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 2f 3d 20 30 20 63 68 69 6c 64 29 29 29 29 0a 0a 28 64 | lyon-jump-if.(/=.0.child))))..(d |
| 18d60 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 63 75 72 73 6f 72 20 28 61 | efun.malyon-opcode-get-cursor.(a |
| 18d80 | 72 72 61 79 29 0a 20 20 22 52 65 74 72 69 65 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 | rray)..."Retrieves.the.current.c |
| 18da0 | 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 | ursor.position."...(with-current |
| 18dc0 | 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 20 20 20 | -buffer.malyon-status-buffer.... |
| 18de0 | 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 61 72 72 61 79 20 28 2d 20 28 63 6f | .(malyon-store-word.array.(-.(co |
| 18e00 | 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 29 29 20 31 | unt-lines.(point-min).(point)).1 |
| 18e20 | 29 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 32 20 61 | )).....(malyon-store-word.(+.2.a |
| 18e40 | 72 72 61 79 29 20 28 2b 20 31 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 29 29 0a | rray).(+.1.(current-column))))). |
| 18e60 | 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 6e 65 78 74 2d 70 | .(defun.malyon-opcode-get-next-p |
| 18e80 | 72 6f 70 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 29 0a 20 20 22 52 65 74 72 69 65 76 | rop.(object.property)..."Retriev |
| 18ea0 | 65 20 74 68 65 20 66 69 72 73 74 20 6f 72 20 6e 65 78 74 20 70 72 6f 70 65 72 74 79 20 69 64 20 | e.the.first.or.next.property.id. |
| 18ec0 | 6f 66 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 6e 65 78 74 20 28 6d 61 6c 79 6f | of.object."...(let.((next.(malyo |
| 18ee0 | 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 20 20 20 | n-first-property.object))....... |
| 18f00 | 20 20 28 6e 75 6d 62 65 72 20 30 29 29 0a 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 70 72 6f | ..(number.0)).....(if.(zerop.pro |
| 18f20 | 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 27 28 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e | perty).........'().......(setq.n |
| 18f40 | 75 6d 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 | umber.(logand.(malyon-read-byte. |
| 18f60 | 6e 65 78 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 | next)........................... |
| 18f80 | 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 20 | .malyon-object-properties))..... |
| 18fa0 | 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 |
| 18fc0 | 74 79 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 6e 75 6d 62 65 72 | ty.next)).......(while.(>.number |
| 18fe0 | 20 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 20 | .property).........(setq.number. |
| 19000 | 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 29 0a | (logand.(malyon-read-byte.next). |
| 19020 | 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 6d 61 6c | .............................mal |
| 19040 | 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 20 20 20 20 20 | yon-object-properties))......... |
| 19060 | 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 74 79 | (setq.next.(malyon-next-property |
| 19080 | 20 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 2f 3d 20 6e 75 6d 62 65 72 20 70 72 | .next))).......(if.(/=.number.pr |
| 190a0 | 6f 70 65 72 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d | operty)...........(malyon-fatal- |
| 190c0 | 65 72 72 6f 72 20 22 70 72 6f 70 65 72 74 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 | error."property.does.not.exist." |
| 190e0 | 29 29 29 0a 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 |
| 19100 | 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 6e 65 78 74 29 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 | lyon-read-byte.next).malyon-obje |
| 19120 | 63 74 2d 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | ct-properties)).....(malyon-stor |
| 19140 | 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 |
| 19160 | 65 29 20 6e 75 6d 62 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | e).number)))..(defun.malyon-opco |
| 19180 | 64 65 2d 67 65 74 2d 70 61 72 65 6e 74 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 | de-get-parent.(object)..."Get.th |
| 191a0 | 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 6f 62 6a 65 63 74 2e 22 0a 20 | e.parent.of.the.given.object.".. |
| 191c0 | 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 2d | .(malyon-store-variable.(malyon- |
| 191e0 | 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 20 20 | read-code-byte)................. |
| 19200 | 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 | .........(malyon-object-read-par |
| 19220 | 65 6e 74 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 28 6d | ent...........................(m |
| 19240 | 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 29 29 29 0a | alyon-object-address.object)))). |
| 19260 | 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 70 72 6f 70 20 28 | .(defun.malyon-opcode-get-prop.( |
| 19280 | 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 76 61 6c 75 | object.property)..."Get.the.valu |
| 192a0 | 65 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 22 0a 20 20 28 | e.of.the.object's.property."...( |
| 192c0 | 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 2d 70 72 6f 70 | let*.((address.(malyon-find-prop |
| 192e0 | 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 20 20 20 20 20 | erty.object.property)).......... |
| 19300 | 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 61 64 64 72 65 | (size....(malyon-read-byte.addre |
| 19320 | 73 73 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 61 62 6c 65 | ss))).....(malyon-store-variable |
| 19340 | 0a 20 20 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 0a 20 20 | ......(malyon-read-code-byte)... |
| 19360 | 20 20 20 28 63 6f 6e 64 20 28 28 7a 65 72 6f 70 20 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 | ...(cond.((zerop.address)....... |
| 19380 | 20 20 20 20 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 | ......(malyon-read-word.(+.malyo |
| 193a0 | 6e 2d 6f 62 6a 65 63 74 2d 74 61 62 6c 65 20 28 2a 20 32 20 28 2d 20 70 72 6f 70 65 72 74 79 20 | n-object-table.(*.2.(-.property. |
| 193c0 | 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 | 1)))))............((and.(<..maly |
| 193e0 | 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 73 68 20 | on-story-version.5).(zerop.(lsh. |
| 19400 | 73 69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 | size.-5))).............(malyon-r |
| 19420 | 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 20 20 20 20 20 | ead-byte.(+.address.1)))........ |
| 19440 | 20 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 | ....((and.(>=.malyon-story-versi |
| 19460 | 6f 6e 20 35 29 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 31 39 32 20 73 69 7a 65 29 29 29 | on.5).(zerop.(logand.192.size))) |
| 19480 | 0a 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.( |
| 194a0 | 2b 20 61 64 64 72 65 73 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 | +.address.1)))............(t.... |
| 194c0 | 20 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 20 28 2b 20 61 64 | .........(malyon-read-word.(+.ad |
| 194e0 | 64 72 65 73 73 20 31 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 | dress.1)))))))..(defun.malyon-op |
| 19500 | 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 61 64 64 72 20 28 6f 62 6a 65 63 74 20 70 72 6f 70 65 | code-get-prop-addr.(object.prope |
| 19520 | 72 74 79 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 6f | rty)..."Get.the.address.of.the.o |
| 19540 | 62 6a 65 63 74 27 73 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 | bject's.property."...(let*.((add |
| 19560 | 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 62 6a 65 63 | ress.(malyon-find-property.objec |
| 19580 | 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 20 20 20 28 | t.property))..........(size....( |
| 195a0 | 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 0a 20 20 20 20 20 | malyon-read-byte.address))...... |
| 195c0 | 20 20 20 20 28 6f 66 66 73 65 74 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 73 74 6f 72 79 | ....(offset..(if.(<.malyon-story |
| 195e0 | 2d 76 65 72 73 69 6f 6e 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -version.5)..................... |
| 19600 | 20 20 31 0a 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 7a 65 72 | ..1.....................(if.(zer |
| 19620 | 6f 70 20 28 6c 6f 67 61 6e 64 20 31 32 38 20 73 69 7a 65 29 29 20 31 20 32 29 29 29 29 0a 20 20 | op.(logand.128.size)).1.2))))... |
| 19640 | 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 |
| 19660 | 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 20 | -read-code-byte)................ |
| 19680 | 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 61 64 64 72 65 73 73 29 20 | ............(if.(zerop.address). |
| 196a0 | 30 20 28 2b 20 61 64 64 72 65 73 73 20 6f 66 66 73 65 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | 0.(+.address.offset)))))..(defun |
| 196c0 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 67 65 74 2d 70 72 6f 70 2d 6c 65 6e 20 28 70 72 6f | .malyon-opcode-get-prop-len.(pro |
| 196e0 | 70 65 72 74 79 29 0a 20 20 22 47 65 74 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 | perty)..."Get.the.length.of.the. |
| 19700 | 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 69 7a | object's.property."...(let.((siz |
| 19720 | 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2d 20 70 72 6f 70 65 72 74 79 20 | e.(malyon-read-byte.(-.property. |
| 19740 | 31 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 61 62 6c 65 | 1)))).....(malyon-store-variable |
| 19760 | 0a 20 20 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 0a 20 20 | ......(malyon-read-code-byte)... |
| 19780 | 20 20 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 72 73 69 6f | ...(cond.((<.malyon-story-versio |
| 197a0 | 6e 20 35 29 20 28 2b 20 31 20 28 6c 73 68 20 73 69 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 | n.5).(+.1.(lsh.size.-5)))....... |
| 197c0 | 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 73 69 7a 65 29 29 20 | .....((zerop.(logand.128.size)). |
| 197e0 | 20 28 2b 20 31 20 28 6c 73 68 20 73 69 7a 65 20 2d 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .(+.1.(lsh.size.-6)))........... |
| 19800 | 20 28 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 36 33 20 73 69 7a 65 29 29 20 20 36 34 29 | .((zerop.(logand..63.size))..64) |
| 19820 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............(t.................. |
| 19840 | 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 36 33 20 73 69 7a 65 29 29 29 29 29 29 0a 0a 28 | ........(logand.63.size))))))..( |
| 19860 | 64 65 66 75 6e 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 | defun.malyon-opcode-get-sibling. |
| 19880 | 28 6f 62 6a 65 63 74 29 0a 20 20 22 47 65 74 20 74 68 65 20 6e 65 78 74 20 6f 62 6a 65 63 74 20 | (object)..."Get.the.next.object. |
| 198a0 | 69 6e 20 74 68 65 20 74 72 65 65 20 61 6e 64 20 6a 75 6d 70 2e 22 0a 20 20 28 6c 65 74 20 28 28 | in.the.tree.and.jump."...(let.(( |
| 198c0 | 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 2d 73 69 62 6c | sibling.(malyon-object-read-sibl |
| 198e0 | 69 6e 67 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 | ing.(malyon-object-address.objec |
| 19900 | 74 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 61 62 6c 65 | t)))).....(malyon-store-variable |
| 19920 | 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 73 69 62 6c 69 6e 67 | .(malyon-read-code-byte).sibling |
| 19940 | 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 30 20 73 69 62 6c | ).....(malyon-jump-if.(/=.0.sibl |
| 19960 | 69 6e 67 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 69 6c | ing))))..(defun.malyon-opcode-il |
| 19980 | 6c 65 67 61 6c 20 28 26 72 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22 50 72 69 6e 74 20 61 6e | legal.(&rest.ignore)..."Print.an |
| 199a0 | 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 6e 64 20 65 78 69 74 20 74 68 65 20 69 6e 74 65 | .error.message.and.exit.the.inte |
| 199c0 | 72 70 72 65 74 65 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 61 6c 2d 65 72 72 6f 72 20 | rpreter."...(malyon-fatal-error. |
| 199e0 | 22 69 6c 6c 65 67 61 6c 20 6f 70 63 6f 64 65 2e 22 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | "illegal.opcode."))..(defun.maly |
| 19a00 | 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 20 28 76 61 72 29 0a 20 20 22 49 6e 63 72 65 6d 65 6e 74 | on-opcode-inc.(var)..."Increment |
| 19a20 | 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 76 61 72 69 | .variable."...(malyon-store-vari |
| 19a40 | 61 62 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 | able.var........................ |
| 19a60 | 20 20 28 2b 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 | ..(+.(malyon-number.(malyon-read |
| 19a80 | 2d 76 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 | -variable.var)).1)))..(defun.mal |
| 19aa0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 69 6e 63 2d 63 68 6b 20 28 76 61 72 69 61 62 6c 65 20 74 68 72 | yon-opcode-inc-chk.(variable.thr |
| 19ac0 | 65 73 68 6f 6c 64 29 0a 20 20 22 49 6e 63 72 65 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e | eshold)..."Increment.variable.an |
| 19ae0 | 64 20 6a 75 6d 70 20 69 66 20 69 74 27 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 | d.jump.if.it's.greater.than.the. |
| 19b00 | 67 69 76 65 6e 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 | given.value."...(let.((value.(ma |
| 19b20 | 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 61 72 69 61 62 6c | lyon-number.(malyon-read-variabl |
| 19b40 | 65 20 76 61 72 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 | e.variable)))).....(malyon-store |
| 19b60 | 2d 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28 2b 20 76 61 6c 75 65 20 31 29 29 0a | -variable.variable.(+.value.1)). |
| 19b80 | 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3e 20 28 2b 20 76 61 6c 75 65 20 | ....(malyon-jump-if.(>.(+.value. |
| 19ba0 | 31 29 20 28 6d 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 | 1).(malyon-number.threshold))))) |
| 19bc0 | 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 70 75 74 2d 73 74 72 | ..(defun.malyon-opcode-input-str |
| 19be0 | 65 61 6d 20 28 6e 75 6d 62 65 72 29 0a 20 20 22 53 65 6c 65 63 74 20 74 68 65 20 67 69 76 65 6e | eam.(number)..."Select.the.given |
| 19c00 | 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 20 4f 6e 6c 79 20 74 68 65 20 6b 65 79 62 6f 61 72 64 | .input.stream..Only.the.keyboard |
| 19c20 | 20 69 73 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6d 61 | .is.supported."...(if.(zerop.(ma |
| 19c40 | 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 75 6d 62 65 72 29 29 0a 20 20 20 20 20 20 27 28 29 0a 20 | lyon-number.number)).......'().. |
| 19c60 | 20 20 20 28 6d 65 73 73 61 67 65 20 22 4f 6e 6c 79 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 69 | ...(message."Only.the.keyboard.i |
| 19c80 | 73 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 61 6e 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 22 | s.supported.as.an.input.stream." |
| 19ca0 | 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 73 65 72 74 | )))..(defun.malyon-opcode-insert |
| 19cc0 | 2d 6f 62 6a 20 28 6f 62 6a 65 63 74 20 64 65 73 74 69 6e 61 74 69 6f 6e 29 0a 20 20 22 49 6e 73 | -obj.(object.destination)..."Ins |
| 19ce0 | 65 72 74 20 61 6e 20 6f 62 6a 65 63 74 20 69 6e 74 6f 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 | ert.an.object.into.the.children. |
| 19d00 | 6c 69 73 74 20 6f 66 20 61 6e 6f 74 68 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 | list.of.another."...(let.((child |
| 19d20 | 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) |
| 19d40 | 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 | ).........(parent.(malyon-object |
| 19d60 | 2d 61 64 64 72 65 73 73 20 64 65 73 74 69 6e 61 74 69 6f 6e 29 29 29 0a 20 20 20 20 28 6d 61 6c | -address.destination))).....(mal |
| 19d80 | 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 6d | yon-remove-object.object).....(m |
| 19da0 | 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 20 63 68 69 6c 64 | alyon-object-store-parent..child |
| 19dc0 | 20 64 65 73 74 69 6e 61 74 69 6f 6e 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 | .destination).....(malyon-object |
| 19de0 | 2d 73 74 6f 72 65 2d 73 69 62 6c 69 6e 67 20 63 68 69 6c 64 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a | -store-sibling.child.(malyon-obj |
| 19e00 | 65 63 74 2d 72 65 61 64 2d 63 68 69 6c 64 20 70 61 72 65 6e 74 29 29 0a 20 20 20 20 28 6d 61 6c | ect-read-child.parent)).....(mal |
| 19e20 | 79 6f 6e 2d 6f 62 6a 65 63 74 2d 73 74 6f 72 65 2d 63 68 69 6c 64 20 20 20 70 61 72 65 6e 74 20 | yon-object-store-child...parent. |
| 19e40 | 6f 62 6a 65 63 74 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 | object)))..(defun.malyon-opcode- |
| 19e60 | 6a 65 20 28 61 20 26 72 65 73 74 20 72 65 73 74 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 69 72 | je.(a.&rest.rest)..."Jump.if.fir |
| 19e80 | 73 74 20 6f 70 65 72 61 6e 64 20 65 71 75 61 6c 73 20 61 6e 79 20 6f 66 20 74 68 65 20 66 6f 6c | st.operand.equals.any.of.the.fol |
| 19ea0 | 6c 6f 77 69 6e 67 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6d 65 6d 62 | lowing."...(malyon-jump-if.(memb |
| 19ec0 | 65 72 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 29 20 28 6d 61 70 63 61 72 20 27 6d 61 | er.(malyon-number.a).(mapcar.'ma |
| 19ee0 | 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 72 65 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | lyon-number.rest))))..(defun.mal |
| 19f00 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 67 20 28 61 20 62 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 66 | yon-opcode-jg.(a.b)..."Jump.if.f |
| 19f20 | 69 72 73 74 20 6f 70 65 72 61 6e 64 20 3e 20 73 65 63 6f 6e 64 20 6f 70 65 72 61 6e 64 2e 22 0a | irst.operand.>.second.operand.". |
| 19f40 | 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3e 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d | ..(malyon-jump-if.(>.(malyon-num |
| 19f60 | 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 65 | ber.a).(malyon-number.b))))..(de |
| 19f80 | 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 69 6e 20 28 63 68 69 6c 64 20 70 61 72 | fun.malyon-opcode-jin.(child.par |
| 19fa0 | 65 6e 74 29 0a 20 20 22 4a 75 6d 70 20 69 66 20 73 65 63 6f 6e 64 20 6f 62 6a 65 63 74 20 69 73 | ent)..."Jump.if.second.object.is |
| 19fc0 | 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 2e 22 0a 20 20 20 20 28 | .parent.of.the.first.one.".....( |
| 19fe0 | 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 20 20 20 28 3d 20 70 61 72 65 6e 74 20 28 6d | malyon-jump-if......(=.parent.(m |
| 1a000 | 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d 72 65 61 64 2d 70 61 72 65 6e 74 20 28 6d 61 6c 79 6f 6e | alyon-object-read-parent.(malyon |
| 1a020 | 2d 6f 62 6a 65 63 74 2d 61 64 64 72 65 73 73 20 63 68 69 6c 64 29 29 29 29 29 0a 0a 28 64 65 66 | -object-address.child)))))..(def |
| 1a040 | 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6a 6c 20 28 61 20 62 29 0a 20 20 22 4a 75 6d | un.malyon-opcode-jl.(a.b)..."Jum |
| 1a060 | 70 20 69 66 20 66 69 72 73 74 20 6f 70 65 72 61 6e 64 20 3c 20 73 65 63 6f 6e 64 20 6f 70 65 72 | p.if.first.operand.<.second.oper |
| 1a080 | 61 6e 64 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 3c 20 28 6d 61 6c 79 | and."...(malyon-jump-if.(<.(maly |
| 1a0a0 | 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 62 29 29 29 | on-number.a).(malyon-number.b))) |
| 1a0c0 | 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 75 6d 70 20 28 6f 66 | )..(defun.malyon-opcode-jump.(of |
| 1a0e0 | 66 73 65 74 29 0a 20 20 22 4a 75 6d 70 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 2e 22 0a | fset)..."Jump.unconditionally.". |
| 1a100 | 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 6e 74 | ..(setq.malyon-instruction-point |
| 1a120 | 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 6e 74 65 72 | er.(+.malyon-instruction-pointer |
| 1a140 | 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 20 20 | ................................ |
| 1a160 | 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6f 66 66 73 65 74 29 20 2d 32 | .......(malyon-number.offset).-2 |
| 1a180 | 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 7a 20 28 61 29 | )))..(defun.malyon-opcode-jz.(a) |
| 1a1a0 | 0a 20 20 22 4a 75 6d 70 20 69 66 20 6f 70 65 72 61 6e 64 20 3d 20 30 2e 22 0a 20 20 28 6d 61 6c | ..."Jump.if.operand.=.0."...(mal |
| 1a1c0 | 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 7a 65 72 6f 70 20 61 29 29 29 0a 0a 28 64 65 66 75 6e 20 | yon-jump-if.(zerop.a)))..(defun. |
| 1a1e0 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20 | malyon-opcode-load.(variable)... |
| 1a200 | 22 4c 6f 61 64 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 | "Load.a.variable."...(malyon-sto |
| 1a220 | 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 79 | re-variable.(malyon-read-code-by |
| 1a240 | 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 6d 61 | te)..........................(ma |
| 1a260 | 6c 79 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 0a 0a | lyon-read-variable.variable))).. |
| 1a280 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6c 6f 61 64 62 20 28 61 72 72 61 | (defun.malyon-opcode-loadb.(arra |
| 1a2a0 | 79 20 69 6e 64 65 78 29 0a 20 20 22 4c 6f 61 64 20 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e | y.index)..."Load.an.array.elemen |
| 1a2c0 | 74 20 69 6e 74 6f 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 | t.into.a.variable."...(malyon-st |
| 1a2e0 | 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 |
| 1a300 | 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 6d | yte)..........................(m |
| 1a320 | 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 61 72 72 61 79 20 69 6e 64 65 78 29 29 | alyon-read-byte.(+.array.index)) |
| 1a340 | 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 64 77 20 28 | ))..(defun.malyon-opcode-loadw.( |
| 1a360 | 61 72 72 61 79 20 69 6e 64 65 78 29 0a 20 20 22 4c 6f 61 64 20 61 6e 20 61 72 72 61 79 20 65 6c | array.index)..."Load.an.array.el |
| 1a380 | 65 6d 65 6e 74 20 69 6e 74 6f 20 61 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 6d 61 6c 79 6f | ement.into.a.variable."...(malyo |
| 1a3a0 | 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 63 6f | n-store-variable.(malyon-read-co |
| 1a3c0 | 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 20 20 | de-byte)........................ |
| 1a3e0 | 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 61 72 72 61 79 20 28 2a 20 | ..(malyon-read-word.(+.array.(*. |
| 1a400 | 32 20 69 6e 64 65 78 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 | 2.index)))))..(defun.malyon-opco |
| 1a420 | 64 65 2d 6c 6f 67 2d 73 68 69 66 74 20 28 76 61 6c 75 65 20 70 6c 61 63 65 73 29 0a 20 20 22 4c | de-log-shift.(value.places)..."L |
| 1a440 | 6f 67 69 63 61 6c 20 73 68 69 66 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 | ogical.shift."...(malyon-store-v |
| 1a460 | 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 20 | ariable.(malyon-read-code-byte). |
| 1a480 | 28 6c 73 68 20 76 61 6c 75 65 20 70 6c 61 63 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | (lsh.value.places)))..(defun.mal |
| 1a4a0 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 6f 64 20 28 61 20 62 29 0a 20 20 22 4d 6f 64 75 6c 6f 2e 22 | yon-opcode-mod.(a.b)..."Modulo." |
| 1a4c0 | 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 |
| 1a4e0 | 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)............... |
| 1a500 | 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 61 | ...........(mod.(malyon-number.a |
| 1a520 | 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 65 66 75 6e 20 6d | ).(malyon-number.b))))..(defun.m |
| 1a540 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6d 75 6c 20 28 61 20 62 29 0a 20 20 22 4d 75 6c 74 69 70 | alyon-opcode-mul.(a.b)..."Multip |
| 1a560 | 6c 69 63 61 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 | lication."...(malyon-store-varia |
| 1a580 | 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 20 20 20 | ble.(malyon-read-code-byte)..... |
| 1a5a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 6d 61 6c 79 6f 6e 2d | .....................(*.(malyon- |
| 1a5c0 | 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 62 29 29 29 29 0a 0a | number.a).(malyon-number.b)))).. |
| 1a5e0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 65 77 2d 6c 69 6e 65 20 28 29 | (defun.malyon-opcode-new-line.() |
| 1a600 | 0a 20 20 22 50 72 69 6e 74 20 61 20 6e 65 77 6c 69 6e 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d | ..."Print.a.newline."...(malyon- |
| 1a620 | 6e 65 77 6c 69 6e 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 | newline))..(defun.malyon-opcode- |
| 1a640 | 6e 6f 70 20 28 26 72 65 73 74 20 69 67 6e 6f 72 65 29 0a 20 20 22 44 6f 20 6e 6f 74 68 69 6e 67 | nop.(&rest.ignore)..."Do.nothing |
| 1a660 | 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6e 6f 74 20 28 61 | .")..(defun.malyon-opcode-not.(a |
| 1a680 | 29 0a 20 20 22 42 69 74 77 69 73 65 20 6e 6f 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f | )..."Bitwise.not."...(malyon-sto |
| 1a6a0 | 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 79 | re-variable.(malyon-read-code-by |
| 1a6c0 | 74 65 29 20 28 6c 6f 67 61 6e 64 20 36 35 35 33 35 20 28 6c 6f 67 6e 6f 74 20 61 29 29 29 29 0a | te).(logand.65535.(lognot.a)))). |
| 1a6e0 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 6f 72 20 28 61 20 62 29 0a 20 | .(defun.malyon-opcode-or.(a.b).. |
| 1a700 | 20 22 42 69 74 77 69 73 65 20 6f 72 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 | ."Bitwise.or."...(malyon-store-v |
| 1a720 | 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 20 | ariable.(malyon-read-code-byte). |
| 1a740 | 28 6c 6f 67 69 6f 72 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 | (logior.a.b)))..(defun.malyon-op |
| 1a760 | 63 6f 64 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 20 28 73 74 72 65 61 6d 20 26 6f 70 74 69 | code-output-stream.(stream.&opti |
| 1a780 | 6f 6e 61 6c 20 74 61 62 6c 65 29 0a 20 20 22 53 65 6c 65 63 74 20 61 6e 20 6f 75 74 70 75 74 20 | onal.table)..."Select.an.output. |
| 1a7a0 | 73 74 72 65 61 6d 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 72 65 61 6d 20 28 6d 61 6c 79 6f 6e | stream."...(let.((stream.(malyon |
| 1a7c0 | 2d 6e 75 6d 62 65 72 20 73 74 72 65 61 6d 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20 | -number.stream))).....(cond.((<. |
| 1a7e0 | 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79 6f 6e 2d 61 64 64 2d 6f 75 74 70 75 74 2d 73 74 72 | 0.stream).(malyon-add-output-str |
| 1a800 | 65 61 6d 20 73 74 72 65 61 6d 20 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3e | eam.stream.table))...........((> |
| 1a820 | 20 30 20 73 74 72 65 61 6d 29 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 75 74 70 75 74 | .0.stream).(malyon-remove-output |
| 1a840 | 2d 73 74 72 65 61 6d 20 28 2d 20 73 74 72 65 61 6d 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | -stream.(-.stream))))))..(defun. |
| 1a860 | 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 69 72 61 63 79 20 28 29 0a 20 20 22 50 69 72 61 63 | malyon-opcode-piracy.()..."Pirac |
| 1a880 | 79 20 63 68 65 63 6b 2c 20 65 66 66 65 63 74 69 76 65 6c 79 20 61 6e 20 75 6e 63 6f 6e 64 69 74 | y.check,.effectively.an.uncondit |
| 1a8a0 | 69 6f 6e 61 6c 20 6a 75 6d 70 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 31 | ional.jump."...(malyon-jump-if.1 |
| 1a8c0 | 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 6f 70 20 28 29 0a | ))..(defun.malyon-opcode-pop.(). |
| 1a8e0 | 20 20 22 50 6f 70 20 61 20 76 61 6c 75 65 20 6f 66 66 20 74 68 65 20 73 74 61 63 6b 2e 22 0a 20 | .."Pop.a.value.off.the.stack.".. |
| 1a900 | 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c | .(malyon-pop-stack))..(defun.mal |
| 1a920 | 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 | yon-opcode-print.()..."Print.a.s |
| 1a940 | 74 72 69 6e 67 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 | tring."...(setq.malyon-instructi |
| 1a960 | 6f 6e 2d 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 | on-pointer.........(malyon-print |
| 1a980 | 2d 74 65 78 74 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 | -text.malyon-instruction-pointer |
| 1a9a0 | 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 72 69 6e 74 2d | )))..(defun.malyon-opcode-print- |
| 1a9c0 | 61 64 64 72 20 28 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 | addr.(address)..."Print.a.string |
| 1a9e0 | 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 61 64 64 72 65 73 73 29 | ."...(malyon-print-text.address) |
| 1aa00 | 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 2d 63 68 | )..(defun.malyon-opcode-print-ch |
| 1aa20 | 61 72 20 28 63 29 0a 20 20 22 50 72 69 6e 74 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 | ar.(c)..."Print.a.character."... |
| 1aa40 | 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 29 | (malyon-print.(char-to-string.c) |
| 1aa60 | 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 2d 6e | ))..(defun.malyon-opcode-print-n |
| 1aa80 | 75 6d 20 28 6e 29 0a 20 20 22 50 72 69 6e 74 20 61 20 6e 75 6d 62 65 72 2e 22 0a 20 20 28 6d 61 | um.(n)..."Print.a.number."...(ma |
| 1aaa0 | 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 6d 61 | lyon-print.(number-to-string.(ma |
| 1aac0 | 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | lyon-number.n))))..(defun.malyon |
| 1aae0 | 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6f 62 6a 20 28 6f 62 6a 29 0a 20 20 22 50 72 69 6e 74 | -opcode-print-obj.(obj)..."Print |
| 1ab00 | 20 74 68 65 20 73 68 6f 72 74 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 2e 22 0a | .the.short.name.of.the.object.". |
| 1ab20 | 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 0a 20 20 20 28 2b 20 31 20 28 6d 61 | ..(malyon-print-text....(+.1.(ma |
| 1ab40 | 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 28 2b 20 6d 61 6c 79 6f 6e 2d 6f 62 6a 65 63 74 2d | lyon-read-word.(+.malyon-object- |
| 1ab60 | 70 72 6f 70 65 72 74 79 2d 6f 66 66 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | property-offset................. |
| 1ab80 | 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 |
| 1aba0 | 65 73 73 20 6f 62 6a 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 | ess.obj))))))..(defun.malyon-opc |
| 1abc0 | 6f 64 65 2d 70 72 69 6e 74 2d 70 61 64 64 72 20 28 61 64 64 72 65 73 73 29 0a 20 20 22 50 72 69 | ode-print-paddr.(address)..."Pri |
| 1abe0 | 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 74 2d 74 65 | nt.a.string."...(malyon-print-te |
| 1ac00 | 78 74 20 28 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 61 | xt.(*.malyon-packed-multiplier.a |
| 1ac20 | 64 64 72 65 73 73 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 | ddress)))..(defun.malyon-opcode- |
| 1ac40 | 70 72 69 6e 74 2d 72 65 74 20 28 29 0a 20 20 22 50 72 69 6e 74 20 61 20 73 74 72 69 6e 67 2c 20 | print-ret.()..."Print.a.string,. |
| 1ac60 | 70 72 69 6e 74 20 61 20 6e 65 77 6c 69 6e 65 2c 20 72 65 74 75 72 6e 20 74 72 75 65 2f 31 2e 22 | print.a.newline,.return.true/1." |
| 1ac80 | 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 6e | ...(setq.malyon-instruction-poin |
| 1aca0 | 74 65 72 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 74 65 78 74 20 6d | ter.........(malyon-print-text.m |
| 1acc0 | 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 29 0a 20 20 28 6d | alyon-instruction-pointer))...(m |
| 1ace0 | 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 72 65 74 75 72 6e 20 | alyon-newline)...(malyon-return. |
| 1ad00 | 31 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 2d | 1))..(defun.malyon-opcode-print- |
| 1ad20 | 74 61 62 6c 65 20 28 74 65 78 74 20 77 69 64 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 68 65 69 67 | table.(text.width.&optional.heig |
| 1ad40 | 68 74 20 73 6b 69 70 29 0a 20 20 22 50 72 69 6e 74 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 6c | ht.skip)..."Print.the.given.tabl |
| 1ad60 | 65 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 68 65 69 67 68 74 29 20 28 73 65 74 71 20 68 65 69 | e."...(if.(not.height).(setq.hei |
| 1ad80 | 67 68 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 73 6b 69 70 29 20 20 20 28 73 65 74 71 | ght.1))...(if.(not.skip)...(setq |
| 1ada0 | 20 73 6b 69 70 20 30 29 29 0a 20 20 28 6c 65 74 20 28 28 63 6f 6c 75 6d 6e 20 20 28 63 75 72 72 | .skip.0))...(let.((column..(curr |
| 1adc0 | 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 72 65 73 73 20 74 65 | ent-column)).........(address.te |
| 1ade0 | 78 74 29 0a 20 20 20 20 20 20 20 20 28 79 20 20 20 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 | xt).........(y.......0)......... |
| 1ae00 | 28 78 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 79 20 68 65 69 | (x.......0)).....(while.(<.y.hei |
| 1ae20 | 67 68 74 29 0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 79 29 0a 20 20 20 20 20 20 20 | ght).......(if.(zerop.y)........ |
| 1ae40 | 20 20 20 27 28 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6e 65 77 6c 69 6e 65 29 0a | ...'().........(malyon-newline). |
| 1ae60 | 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 2d 63 68 61 72 61 63 74 65 72 73 | ........(malyon-print-characters |
| 1ae80 | 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 63 6f 6c 75 6d 6e 20 3f 20 29 29 29 0a 20 20 20 20 20 | .(make-string.column.?.)))...... |
| 1aea0 | 20 28 73 65 74 71 20 78 20 30 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 78 20 77 69 | .(setq.x.0).......(while.(<.x.wi |
| 1aec0 | 64 74 68 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 75 74 70 75 74 2d 63 68 61 72 | dth).........(malyon-output-char |
| 1aee0 | 61 63 74 65 72 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 | acter.(malyon-read-byte.address) |
| 1af00 | 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 65 73 73 20 28 2b 20 31 20 61 64 64 | ).........(setq.address.(+.1.add |
| 1af20 | 72 65 73 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 78 20 28 2b 20 31 20 78 29 29 29 | ress)).........(setq.x.(+.1.x))) |
| 1af40 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 65 73 73 20 28 2b 20 73 6b 69 70 20 61 64 64 | .......(setq.address.(+.skip.add |
| 1af60 | 72 65 73 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 79 20 28 2b 20 31 20 79 29 29 29 29 29 | ress)).......(setq.y.(+.1.y))))) |
| 1af80 | 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 75 6e 69 | ..(defun.malyon-opcode-print-uni |
| 1afa0 | 63 6f 64 65 20 28 63 68 61 72 29 0a 20 20 22 50 72 69 6e 74 73 20 61 20 75 6e 69 63 6f 64 65 20 | code.(char)..."Prints.a.unicode. |
| 1afc0 | 63 68 61 72 61 63 74 65 72 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | character.")..(defun.malyon-opco |
| 1afe0 | 64 65 2d 70 75 6c 6c 20 28 76 61 72 69 61 62 6c 65 29 0a 20 20 22 50 75 6c 6c 20 76 61 6c 75 65 | de-pull.(variable)..."Pull.value |
| 1b000 | 20 6f 66 66 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 | .off.stack."...(malyon-store-var |
| 1b020 | 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b | iable.variable.(malyon-pop-stack |
| 1b040 | 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 75 73 68 20 28 | )))..(defun.malyon-opcode-push.( |
| 1b060 | 76 61 6c 75 65 29 0a 20 20 22 50 75 73 68 20 76 61 6c 75 65 20 6f 6e 74 6f 20 73 74 61 63 6b 2e | value)..."Push.value.onto.stack. |
| 1b080 | 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 70 75 73 68 2d 73 74 61 63 6b 20 76 61 6c 75 65 29 29 0a 0a | "...(malyon-push-stack.value)).. |
| 1b0a0 | 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 75 74 2d 70 72 6f 70 20 28 6f | (defun.malyon-opcode-put-prop.(o |
| 1b0c0 | 62 6a 65 63 74 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 65 29 0a 20 20 22 53 65 74 20 74 68 65 | bject.property.value)..."Set.the |
| 1b0e0 | 20 6f 62 6a 65 63 74 27 73 20 70 72 6f 70 65 72 74 79 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 | .object's.property.to.the.given. |
| 1b100 | 76 61 6c 75 65 2e 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 | value."...(let*.((address.(malyo |
| 1b120 | 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 72 74 79 29 | n-find-property.object.property) |
| 1b140 | 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 72 65 61 64 | )..........(size....(malyon-read |
| 1b160 | 2d 62 79 74 65 20 61 64 64 72 65 73 73 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3d 20 61 | -byte.address))).....(cond.((=.a |
| 1b180 | 64 64 72 65 73 73 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 66 61 74 | ddress.0)............(malyon-fat |
| 1b1a0 | 61 6c 2d 65 72 72 6f 72 20 22 70 72 6f 70 65 72 74 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 | al-error."property.does.not.exis |
| 1b1c0 | 74 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3c 20 20 6d 61 6c 79 6f 6e | t."))...........((and.(<..malyon |
| 1b1e0 | 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 73 68 20 73 69 | -story-version.5).(zerop.(lsh.si |
| 1b200 | 7a 65 20 2d 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | ze.-5)))............(malyon-stor |
| 1b220 | 65 2d 62 79 74 65 20 28 2b 20 31 20 61 64 64 72 65 73 73 29 20 28 6c 6f 67 61 6e 64 20 32 35 35 | e-byte.(+.1.address).(logand.255 |
| 1b240 | 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 6d 61 | .value)))...........((and.(>=.ma |
| 1b260 | 6c 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 | lyon-story-version.5).(zerop.(lo |
| 1b280 | 67 61 6e 64 20 73 69 7a 65 20 31 39 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | gand.size.192)))............(mal |
| 1b2a0 | 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 73 73 29 20 28 6c 6f | yon-store-byte.(+.1.address).(lo |
| 1b2c0 | 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 20 20 20 28 74 0a 20 | gand.255.value)))...........(t.. |
| 1b2e0 | 20 20 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 28 2b 20 | ..........(malyon-store-word.(+. |
| 1b300 | 31 20 61 64 64 72 65 73 73 29 20 76 61 6c 75 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | 1.address).value)))))..(defun.ma |
| 1b320 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 20 28 29 0a 20 20 22 45 6e 64 20 74 68 65 20 67 | lyon-opcode-quit.()..."End.the.g |
| 1b340 | 61 6d 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 61 64 6a 75 | ame.immediately."...(malyon-adju |
| 1b360 | 73 74 2d 74 72 61 6e 73 63 72 69 70 74 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 63 6c 65 61 6e 75 70 | st-transcript)...(malyon-cleanup |
| 1b380 | 29 0a 20 20 28 74 68 72 6f 77 20 27 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 6f 66 2d 69 6e 74 65 72 70 | )...(throw.'malyon-end-of-interp |
| 1b3a0 | 72 65 74 65 72 2d 6c 6f 6f 70 20 27 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 71 75 69 74 29 29 | reter-loop.'malyon-opcode-quit)) |
| 1b3c0 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 61 6e 64 6f 6d 20 28 6c | ..(defun.malyon-opcode-random.(l |
| 1b3e0 | 69 6d 69 74 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 | imit)..."Generate.a.random.numbe |
| 1b400 | 72 20 6f 72 20 73 65 74 20 74 68 65 20 73 65 65 64 20 76 61 6c 75 65 2e 22 0a 20 20 28 6d 61 6c | r.or.set.the.seed.value."...(mal |
| 1b420 | 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- |
| 1b440 | 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)...................... |
| 1b460 | 20 20 20 20 28 69 66 20 28 3e 3d 20 30 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d | ....(if.(>=.0.(malyon-number.lim |
| 1b480 | 69 74 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 20 | it))............................ |
| 1b4a0 | 20 20 30 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 28 | ..0............................( |
| 1b4c0 | 2b 20 31 20 28 72 61 6e 64 6f 6d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 20 6c 69 6d 69 74 | +.1.(random.(malyon-number.limit |
| 1b4e0 | 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 72 65 61 | ))))))..(defun.malyon-opcode-rea |
| 1b500 | 64 2d 63 68 61 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 65 76 69 63 65 20 26 72 65 73 74 20 69 | d-char.(&optional.device.&rest.i |
| 1b520 | 67 6e 6f 72 65 29 0a 20 20 22 52 65 61 64 20 61 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 | gnore)..."Read.a.character."...( |
| 1b540 | 69 66 20 28 61 6e 64 20 64 65 76 69 63 65 20 28 2f 3d 20 31 20 64 65 76 69 63 65 29 29 0a 20 20 | if.(and.device.(/=.1.device))... |
| 1b560 | 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 69 6c 6c 65 67 61 6c | ....(malyon-fatal-error."illegal |
| 1b580 | 20 64 65 76 69 63 65 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 72 65 61 64 5f 63 68 61 72 2e 22 | .device.specified.in.read_char." |
| 1b5a0 | 29 29 0a 20 20 28 69 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 | ))...(if.(eq.malyon-transcript-b |
| 1b5c0 | 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 20 20 20 20 20 28 67 | uffer.(current-buffer)).......(g |
| 1b5e0 | 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 6d 65 73 73 61 67 | oto-char.(point-max)))...(messag |
| 1b600 | 65 20 22 5b 50 72 65 73 73 20 61 20 6b 65 79 2e 5d 22 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 6d 6f | e."[Press.a.key.]")...(malyon-mo |
| 1b620 | 72 65 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 63 68 61 72 29 0a 20 20 28 74 68 | re.malyon-keymap-readchar)...(th |
| 1b640 | 72 6f 77 20 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 | row.'malyon-end-of-interpreter-l |
| 1b660 | 6f 6f 70 20 27 6d 61 6c 79 6f 6e 2d 77 61 69 74 69 6e 67 2d 66 6f 72 2d 63 68 61 72 61 63 74 65 | oop.'malyon-waiting-for-characte |
| 1b680 | 72 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 72 65 6d 6f 76 65 | r))..(defun.malyon-opcode-remove |
| 1b6a0 | 2d 6f 62 6a 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 61 6e 20 6f 62 6a 65 63 | -obj.(object)..."Remove.an.objec |
| 1b6c0 | 74 20 66 72 6f 6d 20 69 74 73 20 70 61 72 65 6e 74 27 73 20 63 68 69 6c 64 72 65 6e 20 6c 69 73 | t.from.its.parent's.children.lis |
| 1b6e0 | 74 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 6d 6f 76 65 2d 6f 62 6a 65 63 74 20 6f 62 6a 65 | t."...(malyon-remove-object.obje |
| 1b700 | 63 74 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 72 65 73 74 61 | ct))..(defun.malyon-opcode-resta |
| 1b720 | 72 74 20 28 29 0a 20 20 22 52 65 73 74 61 72 74 20 74 68 65 20 67 61 6d 65 2e 22 0a 20 20 28 6d | rt.()..."Restart.the.game."...(m |
| 1b740 | 61 6c 79 6f 6e 2d 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 | alyon-set-game-state.malyon-game |
| 1b760 | 2d 73 74 61 74 65 2d 72 65 73 74 61 72 74 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d | -state-restart))..(defun.malyon- |
| 1b780 | 6f 70 63 6f 64 65 2d 72 65 73 74 6f 72 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 20 | opcode-restore.(&optional.table. |
| 1b7a0 | 62 79 74 65 73 20 6e 61 6d 65 29 0a 20 20 22 52 65 73 74 6f 72 65 20 61 20 73 61 76 65 64 20 67 | bytes.name)..."Restore.a.saved.g |
| 1b7c0 | 61 6d 65 20 73 74 61 74 65 20 6f 72 20 61 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 | ame.state.or.a.section.of.memory |
| 1b7e0 | 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 | .from.a.file."...(let.((result.( |
| 1b800 | 69 66 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c | if.name.....................(mal |
| 1b820 | 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | yon-restore-file................ |
| 1b840 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 67 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 | ......(malyon-get-file-name.name |
| 1b860 | 29 20 74 61 62 6c 65 20 62 79 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).table.bytes).................. |
| 1b880 | 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d 72 65 73 | .(call-interactively.'malyon-res |
| 1b8a0 | 74 6f 72 65 2d 66 69 6c 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d | tore-file)))).....(if.(<.malyon- |
| 1b8c0 | 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 28 6d 61 6c 79 6f 6e | story-version.5).........(malyon |
| 1b8e0 | 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20 | -jump-if.(not.(zerop.result))).. |
| 1b900 | 20 20 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 | .....(malyon-store-variable.(mal |
| 1b920 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a | yon-read-code-byte).result)))).. |
| 1b940 | 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 2d 75 6e 64 | (defun.malyon-opcode-restore-und |
| 1b960 | 6f 20 28 29 0a 20 20 22 52 65 73 74 6f 72 65 20 67 61 6d 65 20 73 74 61 74 65 20 66 6f 72 20 75 | o.()..."Restore.game.state.for.u |
| 1b980 | 6e 64 6f 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 75 6e | ndo."...(if.malyon-game-state-un |
| 1b9a0 | 64 6f 0a 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 | do.......(malyon-set-game-state. |
| 1b9c0 | 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 29 29 0a 20 20 28 6d 61 6c 79 | malyon-game-state-undo))...(maly |
| 1b9e0 | 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 63 | on-store-variable.(malyon-read-c |
| 1ba00 | 6f 64 65 2d 62 79 74 65 29 20 32 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 | ode-byte).2))..(defun.malyon-opc |
| 1ba20 | 6f 64 65 2d 72 65 74 20 28 76 61 6c 75 65 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 76 61 6c 75 | ode-ret.(value)..."Return.a.valu |
| 1ba40 | 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 76 61 6c 75 65 29 29 0a 0a 28 64 | e."...(malyon-return.value))..(d |
| 1ba60 | 65 66 75 6e 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 20 28 29 | efun.malyon-opcode-ret-popped.() |
| 1ba80 | 0a 20 20 22 52 65 74 75 72 6e 20 74 6f 70 20 6f 66 20 73 74 61 63 6b 2e 22 0a 20 20 28 6d 61 6c | ..."Return.top.of.stack."...(mal |
| 1baa0 | 79 6f 6e 2d 72 65 74 75 72 6e 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 29 29 0a | yon-return.(malyon-pop-stack))). |
| 1bac0 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 72 66 61 6c 73 65 20 28 29 0a | .(defun.malyon-opcode-rfalse.(). |
| 1bae0 | 20 20 22 52 65 74 75 72 6e 20 66 61 6c 73 65 2f 30 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 | .."Return.false/0."...(malyon-re |
| 1bb00 | 74 75 72 6e 20 30 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 72 | turn.0))..(defun.malyon-opcode-r |
| 1bb20 | 74 72 75 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 72 75 65 2f 31 2e 22 0a 20 20 28 6d 61 | true.()..."Return.true/1."...(ma |
| 1bb40 | 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 6e 2d 6f | lyon-return.1))..(defun.malyon-o |
| 1bb60 | 70 63 6f 64 65 2d 73 61 76 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 74 61 62 6c 65 20 62 79 74 65 | pcode-save.(&optional.table.byte |
| 1bb80 | 73 20 6e 61 6d 65 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 67 61 6d 65 | s.name)..."Save.the.current.game |
| 1bba0 | 20 73 74 61 74 65 20 6f 72 20 61 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f | .state.or.a.section.of.memory.to |
| 1bbc0 | 20 61 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 69 66 20 6e 61 | .a.file."...(let.((result.(if.na |
| 1bbe0 | 6d 65 0a 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 73 | me.....................(malyon-s |
| 1bc00 | 61 76 65 2d 66 69 6c 65 20 28 6d 61 6c 79 6f 6e 2d 67 65 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e | ave-file.(malyon-get-file-name.n |
| 1bc20 | 61 6d 65 29 20 74 61 62 6c 65 20 62 79 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ame).table.bytes)............... |
| 1bc40 | 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 27 6d 61 6c 79 6f 6e 2d | ....(call-interactively.'malyon- |
| 1bc60 | 73 61 76 65 2d 66 69 6c 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d | save-file)))).....(if.(<.malyon- |
| 1bc80 | 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 28 6d 61 6c 79 6f 6e | story-version.5).........(malyon |
| 1bca0 | 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 72 65 73 75 6c 74 29 29 29 0a 20 | -jump-if.(not.(zerop.result))).. |
| 1bcc0 | 20 20 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 | .....(malyon-store-variable.(mal |
| 1bce0 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 0a | yon-read-code-byte).result)))).. |
| 1bd00 | 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 2d 75 6e 64 6f 20 28 | (defun.malyon-opcode-save-undo.( |
| 1bd20 | 29 0a 20 20 22 53 61 76 65 20 67 61 6d 65 20 73 74 61 74 65 20 66 6f 72 20 75 6e 64 6f 2e 22 0a | )..."Save.game.state.for.undo.". |
| 1bd40 | 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 67 61 6d 65 2d 73 74 61 74 65 2d 75 6e 64 6f 20 28 | ..(setq.malyon-game-state-undo.( |
| 1bd60 | 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 0a 20 20 28 6d | malyon-current-game-state))...(m |
| 1bd80 | 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 62 79 74 65 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 63 6f | alyon-store-byte.(malyon-read-co |
| 1bda0 | 64 65 2d 62 79 74 65 29 20 31 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f | de-byte).1))..(defun.malyon-opco |
| 1bdc0 | 64 65 2d 73 63 61 6e 2d 74 61 62 6c 65 20 28 78 20 74 61 62 6c 65 20 6c 65 6e 20 26 6f 70 74 69 | de-scan-table.(x.table.len.&opti |
| 1bde0 | 6f 6e 61 6c 20 66 6f 72 6d 29 0a 20 20 22 53 63 61 6e 20 74 68 65 20 67 69 76 65 6e 20 74 61 62 | onal.form)..."Scan.the.given.tab |
| 1be00 | 6c 65 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 78 | le.for.the.first.occurrence.of.x |
| 1be20 | 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 66 6f 72 6d 29 20 28 73 65 74 71 20 66 6f 72 6d 20 31 | ."...(if.(not.form).(setq.form.1 |
| 1be40 | 33 30 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 63 20 28 6c 6f 67 61 6e 64 20 31 32 37 20 66 6f | 30))...(let.((inc.(logand.127.fo |
| 1be60 | 72 6d 29 29 0a 20 20 20 20 20 20 20 20 28 62 79 74 65 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e | rm)).........(byte.(zerop.(logan |
| 1be80 | 64 20 31 32 38 20 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 72 20 74 61 62 6c | d.128.form))).........(addr.tabl |
| 1bea0 | 65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 75 6e 64 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 6e | e).........(found.0).........(in |
| 1bec0 | 64 65 78 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 66 | dex.0)).....(while.(and.(zerop.f |
| 1bee0 | 6f 75 6e 64 29 20 28 3c 20 69 6e 64 65 78 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 | ound).(<.index.len)).......(setq |
| 1bf00 | 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 62 79 74 65 0a 20 20 20 20 | .found.............(if.byte..... |
| 1bf20 | 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 79 6f 6e 2d 72 65 61 | ............(if.(=.x.(malyon-rea |
| 1bf40 | 64 2d 62 79 74 65 20 61 64 64 72 29 29 20 61 64 64 72 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 | d-byte.addr)).addr.0)........... |
| 1bf60 | 20 20 20 20 28 69 66 20 28 3d 20 78 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 61 | ....(if.(=.x.(malyon-read-word.a |
| 1bf80 | 64 64 72 29 29 20 61 64 64 72 20 30 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 64 64 72 | ddr)).addr.0))).......(setq.addr |
| 1bfa0 | 20 28 2b 20 61 64 64 72 20 69 6e 63 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 64 65 78 | .(+.addr.inc)).......(setq.index |
| 1bfc0 | 20 28 2b 20 69 6e 64 65 78 20 31 29 29 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 | .(+.index.1))).....(malyon-store |
| 1bfe0 | 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 65 | -variable.(malyon-read-code-byte |
| 1c000 | 29 20 66 6f 75 6e 64 29 0a 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 20 28 6e 6f | ).found).....(malyon-jump-if.(no |
| 1c020 | 74 20 28 7a 65 72 6f 70 20 66 6f 75 6e 64 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | t.(zerop.found)))))..(defun.maly |
| 1c040 | 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 61 74 74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69 | on-opcode-set-attr.(object.attri |
| 1c060 | 62 75 74 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 67 69 76 65 6e 20 61 74 74 72 69 62 75 74 65 | bute)..."Set.the.given.attribute |
| 1c080 | 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 28 | .in.the.given.object."...(let.(( |
| 1c0a0 | 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 73 | attributes.(malyon-object-addres |
| 1c0c0 | 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 28 | s.object)).........(byte.......( |
| 1c0e0 | 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 2d | lsh.attribute.-3))).....(malyon- |
| 1c100 | 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 20 | store-byte.(+.attributes.byte).. |
| 1c120 | 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 69 6f 72 20 28 6d | ......................(logior.(m |
| 1c140 | 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 79 | alyon-read-byte.(+.attributes.by |
| 1c160 | 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 20 | te))............................ |
| 1c180 | 20 20 20 20 28 6c 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 6e 64 20 61 74 74 72 69 62 75 74 | ....(lsh.128.(-.(logand.attribut |
| 1c1a0 | 65 20 37 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 | e.7)))))))..(defun.malyon-opcode |
| 1c1c0 | 2d 73 65 74 2d 63 6f 6c 6f 72 20 28 66 6f 72 65 67 72 6f 75 6e 64 20 62 61 63 6b 67 72 6f 75 6e | -set-color.(foreground.backgroun |
| 1c1e0 | 64 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66 6f 72 65 2d 20 61 6e 64 20 62 61 63 6b 67 72 6f | d)..."Sets.the.fore-.and.backgro |
| 1c200 | 75 6e 64 20 63 6f 6c 6f 72 73 20 69 65 2e 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 2e 22 29 0a 0a | und.colors.ie..does.nothing.").. |
| 1c220 | 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 63 75 72 73 6f 72 20 | (defun.malyon-opcode-set-cursor. |
| 1c240 | 28 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 6e 65 20 63 6f 6c 75 6d 6e 29 0a 20 20 22 53 65 74 20 74 | (&optional.line.column)..."Set.t |
| 1c260 | 68 65 20 63 75 72 73 6f 72 2e 22 0a 20 20 28 69 66 20 28 65 71 20 6d 61 6c 79 6f 6e 2d 74 72 61 | he.cursor."...(if.(eq.malyon-tra |
| 1c280 | 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)) |
| 1c2a0 | 0a 20 20 20 20 20 20 3b 3b 20 73 65 74 2d 63 75 72 73 6f 72 20 69 73 20 6e 6f 74 20 63 75 72 72 | .......;;.set-cursor.is.not.curr |
| 1c2c0 | 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 74 68 65 20 74 72 61 6e 73 63 72 69 70 | ently.supported.in.the.transcrip |
| 1c2e0 | 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3b 3b 20 49 74 20 6a 75 73 74 20 6a 75 6d 70 73 | t.buffer........;;.It.just.jumps |
| 1c300 | 20 74 6f 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 | .to.the.end........(goto-char.(p |
| 1c320 | 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 3b 3b 20 57 65 27 72 65 20 73 65 74 74 69 6e 67 20 | oint-max)).....;;.We're.setting. |
| 1c340 | 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 61 74 75 73 20 62 75 66 66 65 | the.position.in.the.status.buffe |
| 1c360 | 72 0a 20 20 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 | r.....(if.malyon-status-buffer-d |
| 1c380 | 65 6c 61 79 65 64 2d 73 70 6c 69 74 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 | elayed-split.........(progn..... |
| 1c3a0 | 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 72 2d 77 69 6e 64 6f | ......(malyon-split-buffer-windo |
| 1c3c0 | 77 73 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 65 64 2d | ws.malyon-status-buffer-delayed- |
| 1c3e0 | 73 70 6c 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 31 | split)...........(other-window.1 |
| 1c400 | 29 29 29 0a 20 20 20 20 28 69 66 20 6c 69 6e 65 20 20 20 27 28 29 20 28 73 65 74 71 20 6c 69 6e | ))).....(if.line...'().(setq.lin |
| 1c420 | 65 20 20 20 28 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f | e...(count-lines.(point-min).(po |
| 1c440 | 69 6e 74 29 29 29 29 0a 20 20 20 20 28 69 66 20 63 6f 6c 75 6d 6e 20 27 28 29 20 28 73 65 74 71 | int)))).....(if.column.'().(setq |
| 1c460 | 20 63 6f 6c 75 6d 6e 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 20 20 20 28 | .column.(current-column))).....( |
| 1c480 | 69 66 20 28 3e 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 2d | if.(>.line.malyon-status-buffer- |
| 1c4a0 | 6c 69 6e 65 73 29 0a 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 | lines).........(progn........... |
| 1c4c0 | 28 6d 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 6c 69 6e | (malyon-split-buffer-windows.lin |
| 1c4e0 | 65 29 0a 20 20 20 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 | e)...........(other-window.1))). |
| 1c500 | 20 20 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 20 20 20 20 | ....(goto-char.(point-min))..... |
| 1c520 | 28 69 66 20 28 61 6e 64 20 28 3c 20 31 20 6c 69 6e 65 29 20 28 3c 3d 20 6c 69 6e 65 20 6d 61 6c | (if.(and.(<.1.line).(<=.line.mal |
| 1c540 | 79 6f 6e 2d 73 74 61 74 75 73 2d 62 75 66 66 65 72 2d 6c 69 6e 65 73 29 29 0a 20 20 20 20 20 20 | yon-status-buffer-lines))....... |
| 1c560 | 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 28 31 2d 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 | ..(forward-line.(1-.line))...... |
| 1c580 | 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 28 69 66 20 28 61 | .(beginning-of-line)).....(if.(a |
| 1c5a0 | 6e 64 20 28 3c 20 31 20 63 6f 6c 75 6d 6e 29 20 28 3c 3d 20 63 6f 6c 75 6d 6e 20 6d 61 6c 79 6f | nd.(<.1.column).(<=.column.malyo |
| 1c5c0 | 6e 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d | n-max-column)).........(forward- |
| 1c5e0 | 63 68 61 72 20 28 31 2d 20 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 | char.(1-.column)).......(beginni |
| 1c600 | 6e 67 2d 6f 66 2d 6c 69 6e 65 29 29 0a 20 20 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 73 74 | ng-of-line)).....(setq.malyon-st |
| 1c620 | 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 29 29 0a 0a 28 64 | atus-buffer-point.(point))))..(d |
| 1c640 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 66 6f 6e 74 20 28 66 6f 6e | efun.malyon-opcode-set-font.(fon |
| 1c660 | 74 29 0a 20 20 22 53 65 74 73 20 74 68 65 20 66 6f 6e 74 20 69 66 20 61 76 61 69 6c 61 62 6c 65 | t)..."Sets.the.font.if.available |
| 1c680 | 20 6f 72 20 30 20 6f 74 68 65 72 77 69 73 65 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 | .or.0.otherwise."...(malyon-stor |
| 1c6a0 | 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 |
| 1c6c0 | 65 29 20 30 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 | e).0))..(defun.malyon-opcode-set |
| 1c6e0 | 2d 74 65 78 74 2d 73 74 79 6c 65 20 28 73 74 79 6c 65 29 0a 20 20 22 53 65 74 20 74 68 65 20 74 | -text-style.(style)..."Set.the.t |
| 1c700 | 65 78 74 20 73 74 79 6c 65 2f 66 61 63 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 61 63 65 20 28 | ext.style/face."...(let.((face.( |
| 1c720 | 61 73 73 71 20 73 74 79 6c 65 20 6d 61 6c 79 6f 6e 2d 66 61 63 65 73 29 29 29 0a 20 20 20 20 28 | assq.style.malyon-faces))).....( |
| 1c740 | 73 65 74 71 20 6d 61 6c 79 6f 6e 2d 63 75 72 72 65 6e 74 2d 66 61 63 65 20 28 69 66 20 66 61 63 | setq.malyon-current-face.(if.fac |
| 1c760 | 65 20 28 63 64 72 20 66 61 63 65 29 20 27 6d 61 6c 79 6f 6e 2d 66 61 63 65 2d 70 6c 61 69 6e 29 | e.(cdr.face).'malyon-face-plain) |
| 1c780 | 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 73 65 74 2d 77 69 | )))..(defun.malyon-opcode-set-wi |
| 1c7a0 | 6e 64 6f 77 20 28 77 69 6e 64 6f 77 29 0a 20 20 22 53 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 | ndow.(window)..."Set.the.current |
| 1c7c0 | 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 73 74 6f 72 65 2d 77 69 6e 64 | .window."...(malyon-restore-wind |
| 1c7e0 | 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 0a 20 20 28 73 65 74 71 20 6d 61 6c 79 6f 6e | ow-configuration)...(setq.malyon |
| 1c800 | 2d 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 20 77 69 6e 64 6f 77 29 0a 20 20 28 6d 61 6c 79 6f | -current-window.window)...(malyo |
| 1c820 | 6e 2d 75 70 64 61 74 65 2d 6f 75 74 70 75 74 2d 73 74 72 65 61 6d 73 29 0a 20 20 28 69 66 20 28 | n-update-output-streams)...(if.( |
| 1c840 | 7a 65 72 6f 70 20 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 | zerop.window).......(if.(not.(eq |
| 1c860 | 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 75 72 72 65 | .malyon-transcript-buffer.(curre |
| 1c880 | 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 2d 77 69 | nt-buffer)))...........(other-wi |
| 1c8a0 | 6e 64 6f 77 20 31 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 20 6d 61 6c 79 6f 6e | ndow.1)).....(if.(not.(eq.malyon |
| 1c8c0 | 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 72 29 29 | -status-buffer.(current-buffer)) |
| 1c8e0 | 29 0a 20 20 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 | ).........(other-window.1))..... |
| 1c900 | 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 31 20 31 29 29 29 | (malyon-opcode-set-cursor.1.1))) |
| 1c920 | 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 68 6f 77 2d 73 74 61 74 | ..(defun.malyon-opcode-show-stat |
| 1c940 | 75 73 20 28 29 0a 20 20 22 44 69 73 70 6c 61 79 20 74 68 65 20 73 74 61 74 75 73 20 6c 69 6e 65 | us.()..."Display.the.status.line |
| 1c960 | 2e 22 0a 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 | ."...(save-excursion.....(let.(( |
| 1c980 | 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 63 65 | malyon-current-face.'malyon-face |
| 1c9a0 | 2d 72 65 76 65 72 73 65 29 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d | -reverse)).......(malyon-opcode- |
| 1c9c0 | 73 70 6c 69 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 72 65 | split-window.1).......(malyon-re |
| 1c9e0 | 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 0a 20 20 20 20 | store-window-configuration)..... |
| 1ca00 | 20 20 28 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 31 29 0a 20 | ..(malyon-opcode-set-window.1).. |
| 1ca20 | 20 20 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 | .....(malyon-prepare-status-buff |
| 1ca40 | 65 72 20 31 29 0a 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 | er.1).......(put-text-property.( |
| 1ca60 | 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 27 66 61 63 65 20 27 6d 61 | point-min).(point-max).'face.'ma |
| 1ca80 | 6c 79 6f 6e 2d 66 61 63 65 2d 72 65 76 65 72 73 65 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e | lyon-face-reverse).......(malyon |
| 1caa0 | 2d 6f 70 63 6f 64 65 2d 73 65 74 2d 63 75 72 73 6f 72 20 31 20 31 29 0a 20 20 20 20 20 20 28 6d | -opcode-set-cursor.1.1).......(m |
| 1cac0 | 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 70 72 69 6e 74 2d 6f 62 6a 20 28 6d 61 6c 79 6f 6e 2d 72 | alyon-opcode-print-obj.(malyon-r |
| 1cae0 | 65 61 64 2d 67 6c 6f 62 61 6c 2d 76 61 72 69 61 62 6c 65 20 30 29 29 0a 20 20 20 20 20 20 28 69 | ead-global-variable.0)).......(i |
| 1cb00 | 66 20 28 3c 3d 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 20 28 2d 20 28 63 75 72 72 65 | f.(<=.(current-column).(-.(curre |
| 1cb20 | 6e 74 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 29 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | nt-fill-column).10))...........( |
| 1cb40 | 6c 65 74 2a 20 28 28 78 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 67 6c 6f 62 61 6c | let*.((x.....(malyon-read-global |
| 1cb60 | 2d 76 61 72 69 61 62 6c 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -variable.1))..................( |
| 1cb80 | 79 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 61 72 69 61 62 | y.....(malyon-read-global-variab |
| 1cba0 | 6c 65 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 6f 75 72 73 20 28 | le.2))..................(hours.( |
| 1cbc0 | 69 66 20 28 3e 20 78 20 31 32 29 20 28 2d 20 78 20 31 32 29 20 78 29 29 0a 20 20 20 20 20 20 20 | if.(>.x.12).(-.x.12).x))........ |
| 1cbe0 | 20 20 20 20 20 20 20 20 20 20 28 61 6d 70 6d 20 20 28 69 66 20 28 3e 20 78 20 31 32 29 20 22 50 | ..........(ampm..(if.(>.x.12)."P |
| 1cc00 | 4d 22 20 22 41 4d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 63 6f 72 | M"."AM"))..................(scor |
| 1cc20 | 65 20 28 66 6f 72 6d 61 74 20 22 25 34 64 2f 25 34 64 22 20 78 20 79 29 29 0a 20 20 20 20 20 20 | e.(format."%4d/%4d".x.y))....... |
| 1cc40 | 20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d 65 20 20 28 66 6f 72 6d 61 74 20 22 25 30 32 64 3a | ...........(time..(format."%02d: |
| 1cc60 | 25 30 32 64 25 73 22 20 68 6f 75 72 73 20 79 20 61 6d 70 6d 29 29 29 0a 20 20 20 20 20 20 20 20 | %02d%s".hours.y.ampm)))......... |
| 1cc80 | 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 72 20 31 20 | ....(malyon-opcode-set-cursor.1. |
| 1cca0 | 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 30 29 29 0a 20 20 | (-.(current-fill-column).10))... |
| 1ccc0 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 72 69 6e 74 20 28 69 66 20 6d 61 6c 79 | ..........(malyon-print.(if.maly |
| 1cce0 | 6f 6e 2d 73 63 6f 72 65 2d 67 61 6d 65 20 73 63 6f 72 65 20 74 69 6d 65 29 29 29 29 29 0a 20 20 | on-score-game.score.time)))))... |
| 1cd00 | 20 20 28 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 30 29 0a 20 | ..(malyon-opcode-set-window.0).. |
| 1cd20 | 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 0a | ...(malyon-adjust-transcript))). |
| 1cd40 | 0a 28 64 65 66 75 6e 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 | .(defun.malyon-opcode-split-wind |
| 1cd60 | 6f 77 20 28 73 69 7a 65 29 0a 20 20 22 53 70 6c 69 74 20 75 70 70 65 72 20 61 6e 64 20 6c 6f 77 | ow.(size)..."Split.upper.and.low |
| 1cd80 | 65 72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 65 74 2d 77 69 6e 64 6f 77 | er.window."...(malyon-set-window |
| 1cda0 | 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 69 7a 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 | -configuration.size))..(defun.ma |
| 1cdc0 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 73 74 6f 72 65 20 28 76 61 72 69 61 62 6c 65 20 76 61 6c 75 | lyon-opcode-store.(variable.valu |
| 1cde0 | 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 76 61 72 69 61 62 6c | e)..."Store.a.value.in.a.variabl |
| 1ce00 | 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 76 61 72 | e."...(malyon-store-variable.var |
| 1ce20 | 69 61 62 6c 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 6f 70 63 | iable.value))..(defun.malyon-opc |
| 1ce40 | 6f 64 65 2d 73 74 6f 72 65 62 20 28 61 72 72 61 79 20 69 6e 64 65 78 20 76 61 6c 75 65 29 0a 20 | ode-storeb.(array.index.value).. |
| 1ce60 | 20 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 | ."Store.a.value.in.an.array.at.t |
| 1ce80 | 68 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 | he.given.index."...(malyon-store |
| 1cea0 | 2d 62 79 74 65 20 28 2b 20 61 72 72 61 79 20 69 6e 64 65 78 29 20 76 61 6c 75 65 29 29 0a 0a 28 | -byte.(+.array.index).value))..( |
| 1cec0 | 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 77 20 28 61 72 72 61 | defun.malyon-opcode-storew.(arra |
| 1cee0 | 79 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 | y.index.value)..."Store.a.value. |
| 1cf00 | 69 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 | in.an.array.at.the.given.index." |
| 1cf20 | 0a 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 77 6f 72 64 20 28 2b 20 61 72 72 61 79 20 28 | ...(malyon-store-word.(+.array.( |
| 1cf40 | 2a 20 32 20 69 6e 64 65 78 29 29 20 76 61 6c 75 65 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 | *.2.index)).value))..(defun.maly |
| 1cf60 | 6f 6e 2d 6f 70 63 6f 64 65 2d 73 75 62 20 28 61 20 62 29 0a 20 20 22 53 75 62 74 72 61 63 74 69 | on-opcode-sub.(a.b)..."Subtracti |
| 1cf80 | 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 65 20 28 6d | on."...(malyon-store-variable.(m |
| 1cfa0 | 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 20 20 | alyon-read-code-byte)........... |
| 1cfc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 6d 61 6c 79 6f 6e 2d 6e 75 6d 62 65 72 | ...............(-.(malyon-number |
| 1cfe0 | 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 65 66 75 6e | .a).(malyon-number.b))))..(defun |
| 1d000 | 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 65 73 74 20 28 62 69 74 6d 61 70 20 66 6c 61 67 | .malyon-opcode-test.(bitmap.flag |
| 1d020 | 73 29 0a 20 20 22 54 65 73 74 20 69 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6c 61 67 73 20 61 | s)..."Test.if.all.of.the.flags.a |
| 1d040 | 72 65 20 73 65 74 20 69 6e 20 74 68 65 20 62 69 74 6d 61 70 2e 22 0a 20 20 28 6d 61 6c 79 6f 6e | re.set.in.the.bitmap."...(malyon |
| 1d060 | 2d 6a 75 6d 70 2d 69 66 20 28 3d 20 66 6c 61 67 73 20 28 6c 6f 67 61 6e 64 20 62 69 74 6d 61 70 | -jump-if.(=.flags.(logand.bitmap |
| 1d080 | 20 66 6c 61 67 73 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 | .flags))))..(defun.malyon-opcode |
| 1d0a0 | 2d 74 65 73 74 2d 61 74 74 72 20 28 6f 62 6a 65 63 74 20 61 74 74 72 69 62 75 74 65 29 0a 20 20 | -test-attr.(object.attribute)... |
| 1d0c0 | 22 4a 75 6d 70 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 67 69 76 65 6e 20 61 74 74 | "Jump.depending.on.the.given.att |
| 1d0e0 | 72 69 62 75 74 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 | ribute.in.the.given.object."...( |
| 1d100 | 6d 61 6c 79 6f 6e 2d 6a 75 6d 70 2d 69 66 0a 20 20 20 28 2f 3d 20 30 20 28 6c 6f 67 61 6e 64 20 | malyon-jump-if....(/=.0.(logand. |
| 1d120 | 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 28 2b 20 28 6d 61 6c 79 6f 6e 2d 6f 62 6a | (malyon-read-byte.(+.(malyon-obj |
| 1d140 | 65 63 74 2d 61 64 64 72 65 73 73 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ect-address.object)............. |
| 1d160 | 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 6c 73 68 20 61 | ..........................(lsh.a |
| 1d180 | 74 74 72 69 62 75 74 65 20 2d 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ttribute.-3))).................. |
| 1d1a0 | 28 6c 73 68 20 31 32 38 20 28 2d 20 28 6c 6f 67 61 6e 64 20 61 74 74 72 69 62 75 74 65 20 37 29 | (lsh.128.(-.(logand.attribute.7) |
| 1d1c0 | 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 74 68 72 | ))))))..(defun.malyon-opcode-thr |
| 1d1e0 | 6f 77 20 28 76 61 6c 75 65 20 66 72 61 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 72 6f 6d 20 | ow.(value.frame)..."Return.from. |
| 1d200 | 74 68 65 20 67 69 76 65 6e 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 22 0a 20 20 28 69 66 20 6d 61 | the.given.stack.frame."...(if.ma |
| 1d220 | 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 28 6c | lyon-game-state-quetzal.......(l |
| 1d240 | 65 74 20 28 28 69 64 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 63 6b 20 | et.((id.(lsh.(aref.malyon-stack. |
| 1d260 | 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 29 29 0a 20 20 20 20 | malyon-frame-pointer).-8)))..... |
| 1d280 | 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 66 72 61 6d 65 20 69 64 29 0a 20 20 20 20 20 20 20 | ....(while.(/=.frame.id)........ |
| 1d2a0 | 20 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 6d 61 | ...(setq.malyon-stack-pointer.ma |
| 1d2c0 | 6c 79 6f 6e 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d | lyon-frame-pointer)...........(m |
| 1d2e0 | 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | alyon-pop-stack)...........(setq |
| 1d300 | 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 20 20 | .malyon-frame-pointer........... |
| 1d320 | 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 72 20 31 20 | ......(-.malyon-stack-pointer.1. |
| 1d340 | 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 29 0a 20 20 | (lsh.(malyon-pop-stack).-8)))... |
| 1d360 | 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 20 20 20 20 20 | ........(malyon-pop-stack)...... |
| 1d380 | 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 70 6f 70 2d 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 | .....(malyon-pop-stack)......... |
| 1d3a0 | 20 20 28 73 65 74 71 20 69 64 20 28 6c 73 68 20 28 61 72 65 66 20 6d 61 6c 79 6f 6e 2d 73 74 61 | ..(setq.id.(lsh.(aref.malyon-sta |
| 1d3c0 | 63 6b 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 29 29 29 0a | ck.malyon-frame-pointer).-8)))). |
| 1d3e0 | 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 6e 74 65 72 20 66 | ....(setq.malyon-frame-pointer.f |
| 1d400 | 72 61 6d 65 29 29 0a 20 20 28 6d 61 6c 79 6f 6e 2d 72 65 74 75 72 6e 20 76 61 6c 75 65 29 29 0a | rame))...(malyon-return.value)). |
| 1d420 | 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 28 | .(defun.malyon-opcode-tokenise.( |
| 1d440 | 74 65 78 74 20 70 61 72 73 65 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 63 74 20 66 6c 61 67 29 0a | text.parse.&optional.dict.flag). |
| 1d460 | 20 20 22 50 65 72 66 6f 72 6d 20 6c 65 78 69 63 61 6c 20 61 6e 61 6c 79 73 69 73 20 6f 6e 20 74 | .."Perform.lexical.analysis.on.t |
| 1d480 | 68 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 77 6f 72 64 73 | he.text.buffer."...(let*.((words |
| 1d4a0 | 20 28 6d 61 6c 79 6f 6e 2d 74 65 78 74 2d 74 6f 2d 77 6f 72 64 73 20 74 65 78 74 20 64 69 63 74 | .(malyon-text-to-words.text.dict |
| 1d4c0 | 29 29 0a 09 20 28 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 | ))...(word..(car...........words |
| 1d4e0 | 29 29 0a 09 20 28 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 | ))...(start.(car...........word) |
| 1d500 | 29 0a 09 20 28 6c 65 6e 20 20 20 28 63 61 64 72 20 20 20 77 6f 72 64 29 29 0a 09 20 28 63 6f 64 | )...(len...(cadr...word))...(cod |
| 1d520 | 65 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f 72 64 29 29 0a 09 20 28 65 6e 74 72 79 20 28 6d | e..(cl-caddr..word))...(entry.(m |
| 1d540 | 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 63 74 20 63 6f 64 65 29 29 0a 09 20 28 69 20 20 20 | alyon-lookup.dict.code))...(i... |
| 1d560 | 20 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 6e 75 6c 6c 20 | ..0)).....(while.(not.(or.(null. |
| 1d580 | 77 6f 72 64 73 29 20 28 3d 20 69 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 79 74 65 20 70 61 | words).(=.i.(malyon-read-byte.pa |
| 1d5a0 | 72 73 65 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 7a 65 72 6f 70 20 65 6e | rse)))).......(if.(and.(zerop.en |
| 1d5c0 | 74 72 79 29 20 66 6c 61 67 20 28 2f 3d 20 30 20 66 6c 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 | try).flag.(/=.0.flag)).......... |
| 1d5e0 | 20 27 28 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 | .'().........(malyon-store-word. |
| 1d600 | 28 2b 20 32 20 70 61 72 73 65 20 28 2a 20 34 20 69 29 29 20 65 6e 74 72 79 29 0a 20 20 20 20 20 | (+.2.parse.(*.4.i)).entry)...... |
| 1d620 | 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 70 61 72 73 65 | ...(malyon-store-byte.(+.4.parse |
| 1d640 | 20 28 2a 20 34 20 69 29 29 20 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 | .(*.4.i)).len).........(malyon-s |
| 1d660 | 74 6f 72 65 2d 62 79 74 65 20 28 2b 20 35 20 70 61 72 73 65 20 28 2a 20 34 20 69 29 29 20 73 74 | tore-byte.(+.5.parse.(*.4.i)).st |
| 1d680 | 61 72 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 73 20 28 63 64 72 20 20 20 20 | art)).......(setq.words.(cdr.... |
| 1d6a0 | 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09 20 20 20 20 77 6f 72 64 20 20 28 63 61 72 20 20 20 | .......words)......word..(car... |
| 1d6c0 | 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 0a 09 20 20 20 20 73 74 61 72 74 20 28 63 61 72 20 20 | ........words)......start.(car.. |
| 1d6e0 | 20 20 20 20 20 20 20 20 20 77 6f 72 64 29 0a 09 20 20 20 20 6c 65 6e 20 20 20 28 63 61 64 72 20 | .........word)......len...(cadr. |
| 1d700 | 20 20 77 6f 72 64 29 0a 09 20 20 20 20 63 6f 64 65 20 20 28 63 6c 2d 63 61 64 64 72 20 20 77 6f | ..word)......code..(cl-caddr..wo |
| 1d720 | 72 64 29 0a 09 20 20 20 20 65 6e 74 72 79 20 28 6d 61 6c 79 6f 6e 2d 6c 6f 6f 6b 75 70 20 64 69 | rd)......entry.(malyon-lookup.di |
| 1d740 | 63 74 20 63 6f 64 65 29 0a 09 20 20 20 20 69 20 20 20 20 20 28 2b 20 31 20 69 29 29 29 0a 20 20 | ct.code)......i.....(+.1.i)))... |
| 1d760 | 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 70 61 72 73 65 29 | ..(malyon-store-byte.(+.1.parse) |
| 1d780 | 20 69 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 76 65 72 69 | .i)))..(defun.malyon-opcode-veri |
| 1d7a0 | 66 79 20 28 29 0a 20 20 22 56 65 72 69 66 79 20 74 68 65 20 63 6f 72 72 65 63 74 6e 65 73 73 20 | fy.()..."Verify.the.correctness. |
| 1d7c0 | 6f 66 20 74 68 65 20 73 74 6f 72 79 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e | of.the.story.file."...(let.((len |
| 1d7e0 | 67 74 68 20 28 2b 20 31 20 28 2a 20 6d 61 6c 79 6f 6e 2d 70 61 63 6b 65 64 2d 6d 75 6c 74 69 70 | gth.(+.1.(*.malyon-packed-multip |
| 1d800 | 6c 69 65 72 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 36 29 29 29 29 0a 20 20 | lier.(malyon-read-word.26))))... |
| 1d820 | 20 20 20 20 20 20 28 73 75 6d 20 20 20 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 20 20 20 20 20 | ......(sum....0).........(i..... |
| 1d840 | 20 36 34 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 6c 65 6e 67 74 68 29 0a 20 20 | .64)).....(while.(<.i.length)... |
| 1d860 | 20 20 20 20 28 73 65 74 71 20 73 75 6d 20 28 6d 6f 64 20 28 2b 20 73 75 6d 20 28 6d 61 6c 79 6f | ....(setq.sum.(mod.(+.sum.(malyo |
| 1d880 | 6e 2d 72 65 61 64 2d 62 79 74 65 20 69 29 29 20 36 35 35 33 36 29 0a 20 20 20 20 20 20 20 20 20 | n-read-byte.i)).65536).......... |
| 1d8a0 | 20 20 20 69 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 6a 75 6d | ...i...(+.1.i))).....(malyon-jum |
| 1d8c0 | 70 2d 69 66 20 28 3d 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 77 6f 72 64 20 32 38 29 20 73 75 | p-if.(=.(malyon-read-word.28).su |
| 1d8e0 | 6d 29 29 29 29 0a 0a 3b 3b 20 6b 65 79 6d 61 70 20 75 74 69 6c 69 74 69 65 73 0a 0a 28 64 65 66 | m))))..;;.keymap.utilities..(def |
| 1d900 | 75 6e 20 6d 61 6c 79 6f 6e 2d 65 6e 64 2d 69 6e 70 75 74 20 28 29 0a 20 20 22 53 74 6f 72 65 20 | un.malyon-end-input.()..."Store. |
| 1d920 | 74 68 65 20 69 6e 70 75 74 20 6c 69 6e 65 20 69 6e 20 61 20 74 65 78 74 20 62 75 66 66 65 72 20 | the.input.line.in.a.text.buffer. |
| 1d940 | 61 6e 64 20 70 65 72 66 6f 72 6d 20 6c 65 78 69 63 61 6c 20 61 6e 61 6c 79 73 69 73 2e 22 0a 20 | and.perform.lexical.analysis.".. |
| 1d960 | 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 68 69 64 65 2d 69 6e | .(interactive)...(malyon-hide-in |
| 1d980 | 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 64 20 69 6e 74 65 72 | ternal-errors."unspecified.inter |
| 1d9a0 | 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 70 72 6f 67 6e 0a 20 | nal.runtime.error.".....(progn.. |
| 1d9c0 | 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 63 72 69 70 74 29 0a | .....(malyon-adjust-transcript). |
| 1d9e0 | 20 20 20 20 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 | ......(switch-to-buffer.malyon-t |
| 1da00 | 72 61 6e 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | ranscript-buffer).......(goto-ch |
| 1da20 | 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e | ar.(point-max)).......(let*.((in |
| 1da40 | 70 75 74 20 28 64 6f 77 6e 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | put.(downcase................... |
| 1da60 | 20 20 20 28 62 75 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 | ...(buffer-substring-no-properti |
| 1da80 | 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 28 69 66 20 28 3c 20 | es.......................(if.(<. |
| 1daa0 | 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 28 | malyon-aread-beginning-of-line.( |
| 1dac0 | 70 6f 69 6e 74 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 | point))......................... |
| 1dae0 | 20 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 |
| 1db00 | 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 28 70 6f 69 6e 74 29 | .........................(point) |
| 1db20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 | ).......................(point)) |
| 1db40 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 20 20 28 73 74 72 69 6e 67 2d 74 6f | ))..............(vec..(string-to |
| 1db60 | 2d 76 65 63 74 6f 72 20 69 6e 70 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 | -vector.input))..............(te |
| 1db80 | 78 74 20 28 61 70 70 6c 79 20 27 76 65 63 74 6f 72 20 28 6d 61 70 63 61 72 20 27 6d 61 6c 79 6f | xt.(apply.'vector.(mapcar.'malyo |
| 1dba0 | 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 69 69 20 76 65 63 29 29 29 0a 20 20 20 20 20 20 | n-unicode-to-zscii.vec)))....... |
| 1dbc0 | 20 20 20 20 20 20 20 28 6c 65 6e 20 20 28 6d 69 6e 20 28 6d 61 6c 79 6f 6e 2d 72 65 61 64 2d 62 | .......(len..(min.(malyon-read-b |
| 1dbe0 | 79 74 65 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 29 20 28 6c 65 6e 67 74 68 20 74 | yte.malyon-aread-text).(length.t |
| 1dc00 | 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 20 20 20 20 30 29 29 0a 20 20 | ext)))..............(i....0))... |
| 1dc20 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 69 6e 73 65 72 74 20 69 6e 70 | ......(malyon-history-insert.inp |
| 1dc40 | 75 74 29 0a 20 20 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 | ut).........(if.(>=.malyon-story |
| 1dc60 | 2d 76 65 72 73 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 | -version.5).............(malyon- |
| 1dc80 | 73 74 6f 72 65 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 | store-byte.(+.malyon-aread-text. |
| 1dca0 | 31 29 20 6c 65 6e 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 | 1).len)).........(while.(<.i.len |
| 1dcc0 | 29 0a 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 0a 20 | )...........(malyon-store-byte.. |
| 1dce0 | 20 20 20 20 20 20 20 20 20 20 28 2b 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 28 | ..........(+.malyon-aread-text.( |
| 1dd00 | 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 20 31 20 | if.(<.malyon-story-version.5).1. |
| 1dd20 | 32 29 20 69 29 0a 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 | 2).i)............(malyon-char-to |
| 1dd40 | 2d 69 6e 74 20 28 61 72 65 66 20 74 65 78 74 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | -int.(aref.text.i)))...........( |
| 1dd60 | 73 65 74 71 20 69 20 28 2b 20 31 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 | setq.i.(+.1.i))).........(if.(<. |
| 1dd80 | 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 20 20 | malyon-story-version.5)......... |
| 1dda0 | 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 79 6f 6e | ....(malyon-store-byte.(+.malyon |
| 1ddc0 | 2d 61 72 65 61 64 2d 74 65 78 74 20 31 20 6c 65 6e 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 69 | -aread-text.1.len).0))).......(i |
| 1dde0 | 66 20 28 2f 3d 20 30 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 73 65 29 0a 20 20 20 20 | f.(/=.0.malyon-aread-parse)..... |
| 1de00 | 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 6f 70 63 6f 64 65 2d 74 6f 6b 65 6e 69 73 65 20 6d 61 | ......(malyon-opcode-tokenise.ma |
| 1de20 | 6c 79 6f 6e 2d 61 72 65 61 64 2d 74 65 78 74 20 6d 61 6c 79 6f 6e 2d 61 72 65 61 64 2d 70 61 72 | lyon-aread-text.malyon-aread-par |
| 1de40 | 73 65 29 29 0a 20 20 20 20 20 20 28 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 69 66 20 28 | se)).......(newline).......(if.( |
| 1de60 | 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)...... |
| 1de80 | 20 20 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 | .....(malyon-store-variable.(mal |
| 1dea0 | 79 6f 6e 2d 72 65 61 64 2d 63 6f 64 65 2d 62 79 74 65 29 20 31 30 29 29 0a 20 20 20 20 20 20 28 | yon-read-code-byte).10)).......( |
| 1dec0 | 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 |
| 1dee0 | 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 68 61 72 20 28 29 0a 20 20 22 50 61 67 65 20 64 6f 77 6e 20 | alyon-more-char.()..."Page.down. |
| 1df00 | 69 6e 20 4d 6f 72 65 20 6d 6f 64 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 | in.More.mode."...(interactive).. |
| 1df20 | 20 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 28 73 63 72 6f | .(condition-case.nil.......(scro |
| 1df40 | 6c 6c 2d 75 70 29 0a 20 20 20 20 28 65 72 72 6f 72 29 29 0a 20 20 28 69 66 20 28 3e 3d 20 28 63 | ll-up).....(error))...(if.(>=.(c |
| 1df60 | 6f 75 6e 74 2d 6c 69 6e 65 73 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a | ount-lines.(point).(point-max)). |
| 1df80 | 20 20 20 20 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 77 69 6e 64 6f 77 2d 64 69 73 70 6c 61 79 | ..........(malyon-window-display |
| 1dfa0 | 65 64 2d 68 65 69 67 68 74 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 5b 4d 6f 72 | ed-height)).......(message."[Mor |
| 1dfc0 | 65 5d 22 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 | e]").....(goto-char.(point-max)) |
| 1dfe0 | 0a 20 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 0a | .....(malyon-adjust-transcript). |
| 1e000 | 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 | ....(use-local-map.malyon-more-c |
| 1e020 | 6f 6e 74 69 6e 75 65 2d 6b 65 79 6d 61 70 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e | ontinue-keymap)))..(defun.malyon |
| 1e040 | 2d 6d 6f 72 65 2d 63 68 61 72 2d 73 74 61 74 75 73 20 28 29 0a 20 20 22 57 61 69 74 20 66 6f 72 | -more-char-status.()..."Wait.for |
| 1e060 | 20 61 20 6b 65 79 20 74 68 65 6e 20 63 6f 6e 74 69 6e 75 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 | .a.key.then.continue."...(intera |
| 1e080 | 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 65 72 6e 61 6c 2d 65 | ctive)...(malyon-hide-internal-e |
| 1e0a0 | 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 61 6c 20 72 75 6e 74 | rrors."unspecified.internal.runt |
| 1e0c0 | 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 20 20 20 20 28 6d 61 | ime.error.".....(progn.......(ma |
| 1e0e0 | 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 20 20 20 20 28 75 | lyon-adjust-transcript).......(u |
| 1e100 | 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 6d 61 6c 79 6f 6e 2d 6d 6f 72 65 2d 63 6f 6e 74 69 6e 75 | se-local-map.malyon-more-continu |
| 1e120 | 65 2d 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 69 6e 74 65 72 70 72 65 | e-keymap).......(malyon-interpre |
| 1e140 | 74 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 77 61 69 74 2d 63 68 61 72 | ter))))..(defun.malyon-wait-char |
| 1e160 | 20 28 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 | .()..."Store.the.input.character |
| 1e180 | 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 20 61 6e 64 20 72 65 73 75 6d 65 20 65 78 65 63 75 74 | .in.a.variable.and.resume.execut |
| 1e1a0 | 69 6f 6e 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 | ion."...(interactive)...(malyon- |
| 1e1c0 | 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 |
| 1e1e0 | 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.".....( |
| 1e200 | 70 72 6f 67 6e 0a 20 20 20 20 20 20 28 6d 61 6c 79 6f 6e 2d 73 74 6f 72 65 2d 76 61 72 69 61 62 | progn.......(malyon-store-variab |
| 1e220 | 6c 65 0a 20 20 20 20 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 | le........(malyon-read-code-byte |
| 1e240 | 29 0a 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 28 6d 61 | )........(malyon-char-to-int.(ma |
| 1e260 | 6c 79 6f 6e 2d 75 6e 69 63 6f 64 65 2d 74 6f 2d 7a 73 63 69 69 20 6c 61 73 74 2d 63 6f 6d 6d 61 | lyon-unicode-to-zscii.last-comma |
| 1e280 | 6e 64 2d 65 76 65 6e 74 29 29 29 0a 20 20 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 | nd-event))).......(use-local-map |
| 1e2a0 | 20 6d 61 6c 79 6f 6e 2d 6b 65 79 6d 61 70 2d 72 65 61 64 29 0a 20 20 20 20 20 20 28 6d 61 6c 79 | .malyon-keymap-read).......(maly |
| 1e2c0 | 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 61 6c 79 6f | on-interpreter))))..(defun.malyo |
| 1e2e0 | 6e 2d 68 69 73 74 6f 72 79 2d 70 72 65 76 69 6f 75 73 2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 | n-history-previous-char.(arg)... |
| 1e300 | 22 44 69 73 70 6c 61 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 69 74 65 6d 20 69 6e 20 74 68 | "Display.the.previous.item.in.th |
| 1e320 | 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 72 61 63 74 69 76 65 | e.input.history."...(interactive |
| 1e340 | 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 79 6f 6e 2d 68 69 73 | ."p")...(let.((input.(malyon-his |
| 1e360 | 74 6f 72 79 2d 70 72 65 76 69 6f 75 73 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 3e 20 6d | tory-previous))).....(cond.((>.m |
| 1e380 | 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 28 70 | alyon-aread-beginning-of-line.(p |
| 1e3a0 | 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 6c 79 6f | oint))............(funcall.malyo |
| 1e3c0 | 6e 2d 68 69 73 74 6f 72 79 2d 73 61 76 65 64 2d 75 70 20 61 72 67 29 29 0a 20 20 20 20 20 20 20 | n-history-saved-up.arg))........ |
| 1e3e0 | 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 63 75 72 72 65 | ...(input............(with-curre |
| 1e400 | 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 2d 62 75 66 66 | nt-buffer.malyon-transcript-buff |
| 1e420 | 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 69 6f 6e 20 6d | er..............(delete-region.m |
| 1e440 | 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 28 70 | alyon-aread-beginning-of-line.(p |
| 1e460 | 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 6f 2d 63 68 61 | oint-max)))............(goto-cha |
| 1e480 | 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 69 6e 73 65 72 | r.(point-max))............(inser |
| 1e4a0 | 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 2d 61 64 6a 75 | t.input)............(malyon-adju |
| 1e4c0 | 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 6d 61 6c 79 6f | st-transcript)))))..(defun.malyo |
| 1e4e0 | 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 74 2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44 69 73 | n-history-next-char.(arg)..."Dis |
| 1e500 | 70 6c 61 79 20 74 68 65 20 6e 65 78 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 | play.the.next.item.in.the.input. |
| 1e520 | 68 69 73 74 6f 72 79 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 | history."...(interactive."p")... |
| 1e540 | 28 6c 65 74 20 28 28 69 6e 70 75 74 20 28 6d 61 6c 79 6f 6e 2d 68 69 73 74 6f 72 79 2d 6e 65 78 | (let.((input.(malyon-history-nex |
| 1e560 | 74 29 29 29 0a 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 | t))).....(cond.((>.malyon-aread- |
| 1e580 | 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 20 20 20 | beginning-of-line.(point))...... |
| 1e5a0 | 20 20 20 20 20 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 | ......(funcall.malyon-history-sa |
| 1e5c0 | 76 65 64 2d 64 6f 77 6e 20 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 70 75 74 0a | ved-down.arg))...........(input. |
| 1e5e0 | 20 20 20 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 20 | ...........(with-current-buffer. |
| 1e600 | 6d 61 6c 79 6f 6e 2d 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 | malyon-transcript-buffer........ |
| 1e620 | 20 20 20 20 20 20 28 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 | ......(delete-region.malyon-area |
| 1e640 | 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 2d 6d 61 78 29 29 | d-beginning-of-line.(point-max)) |
| 1e660 | 29 0a 20 20 20 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 | )............(goto-char.(point-m |
| 1e680 | 61 78 29 29 0a 20 20 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 | ax))............(insert.input).. |
| 1e6a0 | 20 20 20 20 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 63 72 | ..........(malyon-adjust-transcr |
| 1e6c0 | 69 70 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 62 65 67 69 6e 6e 69 6e | ipt)))))..(defun.malyon-beginnin |
| 1e6e0 | 67 2d 6f 66 2d 6c 69 6e 65 20 28 61 72 67 29 0a 20 20 22 47 6f 20 74 6f 20 74 68 65 20 62 65 67 | g-of-line.(arg)..."Go.to.the.beg |
| 1e700 | 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | inning.of.the.line."...(interact |
| 1e720 | 69 76 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 | ive."p")...(if.(>.malyon-aread-b |
| 1e740 | 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))....... |
| 1e760 | 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 | (beginning-of-line).....(goto-ch |
| 1e780 | 61 72 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 | ar.malyon-aread-beginning-of-lin |
| 1e7a0 | 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20 | e)))..(defun.malyon-kill-region. |
| 1e7c0 | 28 61 72 67 29 0a 20 20 22 4b 69 6c 6c 20 72 65 67 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 | (arg)..."Kill.region."...(intera |
| 1e7e0 | 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 61 | ctive."p")...(if.(<=.malyon-area |
| 1e800 | 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 20 | d-beginning-of-line.(point)).... |
| 1e820 | 20 20 20 28 6b 69 6c 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 29 20 28 6d 61 72 6b 29 29 0a | ...(kill-region.(point).(mark)). |
| 1e840 | 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 65 73 74 72 69 63 | ....(message."Editing.is.restric |
| 1e860 | 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 29 29 0a 0a 28 64 | ted.to.the.input.prompt.")))..(d |
| 1e880 | 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 6b 69 6c 6c 2d 6c 69 6e 65 20 28 61 72 67 29 0a 20 20 22 4b | efun.malyon-kill-line.(arg)..."K |
| 1e8a0 | 69 6c 6c 20 72 65 73 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a 20 | ill.rest.of.the.current.line.".. |
| 1e8c0 | 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 20 6d 61 6c | .(interactive."p")...(if.(<=.mal |
| 1e8e0 | 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 28 70 6f 69 | yon-aread-beginning-of-line.(poi |
| 1e900 | 6e 74 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6c 69 6e 65 29 0a 20 20 20 20 28 6d 65 73 73 | nt)).......(kill-line).....(mess |
| 1e920 | 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 |
| 1e940 | 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 |
| 1e960 | 6f 6e 2d 6b 69 6c 6c 2d 77 6f 72 64 20 28 61 72 67 29 0a 20 20 22 4b 69 6c 6c 20 74 68 65 20 63 | on-kill-word.(arg)..."Kill.the.c |
| 1e980 | 75 72 72 65 6e 74 20 77 6f 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 | urrent.word."...(interactive."p" |
| 1e9a0 | 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 |
| 1e9c0 | 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- |
| 1e9e0 | 77 6f 72 64 20 31 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 | word.1).....(message."Editing.is |
| 1ea00 | 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 70 74 2e | .restricted.to.the.input.prompt. |
| 1ea20 | 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 20 28 61 72 67 29 0a 20 | ")))..(defun.malyon-yank.(arg).. |
| 1ea40 | 20 22 59 61 6e 6b 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 | ."Yank."...(interactive."p")...( |
| 1ea60 | 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 6e 67 2d 6f 66 | if.(<=.malyon-aread-beginning-of |
| 1ea80 | 2d 6c 69 6e 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 79 61 6e 6b 29 0a 20 20 20 20 | -line.(point)).......(yank)..... |
| 1eaa0 | 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 65 64 20 | (message."Editing.is.restricted. |
| 1eac0 | 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 66 75 6e | to.the.input.prompt.")))..(defun |
| 1eae0 | 20 6d 61 6c 79 6f 6e 2d 79 61 6e 6b 2d 70 6f 70 20 28 61 72 67 29 0a 20 20 22 59 61 6e 6b 20 70 | .malyon-yank-pop.(arg)..."Yank.p |
| 1eb00 | 6f 70 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 | op."...(interactive."p")...(if.( |
| 1eb20 | 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 6e | <=.malyon-aread-beginning-of-lin |
| 1eb40 | 65 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 79 61 6e 6b 2d 70 6f 70 20 31 29 0a 20 20 | e.(point)).......(yank-pop.1)... |
| 1eb60 | 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 65 | ..(message."Editing.is.restricte |
| 1eb80 | 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 66 | d.to.the.input.prompt.")))..(def |
| 1eba0 | 75 6e 20 6d 61 6c 79 6f 6e 2d 64 65 6c 65 74 65 2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44 | un.malyon-delete-char.(arg)..."D |
| 1ebc0 | 65 6c 65 74 65 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 | elete.a.character."...(interacti |
| 1ebe0 | 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 |
| 1ec00 | 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))....... |
| 1ec20 | 28 64 65 6c 65 74 65 2d 63 68 61 72 20 31 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 45 64 | (delete-char.1).....(message."Ed |
| 1ec40 | 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 69 6e 70 75 74 | iting.is.restricted.to.the.input |
| 1ec60 | 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 2d 62 61 63 6b | .prompt.")))..(defun.malyon-back |
| 1ec80 | 77 61 72 64 2d 64 65 6c 65 74 65 2d 63 68 61 72 20 28 61 72 67 29 0a 20 20 22 44 65 6c 65 74 65 | ward-delete-char.(arg)..."Delete |
| 1eca0 | 20 61 20 63 68 61 72 61 63 74 65 72 20 62 61 63 6b 77 61 72 64 73 2e 22 0a 20 20 28 69 6e 74 65 | .a.character.backwards."...(inte |
| 1ecc0 | 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 3c 20 6d 61 6c 79 6f 6e 2d 61 72 65 | ractive."p")...(if.(<.malyon-are |
| 1ece0 | 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))... |
| 1ed00 | 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 64 65 6c 65 74 65 2d 63 68 61 72 2d 75 6e 74 61 62 69 | ....(backward-delete-char-untabi |
| 1ed20 | 66 79 20 31 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 | fy.1).....(message."Editing.is.r |
| 1ed40 | 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.") |
| 1ed60 | 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f | ))..(defun.malyon-self-insert-co |
| 1ed80 | 6d 6d 61 6e 64 20 28 61 72 67 29 0a 20 20 22 49 6e 73 65 72 74 20 61 20 63 68 61 72 61 63 74 65 | mmand.(arg)..."Insert.a.characte |
| 1eda0 | 72 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 | r."...(interactive."p")...(if.(> |
| 1edc0 | 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. |
| 1ede0 | 28 70 6f 69 6e 74 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 | (point)).......(goto-char.(point |
| 1ee00 | 2d 6d 61 78 29 29 29 0a 20 20 28 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 20 31 | -max)))...(self-insert-command.1 |
| 1ee20 | 29 29 0a 0a 3b 3b 20 74 72 61 63 69 6e 67 20 75 74 69 6c 69 74 79 0a 0a 28 64 65 66 75 6e 20 6d | ))..;;.tracing.utility..(defun.m |
| 1ee40 | 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 66 69 6c 65 20 28 29 0a 20 20 22 54 75 72 6e 20 74 72 61 63 | alyon-trace-file.()..."Turn.trac |
| 1ee60 | 69 6e 67 20 6f 6e 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 66 69 6c 65 2e 22 0a 20 | ing.on.for.a.particular.file.".. |
| 1ee80 | 20 28 6c 65 74 20 28 28 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 | .(let.((trace..........(get-buff |
| 1eea0 | 65 72 2d 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 4d 61 6c | er-create...........(concat."Mal |
| 1eec0 | 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 69 6c 65 2d 6e 61 | yon.Trace.".malyon-story-file-na |
| 1eee0 | 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 20 20 20 28 77 69 | me)))).....(if.trace.........(wi |
| 1ef00 | 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 20 20 | th-current-buffer.trace......... |
| 1ef20 | 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 20 20 20 20 20 20 | ..(malyon-erase-buffer)......... |
| 1ef40 | 20 20 28 69 6e 73 65 72 74 20 28 63 6f 6e 63 61 74 20 22 54 72 61 63 69 6e 67 20 22 20 6d 61 6c | ..(insert.(concat."Tracing.".mal |
| 1ef60 | 79 6f 6e 2d 73 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2e 2e 2e 22 29 29 0a 20 20 20 20 | yon-story-file-name."..."))..... |
| 1ef80 | 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 6d 61 6c 79 | ......(newline)))))..(defun.maly |
| 1efa0 | 6f 6e 2d 74 72 61 63 65 2d 6e 65 77 6c 69 6e 65 20 28 29 0a 20 20 22 4f 75 74 70 75 74 20 74 72 | on-trace-newline.()..."Output.tr |
| 1efc0 | 61 63 69 6e 67 20 6e 65 77 6c 69 6e 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 72 61 63 65 20 28 | acing.newline."...(let.((trace.( |
| 1efe0 | 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 61 63 65 | get-buffer.(concat."Malyon.Trace |
| 1f000 | 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 0a 20 20 | .".malyon-story-file-name))))... |
| 1f020 | 20 20 28 69 66 20 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e | ..(if.trace.........(with-curren |
| 1f040 | 74 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 | t-buffer.trace...........(goto-c |
| 1f060 | 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 28 6e 65 77 6c | har.(point-max))...........(newl |
| 1f080 | 69 6e 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 70 | ine)))))..(defun.malyon-trace-op |
| 1f0a0 | 63 6f 64 65 20 28 70 63 20 6f 70 63 6f 64 65 20 6f 70 65 72 61 6e 64 73 29 0a 20 20 22 4f 75 74 | code.(pc.opcode.operands)..."Out |
| 1f0c0 | 70 75 74 20 61 20 5a 2d 63 6f 64 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 2e 22 0a 20 20 28 6d 61 | put.a.Z-code.instruction."...(ma |
| 1f0e0 | 6c 79 6f 6e 2d 74 72 61 63 65 2d 73 74 72 69 6e 67 0a 20 20 20 28 66 6f 72 6d 61 74 20 22 25 38 | lyon-trace-string....(format."%8 |
| 1f100 | 64 20 20 20 25 2d 33 64 20 25 2d 32 35 73 20 25 73 5c 6e 22 0a 09 20 20 20 70 63 0a 09 20 20 20 | d...%-3d.%-25s.%s\n".....pc..... |
| 1f120 | 6f 70 63 6f 64 65 0a 09 20 20 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 61 72 65 66 20 6d 61 | opcode.....(symbol-name.(aref.ma |
| 1f140 | 6c 79 6f 6e 2d 6f 70 63 6f 64 65 73 20 6f 70 63 6f 64 65 29 29 0a 09 20 20 20 28 61 70 70 6c 79 | lyon-opcodes.opcode)).....(apply |
| 1f160 | 20 27 63 6f 6e 63 61 74 20 28 63 6c 2d 6d 61 70 63 61 6e 0a 09 09 09 20 20 20 28 6c 61 6d 62 64 | .'concat.(cl-mapcan.......(lambd |
| 1f180 | 61 20 28 78 29 0a 09 09 09 20 20 20 20 20 28 6c 69 73 74 20 22 20 22 0a 09 09 09 09 20 20 20 28 | a.(x).........(list."."........( |
| 1f1a0 | 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 0a 09 09 09 09 20 20 20 20 28 69 66 20 28 63 68 | number-to-string.........(if.(ch |
| 1f1c0 | 61 72 61 63 74 65 72 70 20 78 29 0a 09 09 09 09 09 28 6d 61 6c 79 6f 6e 2d 63 68 61 72 2d 74 6f | aracterp.x)......(malyon-char-to |
| 1f1e0 | 2d 69 6e 74 20 78 29 0a 09 09 09 09 20 20 20 20 20 20 78 29 29 29 29 0a 09 09 09 20 20 20 6f 70 | -int.x)...........x)))).......op |
| 1f200 | 65 72 61 6e 64 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 | erands)))))..(defun.malyon-trace |
| 1f220 | 2d 73 74 72 69 6e 67 20 28 73 29 0a 20 20 22 4f 75 74 70 75 74 20 74 72 61 63 69 6e 67 20 73 74 | -string.(s)..."Output.tracing.st |
| 1f240 | 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 72 61 63 65 20 28 67 65 74 2d 62 75 66 66 65 | ring."...(let.((trace.(get-buffe |
| 1f260 | 72 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 6e | r.(concat."Malyon.Trace.".malyon |
| 1f280 | 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 28 61 6e | -story-file-name)))).....(if.(an |
| 1f2a0 | 64 20 74 72 61 63 65 20 73 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 | d.trace.s).........(with-current |
| 1f2c0 | 2d 62 75 66 66 65 72 20 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | -buffer.trace...........(goto-ch |
| 1f2e0 | 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 28 69 6e 73 65 72 | ar.(point-max))...........(inser |
| 1f300 | 74 20 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 6c 79 6f 6e 2d 74 72 61 63 65 2d 6f 62 | t.s)))))..(defun.malyon-trace-ob |
| 1f320 | 6a 65 63 74 20 28 6f 29 0a 20 20 22 4f 75 74 70 75 74 20 74 72 61 63 69 6e 67 20 6f 62 6a 65 63 | ject.(o)..."Output.tracing.objec |
| 1f340 | 74 2e 22 0a 20 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 | t."...(let.((trace.(get-buffer.( |
| 1f360 | 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 6e 2d 73 74 | concat."Malyon.Trace.".malyon-st |
| 1f380 | 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 28 61 6e 64 20 74 | ory-file-name)))).....(if.(and.t |
| 1f3a0 | 72 61 63 65 20 6f 29 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 | race.o).........(with-current-bu |
| 1f3c0 | 66 66 65 72 20 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 | ffer.trace...........(goto-char. |
| 1f3e0 | 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 31 20 6f 20 | (point-max))...........(prin1.o. |
| 1f400 | 74 72 61 63 65 29 29 29 29 29 0a 0a 3b 3b 3b 20 61 6e 6e 6f 75 6e 63 65 20 6d 61 6c 79 6f 6e 2d | trace)))))..;;;.announce.malyon- |
| 1f420 | 6d 6f 64 65 0a 0a 28 70 72 6f 76 69 64 65 20 27 6d 61 6c 79 6f 6e 2d 6d 6f 64 65 29 0a 28 70 72 | mode..(provide.'malyon-mode).(pr |
| 1f440 | 6f 76 69 64 65 20 27 6d 61 6c 79 6f 6e 29 0a 0a 3b 3b 3b 20 6d 61 6c 79 6f 6e 2e 65 6c 20 65 6e | ovide.'malyon)..;;;.malyon.el.en |
| 1f460 | 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ds.here......................... |
| 1f480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 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 | ................................ |