diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 85bc267..e6f7ef2 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -8228,6 +8228,10 @@ The \fnref{statisticsInitialization} function initializes variables used to collect statistics. Currently, only the garbage collector information is initialized. +We test {\bfref{*ThisIsARunningSystem*}}. If this variable is true +then we are restarting from a previously running system and we +do not want to reset all of the user variables. + \calls{restart}{init-memory-config} \calls{restart}{initroot} \calls{restart}{openserver} @@ -8268,13 +8272,15 @@ information is initialized. (setq $openServerIfTrue nil) (setq |$SpadServer| t)) (setq |$IOindex| 1) - (setq |$InteractiveFrame| (|makeInitialModemapFrame|)) (setq |$printLoadMsgs| nil) (setq $current-directory (get-current-directory)) (setq *default-pathname-defaults* (pathname $current-directory)) (|statisticsInitialization|) - (|initHist|) - (|initializeInterpreterFrameRing|) + (unless *ThisIsARunningSystem* + (setq |$InteractiveFrame| (|makeInitialModemapFrame|)) + (|initHist|) + (|initializeInterpreterFrameRing|)) + (setq *ThisIsARunningSystem* t) (when |$displayStartMsgs| (|spadStartUpMsgs|)) (setq |$currentLine| nil) (restart0) @@ -31307,6 +31313,19 @@ and Axiom exits. Then do \end{chunk} +\defvar{*ThisIsARunningSystem*} +When a user does +\begin{verbatim} + )savesystem foo +\end{verbatim} +we set this variable to true. This is tested in the restart function, +which is called when the system starts, to prevent losing user +information. +\begin{chunk}{initvars} +(defvar *ThisIsARunningSystem* nil "Are we restarting a running system?") + +\end{chunk} + \defun{savesystem}{The )savesystem command} \calls{savesystem}{helpSpad2Cmd} \calls{savesystem}{spad-save} @@ -31314,7 +31333,9 @@ and Axiom exits. Then do (defun |savesystem| (arg) (if (or (not (eql (|#| arg) 1)) (null (symbolp (car arg)))) (|helpSpad2Cmd| '(|savesystem|)) - (spad-save (symbol-name (car arg))))) + (progn + (setq *ThisIsARunningSystem* t) + (spad-save (symbol-name (car arg)))))) \end{chunk} diff --git a/changelog b/changelog index ebf1294..9515c90 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20150105 c1m src/axiom-website/patches.html 20150105.02.c1m.patch +20150105 c1m books/bookvol5 make savesystem work 20150105 tpd src/axiom-website/patches.html 20150105.01.tpd.patch 20150105 tpd books/bookvol5 literate programming changes 20150105 tpd books/axiom.sty add \Defun for better TOC diff --git a/patch b/patch index 6571ee1..507b96f 100644 --- a/patch +++ b/patch @@ -1,3 +1,36 @@ -books/bookvol5 literate programming changes +books/bookvol5 make savesystem work + +axiom -nox + AXIOM Computer Algebra System + Version: Axiom (August 2014) + Timestamp: Monday January 5, 2015 at 21:31:45 +----------------------------------------------------------------------------- + Issue )copyright to view copyright notices. + Issue )summary for a summary of useful system commands. + Issue )quit to leave AXIOM and return to shell. + Visit http://axiom-developer.org for more information +----------------------------------------------------------------------------- + +(1) -> tpd:=1 + + (1) 1 + Type: PositiveInteger +(2) -> )savesystem foo + +t1 # ./foo + AXIOM Computer Algebra System + Version: Axiom (August 2014) + Timestamp: Monday January 5, 2015 at 21:31:45 +----------------------------------------------------------------------------- + Issue )copyright to view copyright notices. + Issue )summary for a summary of useful system commands. + Issue )quit to leave AXIOM and return to shell. + Visit http://axiom-developer.org for more information +----------------------------------------------------------------------------- + +(1) -> tpd + + (1) 1 + Type: PositiveInteger + -Rearrange code and begin explanation of the frame mechanism diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index a35d871..d95b87a 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4894,6 +4894,8 @@ books/bookvol5 merge, rewrite and remove some browser functions
book/timeline correct Ralf Stephan participation
20150105.01.tpd.patch books/bookvol5 literate programming changes
+20150105.02.c1m.patch +books/bookvol5 make savesystem work