Greetings! Fresh tag, git banner reporting, equalp hashtables, fixed only bogus nan comparison I could find, fixed mod 2 bug reported in maxima, large memory model support on amd64, ansi in-package support.
This is all I know right now that should go in for the tarball. Please play with it if desired and let me know if there are any showstoppers. If anyone has a macosx or cygwin environment for a build, please let me know. Thanks for the helpful suggestion about a vmware image -- my current understanding is that one still needs to purchase the media for the closed source system, but please correct me if I am wrong. Robert Dodier <robert.dod...@gmail.com> writes: > On Fri, Nov 4, 2022 at 10:32 AM Camm Maguire <c...@maguirefamily.org> wrote: > > I reviewed the bug reports and found a few more. Here is a link to see > bug reports which have been tagged with "gcl": > https://sourceforge.net/p/maxima/bugs/search/?q=labels:%22gcl%22 > > Just to be clear, these are bug reports which have been explicitly > tagged "gcl". There are other bug reports which mention GCL, but, > after having reviewed them, I don't believe they are specifically > about GCL. > > I think these bug reports are all medium to low priority, although I > would certainly be glad if they get resolved. The one which seems most > pressing is: > https://sourceforge.net/p/maxima/bugs/1234/ > which is about non-ASCII characters in a folder name on Windows; I > seem to recall more than one user has bumped into that. I don't know > the status of that at this point. Looking these over too. I could really use some reproducible input (which I noticed you requested but apparently have not received) for the pathname special character report, and the SIGPIPE report (I requested on savannah with no reply). The NaN report gives false now as you note, 2.0^1024.1 still gives the inf for testing purposes. I think the false is in simp-expt in maxima, but haven't got further. Most of his results had been fixed some time ago. Found one remaining in interpreted code only which should now be closed, see transcript below. The dribble error only omits error header output (which is sent to a different file descriptor) -- all newlines are identical addressing the original complaint. I can get the error header in there too if this is important. > >> > The problems around GCL + Maxima stem from the capabilities (ASDF, >> > Unicode, etc) which are present in other implementations and not GCL. >> > It's not much about conditionalizations. >> >> OK, thanks for that. I'll put this on the back burner then. Might I >> create a git branch for this purpose? > > I think one of the anonymous ones was reported by me, not that it > matters too much. Also #47404 is a bona fide bug; all comparisons with > NaN are false, except NaN != NaN, which is true, according to IEEE > 754. The spec itself is proprietary and not available to casual > readers, to the best of my knowledge, but summaries are all over the > web, including many statements about comparisons with NaN. > > best, > ============================================================================= >(setq si::*print-nans* t) T >(setq a (exp 10000.0)) #<inf> >(setq b (- a) c (- a a)) #<-nan> >(<= c c) NIL >(>= c c) NIL >(> c c) NIL >(< c c) NIL >(= c c) NIL >(/= c c) T >(dolist (l '(< <= = >= > /=)) (print (list (funcall l c c) (funcall (compile >nil `(lambda (x y) (declare (long-float x y)) (,l x y))) c c)))) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x61f100 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x5badc0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x554a40 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x5cfe50 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2f2f8c0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2f412a0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (T T) NIL >(setq c a) #<inf> >(dolist (l '(< <= = >= > /=)) (print (list (funcall l c c) (funcall (compile >nil `(lambda (x y) (declare (long-float x y)) (,l x y))) c c)))) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2f52c90 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2f64670 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (T T) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2f76050 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (T T) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2f87a40 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (T T) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2f99420 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2faae00 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) NIL >(setq c (- a a)) #<-nan> >(setq cf (float c 0.0s0)) #<-nan> >(type-of cf) SHORT-FLOAT >(dolist (l '(< <= = >= > /=)) (print (list (funcall l cf cf) (funcall (compile >nil `(lambda (x y) (declare (short-float x y)) (,l x y))) cf cf)))) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2fbc7f0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2fce1d0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2fdfbb0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x2ff15a0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x3002f80 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x3014960 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (T T) NIL >(dolist (l '(< <= = >= > /=)) (print (list l (funcall l cf cf) (funcall >(compile nil `(lambda (x y) (declare (short-float x y)) (,l x y))) cf cf)))) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x7e9e3d0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (< NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x7eafd60 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (<= NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x7ec1740 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (= NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x7ed3130 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (>= NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x7ee4b10 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (> NIL NIL) Compiling /tmp/gazonk_94832_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /tmp/gazonk_94832_0.o. ;; Loading #p"/tmp/gazonk_94832_0.o" start address -T 0x7ef64f0 ;; Finished loading #p"/tmp/gazonk_94832_0.o" (/= T T) NIL > ============================================================================= > Robert > > > -- Camm Maguire c...@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah