68 |
(if (eq form '*cmperr-tag*) (c1nil) form)) |
(if (eq form '*cmperr-tag*) (c1nil) form)) |
69 |
|
|
70 |
(si::putprop 'si:|#,| 'c1sharp-comma 'c1special) |
(si::putprop 'si:|#,| 'c1sharp-comma 'c1special) |
71 |
|
(si::putprop 'load-time-value 'c1load-time-value 'c1special) |
72 |
|
|
73 |
(defun c1sharp-comma (arg) |
(defun c1sharp-comma (arg) |
74 |
(c1constant-value (cons 'si:|#,| arg) t)) |
(c1constant-value (cons 'si:|#,| arg) t)) |
75 |
|
|
76 |
|
(defun wrap-literals (form) |
77 |
|
(cond ((consp form) |
78 |
|
(if (eq (car form) 'quote ) |
79 |
|
`(load-time-value (si::nani ,(si::address (cadr form)))) |
80 |
|
(cons (wrap-literals (car form)) (wrap-literals (cdr form))))) |
81 |
|
((stringp form) |
82 |
|
`(load-time-value (si::nani ,(si::address form)))) |
83 |
|
(t form))) |
84 |
|
|
85 |
|
(defun c1load-time-value (arg) |
86 |
|
(c1constant-value |
87 |
|
(cons 'si:|#,| |
88 |
|
(if *compiler-compile* |
89 |
|
(let ((x (cmp-eval (car arg)))) |
90 |
|
(if (and (cdr arg) (cadr arg)) |
91 |
|
x |
92 |
|
`(si::nani ,(si::address x)))) |
93 |
|
(car arg))) |
94 |
|
t)) |
95 |
|
|
96 |
(si::putprop 'si::define-structure 'c1define-structure 't1) |
(si::putprop 'si::define-structure 'c1define-structure 't1) |
97 |
|
|
98 |
(defun c1define-structure (arg &aux *sharp-commas*) |
(defun c1define-structure (arg &aux *sharp-commas*) |