===================================================================
Voici les corrections et les extensions de la nouvelle diffusion
de Le-Lisp version 15.21 date'e du 25 De'cembre 1987.
Interpre`te et fonctions pre'de'finies :
========================================
- (#:SYSTEM:MAPALLVECTOR fnt)
(#:SYSTEM:MAPALLSTRING fnt)
applique <fnt> sur tous les vecteurs (chaines) presents dans
le syste`me.
- (GCINFO T) retourne les tailles au lancement du syste`me dans
le me↑me format que GCINFO.
- Fixe du bug des calculs d'adresse avec #$8000
- Ajout de la fonction PRATOM
- Ajout des fonctions IMIN, IMAX, FMIN, FMAX
LLCP:
====
- Un effet de bord dans le 2eme argument de NEWR ne pose plus de proble`me.
COMPLICE :
==========
[15/09/87]
Erreur de compilation signale par T Banel (CEDIAG)
Mauvaise compilation de la recursivite terminale des Nsubrs faisant
une liaison d'arbre.
Reperable par :
(defun foo ((a . b) c d e)
(when b
(flush)
(f b c d e)))
(foo '(1 2) 3 4 5) -> Erreur de la machine
Modification de cp2.
[17/09/87]
feature signale par M Devin (ILOG)
On ne signale les fonctions externes au module si la fonction
est une macro du compilateur (macro-openp <f>). Ceci evite
d'avoir une longue liste de message lors des defstructs...
[21/09/87]
On ne charge les includes qu'une seule fois.
[23/09/87]
Erreur de compilation signale par F Morain (INRIA)
Mauvaise allocation des registres pour la fonction REPEAT
Reperable par:
(defun foo (a b)
(repeat 0 (setq b (cons 1 1)))
b )
qui ramene la valeur de a.
Modification de cpfnt
[14/10/87]
Mauvaise macroexpansion de NEWR signale' par P. Parquier (CEDIAG)
Le deuxie`me argument doit e↑tre evalue' avant la variable
comme dans l'interpre`te.
Modification de ~/llib/cpmac.ll par ILOG
[28/10/87]
Bug signale par F. Morain [INRIA]
'time' etait filtree par la premiere passe du compilateur
alors qu'elle est une macro du compilateur.
Modification de cp1.ll
[28/10/87]
bug signale pas P. Robert [ECRC]
Mauvaise compilation de SETQ dans certains cas.
Reperable par
(defun foo (v n)
(flush)
(setq n (vref (vref v n) n))
n )
Setq passe maintenant toujours par un registre intermediaire.
Modification de cpfnt.ll
Bibliothe`que standard :
========================
- STARTUP : la variable #:SYSTEM:UNIXP, indicateur de
pre'sence d'un syste`me UN*X.
- STARTUP : la variable #:SYSTEM:SAVE-STD-GCINFO-LIST
contient la liste des GCINFO a` chaque SAVE-STD.
- STARTUP : la variable #:SYSTEM:INITTY-AFTER-RESTORE-FLAG
est interpre'te'e dans CORE-INIT-STD
- STARTUP : la variable #:SYSTEM:INIBITMAP-AFTER-RESTORE-FLAG
est interpre'te'e dans CORE-INIT-STD
- Les abre'viations sont incluses en standard.
- MicroCeyx est inclus en standard.
- La plupart des messages d'erreur sont bilingues.
- LOADMODULE est case-sensitive.
- Les arrondis vers les dizaines sont correctes dans FORMAT.
- EDLIN : les ame'liorations de J. Duthen de l'IRCAM ont
e'te' inte'gre'es.
- TRACE/STEP : redirige les E/S sur le canal terminal.
- BitMap Virtuel a atteint l'a↑ge adulte.
TESTS :
======
Les tests ont e'te' conside'rablement augmente's et ame'liore's.
Voici l'ensemble du jeu de tests standard :
../lltest/testextern.ll
../lltest/testlap.ll
../lltest/testprint.ll
../lltest/testfloat.ll
../lltest/testdata.ll
../lltest/testmcx.ll
../lltest/testgenr.ll
../lltest/testpeep.ll
../lltest/testsched.ll
../lltest/testfib.ll
../lltest/testtrace.ll
../lltest/testread.ll
../lltest/testratio.ll
../lltest/testcomplex.ll
../lltest/testtty.ll
../lltest/testcpl.ll
../lltest/testformat.ll
../lltest/testcp.ll
../lltest/testcomm.ll
../lltest/testfn.ll
../lltest/testbitmap.ll
../lltest/testbvcomm.ll
../lltest/testgraph.ll
../lltest/testmodes.ll
MAC68K et LAP68K :
==================
- Indicateur MC68020 dans mac68k traite :
[ADD/SUB]Q sur les registres Ax
adressage indexe sur mots HPxMOVx
- Pour les CVALQ/FVALQ le LAP utilise l'adressage indirect
indexe' sur RNIL.
- Enle`ve l'indicateur TABLGC (la table est toujours pre'sente
mais occupe 2 fois moins de place!)
- Les registres peuvent e↑tre alloue's diffe'remment dans MAC et LAP.
- Les flottants 64 bits occupent vraiment 64 bits (et non plus 96bits)
- Deux nouveaux traits ont e'te' ajoute's dans les versions 680x0 :
31BITFLOATS ou 64BITFLOATS
MC68881
- Les flottants 31/64 bits avec/sans MC68881 sont DANS TOUS LES
CAS correctement traite's.
Il y a donc 4 binaires liables pour les images me'moires :
lesoft31bin.o
lesoft64bin.o
lefpu31bin.o avec mc68881
lefpu64bin.o avec mc68881
Le de'faut est lesoft31bin.o (qui correspond a` l'ancien
lelispbin.o).
- Optimisation du GC
IBM RT/PC :
===========
est disponible!