[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Buggy complr
- To: bug-maclisp at MIT-MC
- Subject: Buggy complr
- From: Mohammed at SRI-KL
- Date: Wed, 25 Nov 81 02:40:00 GMT
- Original-date: 24 Nov 1981 1840-PST
Jon:
For reasons I can't fathom, sometimes COMPLR decides that
functions which have been loaded and declared haven't. Witness:
[PHOTO: Recording initiated Tue 24-Nov-81 6:30PM]
[Synonym LO defined]
End of <MOHAMMED>COMAND.CMD.5
@tyPE (FILE) test1.lsp
(eval-when (load eval) ;This is the fix you described for getting
(cond ((status feature complr) ;LEXPRS declared in the complr
(declare (*lexpr test1))))) ;environment
(herald test1 /0)
;(eval-when (load) ;I used this to prove to
; (error "Yes we are being loaded!! (TEST1)")) ;myself that the file is
;actually loaded.
(defun test1 (a &optional (b 'ly))
(print (symbolconc a b)))
@
@tyPE (FILE) test2.lsp
(eval-when (load eval compile)
(load '((ps |mohammed.maclisp|) test1 fasl)))
(defun test2 ()
(test1 0.)
(test1 0. 2.))
@complr.EXE.2
LISP COMPILER 1118 [in LISP 2122]
_test2
(COMMENT **ERROR** (TEST1 0. 2.) Wrong number of args in function TEST2)
; DATA ERROR - TO PROCEED TYPE $P
;BKPT DATA
$P
_
;BKPT ^B
(plist 'test1)
(*EXPR T VERSION /7 LSUBR #270000) ;Note that TEST1 IS in the environment
(describe 'test1)
;Loading DESCRIBE 4
;Loading EXTEND 284
;Loading EXTBAS 35
; Loading FORMAT ([MC]DSK:FORMAT;FORMAT 793)
TEST1 is defined as a LSUBR; Args: (1 . 2)
TEST1 has property *EXPR: T ;and that it is marked as an EXPR
TEST1 has property VERSION: /7*
@ty test2.unfasl
'(THIS IS THE UNFASL FOR ((PS |MOHAMMED.MACLISP|) TEST2 LSP /7))
'(ASSEMBLED BY FASLAP /392)
'(COMPILED BY LISP COMPILER /935 COMAUX /25 PHAS1 /81 MAKLAP /80 INITIA /115)
;COMPILED ON NOVEMBER 24, 1981, AT 6:31 PM
;Loading TEST1 7
(COMMENT **** TEST1
Has been previously used with wrong number of arguments in funct
ion TEST2)
(COMMENT **ERROR** (TEST1 0. 2.) Wrong number of args in function TEST2)
; DATA ERROR - TO PROCEED TYPE $P
(COMMENT **** (TEST2) - Failed to compile)
(COMMENT **** (TEST1) have been used but remain undefined in this file)
(COMMENT **FASL** TOTAL = 0. WORDS)
@pop
[PHOTO: Recording terminated Tue 24-Nov-81 6:32PM]
Yet, COMPLR doesn't want to know that TEST1 is defined.
John L. Mohammed
-------