diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 793eaa6..d51b820 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -39177,7 +39177,12 @@ found a bug related to this ambiguity so this was renamed. \begin{chunk}{defmacro assq} (defmacro assq (a b) `(assoc ,a ,b :test #'eq)) - +\end{chunk} + +\defun{getl}{A version of GET that works with lists} +\begin{chunk}{defun getl 0} +(defun getl (op prop) + (when (and op (symbolp op)) (get op prop))) \end{chunk} \chapter{Record, Union, Mapping, and Enumeration} @@ -53338,6 +53343,7 @@ digits in TechExplorer. Since Saturn is gone we can remove it. \getchunk{defun get-current-directory 0} \getchunk{defun getenviron 0} +\getchunk{defun getl 0} \getchunk{defun getLinePos 0} \getchunk{defun getLineText 0} \getchunk{defun getMsgArgL 0} diff --git a/changelog b/changelog index a832474..6f89121 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20140710 tpd src/axiom-website/patches.html 20140710.04.tpd.patch +20140710 tpd books/bookvol5 GCL 2.6.10 assoc sematics change requires GETL fix 20140710 tpd src/axiom-website/patches.html 20140710.03.tpd.patch 20140710 tpd zips/gcl-2.6.10.tgz add the latest gcl and all of its patches 20140710 tpd src/axiom-website/patches.html 20140710.02.tpd.patch diff --git a/patch b/patch index 01987d1..29c10d0 100644 --- a/patch +++ b/patch @@ -1,4 +1,4 @@ -zips/gcl-2.6.10.tgz add the latest gcl and all of its patches +books/bookvol5 GCL 2.6.10 assoc sematics change requires a GETL fix -gcl-2.6.10 is the latest GCL distribution. We cache a copy to -provide a stable lisp platform for Axiom. +port to GCL 2.6.10 runs into a semantics change in assoc handling +of list arguments. GETL handles this with the new fix. diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 79e2224..477c1cb 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4542,6 +4542,8 @@ Makefile remove leftover pdf files on clean books/bookvol4 add a section on changing GCL2 versions 20140710.03.tpd.patch zips/gcl-2.6.10.tgz add the latest gcl and all of its patches +20140710.04.tpd.patch +books/bookvol5 GCL 2.6.10 assoc sematics change requires GETL fix diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet index 8fc9089..972d284 100644 --- a/src/interp/vmlisp.lisp.pamphlet +++ b/src/interp/vmlisp.lisp.pamphlet @@ -1298,15 +1298,6 @@ and works properly. ; 98.0 Stuff Not In The VMLisp Manual That We Like -; A version of GET that works with lists - -; (defun getl (sym key ) -; (cond ((consp sym) (cdr (assoc key sym :test #'eq))) -; ((symbolp sym) (get sym key)))) -(defun getl (sym key ) - (cond ((consp sym) (cdr (assq key sym))) - ((symbolp sym) (get sym key)))) - ; The following should actually position the cursor at the sint'th line of the screen: (defun $showline (cvec sint) (terpri) sint (princ cvec))