File: const.l

package info (click to toggle)
euslisp 9.27%2Bdfsg-7
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 55,344 kB
  • sloc: ansic: 41,162; lisp: 3,339; makefile: 256; sh: 208; asm: 138; python: 53
file content (30 lines) | stat: -rw-r--r-- 1,242 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
(require :unittest "lib/llib/unittest.l")

(init-unit-test)

(deftest const

  (dotimes (i 100)
    (eval `(defconstant ,(intern (format nil "*CONST~d*" i)) i)))
  (make-package "TEST1")
  (dotimes (i (+ (length ((find-package "TEST1") . intsymvector)) 10))
    (eval `(defconstant ,(intern (format nil "TEST1::*CONST~d*" i)) i)))
  (make-package "TEST2")
  (dotimes (i (+ (length ((find-package "TEST2") . intsymvector)) 10))
    (catch 'error
      (labels ((error2 (&rest args) (print args *error-output*)(throw 'error nil)))
              (lisp::install-error-handler 'error2)
              (shadow (intern (format nil "*CONST~d*" i)) (find-package "TEST2"))
              (eval `(defconstant ,(intern (format nil "TEST2::*CONST~d*" i)) i)))))
  (make-package "TEST3")
  (setq num (+ (length ((find-package "TEST3") . intsymvector)) 10))
  (dotimes (i num)
    (intern (format nil "*CONST~d*" i) (find-package "TEST3"))
    (shadow (intern (format nil "*CONST~d*" i)) (find-package "TEST3"))
    (eval `(defconstant ,(intern (format nil "TEST3::*CONST~d*" i)) i)))
  (assert (not (= num (+ (length ((find-package "TEST3") . intsymvector)) 10))) "check if intsymvector is expanded")
  )

(eval-when (load eval)
  (run-all-tests)
  (exit))