;-*-LISP-*- ;This file contains support macros for the STRMRG package. (macsyma-module ERMSGX macro) (eval-when (eval compile) (or (get 'defsetf 'version) (load '((LISP) defsetf)))) ;; The fixnum which is stored into for buffering the whole-words we get ;; back from IN. This fixnum is DEPOSITed into. (defmacro message-file-buffer-pointer (message-file) `(sfa-get ,message-file 0)) (defmacro message-file-buffer (message-file) `(EXAMINE (MAKNUM (message-file-buffer-pointer ,message-file)))) ;; The file array from which to read. Should be open in FIXNUM IN mode. (defmacro message-file-file (message-file) `(sfa-get ,message-file 1)) ;; The next character out of the fixnum which should be read in response to ;; TYI. Counted down from the left. When zero, a new word must be read first. (defmacro message-file-charno (message-file) `(sfa-get ,message-file 2)) (defmacro message-file-header-count (message-file) `(sfa-get ,message-file 3)) (defmacro message-file-header-offset (message-file) `(sfa-get ,message-file 4)) (defmacro message-file-text-offset (message-file) `(sfa-get ,message-file 5)) (defmacro message-file-alist (message-file) `(sfa-get ,message-file 6)) (defvar message-file-size 7) (defsetf examine ((() loc) val) () `(deposit ,loc ,val))