This is mostly more documentation. It is the first step toward cleaning up and making the interpreter documentation minimally readable.
Add \defunsec latex macro which allows section titles to be displayed for each defun. Add section titles to many sections. Add doc strings to defun sexpressions Additionally, minor regression breakage due to the new Bezier package was fixed. ====================================================================== diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 96ae01e..187e50b 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -36,7 +36,7 @@ %% %% defun marks a function definition and adds it to the index %% -\newcommand{\defun}[2]{% e.g. \defun{functionname} +\newcommand{\defun}[2]{% e.g. \defun{functionname}{functionname} \subsection{defun #2}% \label{#1}% \index{#1}% @@ -44,6 +44,17 @@ \index{#1!defun}} %% +%% defunsec marks a function definition and adds it to the index +%% It assumes that the second argument is a section title. +%% +\newcommand{\defunsec}[2]{% e.g. \defunsec{functionname}{section title} +\subsection{#2}% +\label{#1}% +\index{#1}% +\index{defun!#1}% +\index{#1!defun}} + +%% %% defmacro marks a macro definition and adds it to the index %% \newcommand{\defmacro}[1]{% e.g. \defmacro{functionname} @@ -367,12 +378,13 @@ itself (don't break this) and never exits. \section{Variables Used} \section{Data Structures} \section{Functions} -\defun{set-restart-hook}{set-restart-hook} +\defunsec{set-restart-hook}{Set the restart hook} When a lisp image containing code is reloaded there is a hook to allow a function to be called. In our case it is the restart function which is the entry to the Axiom interpreter. <<defun set-restart-hook>>= (defun set-restart-hook () + "Set the restart hook" #+KCL (setq system::*top-level-hook* 'restart) #+Lucid (setq boot::restart-hook 'restart) 'restart @@ -471,9 +483,10 @@ information is initialized. (|spad|)) @ -\defun{spad}{Starts the interpreter but do not read in profiles} +\defunsec{spad}{Starts the interpreter but do not read in profiles} <<defun spad>>= (defun |spad| () + "Starts the interpreter but do not read in profiles" (let (|$PrintCompilerMessageIfTrue| |$inLispVM|) (declare (special |$PrintCompilerMessageIfTrue| |$inLispVM|)) (setq |$PrintCompilerMessageIfTrue| nil) @@ -671,9 +684,10 @@ will end up as a recursive call to ourselves. @ \section{Helper Functions} -\defun{getenviron}{getenviron} +\defunsec{getenviron}{Get the value of an evironment variable} <<defun getenviron>>= (defun getenviron (var) + "Get the value of an evironment variable" #+allegro (sys::getenv (string var)) #+clisp (ext:getenv (string var)) #+(or cmu scl) @@ -721,7 +735,7 @@ This function performs those setup commands. @ -\pagehead{initroot}{Set spadroot to be the AXIOM shell variable} +\defunsec{initroot}{Set spadroot to be the AXIOM shell variable} Sets up the system to use the {\bf AXIOM} shell variable if we can and default to the {\bf \$spadroot} variable (which was the value of the {\bf AXIOM} shell variable at build time) if we can't. @@ -729,14 +743,15 @@ of the {\bf AXIOM} shell variable at build time) if we can't. Called from \fnref{restart}. <<defun initroot>>= (defun initroot (&optional (newroot (getenviron "AXIOM"))) + "Set spadroot to be the AXIOM shell variable" (declare (special $spadroot)) (reroot (or newroot $spadroot (error "setenv AXIOM or (setq $spadroot)")))) @ -\defun{intloopPrefix?}{Does the string start with this prefix?} +\defunsec{intloopPrefix?}{Does the string start with this prefix?} If the prefix string is the same as the whole string initial characters -(ignoring spaces in the whole string) then we return the whole string +--R(ignoring spaces in the whole string) then we return the whole string minus any leading spaces. <<defun intloopPrefix?>>= (defun |intloopPrefix?| (prefix whole) @@ -748,8 +763,20 @@ minus any leading spaces. newwhole)))) @ +\defunsec{get-current-directory}{Get the current directory} +<<defun get-current-directory>>= +#+:cmu +(defun get-current-directory () + "Get the current directory" + (namestring (extensions::default-directory))) + +#+(or :akcl :gcl) +(defun get-current-directory () + "Get the current directory" + (namestring (truename ""))) -\defun{make-absolute-filename}{Prepend the absolute path to a filename} +@ +\defunsec{make-absolute-filename}{Prepend the absolute path to a filename} Prefix a filename with the {\bf AXIOM} shell variable. <<defun make-absolute-filename>>= (defun make-absolute-filename (name) @@ -759,9 +786,10 @@ Prefix a filename with the {\bf AXIOM} shell variable. @ -\defun{makeInitialModemapFrame}{makeInitialModemapFrame} +\defunsec{makeInitialModemapFrame}{Make the initial modemap frame} <<defun makeInitialModemapFrame>>= (defun |makeInitialModemapFrame| () + "Make the initial modemap frame" (declare (special |$InitialModemapFrame|)) (copy |$InitialModemapFrame|)) @@ -780,29 +808,31 @@ character. Otherwise, it returns nil. @ -\defun{reclaim}{reclaim} +\defunsec{reclaim}{Call the garbage collector} Call the garbage collector on various platforms. <<defun reclaim>>= #+abcl -(defun reclaim () (ext::gc)) +(defun reclaim () "Call the garbage collector" (ext::gc)) #+:allegro -(defun reclaim () (excl::gc t)) +(defun reclaim () "Call the garbage collector" (excl::gc t)) #+:CCL -(defun reclaim () (gc)) +(defun reclaim () "Call the garbage collector" (gc)) #+clisp -(defun reclaim () (#+lisp=cl ext::gc #-lisp=cl lisp::gc)) +(defun reclaim () + "Call the garbage collector" + (#+lisp=cl ext::gc #-lisp=cl lisp::gc)) #+(or :cmulisp :cmu) -(defun reclaim () (ext:gc)) +(defun reclaim () "Call the garbage collector" (ext:gc)) #+cormanlisp -(defun reclaim () (cl::gc)) +(defun reclaim () "Call the garbage collector" (cl::gc)) #+(OR IBCL KCL GCL) -(defun reclaim () (si::gbc t)) +(defun reclaim () "Call the garbage collector" (si::gbc t)) #+lispworks -(defun reclaim () (hcl::normal-gc)) +(defun reclaim () "Call the garbage collector" (hcl::normal-gc)) #+Lucid -(defun reclaim () (lcl::gc)) +(defun reclaim () "Call the garbage collector" (lcl::gc)) #+sbcl -(defun reclaim () (sb-ext::gc)) +(defun reclaim () "Call the garbage collector" (sb-ext::gc)) @ \defun{reroot}{reroot} @@ -865,7 +895,7 @@ this is what the current code does so I won't change it. @ -\defun{mkprompt}{Show the Axiom prompt} +\defunsec{mkprompt}{Show the Axiom prompt} <<defun mkprompt>>= (defun mkprompt () "Show the Axiom prompt" @@ -1071,10 +1101,10 @@ They appear to only be used to initialize the boot dollar variables. @ -\defun{serverReadLine}{serverReadLine} +\defunsec{serverReadLine}{READ-LINE in an Axiom server system} <<defun serverReadLine>>= (defun |serverReadLine| (stream) - "used in place of READ-LINE in a scratchpad server system." + "used in place of READ-LINE in a Axiom server system." (let (in-stream *eof* l framename currentframe form stringbuf line) (declare (special in-stream *eof* |$SpadServer| |$EndServerSession| |$NeedToSignalSessionManager| |$SessionManager| |$EndOfOutput| @@ -1145,9 +1175,10 @@ They appear to only be used to initialize the boot dollar variables. @ -\defun{intloopInclude}{Include a file into the stream} +\defunsec{intloopInclude}{Include a file into the stream} <<defun intloopInclude>>= (defun |intloopInclude| (name n) + "Include a file into the stream" (with-open-file (st name) (|intloopInclude0| st name n))) @ @@ -5364,7 +5395,7 @@ in the algebra so we keep them as functions. @ \section{Functions} -\defun{initializeInterpreterFrameRing} +\defunsec{initializeInterpreterFrameRing} {Initializing the Interpreter Frame Ring} Now that we know what a frame looks like we need a function to @@ -5379,6 +5410,7 @@ initial values. <<defun initializeInterpreterFrameRing>>= (defun |initializeInterpreterFrameRing| () + "Initializing the Interpreter Frame Ring" (declare (special |$interpreterFrameName| |$interpreterFrameRing|)) (setq |$interpreterFrameName| '|initial|) (setq |$interpreterFrameRing| @@ -5387,34 +5419,35 @@ initial values. nil) @ -\defun{frameNames} -{Creating a List of all of the Frame Names} +\defunsec{frameNames}{Creating a List of all of the Frame Names} This function simply walks across the frame in the frame ring and returns a list of the name of each frame. <<defun frameNames>>= (defun |frameNames| () + "Creating a List of all of the Frame Names" (declare (special |$interpreterFrameRing|)) (mapcar #'frameName |$interpreterFrameRing|)) @ -\defun{frameEnvironment} -{Get Named Frame Environment (aka Interactive)} +\defunsec{frameEnvironment}{Get Named Frame Environment (aka Interactive)} If the frame is found we return the environment portion of the frame otherwise we construct an empty environment and return it. The initial values of an empty frame are created here. This function returns a single frame that will be placed in the frame ring. <<defun frameEnvironment>>= (defun |frameEnvironment| (fname) + "Get Named Frame Environment (aka Interactive)" (let ((frame (|findFrameInRing| fname))) (if frame (frameInteractive frame) (list (list nil))))) @ -\defun{emptyInterpreterFrame}{emptyInterpreterFrame} +\defunsec{emptyInterpreterFrame}{Create a new, empty Interpreter Frame} <<defun emptyInterpreterFrame>>= (defun |emptyInterpreterFrame| (name) + "Create a new, empty Interpreter Frame" (declare (special |$HiFiAccess| |$HistList| |$HistListLen| |$HistListAct| |$HistRecord| |$localExposureDataDefault|)) (list name ; frame name @@ -5429,7 +5462,7 @@ returns a single frame that will be placed in the frame ring. (copy-seq |$localExposureDataDefault|))) ; $localExposureData @ -\defun{createCurrentInterpreterFrame} +\defunsec{createCurrentInterpreterFrame} {Collecting up the Environment into a Frame} We can collect up all the current environment information into @@ -5438,6 +5471,7 @@ values of the global variables and returns this as a frame element. <<defun createCurrentInterpreterFrame>>= (defun |createCurrentInterpreterFrame| () + "Collecting up the Environment into a Frame" (declare (special |$interpreterFrameName| |$InteractiveFrame| |$IOindex| |$HiFiAccess| |$HistList| |$HistListLen| |$HistListAct| |$HistRecord| |$internalHistoryTable| |$localExposureData|)) @@ -5455,12 +5489,13 @@ values of the global variables and returns this as a frame element. @ -\defun{updateFromCurrentInterpreterFrame}{Updating from the Current Frame} +\defunsec{updateFromCurrentInterpreterFrame}{Update from the Current Frame} The frames are kept on a circular list. The first element on that list is known as ``the current frame''. This will initialize all of the interesting interpreter data structures from that frame. <<defun updateFromCurrentInterpreterFrame>>= (defun |updateFromCurrentInterpreterFrame| () + "Update from the Current Frame" (let (tmp1) (declare (special |$interpreterFrameRing| |$interpreterFrameName| |$InteractiveFrame| |$IOindex| |$HiFiAccess| |$HistList| |$HistListLen| @@ -5483,11 +5518,12 @@ of the interesting interpreter data structures from that frame. ,#(|bright| |$interpreterFrameName|)))))) @ -\defun{findFrameInRing}{Find a Frame in the Frame Ring by Name} +\defunsec{findFrameInRing}{Find a Frame in the Frame Ring by Name} Each frame contains its name as the 0th element. We simply walk all the frames and if we find one we return it. <<defun findFrameInRing>>= (defun |findFrameInRing| (name) + "Find a Frame in the Frame Ring by Name" (let (result) (declare (special |$interpreterFrameRing|)) (dolist (frame |$interpreterFrameRing|) @@ -5497,29 +5533,29 @@ the frames and if we find one we return it. @ -\defun{updateCurrentInterpreterFrame}{Update the Current Interpreter Frame} +\defunsec{updateCurrentInterpreterFrame}{Update the Current Interpreter Frame} This function collects the normal contents of the world into a frame object, places it first on the frame list, and then sets the current values of the world from the frame object. <<defun updateCurrentInterpreterFrame>>= (defun |updateCurrentInterpreterFrame| () + "Update the Current Interpreter Frame" (declare (special |$interpreterFrameRing|)) (rplaca |$interpreterFrameRing| (|createCurrentInterpreterFrame|)) (|updateFromCurrentInterpreterFrame|)) @ -\defun{nextInterpreterFrame}{nextInterpreterFrame} - +\defunsec{nextInterpreterFrame}{Move to the next Interpreter Frame in Ring} This function updates the current frame to make sure all of the current information is recorded. If there are more frame elements in the list then this will destructively move the current frame to the end of the list, that is, assume the frame list reads (1 2 3) this function will destructively change it to (2 3 1). - Note: the nconc2 function destructively inserts the second list at the end of the first. <<defun nextInterpreterFrame>>= (defun |nextInterpreterFrame| () + "Move to the next Interpreter Frame in Ring" (declare (special |$interpreterFrameRing|)) (when (cdr |$interpreterFrameRing|) (setq |$interpreterFrameRing| @@ -5528,9 +5564,10 @@ end of the first. (|updateFromCurrentInterpreterFrame|))) @ -\defun{changeToNamedInterpreterFrame}{changeToNamedInterpreterFrame} +\defunsec{changeToNamedInterpreterFrame}{Change to the Named Interpreter Frame} <<defun changeToNamedInterpreterFrame>>= (defun |changeToNamedInterpreterFrame| (name) + "Change to the Named Interpreter Frame" (let (frame) (declare (special |$interpreterFrameRing|)) (|updateCurrentInterpreterFrame|) @@ -5541,9 +5578,11 @@ end of the first. (|updateFromCurrentInterpreterFrame|)))) @ -\defun{previousInterpreterFrame}{previousInterpreterFrame} +\defunsec{previousInterpreterFrame} +{Move to the previous Interpreter Frame in Ring} <<defun previousInterpreterFrame>>= (defun |previousInterpreterFrame| () + "Move to the previous Interpreter Frame in Ring" (let (tmp1 l b) (declare (special |$interpreterFrameRing|)) (|updateCurrentInterpreterFrame|) @@ -5555,9 +5594,10 @@ end of the first. (|updateFromCurrentInterpreterFrame|)))) @ -\defun{addNewInterpreterFrame}{addNewInterpreterFrame} +\defunsec{addNewInterpreterFrame}{Add a New Interpreter Frame} <<defun addNewInterpreterFrame>>= (defun |addNewInterpreterFrame| (name) + "Add a New Interpreter Frame" (declare (special |$interpreterFrameRing|)) (if (null name) (|throwKeyedMsg| 's2iz0018 nil) ; you must provide a name for new frame @@ -5573,9 +5613,10 @@ end of the first. ($erase (|histFileName|))))) @ -\defun{closeInterpreterFrame}{closeInterpreterFrame} +\defunsec{closeInterpreterFrame}{Close an Interpreter Frame} <<defun closeInterpreterFrame>>= (defun |closeInterpreterFrame| (name) + "Close an Interpreter Frame" (declare (special |$interpreterFrameRing| |$interpreterFrameName|)) (let (ifr found) (if (null (cdr |$interpreterFrameRing|)) @@ -5601,9 +5642,10 @@ end of the first. (|updateFromCurrentInterpreterFrame|))))) @ -\defun{displayFrameNames}{displayFrameNames} +\defunsec{displayFrameNames}{Display the Frame Names} <<defun displayFrameNames>>= (defun |displayFrameNames| () + "Display the Frame Names" (declare (special |$interpreterFrameRing|)) (let (t1) (setq t1 @@ -5612,9 +5654,10 @@ end of the first. (|sayKeyedMsg| 's2iz0024 (list (apply #'append t1))))) @ -\defun{importFromFrame}{importFromFrame} +\defunsec{importFromFrame}{Import items from another frame} <<defun importFromFrame>>= (defun |importFromFrame| (args) + "Import items from another frame" (prog (temp1 fname fenv x v props vars plist prop val m) (declare (special |$interpreterFrameRing|)) (when (and args (atom args)) (setq args (cons args nil))) @@ -5695,15 +5738,17 @@ end of the first. (cons fname nil)))))))))) @ -\defun{frame}{frame} +\defunsec{frame}{The top level frame command} <<defun frame>>= (defun |frame| (l) + "The top level frame command" (|frameSpad2Cmd| l)) @ -\defun{frameSpad2Cmd}{frameSpad2Cmd} +\defunsec{frameSpad2Cmd}{The top level frame command handler} <<defun frameSpad2Cmd>>= (defun |frameSpad2Cmd| (args) + "The top level frame command handler" (let (frameArgs arg a) (declare (special |$options|)) (setq frameArgs '(|drop| |import| |last| |names| |new| |next|)) @@ -5930,16 +5975,18 @@ Available algebra help topics are: @ \section{Functions} -\defun{help}{help} +\defunsec{help}{The top level help command} <<defun help>>= (defun |help| (l) + "The top level help command" (|helpSpad2Cmd| l)) @ -\defun{helpSpad2Cmd}{helpSpad2Cmd} +\defunsec{helpSpad2Cmd}{The top level help command handler} <<defun helpSpad2Cmd>>= (defun |helpSpad2Cmd| (|args|) + "The top level help command handler" (unless (|newHelpSpad2Cmd| |args|) (|sayKeyedMsg| 's2iz0025 (cons |args| nil)))) @@ -6237,18 +6284,20 @@ environment to \verb|$HistList| and \verb|$HistRecord|. (setq |$HistRecord| nil))) @ -\defun{history}{history} +\defunsec{history}{The top level history command} <<defun history>>= (defun |history| (l) + "The top level history command" (declare (special |$options|)) (if (or l (null |$options|)) (|sayKeyedMsg| 's2ih0006 nil) ; syntax error (|historySpad2Cmd|))) @ -\defun{historySpad2Cmd}{historySpad2Cmd} +\defunsec{historySpad2Cmd}{The top level history command handler} <<defun historySpad2Cmd>>= (defun |historySpad2Cmd| () + "The top level history command handler" (let (histOptions opts opt optargs x) (declare (special |$options| |$HiFiAccess| |$IOindex|)) (setq histOptions @@ -6861,9 +6910,10 @@ Also used in the output routines. (t (|throwKeyedMsg| 's2ih0004 nil))))) ; history not on @ -\defun{readHiFi}{Read the history file using index n} +\defunsec{readHiFi}{Read the history file using index n} <<defun readHiFi>>= (defun |readHiFi| (n) + "Read the history file using index n" (let (pair HiFi vec) (declare (special |$useInternalHistoryTable| |$internalHistoryTable|)) (if |$useInternalHistoryTable| @@ -6884,9 +6934,10 @@ Also used in the output routines. vec)) @ -\defun{writeHiFi}{Writes information of the current step to history file} +\defunsec{writeHiFi}{Writes information of the current step to history file} <<defun writeHiFi>>= (defun |writeHiFi| () + "Writes information of the current step to history file" (let (HiFi) (declare (special |$useInternalHistoryTable| |$internalHistoryTable| |$IOindex| |$HistRecord| |$currentLine|)) @@ -6907,9 +6958,10 @@ Also used in the output routines. (rshut HiFi))))) @ -\defun{disableHist}{Disable history if an error occurred} +\defunsec{disableHist}{Disable history if an error occurred} <<defun disableHist>>= (defun |disableHist| () + "Disable history if an error occurred" (declare (special |$HiFiAccess|)) (cond ((null |$HiFiAccess|) @@ -6945,8 +6997,8 @@ Lisplib output transformations Some types of objects cannot be saved by LISP/VM in lisplibs. These functions transform an object to a writable form and back. -\defun{SPADRWRITE0}{SPADRWRITE0} -<<defun SPADRWRITE0>>= +\defun{spadrwrite0}{spadrwrite0} +<<defun spadrwrite0>>= (defun spadrwrite0 (vec item stream) (let (val) (setq val (|safeWritify| item)) @@ -6957,8 +7009,8 @@ These functions transform an object to a writable form and back. item)))) @ -\defun{SPADRWRITE}{SPADRWRITE} -<<defun SPADRWRITE>>= +\defun{spadrwrite}{spadrwrite} +<<defun spadrwrite>>= (defun spadrwrite (vec item stream) (let (val) (setq val (spadrwrite0 vec item stream)) @@ -6967,8 +7019,8 @@ These functions transform an object to a writable form and back. item))) @ -\defun{SPADRREAD}{SPADRREAD} -<<defun SPADRREAD>>= +\defun{spadrread}{spadrread} +<<defun spadrread>>= (defun spadrread (vec stream) (|dewritify| (|rread| vec stream nil))) @@ -7495,10 +7547,11 @@ absolute or relative pathname. n))) @ -\defun{ncloopIncFileName}{ncloopIncFileName} -Returns the first non-blank substring of the given string. +\defunsec{ncloopIncFileName} +{Returns the first non-blank substring of the given string} <<defun ncloopIncFileName>>= (defun |ncloopIncFileName| (string) + "Returns the first non-blank substring of the given string" (let (fn) (unless (setq fn (|incFileName| string)) (write-line (concat string " not found"))) @@ -7506,31 +7559,34 @@ Returns the first non-blank substring of the given string. @ -\defun{ncloopInclude}{ncloopInclude} -Open the file and read it in. The ncloopInclude0 function is part +\defunsec{ncloopInclude}{Open the include file and read it in} +The ncloopInclude0 function is part of the parser and lives in int-top.boot. <<defun ncloopInclude>>= (defun |ncloopInclude| (name n) - (with-open-file (st name) (|ncloopInclude0| st name n))) + "Open the include file and read it in" + (with-open-file (st name) (|ncloopInclude0| st name n))) @ -\defun{incFileName}{incFileName} +\defunsec{incFileName}{Return the include filename} Given a string we return the first token from the string which is the first non-blank substring. <<defun incFileName>>= (defun |incFileName| (x) + "Return the include filename" (car (|incBiteOff| x))) @ -\defun{incBiteOff}{incBiteOff} +\defunsec{incBiteOff}{Return the next token} Takes a sequence and returns the a list of the first token and the remaining string characters. If there are no remaining string characters the second string is of length 0. Effectively it "bites off" the first token in the string. If the string only 0 or more blanks it returns nil. <<defun incBiteOff>>= (defun |incBiteOff| (x) + "Return the next token" (let (blank nonblank) (setq x (string x)) (when (setq nonblank (position #\space x :test-not #'char=)) @@ -7755,15 +7811,18 @@ o )system \fnref{system}} \section{Functions} -\defun{pquit}{pquit} +\defunsec{pquit}{The top level pquit command} <<defun pquit>>= -(defun |pquit| () (|pquitSpad2Cmd|)) +(defun |pquit| () + "The top level pquit command" + (|pquitSpad2Cmd|)) @ -\defun{pquitSpad2Cmd}{pquitSpad2Cmd} +\defunsec{pquitSpad2Cmd}{The top level pquit command handler} <<defun pquitSpad2Cmd>>= (defun |pquitSpad2Cmd| () + "The top level pquit command handler" (let ((|$quitCommandType| '|protected|)) (declare (special |$quitCommandType|)) (|quitSpad2Cmd|))) @@ -7829,14 +7888,17 @@ o )system \fnref{system}} \section{Functions} -\defun{quit}{quit} +\defunsec{quit}{The top level quit command} <<defun quit>>= -(defun |quit| () (|quitSpad2Cmd|)) +(defun |quit| () + "The top level quit command" + (|quitSpad2Cmd|)) @ -\defun{quitSpad2Cmd}{quitSpad2Cmd} +\defunsec{quitSpad2Cmd}{The top level quit command handler} <<defun quitSpad2Cmd>>= (defun |quitSpad2Cmd| () + "The top level quit command handler" (declare (special |$quitCommandType|)) (if (eq |$quitCommandType| '|protected|) (let (x) @@ -7848,9 +7910,11 @@ o )system @ -\defun{leaveScratchpad}{leaveScratchpad} +\defunsec{leaveScratchpad}{Leave the Axiom interpreter} <<defun leaveScratchpad>>= -(defun |leaveScratchpad| () (bye)) +(defun |leaveScratchpad| () + "Leave the Axiom interpreter" + (bye)) @ @@ -8033,7 +8097,7 @@ for system. For more information, issue )help set . \end{verbatim} \section{Variables Used} \section{Functions} -\defun{initializeSetVariables}{initializeSetVariables} +\defunsec{initializeSetVariables}{Initialize the set variables} The argument settree is initially the \verb|$setOption| variable. The fourth element is a union-style switch symbol. The fifth element is usually a variable to set. @@ -8042,6 +8106,7 @@ The seventh element is usually the default value. For more detailed explanations see the list structure section \ref{Theliststructure}. <<defun initializeSetVariables>>= (defun |initializeSetVariables| (settree) + "Initialize the set variables" (dolist (setdata settree) (case (fourth setdata) (FUNCTION @@ -8057,9 +8122,10 @@ explanations see the list structure section \ref{Theliststructure}. @ -\defun{resetWorkspaceVariables}{resetWorkspaceVariables} +\defunsec{resetWorkspaceVariables}{Reset the workspace variables} <<defun resetWorkspaceVariables>>= (defun |resetWorkspaceVariables| () + "Reset the workspace variables" (declare (special /countlist /editfile /sourcefiles |$sourceFiles| /pretty /spacelist /timerlist |$existingFiles| |$functionTable| $boot |$compileMapFlag| |$echoLineStack| |$operationNameList| |$slamFlag| @@ -8095,9 +8161,10 @@ explanations see the list structure section \ref{Theliststructure}. @ -\defun{displaySetOptionInformation}{displaySetOptionInformation} +\defunsec{displaySetOptionInformation}{Display the set option information} <<defun displaySetOptionInformation>>= (defun |displaySetOptionInformation| (arg setdata) + "Display the set option information" (let (current) (declare (special $linelength)) (cond @@ -8142,9 +8209,10 @@ explanations see the list structure section \ref{Theliststructure}. @ -\defun{displaySetVariableSettings}{displaySetVariableSettings} +\defunsec{displaySetVariableSettings}{Display the set variable settings} <<defun displaySetVariableSettings>>= (defun |displaySetVariableSettings| (settree label) + "Display the set variable settings" (let (setoption opt subtree subname) (declare (special $linelength)) (if (eq label '||) @@ -8207,9 +8275,10 @@ explanations see the list structure section \ref{Theliststructure}. @ -\defun{translateYesNo2TrueFalse}{translateYesNo2TrueFalse} +\defunsec{translateYesNo2TrueFalse}{Translate options values to t or nil} <<defun translateYesNo2TrueFalse>>= (defun |translateYesNo2TrueFalse| (x) + "Translate options values to t or nil" (cond ((|member| x '(|yes| |on|)) t) ((|member| x '(|no| |off|)) nil) @@ -8217,9 +8286,10 @@ explanations see the list structure section \ref{Theliststructure}. @ -\defun{translateTrueFalse2YesNo}{translateTrueFalse2YesNo} +\defunsec{translateTrueFalse2YesNo}{Translate t or nil to option values} <<defun translateTrueFalse2YesNo>>= (defun |translateTrueFalse2YesNo| (x) + "Translate t or nil to option values" (cond ((eq x t) '|on|) ((null x) '|off|) @@ -8430,9 +8500,10 @@ args arguments for compiling AXIOM code @ \section{Variables Used} \section{Functions} -\defun{setOutputLibrary}{setOutputLibrary} +\defunsec{setOutputLibrary}{The set output command handler} <<defun setOutputLibrary>>= (defun |setOutputLibrary| (arg) + "The set output command handler" (let (fn) (declare (special |$outputLibraryName|)) (cond @@ -8447,9 +8518,10 @@ args arguments for compiling AXIOM code @ -\defun{describeOutputLibraryArgs}{describeOutputLibraryArgs} +\defunsec{describeOutputLibraryArgs}{Describe the set output library arguments} <<defun describeOutputLibraryArgs>>= (defun |describeOutputLibraryArgs| () + "Describe the set output library arguments" (|sayBrightly| (list '|%b| ")set compiler output library" '|%d| "is used to tell the compiler where to place" @@ -8460,10 +8532,11 @@ args arguments for compiling AXIOM code @ -\defun{openOutputLibrary}{openOutputLibrary} +\defunsec{openOutputLibrary}{Open the output library} The input-libraries and output-library are now truename based. <<defun openOutputLibrary>>= (defun |openOutputLibrary| (lib) + "Open the output library" (declare (special output-library input-libraries)) (|dropInputLibrary| lib) (setq output-library (truename lib)) @@ -8495,10 +8568,11 @@ The input-libraries and output-library are now truename based. \section{Variables Used} \section{Functions} -\defun{setInputLibrary}{setInputLibrary} +\defunsec{setInputLibrary}{The set input library command handler} The input-libraries is now maintained as a list of truenames. <<defun setInputLibrary>>= (defun |setInputLibrary| (arg) + "The set input library command handler" (declare (special input-libraries)) (let (tmp1 filename act) (cond @@ -8523,9 +8597,10 @@ The input-libraries is now maintained as a list of truenames. @ -\defun{describeInputLibraryArgs}{describeInputLibraryArgs} +\defunsec{describeInputLibraryArgs}{Describe the set input library arguments} <<defun describeInputLibraryArgs>>= (defun |describeInputLibraryArgs| () + "Describe the set input library arguments" (|sayBrightly| (list '|%b| ")set compiler input add library" '|%d| "is used to tell AXIOM to add" @@ -8541,19 +8616,21 @@ The input-libraries is now maintained as a list of truenames. @ -\defun{addInputLibrary}{addInputLibrary} +\defunsec{addInputLibrary}{Add the input library to the list} The input-libraries variable is now maintained as a list of truenames. <<defun addInputLibrary>>= (defun |addInputLibrary| (lib) + "Add the input library to the list" (declare (special input-libraries)) (|dropInputLibrary| lib) (push (truename lib) input-libraries)) @ -\defun{dropInputLibrary}{dropInputLibrary} +\defunsec{dropInputLibrary}{Drop an input library from the list} <<defun dropInputLibrary>>= (defun |dropInputLibrary| (lib) + "Drop an input library from the list" (declare (special input-libraries)) (setq input-libraries (delete (truename lib) input-libraries :test #'equal))) @@ -8596,9 +8673,10 @@ The input-libraries variable is now maintained as a list of truenames. \section{Variables Used} \section{Functions} -\defun{setAsharpArgs}{setAsharpArgs} +\defunsec{setAsharpArgs}{Handle the set compiler command arguments} <<defun setAsharpArgs>>= (defun |setAsharpArgs| (arg) + "Handle the set compiler command arguments" (declare (special |$asharpCmdlineFlags|)) (cond ((eq arg '|%initialize%|) @@ -8611,9 +8689,10 @@ The input-libraries variable is now maintained as a list of truenames. @ -\defun{describeAsharpArgs}{describeAsharpArgs} +\defunsec{describeAsharpArgs}{Describe the set compiler command arguments} <<defun describeAsharpArgs>>= (defun |describeAsharpArgs| () + "Describe the set compiler command arguments" (declare (special |$asharpCmdlineFlags|)) (|sayBrightly| (list '|%b| ")set compiler args " @@ -8670,9 +8749,10 @@ The input-libraries variable is now maintained as a list of truenames. \section{Variables Used} \section{Functions} -\defun{setExpose}{setExpose} +\defunsec{setExpose}{The top level set expose command handler} <<defun setExpose>>= (defun |setExpose| (arg) + "The top level set expose command handler" (let (fnargs fn) (cond ((eq arg '|%initialize%|) (|loadExposureGroupData|)) @@ -8698,9 +8778,10 @@ The input-libraries variable is now maintained as a list of truenames. @ -\defun{setExposeAdd}{setExposeAdd} +\defunsec{setExposeAdd}{The top level set expose add command handler} <<defun setExposeAdd>>= (defun |setExposeAdd| (arg) + "The top level set expose add command handler" (declare (special $linelength)) (let (fnargs fn) (cond @@ -8723,11 +8804,12 @@ The input-libraries variable is now maintained as a list of truenames. @ -\defun{setExposeAddGroup}{setExposeAddGroup} +\defunsec{setExposeAddGroup}{Expose a group} Note that \verb|$localExposureData| is a vector of lists. It consists of [exposed groups,exposed constructors,hidden constructors] <<defun setExposeAddGroup>>= (defun |setExposeAddGroup| (arg) + "Expose a group" (declare (special |$globalExposureGroupAlist| |$localExposureData| |$interpreterFrameName| $linelength)) (if (null arg) @@ -8768,9 +8850,10 @@ It consists of [exposed groups,exposed constructors,hidden constructors] @ -\defun{setExposeAddConstr}{setExposeAddConstr} +\defunsec{setExposeAddConstr}{The top level set expose add constructor handler} <<defun setExposeAddConstr>>= (defun |setExposeAddConstr| (arg) + "The top level set expose add constructor handler" (declare (special $linelength |$localExposureData| |$interpreterFrameName|)) (if (null arg) (progn @@ -8796,9 +8879,10 @@ It consists of [exposed groups,exposed constructors,hidden constructors] @ -\defun{setExposeDrop}{setExposeDrop} +\defunsec{setExposeDrop}{The top level set expose drop handler} <<defun setExposeDrop>>= (defun |setExposeDrop| (arg) + "The top level set expose drop handler" (declare (special $linelength)) (let (fnargs fn) (cond @@ -8819,9 +8903,10 @@ It consists of [exposed groups,exposed constructors,hidden constructors] @ -\defun{setExposeDropGroup}{setExposeDropGroup} +\defunsec{setExposeDropGroup}{The top level set expose drop group handler} <<defun setExposeDropGroup>>= (defun |setExposeDropGroup| (arg) + "The top level set expose drop group handler" (declare (special $linelength |$localExposureData| |$interpreterFrameName| |$globalExposureGroupAlist|)) (if (null arg) @@ -8854,9 +8939,11 @@ It consists of [exposed groups,exposed constructors,hidden constructors] (t (|sayKeyedMsg| 's2iz0049h (list x ))))))) @ -\defun{setExposeDropConstr}{setExposeDropConstr} +\defunsec{setExposeDropConstr} +{The top level set expose drop constructor handler} <<defun setExposeDropConstr>>= (defun |setExposeDropConstr| (arg) + "The top level set expose drop constructor handler" (declare (special $linelength |$localExposureData| |$interpreterFrameName|)) (if (null arg) (progn @@ -8886,39 +8973,42 @@ It consists of [exposed groups,exposed constructors,hidden constructors] @ -\defun{displayExposedGroups}{displayExposedGroups} +\defunsec{displayExposedGroups}{Display exposed groups} <<defun displayExposedGroups>>= (defun |displayExposedGroups| () - (declare (special |$interpreterFrameName| |$localExposureData|)) - (|sayKeyedMsg| 's2iz0049a (list |$interpreterFrameName|)) - (if (null (elt |$localExposureData| 0)) - (|centerAndHighlight| "there are no exposed groups") - (dolist (c (elt |$localExposureData| 0)) - (|centerAndHighlight| c)))) + "Display exposed groups" + (declare (special |$interpreterFrameName| |$localExposureData|)) + (|sayKeyedMsg| 's2iz0049a (list |$interpreterFrameName|)) + (if (null (elt |$localExposureData| 0)) + (|centerAndHighlight| "there are no exposed groups") + (dolist (c (elt |$localExposureData| 0)) + (|centerAndHighlight| c)))) @ -\defun{displayExposedConstructors}{displayExposedConstructors} +\defunsec{displayExposedConstructors}{Display exposed constructors} <<defun displayExposedConstructors>>= (defun |displayExposedConstructors| () - (declare (special |$localExposureData|)) - (|sayKeyedMsg| 's2iz0049b nil) - (if (null (elt |$localExposureData| 1)) - (|centerAndHighlight| "there are no explicitly exposed constructors") - (dolist (c (elt |$localExposureData| 1)) - (|centerAndHighlight| c)))) + "Display exposed constructors" + (declare (special |$localExposureData|)) + (|sayKeyedMsg| 's2iz0049b nil) + (if (null (elt |$localExposureData| 1)) + (|centerAndHighlight| "there are no explicitly exposed constructors") + (dolist (c (elt |$localExposureData| 1)) + (|centerAndHighlight| c)))) @ -\defun{displayHiddenConstructors}{displayHiddenConstructors} +\defunsec{displayHiddenConstructors}{Display hidden constructors} <<defun displayHiddenConstructors>>= (defun |displayHiddenConstructors| () - (declare (special |$localExposureData|)) - (|sayKeyedMsg| 's2iz0049c nil) - (if (null (elt |$localExposureData| 2)) - (|centerAndHighlight| "there are no explicitly hidden constructors") - (dolist (c (elt |$localExposureData| 2)) - (|centerAndHighlight| c)))) + "Display hidden constructors" + (declare (special |$localExposureData|)) + (|sayKeyedMsg| 's2iz0049c nil) + (if (null (elt |$localExposureData| 2)) + (|centerAndHighlight| "there are no explicitly hidden constructors") + (dolist (c (elt |$localExposureData| 2)) + (|centerAndHighlight| c)))) @ \section{functions} @@ -8977,10 +9067,11 @@ recurrence specially compile recurrence relations on @ \section{Variables Used} \section{Functions} -\defun{setFunctionsCache}{setFunctionsCache} +\defunsec{setFunctionsCache}{The top level set functions cache handler} \begin{verbatim} <<defun setFunctionsCache>>= (defun |setFunctionsCache| (arg) + "The top level set functions cache handler" (let (|$options| n) (declare (special |$options| |$cacheCount| |$cacheAlist|)) (cond @@ -9009,9 +9100,10 @@ recurrence specially compile recurrence relations on @ -\defun{countCache}{countCache} +\defunsec{countCache}{Display a particular cache count} <<defun countCache>>= (defun |countCache| (n) + "Display a particular cache count" (let (tmp1 l cachecountname) (declare (special |$options| |$cacheAlist| |$cacheCount|)) (cond @@ -9038,9 +9130,10 @@ recurrence specially compile recurrence relations on @ -\defun{describeSetFunctionsCache}{describeSetFunctionsCache} +\defunsec{describeSetFunctionsCache}{Describe the set functions cache} <<defun describeSetFunctionsCache>>= (defun |describeSetFunctionsCache| () + "Describe the set functions cache" (|sayBrightly| (list '|%b| ")set functions cache" '|%d| "is used to tell AXIOM how many" @@ -9063,9 +9156,10 @@ recurrence specially compile recurrence relations on @ -\defun{sayAllCacheCounts}{sayAllCacheCounts} +\defunsec{sayAllCacheCounts}{Display all cache counts} <<defun sayAllCacheCounts>>= (defun |sayAllCacheCounts| () + "Display all cache counts" (let (x n) (declare (special |$cacheCount| |$cacheAlist|)) (|sayCacheCount| nil |$cacheCount|) @@ -9081,9 +9175,10 @@ recurrence specially compile recurrence relations on @ -\defun{sayCacheCount}{sayCacheCount} +\defunsec{sayCacheCount}{Describe the cache counts} <<defun sayCacheCount>>= (defun |sayCacheCount| (fn n) + "Describe the cache counts" (let (prefix phrase) (setq prefix (cond @@ -9570,9 +9665,10 @@ linker linker arguments (e.g. libraries to search) -lxlf NIL) @ -\defun{setFortTmpDir}{setFortTmpDir} +\defunsec{setFortTmpDir}{The top level set fortran calling tempfile handler} <<defun setFortTmpDir>>= (defun |setFortTmpDir| (arg) + "The top level set fortran calling tempfile handler" (let (mode) (declare (special |$fortranTmpDir|)) (cond @@ -9592,18 +9688,20 @@ linker linker arguments (e.g. libraries to search) -lxlf @ -\defun{validateOutputDirectory}{validateOutputDirectory} +\defunsec{validateOutputDirectory}{Validate the output directory} <<defun validateOutputDirectory>>= (defun |validateOutputDirectory| (x) + "Validate the output directory" (let ((dirname (car x))) (when (and (pathname-directory dirname) (null (probe-file dirname))) dirname))) @ -\defun{describeSetFortTmpDir}{describeSetFortTmpDir} +\defunsec{describeSetFortTmpDir}{Describe the set fortran calling tempfile} <<defun describeSetFortTmpDir>>= (defun |describeSetFortTmpDir| () + "Describe the set fortran calling tempfile" (declare (special |$fortranTmpDir|)) (|sayBrightly| (list '|%b| ")set fortran calling tempfile" @@ -15679,9 +15777,10 @@ Properties of r :: (setq |$previousBindings| nil)) @ -\defun{undoCount}{Undo previous n commands} +\defunsec{undoCount}{Undo previous n commands} <<defun undoCount>>= (defun |undoCount| (n) + "Undo previous n commands" (prog (m) (declare (special |$IOindex|)) (return @@ -15840,10 +15939,11 @@ undoSingleStep(changes,env) == (t pair)) tmp0))))))))))))) @ -\defun{removeUndoLines}{Remove undo lines from hist write} +\defunsec{removeUndoLines}{Remove undo lines from history write} Removing undo lines from \verb|)hist )write linelist| <<defun removeUndoLines>>= (defun |removeUndoLines| (u) + "Remove undo lines from history write" (prog (xtra savedIOindex s s1 m s2 x code c n acc) (declare (special |$currentLine| |$IOindex|)) (return @@ -16173,11 +16273,12 @@ o )show @ -\defun{apropos}{Display all operation names containing the fragment} +\defunsec{apropos}{Display all operation names containing the fragment} Argument l is a list of operation name fragments. This displays all operation names containing these fragments <<defun apropos>>= (defun |apropos| (arg) + "Display all operation names containing the fragment" (prog (ops) (return (seq @@ -17250,7 +17351,7 @@ stringimage (defconstant |$PageStuff| 100) @ -\defun{issueHT}{Issue a line of HyperTex} +\defunsec{issueHT}{Issue a line of HyperTex} <<defun issueHT>>= (defun |issueHT| (line) "Issue a line of HyperTex" @@ -17259,7 +17360,7 @@ stringimage (|sockSendString| |$MenuServer| line)) @ -\defun{endHTPage}{Mark the end of a hyperdoc page} +\defunsec{endHTPage}{Mark the end of a hyperdoc page} <<defun endHTPage>>= (defun |endHTPage| () "Mark the end of a hyperdoc page" @@ -17267,7 +17368,7 @@ stringimage (|sockSendInt| |$MenuServer| |$EndOfPage|)) @ -\defun{testPage}{Generate a Hyperdoc Test Page from Lisp} +\defunsec{testPage}{Generate a Hyperdoc Test Page from Lisp} <<defun testPage>>= (defun |testPage| () "Generate a Hyperdoc Test Page from Lisp" @@ -17280,7 +17381,7 @@ stringimage (|endHTPage|)) @ -\defun{replaceNamedHTPage}{Replace a current hypertex page} +\defunsec{replaceNamedHTPage}{Replace a current hypertex page} <<defun replaceNamedHTPage>>= (defun |replaceNamedHTPage| (window name) "Replace a current hypertex page" @@ -17293,7 +17394,7 @@ stringimage (|sockSendString| |$MenuServer| name)) @ -\defun{startHTPopUpPage}{Start up a form page from spad} +\defunsec{startHTPopUpPage}{Start up a form page from spad} <<defun startHTPopUpPage>>= (defun |startHTPopUpPage| (cols) "Start up a form page from spad" @@ -17305,7 +17406,7 @@ stringimage (|sockGetInt| |$MenuServer|)) @ -\defun{startHTPage}{Start a page from spad} +\defunsec{startHTPage}{Start a page from spad} <<defun startHTPage>>= (defun |startHTPage| (cols) "Start a page from spad. Using the spcified number of columns" @@ -17316,7 +17417,7 @@ stringimage (|sockSendInt| |$MenuServer| cols)) @ -\defun{startReplaceHTPage}{Start a replace page sequence} +\defunsec{startReplaceHTPage}{Start a replace page sequence} <<defun startReplaceHTPage>>= (defun |startReplaceHTPage| (w) "Start a replace page sequence" @@ -17328,7 +17429,7 @@ stringimage (|sockSendInt| |$MenuServer| w)) @ -\defun{killHTPage}{Kill a hyperdoc page} +\defunsec{killHTPage}{Kill a hyperdoc page} <<defun killHTPage>>= (defun |killHTPage| (w) "Kill a hyperdoc page" @@ -17339,7 +17440,7 @@ stringimage (|sockSendInt| |$MenuServer| w)) @ -\defun{linkToHTPage}{Link to hyperdoc page} +\defunsec{linkToHTPage}{Link to hyperdoc page} <<defun linkToHTPage>>= (defun |linkToHTPage| (name) "Link to hyperdoc page" @@ -17351,7 +17452,7 @@ stringimage (|sockSendString| |$MenuServer| name)) @ -\defun{popUpNamedHTPage}{Pop up a named hyperdoc page} +\defunsec{popUpNamedHTPage}{Pop up a named hyperdoc page} <<defun popUpNamedHTPage>>= (defun |popUpNamedHTPage| (name cols) "Pop up a named hyperdoc page" @@ -17365,7 +17466,7 @@ stringimage (|sockGetInt| |$MenuServer|)) @ -\defun{sendHTErrorSignal}{Send hyperdoc an error signal} +\defunsec{sendHTErrorSignal}{Send hyperdoc an error signal} <<defun sendHTErrorSignal>>= (defun |sendHTErrorSignal| () "Send hyperdoc an error signal" @@ -17496,6 +17597,7 @@ stringimage <<defun gensymInt>> <<defun getAliasIfTracedMapParameter>> <<defun getBpiNameIfTracedMap>> +<<defun get-current-directory>> <<defun getenviron>> <<defun getMapSig>> <<defun getMapSubNames>> @@ -17684,9 +17786,9 @@ stringimage <<defun SpadInterpretStream>> <<defun spadReply>> <<defun spadReply,printName>> -<<defun SPADRREAD>> -<<defun SPADRWRITE>> -<<defun SPADRWRITE0>> +<<defun spadrread>> +<<defun spadrwrite>> +<<defun spadrwrite0>> <<defun spad-save>> <<defun spadTrace>> <<defun spadTraceAlias>> diff --git a/changelog b/changelog index fd00320..11f8639 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20090415 tpd src/axiom-website/patches.html 20090415.01.tpd.patch +20090415 tpd src/input/r20bugs.input fixup bezier +20090415 tpd src/input/cmds.input fixup bezier +20090415 tpd src/interp/vmlisp.lisp move get-current-directory to bookvol5 +20090415 tpd books/bookvol5 add \defunsec, section titles, docstrings 20090414 tpd src/axiom-website/patches.html 20090414.06.tpd.patch 20090414 tpd src/input/unittest3.input add Bezier package 20090414 tpd src/input/unittest2.input add Bezier package diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index ef0541a..322172d 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1086,5 +1086,7 @@ Makefile add Makefile.slackware chunk<br/> Makefile report regression failures<br/> <a href="patches/20090414.06.tpd.patch">20090414.06.tpd.patch</a> bookvol10.4 add Bezier package<br/> +<a href="patches/20090415.01.tpd.patch">20090415.01.tpd.patch</a> +bookvol5 add \defunsec, section titles, docstrings<br/> </body> </html> diff --git a/src/input/cmds.input.pamphlet b/src/input/cmds.input.pamphlet index 29c2766..001cd25 100644 --- a/src/input/cmds.input.pamphlet +++ b/src/input/cmds.input.pamphlet @@ -510,6 +510,7 @@ --S 15 of 23 )what packages +--R --R-------------------------------- Packages --------------------------------- --R AF AlgebraicFunction ALGFACT AlgFactor --R ALGMANIP AlgebraicManipulations ALGMFACT AlgebraicMultFact @@ -519,10 +520,10 @@ --R APPRULE ApplyRules --R ARRAY12 OneDimensionalArrayFunctions2 --R ASSOCEQ AssociatedEquations AXSERV AxiomServer ---R BALFACT BalancedFactorisation BEZOUT BezoutMatrix ---R BOP1 BasicOperatorFunctions1 BOUNDZRO BoundIntegerRoots ---R BRILL BrillhartTests CARTEN2 CartesianTensorFunctions2 ---R CDEN CommonDenominator +--R BALFACT BalancedFactorisation BEZIER Bezier +--R BEZOUT BezoutMatrix BOP1 BasicOperatorFunctions1 +--R BOUNDZRO BoundIntegerRoots BRILL BrillhartTests +--R CARTEN2 CartesianTensorFunctions2 CDEN CommonDenominator --R CHARPOL CharacteristicPolynomialPackage --R CHVAR ChangeOfVariable --R CINTSLPE ComplexIntegerSolveLinearPolynomialEquation diff --git a/src/input/r20bugs.input.pamphlet b/src/input/r20bugs.input.pamphlet index 829d2a5..93b9926 100644 --- a/src/input/r20bugs.input.pamphlet +++ b/src/input/r20bugs.input.pamphlet @@ -197,7 +197,8 @@ positiveRemainder(-1::SINT,-5::SINT) complexRoots([u**2-v+1,v**2-4],[u,v],0.01) --R --R ---R (1) [[1.73046875 %i,- 2.0],[- 1.73046875 %i,- 2.0],[- 1.0,2.0],[1.0,2.0]] +--R (1) +--R [[1.732421875 %i,- 2.0],[- 1.732421875 %i,- 2.0],[- 1.0,2.0],[1.0,2.0]] --R Type: List List Complex Float --E 17 diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet index 215ab70..0b998a3 100644 --- a/src/interp/vmlisp.lisp.pamphlet +++ b/src/interp/vmlisp.lisp.pamphlet @@ -84,18 +84,6 @@ Contributed by Juergen Weiss from Arthur Norman's CCL. (/ 1.0 (tan a)))) @ -\section{The get-current-directory function} -Contributed by Juergen Weiss. -<<getCD>>= -#+:cmu -(defun get-current-directory () - (namestring (extensions::default-directory))) - -#+(or :akcl :gcl) -(defun get-current-directory () - (namestring (truename ""))) - -@ \section{The digits-by-radix function} The purpose of the following function is to calculate the number of digits in the radix $B$ expansion of an arbitrary Lisp integer $n$. @@ -1991,8 +1979,6 @@ can be restored. (defun MAKE-BVEC (n) (make-array (list n) :element-type 'bit :initial-element 0)) -<<getCD>> - (in-package 'boot) <<manexp>> _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer