DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ h

⟦117d14940⟧

    Length: 2233 (0x8b9)
    Names: »hanoi.elc«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/gnu-31mar87/emacs/lisp/hanoi.elc« 

Hex Dump

0x000…020 0a 28 64 65 66 75 6e 20 68 61 6e 6f 69 2d 74 6f 70 6f 73 20 28 72 6f 77 20 63 6f 6c 29 20 28 62   ┆ (defun hanoi-topos (row col) (b┆
0x020…040 79 74 65 2d 63 6f 64 65 20 22 c2 08 21 88 c3 20 88 c4 09 21 87 22 20 5b 72 6f 77 20 63 6f 6c 20   ┆yte-code "  !      ! " [row col ┆
0x040…060 67 6f 74 6f 2d 6c 69 6e 65 20 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 66 6f 72 77   ┆goto-line beginning-of-line forw┆
0x060…080 61 72 64 2d 63 68 61 72 5d 20 34 29 29 0a 0a 28 64 65 66 75 6e 20 68 61 6e 6f 69 20 28 6e 72 69   ┆ard-char] 4))  (defun hanoi (nri┆
0x080…0a0 6e 67 73 29 20 22 5c 0a 54 6f 77 65 72 73 20 6f 66 20 48 61 6e 6f 69 20 64 69 76 65 72 73 69 6f   ┆ngs) "\ Towers of Hanoi diversio┆
0x0a0…0c0 6e 22 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 62 79 74 65 2d 63 6f 64 65 20 22 08 3f 83 09   ┆n" (interactive (byte-code " ?  ┆
0x0c0…0e0 00 c1 82 0c 00 c2 08 21 43 87 22 20 5b 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20   ┆       !C " [current-prefix-arg ┆
0x0e0…100 33 20 70 72 65 66 69 78 2d 6e 75 6d 65 72 69 63 2d 76 61 6c 75 65 5d 20 32 29 29 20 28 62 79 74   ┆3 prefix-numeric-value] 2)) (byt┆
0x100…120 65 2d 63 6f 64 65 20 22 cd 88 09 d3 58 83 0e 00 d4 d5 21 82 0f 00 cd 88 cd cd cd c5 d6 20 21 c6   ┆e-code "    X     !           ! ┆
0x120…140 d6 20 21 1e 06 1d 1c 1b 1a 09 d7 5c 5c d8 d9 09 53 da 5c 22 d7 db 23 1e 08 1e 07 0e 06 0e 07 59   ┆  !        \\   S \"  #        Y┆
0x140…160 85 3e 00 0e 06 0e 08 56 3f 83 6d 00 dc 20 88 c5 d6 20 21 89 15 0e 07 59 85 5b 00 c6 d6 20 21 89   ┆ >     V? m       !    Y [    ! ┆
0x160…180 16 06 0e 08 56 3f 83 69 00 d4 dd 0e 08 0e 07 23 82 6a 00 cd 82 6e 00 cd 88 de 0e 06 da 5c 22 89   ┆    V? i       # j   n       \" ┆
0x180…1a0 12 88 df e0 0a e1 5c 22 21 3f 83 88 00 0a 54 89 12 82 89 00 cd 88 0d e2 5a 0e 07 56 83 99 00 0d   ┆      \"!?    T         Z  V    ┆
0x1a0…1c0 e2 5a 82 9a 00 0d 89 13 2a 88 e3 0b 09 e1 23 0a 0b 42 d9 e2 0a 5c 22 0b 42 d9 db 0a 5c 22 0b 42   ┆ Z      *     #  B   \" B   \" B┆
0x1c0…1e0 e4 09 cd 5c 22 1e 0c 1e 0b 1e 0a 1e 09 1c d3 1e 0e 0e 0e 09 57 85 f3 00 0e 0c 0e 0e e5 cd e6 d8   ┆   \"               W           ┆
0x1e0…200 0e 0e 0e 0e e2 23 e7 0e 0e 5c 5c 5c 22 e6 d8 0e 0e 0e 0e e2 23 e8 5c 22 23 49 88 0e 0e 54 89 16   ┆     #   \\\"       # \"#I   T  ┆
0x200…220 0e 88 82 c2 00 29 88 e9 ea 21 88 cd 89 16 0f 88 eb 70 21 88 ec 20 88 d3 1e 0e 0e 0e 0b 57 85 23   ┆     )   !       p!          W #┆
0x220…240 01 0e 0e 54 89 16 0e 88 ed e8 0e 06 53 5c 22 88 ee 63 88 82 08 01 29 88 ed ef 0e 06 53 5c 22 88   ┆   T        S\"  c    )     S\" ┆
0x240…260 e1 1e 10 0e 10 da 57 85 6f 01 f0 0c d9 0e 10 0a 5c 22 5c 22 88 0e 10 d7 5c 5c 89 16 10 88 0c 1e   ┆      W o       \"\"    \\      ┆
0x260…280 0e 0e 0e 0b 57 85 6a 01 0e 0e 54 89 16 0e 88 f1 e1 21 88 f2 63 88 f3 e1 21 88 f4 e1 21 88 82 4a   ┆    W j   T      !  c   !   !  J┆
0x280…2a0 01 29 88 82 2f 01 29 88 d3 cd 1e 11 1e 0e 0e 0e 09 57 85 bc 01 0e 0c e3 09 e1 0e 0e 23 48 89 16   ┆ )  / )          W          #H  ┆
0x2a0…2c0 11 88 0e 11 d3 0b 0e 0e 5a 49 88 f0 0e 09 41 0e 09 40 09 0e 0e 5a 5a 5c 22 88 f5 0e 11 d2 cd 23   ┆        ZI    A  @   ZZ\"      #┆
0x2c0…2e0 88 f6 0e 09 0e 09 41 53 5c 22 88 0e 0e 54 89 16 0e 88 82 77 01 2a 88 d2 89 16 0f 88 f7 d3 21 88   ┆      AS\"   T     w *        ! ┆
0x2e0…300 f8 09 53 0e 09 0e 0a 0e 0b 24 88 65 62 88 f9 fa 21 88 d2 89 16 0f 88 fb fc 20 21 88 f7 d3 21 2d   ┆  S      $ eb   !         !   !-┆
0x300…320 2d 87 22 20 5b 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 6e 72 69 6e 67 73 20 70   ┆- " [current-prefix-arg nrings p┆
0x320…340 6f 6c 65 2d 73 70 61 63 69 6e 67 20 66 6c 6f 6f 72 2d 72 6f 77 20 66 6c 79 2d 72 6f 77 20 77 69   ┆ole-spacing floor-row fly-row wi┆
0x340…360 6e 64 6f 77 2d 68 65 69 67 68 74 20 77 69 6e 64 6f 77 2d 77 69 64 74 68 20 68 20 77 20 70 6f 6c   ┆ndow-height window-width h w pol┆
0x360…380 65 2d 31 20 70 6f 6c 65 2d 32 20 70 6f 6c 65 2d 33 20 72 69 6e 67 73 20 6e 69 6c 20 69 20 62 75   ┆e-1 pole-2 pole-3 rings nil i bu┆
0x380…3a0 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 6e 20 72 69 6e 67 20 74 20 30 20 65 72 72 6f 72 20   ┆ffer-read-only n ring t 0 error ┆
0x3a0…3c0 22 4e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 69 6e 67 73 22 20 73 65 6c 65 63   ┆"Negative number of rings" selec┆
0x3c0…3e0 74 65 64 2d 77 69 6e 64 6f 77 20 32 20 2b 20 2a 20 36 20 35 20 64 65 6c 65 74 65 2d 6f 74 68 65   ┆ted-window 2 + * 6 5 delete-othe┆
0x3e0…400 72 2d 77 69 6e 64 6f 77 73 20 22 53 63 72 65 65 6e 20 69 73 20 74 6f 6f 20 73 6d 61 6c 6c 20 28   ┆r-windows "Screen is too small (┆
0x400…420 6e 65 65 64 20 61 74 20 6c 65 61 73 74 20 25 64 78 25 64 29 22 20 2f 20 7a 65 72 6f 70 20 6c 6f   ┆need at least %dx%d)" / zerop lo┆
0x420…440 67 61 6e 64 20 31 20 33 20 2d 20 6d 61 6b 65 2d 76 65 63 74 6f 72 20 76 65 63 74 6f 72 20 6d 61   ┆gand 1 3 - make-vector vector ma┆
0x440…460 6b 65 2d 73 74 72 69 6e 67 20 34 38 20 33 32 20 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72   ┆ke-string 48 32 switch-to-buffer┆
0x460…480 20 22 2a 48 61 6e 6f 69 2a 22 20 62 75 66 66 65 72 2d 66 6c 75 73 68 2d 75 6e 64 6f 20 65 72 61   ┆ "*Hanoi*" buffer-flush-undo era┆
0x480…4a0 73 65 2d 62 75 66 66 65 72 20 69 6e 73 65 72 74 2d 63 68 61 72 20 31 30 20 36 31 20 68 61 6e 6f   ┆se-buffer insert-char 10 61 hano┆
0x4a0…4c0 69 2d 74 6f 70 6f 73 20 6e 65 78 74 2d 6c 69 6e 65 20 31 32 34 20 64 65 6c 65 74 65 2d 63 68 61   ┆i-topos next-line 124 delete-cha┆
0x4c0…4e0 72 20 62 61 63 6b 77 61 72 64 2d 63 68 61 72 20 68 61 6e 6f 69 2d 64 72 61 77 2d 72 69 6e 67 20   ┆r backward-char hanoi-draw-ring ┆
0x4e0…500 73 65 74 63 64 72 20 73 69 74 2d 66 6f 72 20 68 61 6e 6f 69 30 20 6d 65 73 73 61 67 65 20 22 44   ┆setcdr sit-for hanoi0 message "D┆
0x500…520 6f 6e 65 22 20 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 62 75 66 66 65   ┆one" set-buffer-modified-p buffe┆
0x520…540 72 2d 6d 6f 64 69 66 69 65 64 2d 70 5d 20 34 36 29 29 0a 0a 28 64 65 66 75 6e 20 68 61 6e 6f 69   ┆r-modified-p] 46))  (defun hanoi┆
0x540…560 30 20 28 6e 20 66 72 6f 6d 20 74 6f 20 77 6f 72 6b 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c5   ┆0 (n from to work) (byte-code " ┆
0x560…580 20 83 0d 00 c6 c7 c8 43 5c 22 82 2c 00 08 c9 57 86 2c 00 c1 85 2c 00 ca 08 53 0a 0b 0c 24 88 cb   ┆       C\" ,   W ,   ,   S   $  ┆
0x580…5a0 08 0a 0c 23 88 ca 08 53 0b 0c 0a 24 87 22 20 5b 6e 20 74 20 66 72 6f 6d 20 77 6f 72 6b 20 74 6f   ┆   #   S   $ " [n t from work to┆
0x5a0…5c0 20 69 6e 70 75 74 2d 70 65 6e 64 69 6e 67 2d 70 20 73 69 67 6e 61 6c 20 71 75 69 74 20 22 49 20   ┆ input-pending-p signal quit "I ┆
0x5c0…5e0 63 61 6e 20 74 65 6c 6c 20 79 6f 75 27 76 65 20 68 61 64 20 65 6e 6f 75 67 68 22 20 30 20 68 61   ┆can tell you've had enough" 0 ha┆
0x5e0…600 6e 6f 69 30 20 68 61 6e 6f 69 2d 6d 6f 76 65 2d 72 69 6e 67 5d 20 39 29 29 0a 0a 28 64 65 66 75   ┆noi0 hanoi-move-ring] 9))  (defu┆
0x600…620 6e 20 68 61 6e 6f 69 2d 6d 6f 76 65 2d 72 69 6e 67 20 28 6e 20 66 72 6f 6d 20 74 6f 29 20 28 62   ┆n hanoi-move-ring (n from to) (b┆
0x620…640 79 74 65 2d 63 6f 64 65 20 22 09 0a 48 c4 1b 18 08 cd 48 ce 0e 07 40 0a cf 23 ce 0e 09 40 0a cf   ┆yte-code "  H     H   @  #   @  ┆
0x640…660 23 0e 09 41 1e 0a 1e 08 1e 06 1d d0 0d 0e 06 5c 22 88 0d 0e 0b 56 85 4a 00 d1 08 c4 cc 23 88 d2   ┆#  A           \"    V J     #  ┆
0x660…680 cf 21 88 d1 08 cc c4 23 88 d3 cd 21 88 0d 53 89 15 88 82 27 00 88 d4 0e 07 0e 07 41 54 5c 22 88   ┆ !     #   !  S    '       AT\" ┆
0x680…6a0 d5 0e 08 0e 06 5c 22 3f 85 ad 00 0e 08 0e 06 56 83 85 00 d6 cf 21 88 d7 d8 21 88 d9 cf 21 88 da   ┆     \"?       V     !   !   !  ┆
0x6a0…6c0 db db 5c 22 88 d3 cd 21 88 0e 06 54 54 89 16 06 82 a9 00 0e 08 0e 06 57 85 a9 00 d9 cf 21 88 dc   ┆  \"   !   TT          W     !  ┆
0x6c0…6e0 d8 21 88 d6 cf 21 88 da db db 5c 22 88 d3 cd 21 88 0e 06 53 53 89 16 06 88 82 54 00 88 d0 0e 0b   ┆ !   !    \"   !   SS     T     ┆
0x6e0…700 0e 08 5c 22 88 0d 0e 0a 57 85 db 00 d1 08 c4 0d 0e 0b 56 23 88 dd cf 21 88 d1 08 cc c4 23 88 d3   ┆  \"    W         V#   !     #  ┆
0x700…720 cd 21 88 0d 54 89 15 88 82 b5 00 88 08 cd 0e 0a 49 88 d4 0e 09 0e 09 41 53 5c 22 2c 2a 87 22 20   ┆ !  T           I      AS\",* " ┆
0x720…740 5b 72 69 6e 67 20 72 69 6e 67 73 20 6e 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 6e   ┆[ring rings n buffer-read-only n┆
0x740…760 69 6c 20 72 6f 77 20 63 6f 6c 20 66 72 6f 6d 20 64 73 74 2d 63 6f 6c 20 74 6f 20 64 73 74 2d 72   ┆il row col from dst-col to dst-r┆
0x760…780 6f 77 20 66 6c 79 2d 72 6f 77 20 74 20 30 20 2d 20 31 20 68 61 6e 6f 69 2d 74 6f 70 6f 73 20 68   ┆ow fly-row t 0 - 1 hanoi-topos h┆
0x780…7a0 61 6e 6f 69 2d 64 72 61 77 2d 72 69 6e 67 20 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 20 73 69 74   ┆anoi-draw-ring previous-line sit┆
0x7a0…7c0 2d 66 6f 72 20 73 65 74 63 64 72 20 65 71 75 61 6c 20 65 6e 64 2d 6f 66 2d 6c 69 6e 65 20 64 65   ┆-for setcdr equal end-of-line de┆
0x7c0…7e0 6c 65 74 65 2d 62 61 63 6b 77 61 72 64 2d 63 68 61 72 20 32 20 62 65 67 69 6e 6e 69 6e 67 2d 6f   ┆lete-backward-char 2 beginning-o┆
0x7e0…800 66 2d 6c 69 6e 65 20 69 6e 73 65 72 74 20 33 32 20 64 65 6c 65 74 65 2d 63 68 61 72 20 6e 65 78   ┆f-line insert 32 delete-char nex┆
0x800…820 74 2d 6c 69 6e 65 5d 20 32 37 29 29 0a 0a 28 64 65 66 75 6e 20 68 61 6e 6f 69 2d 64 72 61 77 2d   ┆t-line] 27))  (defun hanoi-draw-┆
0x820…840 72 69 6e 67 20 28 72 69 6e 67 20 66 31 20 66 32 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 8a 09   ┆ring (ring f1 f2) (byte-code "  ┆
0x840…860 83 0b 00 0a c5 48 82 0e 00 0a c6 48 18 08 47 1b c7 0b 21 88 08 63 88 0c 83 2f 00 c8 c9 0b c5 5c   ┆     H     H  G   !  c   /     \┆
0x860…880 5c c6 5c 22 21 88 c7 c5 21 88 ca 63 82 30 00 cb 2a 29 87 22 20 5b 73 74 72 69 6e 67 20 66 31 20   ┆\ \"!   !  c 0  *) " [string f1 ┆
0x880…8a0 72 69 6e 67 20 6c 65 6e 20 66 32 20 31 20 32 20 64 65 6c 65 74 65 2d 63 68 61 72 20 62 61 63 6b   ┆ring len f2 1 2 delete-char back┆
0x8a0…8b9 77 61 72 64 2d 63 68 61 72 20 2f 20 31 32 34 20 6e 69 6c 5d 20 35 29 29 0a   ┆ward-char / 124 nil] 5)) ┆