mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-04 00:11:37 -08:00
Allow #ifdef/#if/#define, etc, in the C-INLINE clauses
This commit is contained in:
parent
e4233c546b
commit
d0448f2f83
1 changed files with 8 additions and 4 deletions
|
|
@ -348,11 +348,15 @@
|
|||
(setq object (second object)))
|
||||
(wt (add-object object))))))
|
||||
(#\#
|
||||
(let* ((k (char-downcase (read-char s)))
|
||||
(let* ((k (read-char s))
|
||||
(next-char (peek-char nil s nil nil))
|
||||
(index (digit-char-p k 36)))
|
||||
(unless (and index (< index (length coerced-arguments)))
|
||||
(cmperr "C-INLINE: Variable code exceeds number of arguments"))
|
||||
(wt (nth index coerced-arguments))))
|
||||
(cond ((or (null index) (and next-char (alphanumericp next-char)))
|
||||
(wt #\# k))
|
||||
((< index (length coerced-arguments))
|
||||
(wt (nth index coerced-arguments)))
|
||||
(t
|
||||
(cmperr "C-INLINE: Variable code exceeds number of arguments")))))
|
||||
(otherwise
|
||||
(write-char c *compiler-output1*))))))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue