;;;;;;;;;;;;;;;;;;; -*- Mode: Lisp; Package: Macsyma -*- ;;;;;;;;;;;;;;;;;;; ;;; (c) Copyright 1980 Massachusetts Institute of Technology ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (macsyma-module readm macro) ;;; Macros dealing with the lisp reader. #+MACLISP(DEFVAR /#-SYMBOLIC-CHARACTERS-TABLE) (DEFMACRO |DEF#\SYMBOL| (SYM NUM) #+MACLISP `(PROGN 'COMPILE (LET ((F (CAR (STATUS MACRO #/#)))) (OR (FBOUNDP F) (LOAD (GET F 'AUTOLOAD)))) (LET ((SLOT (ASSOC ',SYM /#-SYMBOLIC-CHARACTERS-TABLE))) (AND SLOT (NOT (EQUAL ',NUM (CDR SLOT))) (FORMAT MSGFILES '|~&; Warning: Redefining #\~S from ~S to ~S| ',SYM (CDR SLOT) ',NUM)) (OR (EQUAL SLOT '(,SYM . ,NUM)) (PUSH '(,SYM . ,NUM) /#-SYMBOLIC-CHARACTERS-TABLE))) ',(FORMAT NIL "#\~S => ~S" SYM NUM)) #-MACLISP (ERROR "I don't know how to hack DEF#\SYMBOL here."))