Changeset 4446
- Timestamp:
- 10/18/03 16:23:59 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/lisp/compiler.lisp
r4445 r4446 2 2 ;;; 3 3 ;;; Copyright (C) 2003 Peter Graves 4 ;;; $Id: compiler.lisp,v 1.5 0 2003-10-18 14:42:35piso Exp $4 ;;; $Id: compiler.lisp,v 1.51 2003-10-18 16:23:59 piso Exp $ 5 5 ;;; 6 6 ;;; This program is free software; you can redistribute it and/or … … 121 121 122 122 (defun expand-local-macro (form) 123 (funcall (local-macro-function (car form)) form nil)) 123 (let ((expansion (funcall (local-macro-function (car form)) form nil))) 124 ;; If the expansion turns out to be a bare symbol, wrap it with PROGN so it 125 ;; won't be mistaken for a tag in an enclosing TAGBODY. 126 (if (symbolp expansion) 127 (list 'progn expansion) 128 expansion))) 124 129 125 130 (defun compile-macrolet (form) … … 172 177 (let ((body (cdr form))) 173 178 (if (= (length body) 1) 174 (compile-sexp (car body)) 179 (let ((res (compile-sexp (car body)))) 180 ;; If the result turns out to be a bare symbol, leave it wrapped 181 ;; with PROGN so it won't be mistaken for a tag in an enclosing 182 ;; TAGBODY. 183 (if (symbolp res) 184 (list 'progn res) 185 res)) 175 186 (cons 'progn (mapcar #'compile-sexp body))))) 176 187 (IF
Note: See TracChangeset
for help on using the changeset viewer.