diff --git a/changelog b/changelog index 6759734..7c7788a 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20071217 acr src/algebra/mathml.spad fix hex(10) mathml rendering (7015) +20071217 wxh src/interp/http.lisp mathObject2String for hex(10) (7015) 20071216 acr src/algebra/mathml.spad fix F,3 mathml rendering (7019) 20071216 tpd Makefile fix mistake of using wrong Makefile for Xpm fix (7045) 20071216 cys Makefile add -lXpm to loader flags (7045) diff --git a/src/algebra/mathml.spad.pamphlet b/src/algebra/mathml.spad.pamphlet index be7cf47..4b9869f 100644 --- a/src/algebra/mathml.spad.pamphlet +++ b/src/algebra/mathml.spad.pamphlet @@ -780,11 +780,7 @@ have to be switched by swapping names. str := postcondition(str) str - - - stringify expr == (object2String$Lisp expr)@S - - + stringify expr == (mathObject2String$Lisp expr)@S group str == concat ["",str,""] @@ -1320,10 +1316,6 @@ have to be switched by swapping names. -- where it arises. Removed 2007-02-14 concat(concat("",str),"") -- if we get to here does that mean it's a variable? - -- test for something like #\A and strip off #\ - str.1 = char "#" and str.2 = char "\" => - u : US := segment(3,len)$US - concat ["",str.u,""] concat ["",str,""] l : L E := (expr pretend L E) null l => blank diff --git a/src/interp/http.lisp b/src/interp/http.lisp index 3c217d0..4c8e827 100644 --- a/src/interp/http.lisp +++ b/src/interp/http.lisp @@ -44,6 +44,35 @@ (defun |SiAccept| (s) (si::accept s)) (defun |SiCopyStream| (q s) (si::copy-stream q s)) +;;; mathObject2String is a replacement function for object2String +;;; +;;; this function is used in mathml.spad to handle conversion of +;;; of numbers in mathml for radix expansions. The bug is: +;;; +;;; _____ +;;; radix(5/24,39) ==> 0 . 8 4 34 +;;; +;;; _ +;;; radix(5/24,40) ==> 0 . 8 D +;;; +;;; ____ +;;; radix(5/24,43) ==> 0 . 8 41 +;;; +;;; radix(35,36) ==> Z +;;; +;;; radix(36,37) ==> Error ... index out of range +;;; +;;; radix(10,16) ==> A +;;; +;;; exprex(%) ==> "{#\A}" +;;; +;;; exprex shows the preconditioned output form which shows #\A + +(defun |mathObject2String| (x) + (if (characterp x) + (coerce (list x) 'string) + (|object2String| x))) + ;;; replace-entities is a function that takes a string and ;;; returns a new string that has special html entities replaced.