;; -*- mode: lisp-data -*- (fset 'defmacro (cons 'macro (lambda (name lambda-list &rest body) "Define NAME to be a macro." (declare (name defmacro)) (list 'fset (list 'quote name) (list 'cons (quote 'macro) (list* 'lambda lambda-list (list 'declare (list 'name name)) body)))))) (defmacro defun (name lambda-list &rest body) "Define NAME to be a function." (list 'fset (list 'quote name) (list* 'lambda lambda-list (list 'declare (list 'name name)) body))) (defun princln (datum &optional print-char-fun) "`princ' DATUM to PRINT-CHAR-FUN. Then print a newline." (princ datum print-char-fun) (funcall (or print-char-fun 'write-byte) ?\n)) (princln '#'princ)