home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / CLISP-1.LHA / CLISP960530-sr.lha / tests / format.tst < prev    next >
Encoding:
Text File  |  1996-04-15  |  26.5 KB  |  1,043 lines

  1. ;*******************************************************************************
  2. ;*      Rosenmueller            format.tst                                     *
  3. ;*******************************************************************************
  4.  
  5. ; ~< ---------------------------------------------------------------------------
  6. (format nil "~10<foo~;bar~>")
  7. "foo    bar"
  8.  
  9. (format nil "~10:<foo~;bar~>")
  10. "  foo  bar"
  11.  
  12. (format nil "~10@<foo~;bar~>")
  13. "foo  bar  "
  14.  
  15. (format nil "~10:@<foo~;bar~>")
  16. #+(or XCL CLISP) "  foo bar " #+AKCL " foo bar  " #-(or XCL CLISP AKCL) UNKNOWN
  17.  
  18. (format nil "~10<foobar~>")
  19. "    foobar"
  20.  
  21. (format nil "~10:<foobar~>")
  22. "    foobar"
  23.  
  24. (format nil "~10@<foobar~>")
  25. "foobar    "
  26.  
  27. (format nil "~10:@<foobar~>")
  28. "  foobar  "
  29.  
  30. ; ~< ~s ~^ ---------------------------------------------------------------------
  31. (format nil "~15<~S~>" 'foo)
  32. "            foo"
  33.  
  34. (format nil "~15<~S~;~^~S~>" 'foo)
  35. "            foo"
  36.  
  37. (format nil "~15<~S~;~^~S~;~^~S~>" 'foo)
  38. "            foo"
  39.  
  40. (format nil "~15<~S~;~^~S~>" 'foo 'bar)
  41. "foo         bar"
  42.  
  43. (format nil "~15<~S~;~^~S~;~^~S~>" 'foo 'bar)
  44. "foo         bar"
  45.  
  46. (format nil "~15<~S~;~^~S~;~^~S~>" 'foo 'bar 'baz)
  47. "foo   bar   baz"
  48.  
  49. (progn
  50. (setq liste '(aaaaaaa bbbbbb cccccccccccc dddddddddddddd eeee fffffffff
  51. gggggggg
  52.  hhhhh iiii j kk lll mmmm nnnnnn oooooooooo ppppppppppppppp qqqqqqq
  53. rrrrrrrrrrrr
  54. s ttt uuuuuuuuu vvvvvvv wwwwwwwwww xxxxx yyyyyy zzzzzzzz))              ;26
  55. T)
  56. T
  57.  
  58. (format nil "~%;; ~<~%;; ~1:; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~;~
  59.  ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~;~
  60.  ~s~; ~s~; ~s~; ~s~;~>~%"                               ; 2!
  61. 'aaaaaaa 'bbbbbb 'cccccccccccc 'dddddddddddddd 'eeee 'fffffffff 'gggggggg
  62. 'hhhhh 'iiii 'j 'kk 'lll 'mmmm 'nnnnnn 'oooooooooo 'ppppppppppppppp
  63. 'qqqqqqq
  64. 'rrrrrrrrrrrr 's 'ttt 'uuuuuuuuu 'vvvvvvv 'wwwwwwwwww 'xxxxx 'yyyyyy
  65. 'zzzzzzzz)
  66. #+XCL
  67. "
  68. ;;  AAAAAAA  BBBBBB CCCCCCCCCCCC DDDDDDDDDDDDDD EEEE FFFFFFFFF GGGGGGGG
  69. ;;  HHHHH  IIII  JKK LLL MMMM NNNNNN OOOOOOOOOO PPPPPPPPPPPPPPP QQQQQQQ
  70. ;;  RRRRRRRRRRRR    S    TTT   UUUUUUUUU   VVVVVVV   WWWWWWWWWW   XXXXX
  71. "
  72. ;23456789;123456789;123456789;123456789;123456789;123456789;123456789;12
  73. #-XCL
  74. "
  75. ;; 
  76. ;;  AAAAAAA BBBBBB CCCCCCCCCCCC DDDDDDDDDDDDDD EEEE FFFFFFFFF GGGGGGGG HHHHH IIII JKK LLL MMMM NNNNNN OOOOOOOOOO PPPPPPPPPPPPPPP QQQQQQQ RRRRRRRRRRRR S TTTUUUUUUUUU VVVVVVV WWWWWWWWWW XXXXX
  77. "
  78.  
  79. (format nil "~%;; ~<~%;; ~1,50:; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~;~
  80.  ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~; ~s~;~
  81.  ~s~; ~s~; ~s~; ~s~;~>~%"                               ; 2!
  82. 'aaaaaaa 'bbbbbb 'cccccccccccc 'dddddddddddddd 'eeee 'fffffffff 'gggggggg
  83. 'hhhhh 'iiii 'j 'kk 'lll 'mmmm 'nnnnnn 'oooooooooo 'ppppppppppppppp
  84. 'qqqqqqq
  85. 'rrrrrrrrrrrr 's 'ttt 'uuuuuuuuu 'vvvvvvv 'wwwwwwwwww 'xxxxx 'yyyyyy
  86. 'zzzzzzzz)
  87. #+XCL
  88. "
  89. ;;  AAAAAAA  BBBBBB  CCCCCCCCCCCC  DDDDDDDDDDDDDD
  90. ;;  EEEE  FFFFFFFFF  GGGGGGGG  HHHHH IIII JKK LLL
  91. ;;  MMMM    NNNNNN   OOOOOOOOOO   PPPPPPPPPPPPPPP
  92. ;;  QQQQQQQ  RRRRRRRRRRRR  S TTTUUUUUUUUU VVVVVVV
  93. ;;  WWWWWWWWWW                              XXXXX
  94. "
  95. ;23456789;123456789;123456789;123456789;123456789;
  96. #-XCL
  97. "
  98. ;; 
  99. ;;  AAAAAAA BBBBBB CCCCCCCCCCCC DDDDDDDDDDDDDD EEEE FFFFFFFFF GGGGGGGG HHHHH IIII JKK LLL MMMM NNNNNN OOOOOOOOOO PPPPPPPPPPPPPPP QQQQQQQ RRRRRRRRRRRR S TTTUUUUUUUUU VVVVVVV WWWWWWWWWW XXXXX
  100. "
  101.  
  102. (defun format-blocksatz (stream parts prefix &optional line-length start-p end-p)
  103.   (if (null stream)
  104.     (let ((stream (make-string-output-stream)))
  105.       (format-blocksatz stream parts prefix line-length start-p end-p)
  106.       (get-output-stream-string stream)
  107.     )
  108.     (unless (endp parts)
  109.       (setq line-length (or line-length #|(sys::line-length stream)|# 72))
  110.       (when start-p (format stream prefix))
  111.       (loop
  112.         ; Hier ist parts /= NIL
  113.         (let ((pos (sys::line-position stream))
  114.               (parts-now '()))
  115.           (let ((pos-now pos))
  116.             (loop
  117.               (when (endp parts) (return))
  118.               (let* ((part (first parts))
  119.                      (part-length (length part)))
  120.                 (unless (null parts-now)
  121.                   (when (> (+ pos-now part-length) line-length)
  122.                     (return)
  123.                 ) )
  124.                 (pop parts)
  125.                 (push part parts-now)
  126.                 (incf pos-now part-length)
  127.           ) ) )
  128.           ; Hier ist parts-now /= NIL
  129.           (apply #'format
  130.                  stream
  131.                  (if (and (endp parts) (not end-p))
  132.                    (apply #'concatenate 'string
  133.                      (make-list (length parts-now) :initial-element "~A")
  134.                    )
  135.                    (concatenate 'string
  136.                      "~"
  137.                      (write-to-string (max 0 (- line-length pos))
  138.                                       :radix nil :base 10
  139.                      )
  140.                      (if (= (length parts-now) 1) "@" "")
  141.                      "<"
  142.                      (apply #'concatenate 'string
  143.                        "~A"
  144.                        (make-list (1- (length parts-now)) :initial-element "~;~A")
  145.                      )
  146.                      "~>"
  147.                  ) )
  148.                  (nreverse parts-now)
  149.         ) )
  150.         (when (endp parts) (return))
  151.         (format stream prefix)
  152. ) ) ) )
  153. FORMAT-BLOCKSATZ
  154.  
  155. (format-blocksatz nil
  156.   (mapcar #'(lambda (x) (format nil " ~A" x))
  157.           '(aaaaaaa bbbbbb cccccccccccc dddddddddddddd eeee fffffffff
  158.             gggggggg hhhhh iiii j kk lll mmmm nnnnnn oooooooooo
  159.             ppppppppppppppp qqqqqqq rrrrrrrrrrrr s ttt uuuuuuuuu vvvvvvv
  160.             wwwwwwwwww xxxxx yyyyyy zzzzzzzz)
  161.   )
  162.   "~%;; "
  163.   nil t nil
  164. )
  165. "
  166. ;;  AAAAAAA  BBBBBB  CCCCCCCCCCCC DDDDDDDDDDDDDD EEEE FFFFFFFFF GGGGGGGG
  167. ;;  HHHHH  IIII  J KK LLL MMMM NNNNNN OOOOOOOOOO PPPPPPPPPPPPPPP QQQQQQQ
  168. ;;  RRRRRRRRRRRR   S  TTT  UUUUUUUUU  VVVVVVV  WWWWWWWWWW  XXXXX  YYYYYY
  169. ;;  ZZZZZZZZ"
  170. ;123456789;123456789;123456789;123456789;123456789;123456789;123456789;12
  171.  
  172. (format-blocksatz nil
  173.   (mapcar #'(lambda (x) (format nil " ~A" x))
  174.           '(aaaaaaa bbbbbb cccccccccccc dddddddddddddd eeee fffffffff
  175.             gggggggg hhhhh iiii j kk lll mmmm nnnnnn oooooooooo
  176.             ppppppppppppppp qqqqqqq rrrrrrrrrrrr s ttt uuuuuuuuu vvvvvvv
  177.             wwwwwwwwww xxxxx yyyyyy zzzzzzzz)
  178.   )
  179.   "~%;; "
  180.   50 t t
  181. )
  182. "
  183. ;;  AAAAAAA   BBBBBB  CCCCCCCCCCCC  DDDDDDDDDDDDDD
  184. ;;  EEEE  FFFFFFFFF  GGGGGGGG  HHHHH IIII J KK LLL
  185. ;;  MMMM NNNNNN OOOOOOOOOO PPPPPPPPPPPPPPP QQQQQQQ
  186. ;;  RRRRRRRRRRRR    S    TTT   UUUUUUUUU   VVVVVVV
  187. ;;  WWWWWWWWWW      XXXXX      YYYYYY     ZZZZZZZZ"
  188. ;123456789;123456789;123456789;123456789;123456789;
  189.  
  190. ;;; unklare Bedeutung (Fehler in Sprachbeschreibung?)
  191. ;;; (format nil "~%;; ~{~<~%;; ~1:; ~s~>~^,~}.~%" liste) ""
  192. ;;; (format nil "~%;; ~{~<~%;; ~1,50:; ~s~>~^,~}.~%" liste) ""
  193.  
  194. (format nil "~%;; ~{~<~%;; ~1,50:; ~s~>~^,~}.~%"
  195.           '(aaaaaaa bbbbbb cccccccccccc dddddddddddddd eeee fffffffff
  196.             gggggggg hhhhh iiii j kk lll mmmm nnnnnn oooooooooo
  197.             ppppppppppppppp qqqqqqq rrrrrrrrrrrr s ttt uuuuuuuuu vvvvvvv
  198.             wwwwwwwwww xxxxx yyyyyy zzzzzzzz))
  199. "
  200. ;;  AAAAAAA, BBBBBB, CCCCCCCCCCCC, DDDDDDDDDDDDDD,
  201. ;;  EEEE, FFFFFFFFF, GGGGGGGG, HHHHH, IIII, J, KK,
  202. ;;  LLL, MMMM, NNNNNN, OOOOOOOOOO,
  203. ;;  PPPPPPPPPPPPPPP, QQQQQQQ, RRRRRRRRRRRR, S,
  204. ;;  TTT, UUUUUUUUU, VVVVVVV, WWWWWWWWWW, XXXXX,
  205. ;;  YYYYYY, ZZZZZZZZ.
  206. "
  207.  
  208. ; ~f ---------------------------------------------------------------------------
  209. ; Format F
  210.  
  211. (DEFUN FOO (X)
  212.        (FORMAT NIL "~6,2F|~6,2,1,'*F|~6,2,,'?F|~6F|~,2F|~F" X X X X
  213. X X))
  214. FOO
  215.  
  216. (FOO 3.14159)
  217. ;       "  3.14| 31.42|  3.14|3.1416|3.14|3.141590116672995328"
  218. "  3.14| 31.42|  3.14|3.1416|3.14|3.14159"
  219.  
  220. (FOO -3.14159)
  221. ;       " -3.14|-31.42| -3.14|-3.142|-3.14|-3.141590116672995328"
  222. " -3.14|-31.42| -3.14|-3.142|-3.14|-3.14159"
  223.  
  224. (FOO 100.0)
  225. "100.00|******|100.00| 100.0|100.00|100.0"
  226.  
  227. (FOO 1234.0)
  228. "1234.00|******|??????|1234.0|1234.00|1234.0"
  229.  
  230. (FOO 0.006)
  231. "  0.01|  0.06|  0.01| 0.006|0.01|0.006"
  232.  
  233. (format nil "~5,2,-13f" 1.1e13)
  234. " 1.10"
  235.  
  236. (format nil "~9,0,6f" 3.14159)
  237. " 3141590."
  238.  
  239. (FORMAT NIL "~5,3F" (QUOTE A))
  240. "A"
  241.  
  242. (FORMAT NIL "~5,3F" #C(1.2 0.3))
  243. "#C(1.2 0.3)"
  244.  
  245. (FORMAT NIL "~5,3F" 2/3)
  246. "0.667"
  247.  
  248. ; ~e ---------------------------------------------------------------------------
  249. ; Format E
  250.  
  251. (defun foo (x)
  252.   (format nil
  253.           "~9,2,1,,'*E|~10,3,2,2,'?,,'$E|~9,3,2,-2,'%@e|~9,2E"
  254.           x x x x))
  255. FOO
  256.  
  257. (foo 3.14159)
  258. "  3.14E+0| 31.42$-01|+.003E+03|  3.14E+0"
  259.  
  260. (foo -3.14159)
  261. " -3.14E+0|-31.42$-01|-.003E+03| -3.14E+0"
  262.  
  263. (foo 1100.0)
  264. "  1.10E+3| 11.00$+02|+.001E+06|  1.10E+3"
  265.  
  266. (foo 1100.0L0)
  267. #+XCL "  1.10D+3| 11.00$+02|+.001D+06|  1.10D+3"
  268. #+(or CLISP AKCL) "  1.10L+3| 11.00$+02|+.001L+06|  1.10L+3"
  269. #-(or XCL CLISP AKCL) UNKNOWN
  270.  
  271. (foo 1.1E13)
  272. "*********| 11.00$+12|+.001E+16| 1.10E+13"
  273.  
  274. ; ERROR beim read der zahl (foo 1.1L120)
  275.  
  276. (FORMAT NIL "_~10,4E_" 1.2)
  277. "_ 1.2000E+0_"
  278.  
  279. (format nil "~9,2,1E" 0.0314159)
  280. "  3.14E-2"
  281.  
  282. ; ~% ~d ~e (v) -----------------------------------------------------------------
  283. (let (x)
  284.  (dotimes (k 13 x)
  285.   (setq x (cons (format nil "~%Scale factor ~2D: |~13,6,2,VE|"
  286.           (- k 5) (- k 5) 3.14159) x))))
  287. (
  288. "
  289. Scale factor  7: | 3141590.E-06|" "
  290. Scale factor  6: | 314159.0E-05|" "
  291. Scale factor  5: | 31415.90E-04|" "
  292. Scale factor  4: | 3141.590E-03|" "
  293. Scale factor  3: | 314.1590E-02|" "
  294. Scale factor  2: | 31.41590E-01|" "
  295. Scale factor  1: | 3.141590E+00|" "
  296. Scale factor  0: | 0.314159E+01|" "
  297. Scale factor -1: | 0.031416E+02|" "
  298. Scale factor -2: | 0.003142E+03|" "
  299. Scale factor -3: | 0.000314E+04|" "
  300. Scale factor -4: | 0.000031E+05|" "
  301. Scale factor -5: | 0.000003E+06|")
  302.  
  303.  
  304. ; ~g ---------------------------------------------------------------------------
  305. (defun foo (x)
  306.   (format nil "~9,2,1,,'*G|~9,3,2,3,'?,,'$G|~9,3,2,0,'%G|~9,2G"
  307.           x x x x))
  308. foo
  309.  
  310. (foo 0.0314159)
  311. "  3.14E-2|314.2$-04|0.314E-01|  3.14E-2"
  312.  
  313. (foo 0.314159)
  314. "  0.31   |0.314    |0.314    | 0.31    "
  315.  
  316. (foo 3.14159)
  317. "   3.1   | 3.14    | 3.14    |  3.1    "
  318.  
  319. (foo 31.4159)
  320. "   31.   | 31.4    | 31.4    |  31.    "
  321.  
  322. (foo 314.159)
  323. "  3.14E+2| 314.    | 314.    |  3.14E+2"
  324.  
  325. (foo 3141.59)
  326. "  3.14E+3|314.2$+01|0.314E+04|  3.14E+3"
  327.  
  328. (foo 3141.59L0)
  329. #+XCL   "  3.14D+3|314.2$+01|0.314D+04|  3.14D+3"
  330. #+(or CLISP AKCL) "  3.14L+3|314.2$+01|0.314L+04|  3.14L+3"
  331. #-(or XCL CLISP AKCL) UNKNOWN
  332.  
  333. (foo 3.14E12)
  334. "*********|314.0$+10|0.314E+13| 3.14E+12"
  335.  
  336. ;(foo 3.14L120 und L1200) fehler in numerik
  337.  
  338. ; ~a ---------------------------------------------------------------------------
  339.  
  340. (FORMAT NIL "foo")
  341. "foo"
  342.  
  343. (FORMAT NIL "format-a:--~a--ende" (QUOTE AB\c))
  344. "format-a:--ABc--ende"
  345.  
  346. (SETQ Y "elephant")
  347. "elephant"
  348.  
  349. (FORMAT NIL "Look at the ~A!" Y)
  350. "Look at the elephant!"
  351.  
  352. (FORMAT NIL "format-%:--~%--1-newline-*")
  353. "format-%:--
  354. --1-newline-*"
  355.  
  356. (FORMAT NIL "format-%:--~3%--3-newline-*")
  357. "format-%:--
  358.  
  359.  
  360. --3-newline-*"
  361.  
  362. (FORMAT NIL "format-a:--~5a--ende-*" (QUOTE AB\c))
  363. "format-a:--ABc  --ende-*"
  364.  
  365. (FORMAT NIL "format-a:--~5,2a--ende-*" (QUOTE AB\c))
  366. "format-a:--ABc  --ende-*"
  367.  
  368. (FORMAT NIL "format-a:--~5,2,3a--ende-*" (QUOTE AB\c))
  369. "format-a:--ABc   --ende-*"
  370.  
  371. (FORMAT NIL "format-a:--~5,2,3,'*a--ende-*" (QUOTE AB\c))
  372. "format-a:--ABc***--ende-*"
  373.  
  374. (FORMAT NIL "format-a:--~@a--ende-*" (QUOTE AB\c))
  375. "format-a:--ABc--ende-*"
  376.  
  377. (FORMAT NIL "format-a:--~5@a--ende-*" (QUOTE AB\c))
  378. "format-a:--  ABc--ende-*"
  379.  
  380. (FORMAT NIL "format-a:--~5,2@a--ende-*" (QUOTE AB\c))
  381. "format-a:--  ABc--ende-*"
  382.  
  383. (FORMAT NIL "format-a:--~5,2,3@a--ende-*" (QUOTE AB\c))
  384. "format-a:--   ABc--ende-*"
  385.  
  386. (FORMAT NIL "format-a:--~5,2,3,'*@a--ende-*" (QUOTE AB\c))
  387. "format-a:--***ABc--ende-*"
  388.  
  389. (FORMAT NIL "format-a:--~:a--ende-*" (QUOTE (AB\c NIL XYZ)))
  390. "format-a:--(ABc NIL XYZ)--ende-*"
  391.  
  392. (FORMAT NIL "format-s:--~s--ende-*" (QUOTE AB\c))
  393. #+XCL "format-s:--AB\\c--ende-*"
  394. #+(or CLISP AKCL) "format-s:--|ABc|--ende-*"
  395. #-(or XCL CLISP AKCL) UNKNOWN
  396.  
  397. (FORMAT NIL "format-s:--~5s--ende-*" (QUOTE AB\c))
  398. #+XCL "format-s:--AB\\c --ende-*"
  399. #+(or CLISP AKCL) "format-s:--|ABc|--ende-*"
  400. #-(or XCL CLISP AKCL) UNKNOWN
  401.  
  402. (FORMAT NIL "format-s:--~5,2s--ende-*" (QUOTE AB\c))
  403. #+XCL "format-s:--AB\\c  --ende-*"
  404. #+(or CLISP AKCL) "format-s:--|ABc|--ende-*"
  405. #-(or XCL CLISP AKCL) UNKNOWN
  406.  
  407. (FORMAT NIL "format-s:--~5,2,3s--ende-*" (QUOTE AB\c))
  408. #+XCL "format-s:--AB\\c   --ende-*"
  409. #+(or CLISP AKCL) "format-s:--|ABc|   --ende-*"
  410. #-(or XCL CLISP AKCL) UNKNOWN
  411.  
  412. (FORMAT NIL "format-s:--~5,2,3,'*s--ende-*" (QUOTE AB\c))
  413. #+XCL "format-s:--AB\\c***--ende-*"
  414. #+(or CLISP AKCL) "format-s:--|ABc|***--ende-*"
  415. #-(or XCL CLISP AKCL) UNKNOWN
  416.  
  417. (FORMAT NIL "format-s:--~@s--ende-*" (QUOTE AB\c))
  418. #+XCL "format-s:--AB\\c--ende-*"
  419. #+(or CLISP AKCL) "format-s:--|ABc|--ende-*"
  420. #-(or XCL CLISP AKCL) UNKNOWN
  421.  
  422. (FORMAT NIL "format-s:--~5@s--ende-*" (QUOTE AB\c))
  423. #+XCL "format-s:-- AB\\c--ende-*"
  424. #+(or CLISP AKCL) "format-s:--|ABc|--ende-*"
  425. #-(or XCL CLISP AKCL) UNKNOWN
  426.  
  427. (FORMAT NIL "format-s:--~5,2@s--ende-*" (QUOTE AB\c))
  428. #+XCL "format-s:--  AB\\c--ende-*"
  429. #+(or CLISP AKCL) "format-s:--|ABc|--ende-*"
  430. #-(or XCL CLISP AKCL) UNKNOWN
  431.  
  432. (FORMAT NIL "format-s:--~5,2,3@s--ende-*" (QUOTE AB\c))
  433. #+XCL "format-s:--   AB\\c--ende-*"
  434. #+(or CLISP AKCL) "format-s:--   |ABc|--ende-*"
  435. #-(or XCL CLISP AKCL) UNKNOWN
  436.  
  437. (FORMAT NIL "format-s:--~5,2,3,'*@s--ende-*" (QUOTE AB\c))
  438. #+XCL "format-s:--***AB\\c--ende-*"
  439. #+(or CLISP AKCL) "format-s:--***|ABc|--ende-*"
  440. #-(or XCL CLISP AKCL) UNKNOWN
  441.  
  442. (FORMAT NIL "format-s:--~:s--ende-*" (QUOTE (AB\c NIL XYZ)))
  443. #+XCL "format-s:--(AB\\c NIL XYZ)--ende-*"
  444. #+(or CLISP AKCL) "format-s:--(|ABc| NIL XYZ)--ende-*"
  445. #-(or XCL CLISP AKCL) UNKNOWN
  446.  
  447. (SETQ X 5)
  448. 5
  449.  
  450. (FORMAT NIL "The answer is ~D." X)
  451. "The answer is 5."
  452.  
  453. (FORMAT NIL "The answer is ~3D." X)
  454. "The answer is   5."
  455.  
  456. (FORMAT NIL "The answer is ~3,'0D." X)
  457. "The answer is 005."
  458.  
  459. (FORMAT NIL "The answer is ~:D." (EXPT 47 X))
  460. "The answer is 229,345,007."
  461.  
  462. (FORMAT NIL "decimal:~d, width=5:~5d-*" 10 10)
  463. "decimal:10, width=5:   10-*"
  464.  
  465. (FORMAT NIL "format-d:--~d--ende-*" 123)
  466. "format-d:--123--ende-*"
  467.  
  468. (FORMAT NIL "format-d:--~10d--ende-*" 123)
  469. "format-d:--       123--ende-*"
  470.  
  471. (FORMAT NIL "format-d:--~10,'?d--ende-*" 123)
  472. "format-d:--???????123--ende-*"
  473.  
  474. (FORMAT NIL "format-d:--~@d--ende-*" 123)
  475. "format-d:--+123--ende-*"
  476.  
  477. (FORMAT NIL "format-d:--~10@d--ende-*" 123)
  478. "format-d:--      +123--ende-*"
  479.  
  480. (FORMAT NIL "format-d:--~10,'?@d--ende-*" 123)
  481. "format-d:--??????+123--ende-*"
  482.  
  483. (FORMAT NIL "format-b:--~b--ende-*" 123)
  484. "format-b:--1111011--ende-*"
  485.  
  486. (FORMAT NIL "format-b:--~10b--ende-*" 123)
  487. "format-b:--   1111011--ende-*"
  488.  
  489. (FORMAT NIL "format-b:--~10,'?b--ende-*" 123)
  490. "format-b:--???1111011--ende-*"
  491.  
  492. (FORMAT NIL "format-b:--~:b--ende-*" 123)
  493. "format-b:--1,111,011--ende-*"
  494.  
  495. (FORMAT NIL "format-b:--~10:b--ende-*" 123)
  496. "format-b:-- 1,111,011--ende-*"
  497.  
  498. (FORMAT NIL "format-b:--~10,'?:b--ende-*" 123)
  499. "format-b:--?1,111,011--ende-*"
  500.  
  501. (FORMAT NIL "format-b:--~10,'?,'.:b--ende-*" 123)
  502. "format-b:--?1.111.011--ende-*"
  503.  
  504. (FORMAT NIL "format-b:--~@b--ende-*" 123)
  505. "format-b:--+1111011--ende-*"
  506.  
  507. (FORMAT NIL "format-b:--~10@b--ende-*" 123)
  508. "format-b:--  +1111011--ende-*"
  509.  
  510. (FORMAT NIL "format-b:--~10,'?@b--ende-*" 123)
  511. "format-b:--??+1111011--ende-*"
  512.  
  513. (FORMAT NIL "format-b:--~:@b--ende-*" 123)
  514. "format-b:--+1,111,011--ende-*"
  515.  
  516. (FORMAT NIL "format-o:--~o--ende-*" 123)
  517. "format-o:--173--ende-*"
  518.  
  519. (FORMAT NIL "format-o:--~10o--ende-*" 123)
  520. "format-o:--       173--ende-*"
  521.  
  522. (FORMAT NIL "format-o:--~10,'?o--ende-*" 123)
  523. "format-o:--???????173--ende-*"
  524.  
  525. (FORMAT NIL "format-o:--~@o--ende-*" 123)
  526. "format-o:--+173--ende-*"
  527.  
  528. (FORMAT NIL "format-o:--~10@o--ende-*" 123)
  529. "format-o:--      +173--ende-*"
  530.  
  531. (FORMAT NIL "format-x:--~x--ende-*" 123)
  532. "format-x:--7B--ende-*"
  533.  
  534. (FORMAT NIL "format-x:--~10x--ende-*" 123)
  535. "format-x:--        7B--ende-*"
  536.  
  537. (FORMAT NIL "format-x:--~10,'?x--ende-*" 123)
  538. "format-x:--????????7B--ende-*"
  539.  
  540. (FORMAT NIL "format-x:--~10:x--ende-*" 123)
  541. "format-x:--        7B--ende-*"
  542.  
  543. (FORMAT NIL "format-x:--~@x--ende-*" 123)
  544. "format-x:--+7B--ende-*"
  545.  
  546. (FORMAT NIL "format-x:--~10@x--ende-*" 123)
  547. "format-x:--       +7B--ende-*"
  548.  
  549. (FORMAT NIL "format-r:--~20r--ende-*" 123)
  550. "format-r:--63--ende-*"
  551.  
  552. (FORMAT NIL "format-r:--~20,10r--ende-*" 123)
  553. "format-r:--        63--ende-*"
  554.  
  555. (FORMAT NIL "format-r:--~20@r--ende-*" 123)
  556. "format-r:--+63--ende-*"
  557.  
  558. (FORMAT NIL "format-r:--~r--ende-*" 9)
  559. "format-r:--nine--ende-*"
  560.  
  561. (FORMAT NIL "format-r:--~:r--ende-*" 9)
  562. "format-r:--ninth--ende-*"
  563.  
  564. (FORMAT NIL "format-r:--~@r--ende-*" 9)
  565. "format-r:--IX--ende-*"
  566.  
  567. (FORMAT NIL "format-r:--~:@r--ende-*" 9)
  568. "format-r:--VIIII--ende-*"
  569.  
  570. (FORMAT NIL "format-p:--~d  object~p-*" 1 1)
  571. "format-p:--1  object-*"
  572.  
  573. (FORMAT NIL "format-p:--~d  object~p-*" 2 2)
  574. "format-p:--2  objects-*"
  575.  
  576. (FORMAT NIL "format-p:--~d  bab~@p-*" 1 1)
  577. "format-p:--1  baby-*"
  578.  
  579. (FORMAT NIL "format-p:--~d  bab~@p-*" 2 2)
  580. "format-p:--2  babies-*"
  581.  
  582. (FORMAT NIL "format-p:--~d  object~:p-*" 1)
  583. "format-p:--1  object-*"
  584.  
  585. (FORMAT NIL "format-p:--~d  object~:p-*" 2)
  586. "format-p:--2  objects-*"
  587.  
  588. (FORMAT NIL "format-p:--~d  bab~:@p-*" 1)
  589. "format-p:--1  baby-*"
  590.  
  591. (FORMAT NIL "format-&:--~%~&--1-newline-*")
  592. "format-&:--
  593. --1-newline-*"
  594.  
  595. (FORMAT NIL "format-&:--~%~3&--3-newline-*")
  596. "format-&:--
  597.  
  598.  
  599. --3-newline-*"
  600.  
  601. (FORMAT NIL "format-tilde:--~~--1-tilde-*")
  602. "format-tilde:--~--1-tilde-*"
  603.  
  604. (FORMAT NIL "format-tilde:--~3~--3-tilden-*")
  605. "format-tilde:--~~~--3-tilden-*"
  606.  
  607. (FORMAT NIL "format-|:--~|--1-ff-*")
  608. "format-|:-- --1-ff-*"
  609.  
  610. (FORMAT NIL "format-|:--~2|--2-ff-*")
  611. "format-|:-- --2-ff-*"
  612.  
  613. (FORMAT NIL
  614. "format-<nl>:~
  615.                          gl. zeile gl. angeschlossen trotz 2*<tab> und sp-*")
  616. "format-<nl>:gl. zeile gl. angeschlossen trotz 2*<tab> und sp-*"
  617.  
  618. (FORMAT NIL "format-<nl>:~@
  619.                          neue Zeile Anfang trotz <tab> + sp-*")
  620. "format-<nl>:
  621. neue Zeile Anfang trotz <tab> + sp-*"
  622.  
  623. (FORMAT NIL "format-<nl>:~:
  624.     gleiche Zeile aber ein tab vor Anfang-*")
  625. "format-<nl>:    gleiche Zeile aber ein tab vor Anfang-*"
  626.  
  627. (FORMAT NIL "format-?:***~a***~?***~a***-*" 1 "+++~s+++~s+++" (QUOTE
  628. (A B)) 2)
  629. "format-?:***1***+++A+++B+++***2***-*"
  630.  
  631. (FORMAT NIL "format-?:***~a***~?***~a***-*" 1 "+++++++++++++" NIL 2)
  632. "format-?:***1***+++++++++++++***2***-*"
  633.  
  634. (FORMAT NIL "~(AAAAAAAA BBBBBB ccccccc dddddddd~)")
  635. "aaaaaaaa bbbbbb ccccccc dddddddd"
  636.  
  637. (FORMAT NIL "~:(AAAAAAAA BBBBBB ccccccc dddddddd~)")
  638. "Aaaaaaaa Bbbbbb Ccccccc Dddddddd"
  639.  
  640. (FORMAT NIL "~@(AAAAAAAA BBBBBB ccccccc dddddddd~)")
  641. "Aaaaaaaa bbbbbb ccccccc dddddddd"
  642.  
  643. (FORMAT NIL "~:@(AAAAAAAA BBBBBB ccccccc dddddddd~)")
  644. "AAAAAAAA BBBBBB CCCCCCC DDDDDDDD"
  645.  
  646. (FORMAT NIL "++~{-=~s=-~}++" (QUOTE (1 2 3)))
  647. "++-=1=--=2=--=3=-++"
  648.  
  649. (FORMAT NIL "++~2{-=~s=-~}++" (QUOTE (1 2 3)))
  650. "++-=1=--=2=-++"
  651.  
  652. (FORMAT NIL "++~@{-=~s=-~}++" 1 2 3)
  653. "++-=1=--=2=--=3=-++"
  654.  
  655. (FORMAT NIL "++~:{-=~s=~s=-~}++" (QUOTE ((1 2) (3 4 5) (6 7))))
  656. "++-=1=2=--=3=4=--=6=7=-++"
  657.  
  658. (FORMAT NIL "++~:@{-=~s=~s=-~}++" (QUOTE (1 2)) (QUOTE (3 4 5)) (QUOTE
  659. (6 7)))
  660. "++-=1=2=--=3=4=--=6=7=-++"
  661.  
  662. (FORMAT NIL "~{abc~:}")
  663. #+XCL "abc" #-XCL ERROR
  664.  
  665. (FORMAT NIL "~{~:}" "xyz")
  666. #+XCL "xyz" #-XCL ERROR
  667.  
  668. (FORMAT NIL "~1{~:}" "-~s-" (QUOTE (1 2)) 3)
  669. "-1-"
  670.  
  671. (FORMAT NIL "123456789012345678901234567890
  672. ~10,4txx~10,4ty~10,4tzzz~10,4tende")
  673. #+XCL
  674. "123456789012345678901234567890
  675.          xx  y   zzz ende"
  676. #-XCL
  677. "123456789012345678901234567890
  678.           xx  y   zzz ende"
  679.  
  680. (FORMAT NIL "123456789012345678901234567890
  681. ~3,4@txx~3,4@ty~3,4@tzzz~3,4@tende")
  682. #+XCL
  683. "123456789012345678901234567890
  684.    xx      y   zzz     ende"
  685. #-XCL
  686. "123456789012345678901234567890
  687.     xx      y   zzz     ende"
  688.  
  689. (FORMAT NIL "-~a-~a-~a-~a-" 1 2 3 4 5 6 7 8 9)
  690. "-1-2-3-4-"
  691.  
  692. (FORMAT NIL "-~a-~a-~*~a-~a-" 1 2 3 4 5 6 7 8 9)
  693. "-1-2-4-5-"
  694.  
  695. (FORMAT NIL "-~a-~a-~3*~a-~a-" 1 2 3 4 5 6 7 8 9)
  696. "-1-2-6-7-"
  697.  
  698. (FORMAT NIL "-~a-~a-~:*~a-~a-" 1 2 3 4 5 6 7 8 9)
  699. "-1-2-2-3-"
  700.  
  701. (FORMAT NIL "-~a-~a-~2:*~a-~a-" 1 2 3 4 5 6 7 8 9)
  702. "-1-2-1-2-"
  703.  
  704. (FORMAT NIL "-~a-~a-~@*~a-~a-" 1 2 3 4 5 6 7 8 9)
  705. "-1-2-1-2-"
  706.  
  707. (FORMAT NIL "-~a-~a-~6@*~a-~a-" 1 2 3 4 5 6 7 8 9)
  708. "-1-2-7-8-"
  709.  
  710. (FORMAT NIL "~[aa~;bb~;cc~]" 1)
  711. "bb"
  712.  
  713. (FORMAT NIL "~[aa~;bb~;cc~]" 10)
  714. ""
  715.  
  716. (FORMAT NIL "~2[aa~;bb~;cc~]" 10)
  717. "cc"
  718.  
  719. (FORMAT NIL "~@[aaa~]" NIL 10)
  720. ""
  721.  
  722. (FORMAT NIL "~@[aaa~]" 20 10)
  723. "aaa"
  724.  
  725. (FORMAT NIL "~@[aaa~d~]" NIL 10)
  726. ""
  727.  
  728. (FORMAT NIL "~@[aaa~d~]" 20 10)
  729. "aaa20"
  730.  
  731. (FORMAT NIL "~@[aaa~d~]bbb~d" NIL 10 30)
  732. "bbb10"
  733.  
  734. (FORMAT NIL "~@[aaa~d~]bbb~d" 20 10 30)
  735. "aaa20bbb10"
  736.  
  737. (FORMAT NIL "~:[-nil-~;-true-~d~]-ende~d" NIL 10 20)
  738. "-nil--ende10"
  739.  
  740. (FORMAT NIL "~:[-nil-~;-true-~d~]-ende~d" T 10 20)
  741. "-true-10-ende20"
  742.  
  743. (FORMAT NIL "Start test, newline:~%freshline:~&")
  744. "Start test, newline:
  745. freshline:
  746. "
  747.  
  748. (FORMAT NIL "decimal pad with period:~10,vd-*" #\. 12)
  749. "decimal pad with period:........12-*"
  750.  
  751. (FORMAT NIL "char normal:~c, as # would read:~@c, human read:~:c-*"
  752. #\SPACE
  753. #\SPACE #\SPACE)
  754. #+(or XCL CMU CLISP) "char normal: , as # would read:#\\Space, human read:Space-*"
  755. #+(or AKCL LUCID)    "char normal:Space, as # would read:#\\Space, human read:Space-*"
  756. #-(or XCL CMU CLISP AKCL LUCID) UNKNOWN
  757.  
  758. (FORMAT NIL
  759. "cardinal:~r, roman new:~@r, roman-old:~:@r~
  760.                 <same line I hope>~@
  761.                 new line but at beginning~:
  762.    same line, but spaced out~@
  763.         new line and over two tabs-*" 4 4 4)
  764. "cardinal:four, roman new:IV, roman-old:IIII<same line I hope>
  765. new line but at beginning   same line, but spaced out
  766. new line and over two tabs-*"
  767.  
  768. (FORMAT NIL "Type ~:C to ~A." (SET-CHAR-BIT #\D :CONTROL T)
  769. "delete all your files")
  770. "Type Control-D to delete all your files."
  771.  
  772. (SETQ N 3)
  773. 3
  774.  
  775. (FORMAT NIL "~D item~:P found." N)
  776. "3 items found."
  777.  
  778. (FORMAT NIL "~R dog~:[s are~; is~] here." N (= N 1))
  779. "three dogs are here."
  780.  
  781. (FORMAT NIL "~R dog~:*~[s are~; is~:;s are~] here." N)
  782. "three dogs are here."
  783.  
  784. (FORMAT NIL "Here ~[are~;is~:;are~] ~:*~R pupp~:@p." N)
  785. "Here are three puppies."
  786.  
  787. (SETQ N 1)
  788. 1
  789.  
  790. (FORMAT NIL "~D item~:P found." N)
  791. "1 item found."
  792.  
  793. (FORMAT NIL "~R dog~:[s are~; is~] here." N (= N 1))
  794. "one dog is here."
  795.  
  796. (FORMAT NIL "~R dog~:*~[s are~; is~:;s are~] here." N)
  797. "one dog is here."
  798.  
  799. (FORMAT NIL "Here ~[are~;is~:;are~] ~:*~R pupp~:@p." N)
  800. "Here is one puppy."
  801.  
  802. (SETQ N 0)
  803. 0
  804.  
  805. (FORMAT NIL "~D item~:P found." N)
  806. "0 items found."
  807.  
  808. (FORMAT NIL "~R dog~:[s are~; is~] here." N (= N 1))
  809. "zero dogs are here."
  810.  
  811. (FORMAT NIL "~R dog~:*~[s are~; is~:;s are~] here." N)
  812. "zero dogs are here."
  813.  
  814. (FORMAT NIL "Here ~[are~;is~:;are~] ~:*~R pupp~:@p." N)
  815. "Here are zero puppies."
  816.  
  817. (FORMAT NIL "~D tr~:@p/~D win~:P" 7 1)
  818. "7 tries/1 win"
  819.  
  820. (FORMAT NIL "~D tr~:@p/~D win~:P" 1 0)
  821. "1 try/0 wins"
  822.  
  823. (FORMAT NIL "~D tr~:@p/~D win~:P" 1 3)
  824. "1 try/3 wins"
  825.  
  826. (DEFUN TYPE-CLASH-ERROR (FN NARGS ARGNUM RIGHT-TYPE WRONG-TYPE) (FORMAT
  827. NIL
  828. "~&~S requires itts ~:[~:R~;~*~] ~
  829.            argument to be of type ~S,~%but it was called ~
  830.            with an argument of type ~S.-*" FN (EQL NARGS 1) ARGNUM
  831. RIGHT-TYPE
  832. WRONG-TYPE))
  833. TYPE-CLASH-ERROR
  834.  
  835. (TYPE-CLASH-ERROR (QUOTE AREF) NIL 2 (QUOTE INTEGER) (QUOTE VECTOR))
  836. "AREF requires itts second argument to be of type INTEGER,
  837. but it was called with an argument of type VECTOR.-*"
  838.  
  839. (TYPE-CLASH-ERROR (QUOTE CAR) 1 1 (QUOTE LIST) (QUOTE SHORT-FLOAT))
  840. "CAR requires itts  argument to be of type LIST,
  841. but it was called with an argument of type SHORT-FLOAT.-*"
  842.  
  843. (FORMAT NIL "~? ~D" "<~A ~D>" (QUOTE ("Foo" 5)) 7)
  844. "<Foo 5> 7"
  845.  
  846. (FORMAT NIL "~? ~D" "<~A ~D>" (QUOTE (" Foo" 5 14)) 7)
  847. "< Foo 5> 7"
  848.  
  849. (FORMAT NIL "~@? ~d" "<~A ~D>" "Foo" 5 7)
  850. "<Foo 5> 7"
  851.  
  852. (FORMAT NIL "~@? ~D" "<~A ~D>" "Foo" 5 14 7)
  853. "<Foo 5> 14"
  854.  
  855. (FORMAT NIL "~@R ~(~@R~)" 14 14)
  856. "XIV xiv"
  857.  
  858. (DEFUN F (N) (FORMAT NIL "~@(~R~) error~:P detected." N))
  859. F
  860.  
  861. (F 0)
  862. "Zero errors detected."
  863.  
  864. (F 1)
  865. "One error detected."
  866.  
  867. (F 23)
  868. "Twenty-three errors detected."
  869.  
  870. (SETQ *PRINT-LEVEL* NIL *PRINT-LENGTH* 5)
  871. 5
  872.  
  873. (FORMAT NIL "~@[ print level = ~D~]~@[ print length = ~D~]" *PRINT-LEVEL*
  874.  
  875. *PRINT-LENGTH*)
  876. " print length = 5"
  877.  
  878. (SETQ *PRINT-LENGTH* NIL)
  879. NIL
  880.  
  881. (SETQ FOO
  882. "Items:~#[none~; ~s~; ~S and ~S~
  883.           ~:;~@{~#[~; and~] ~S~^,~}~].")
  884. "Items:~#[none~; ~s~; ~S and ~S~
  885.           ~:;~@{~#[~; and~] ~S~^,~}~]."
  886.  
  887. (FORMAT NIL FOO)
  888. "Items:none."
  889.  
  890. (FORMAT NIL FOO (QUOTE FOO))
  891. "Items: FOO."
  892.  
  893. (FORMAT NIL FOO (QUOTE FOO) (QUOTE BAR))
  894. "Items: FOO and BAR."
  895.  
  896. (FORMAT NIL FOO (QUOTE FOO) (QUOTE BAR) (QUOTE BAZ))
  897. "Items: FOO, BAR, and BAZ."
  898.  
  899. (FORMAT NIL FOO (QUOTE FOO) (QUOTE BAR) (QUOTE BAZ) (QUOTE QUUX))
  900. "Items: FOO, BAR, BAZ, and QUUX."
  901.  
  902. (FORMAT NIL "The winners are:~{ ~S~}." (QUOTE (FRED HARRY JILL)))
  903. "The winners are: FRED HARRY JILL."
  904.  
  905. (FORMAT NIL "Pairs:~{ <~S,~S>~}." (QUOTE (A 1 B 2 C 3)))
  906. "Pairs: <A,1> <B,2> <C,3>."
  907.  
  908. (FORMAT NIL "Pairs:~:{ <~S,~S>~}." (QUOTE ((A 1) (B 2) (C 3))))
  909. "Pairs: <A,1> <B,2> <C,3>."
  910.  
  911. (FORMAT NIL "Pairs:~@{ <~S,~S>~}." (QUOTE A) 1 (QUOTE B) 2 (QUOTE C)
  912. 3)
  913. "Pairs: <A,1> <B,2> <C,3>."
  914.  
  915. (FORMAT NIL "Pairs:~:@{ <~S,~S>~}." (QUOTE (A 1)) (QUOTE (B 2)) (QUOTE
  916. (C 3)))
  917. "Pairs: <A,1> <B,2> <C,3>."
  918.  
  919. (SETQ DONESTR "done.~^ ~D warning~:P.~^ ~D error~:P.")
  920. "done.~^ ~D warning~:P.~^ ~D error~:P."
  921.  
  922. (FORMAT NIL DONESTR)
  923. "done."
  924.  
  925. (FORMAT NIL DONESTR 3)
  926. "done. 3 warnings."
  927.  
  928. (FORMAT NIL DONESTR 1 5)
  929. "done. 1 warning. 5 errors."
  930.  
  931. (SETQ TELLSTR "~@(~@[~R~]~^ ~A.~)")
  932. "~@(~@[~R~]~^ ~A.~)"
  933.  
  934. (FORMAT NIL TELLSTR 23)
  935. "Twenty-three"
  936.  
  937. (FORMAT NIL TELLSTR NIL "losers")
  938. " Losers."
  939.  
  940. (FORMAT NIL TELLSTR 23 "losers")
  941. "Twenty-three losers."
  942.  
  943. (FORMAT NIL "**~c**" #\SPACE)
  944. #+(or XCL CMU CLISP)    "** **"
  945. #+(or AKCL LUCID)       "**Space**"
  946. #-(or XCL CMU CLISP AKCL LUCID) UNKNOWN
  947.  
  948. (FORMAT NIL "**~:c**" #\SPACE)
  949. "**Space**"
  950.  
  951. (FORMAT NIL "**~:@c**" #\SPACE)
  952. "**Space**"
  953.  
  954. (FORMAT NIL "**~@c**" #\SPACE)
  955. "**#\\Space**"
  956.  
  957. #-AKCL (FORMAT NIL "**~c**" #\C-SPACE)
  958. #+XCL "** **"
  959. #+CLISP "**C- **"
  960. #+LUCID "**C-Space**"
  961. #-(or XCL CLISP AKCL LUCID) UNKNOWN
  962.  
  963. #-AKCL (FORMAT NIL "**~:c**" #\C-SPACE)
  964. #-AKCL "**Control-Space**"
  965.  
  966. #-AKCL (FORMAT NIL "**~:@c**" #\C-SPACE)
  967. #-AKCL "**Control-Space**"
  968.  
  969. #-AKCL (FORMAT NIL "**~@c**" #\C-SPACE)
  970. #-AKCL "**#\\Control-Space**"
  971.  
  972. #-AKCL (FORMAT NIL "**~c**" #\C-A)
  973. #+XCL "**A**"
  974. #+(or CLISP LUCID) "**C-A**"
  975. #-(or XCL CLISP AKCL LUCID) UNKNOWN
  976.  
  977. #-AKCL (FORMAT NIL "**~:c**" #\C-A)
  978. #-AKCL "**Control-A**"
  979.  
  980. #-AKCL (FORMAT NIL "**~:@c**" #\C-A)
  981. #-AKCL "**Control-A**"
  982.  
  983. #-AKCL (FORMAT NIL "**~@c**" #\C-A)
  984. #-AKCL "**#\\Control-A**"
  985.  
  986. (FORMAT NIL "**~c**" #\A)
  987. "**A**"
  988.  
  989. (FORMAT NIL "**~:c**" #\A)
  990. "**A**"
  991.  
  992. (FORMAT NIL "**~:@c**" #\A)
  993. "**A**"
  994.  
  995. (FORMAT NIL "**~@c**" #\A)
  996. "**#\\A**"
  997.  
  998. #+XCL (FORMAT NIL "**~c**" (CODE-CHAR 26))
  999. #+XCL "****"
  1000. #+CLISP (FORMAT NIL "**~c**" (CODE-CHAR 27))
  1001. #+CLISP "****"
  1002.  
  1003. #+XCL (FORMAT NIL "**~:c**" (CODE-CHAR 26))
  1004. #+XCL "**Z**"
  1005. #+CLISP (FORMAT NIL "**~:c**" (CODE-CHAR 27))
  1006. #+CLISP "**Escape**"
  1007.  
  1008. #+XCL (FORMAT NIL "**~:@c**" (CODE-CHAR 26))
  1009. #+XCL "**^Z**"
  1010. #+CLISP (FORMAT NIL "**~:@c**" (CODE-CHAR 27))
  1011. #+CLISP "**Escape**"
  1012.  
  1013. #+XCL (FORMAT NIL "**~@c**" (CODE-CHAR 26))
  1014. #+XCL "**#\\**"
  1015. #+CLISP (FORMAT NIL "**~@c**" (CODE-CHAR 27))
  1016. #+CLISP "**#\\Escape**"
  1017.  
  1018. #+XCL (FORMAT NIL "**~c**" (CODE-CHAR 26 1))
  1019. #+XCL "****"
  1020. #+CLISP (FORMAT NIL "**~c**" (CODE-CHAR 27 1))
  1021. #+CLISP "**C-**"
  1022.  
  1023. #+XCL (FORMAT NIL "**~:c**" (CODE-CHAR 26 1))
  1024. #+XCL "**Control-**"
  1025. #+CLISP (FORMAT NIL "**~:c**" (CODE-CHAR 27 1))
  1026. #+CLISP "**Control-Escape**"
  1027.  
  1028. #+XCL (FORMAT NIL "**~:@c**" (CODE-CHAR 26 1))
  1029. #+XCL "**Control-**"
  1030. #+CLISP (FORMAT NIL "**~:@c**" (CODE-CHAR 27 1))
  1031. #+CLISP "**Control-Escape**"
  1032.  
  1033. #+XCL (FORMAT NIL "**~@c**" (CODE-CHAR 26 1))
  1034. #+XCL "**#\\Control-**"
  1035. #+CLISP (FORMAT NIL "**~@c**" (CODE-CHAR 27 1))
  1036. #+CLISP "**#\\Control-Escape**"
  1037.  
  1038. (progn (fmakunbound 'foo)
  1039.        (makunbound 'liste)
  1040. t)
  1041. T
  1042.  
  1043.