Subject: Broken describe in GCL Maxima 5.9.0.9beta2
From: Vadim V. Zhytnikov
Date: Sun, 08 Aug 2004 11:09:04 +0400
Describe is broken in GCL Maxima Maxima 5.9.0.9beta2
First, third argument or GCL's si::info which
is supposed to be list of info directories to
search has no effect on si::info.
====================================================================
(defmspec $describe (x)
(setq x ($sconcat (cadr x)))
(let ((cl-info::*prompt-prefix* *prompt-prefix*)
(cl-info::*prompt-suffix* *prompt-suffix*))
#-gcl
(cl-info:info x '("maxima.info") *info-paths*)
;; Optimization: GCL's built-in info is much faster than our info
;; implementation. However, GCL's info won't respect out *prompt-
;; variables. Compromise by only calling our info when the prompts
;; are not empty. --jfa 07/25/04
#+gcl
(if (and (string= *prompt-prefix* "") (string= *prompt-suffix* ""))
(system::info x '("maxima.info") *info-paths*)
^^^^^^^^^^^^
(cl-info:info x '("maxima.info") *info-paths*))))
====================================================================
I haven't investigated this in details but it seems that si::info
draws information directly from si::*info-paths* variable.
But after recent modification to maxima-package.lisp
maxima::*info-paths* and si::*info-paths* aren't longer
the same. Thus maxima::*info-paths* has no effect on
si::info.
I'm not sure what is the best way to fix problem.
Maybe the last patch to maxima-package.lisp is not
required at all? We need both cl-info::info
and si::info under gcl Maxima but before beta2
all three symbols si::*info-paths*, maxima::*info-paths*
and cl-info::*info-paths* were in sync - it is
probably the thing we need.
--
Vadim V. Zhytnikov
<vvzhy@netorn.ru>