[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] 20090212.02.tpd.patch (rewrite restart)
From: |
daly |
Subject: |
[Axiom-developer] 20090212.02.tpd.patch (rewrite restart) |
Date: |
Sat, 14 Feb 2009 17:17:34 -0600 |
The restart function was refactored, documented and simplified.
=======================================================================
diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 4414f64..60c94d6 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -4,6 +4,83 @@
\usepackage{makeidx}
\makeindex
\usepackage{graphicx}
+%%
+%% Note that this file will eventually generate a dvi file
+%% which will eventually be processed by dvipdfm to create a pdf.
+%% The categories/domains/packages will be placed in a graphviz graph.
+%% The graphviz dot syntax allows an href parameter.
+%% The href parameter will reference this file.
+%% pdf href syntax allows named destinations.
+%% This macro creates a named destination using \special
+%% Thus, you reference http://thispdf#nameddest=ABBREV
+%% and you end up at the right page.
+%% This macro is called implicitly by \pagehead so every
+%% category/domain/package can be referenced by fullname or abbrev.
+%%
+%% dest will give the ability to use nameddest= in html pdfs
+%%
+\newcommand{\dest}[1]{% e.g. \dest{abb}
+\special{pdf:dest (#1) [ @thispage /FitH @ypos ]}}
+
+%%
+%% pagehead consolidates standard page indexing
+%%
+\newcommand{\pagehead}[2]{% e.g. \pagehead{name}{abb}
+\dest{#1}%
+\dest{#2}%
+\subsection{#1 (#2)}
+\label{#1}%
+\label{#2}%
+\index{{#1}}%
+\index{{#2}}}%
+
+%%
+%% pagepic adds an image and an index entry
+%%
+\newcommand{\pagepic}[3]{% e.g. \pagepic{pathandfile}{abb}{scale}
+\includegraphics[scale=#3]{#1}\\%
+\index{images!#2}}
+
+%%
+%% \refto is a link to a referenced page that returns it arg
+%%
+\newcommand{\refto}[1]{% e.g. \refto{name}
+(p\pageref{#1}) #1}
+
+%%
+%% pageto is a forward link to a referenced page
+%%
+\newcommand{\pageto}[2]{% e.g. \pageto{abb}{name}
+\ \\${\bf\Rightarrow{}}${``#1''} (#2) \ref{#1} on page~\pageref{#1}}
+
+%%
+%% pagefrom is a backward link to a referencing page
+%%
+\newcommand{\pagefrom}[2]{% e.g. \pagefrom{name}{abb}
+\ \\${\bf\Leftarrow{}}${``#1''} (#2) \ref{#1} on page~\pageref{#1}}
+
+
+%%
+%% fnref sets a reference link
+%%
+\newcommand{\fnref}[1]{% e.g. \fnref{functionname}
+``#1'' (\ref{#1} p~\pageref{#1})}
+
+%%
+%% varref sets a reference link
+%%
+\newcommand{\varref}[1]{% e.g. \varref{variablename}
+``#1'' (\ref{#1} p~\pageref{#1})}
+
+%% cross will put the category and function in the index
+%% cross will leave the funcname so it can be put inline.
+%%
+\newcommand{\cross}[2]{% e.g. \pagefrom{cat}{funcname}
+\index{#1!#2}%
+\index{#2!#1}%
+#2}
+
+
% struggle with latex figure-floating behavior
\renewcommand\floatpagefraction{.9}
\renewcommand\topfraction{.9}
@@ -180,12 +257,10 @@ function which is the entry to the Axiom interpreter.
)
@
-\subsection{defun restart}
+\pagehead{restart}{restart}
+\pagepic{ps/v5restart.ps}{restart}{1.00}
The restart function is the real root of the world. It sets up memory
-if we are working in a GCL/akcl version of the system. It sets the
-current package to be the ``BOOT'' package which is the standard
-package in which the interpreter runs. It calls initroot \cite{1}
-to set the \$spadroot variable (usually the \$AXIOM variable).
+if we are working in a GCL/akcl version of the system.
The [[compiler::*compile-verbose*]] flag has been set to nil globally.
We do not want to know about the microsteps of GCL's compile facility.
@@ -195,6 +270,50 @@ We do not care that certain generated variables are not
used.
The [[compiler::*suppress-compiler-notes*]] flag has been set to t.
We do not care that tail recursion occurs.
+
+It sets the
+current package to be the ``BOOT'' package which is the standard
+package in which the interpreter runs.
+
+The \fnref{initroot} function sets global variables that depend on the
+AXIOM shell variable. These are needed to find basic files like s2-us.msgs,
+which contains the error message text.
+
+The \fnref{openserver} function tried to set up the socket connection
+used for things like hyperdoc. The \verb|$openServerIfTrue| variable
+starts true, which implies trying to start a server.
+
+The \verb|$IOindex| variable is the number associated with the input prompt.
+Every successful expression evaluated increments this number until a
+\verb|)clear all| resets it. Here we set it to the initial value.
+
+Axiom has multiple frames that contain independent information about a
+computation. There can be several frames at any one time and you can
+shift back and forth between the frames. By default, the system starts
+in ``frame0'' (try the \verb|)frame names| command). See the Frame
+Mechanism chapter (\ref{TheFrameMechanism} page~\pageref{TheFrameMechanism}).
+
+The \verb|$InteractiveFrame| variable contains the state information
+related to the current frame, which includes things like the last value,
+the value of all of the variables, etc.
+
+The \varref{printLoadMsgs} variable controls whether load messages will
+be output as library routines are loaded. We enable this by default.
+It can be changed by using \verb|)set message autoload|.
+
+The \varref{current-directory} variable is set to the current directory.
+This is used by the \verb|)cd| function and some of the compile routines.
+
+The \fnref{loadExposureGroupData} function initializes several variables
+with the exposure groups. These lists limit the user visible names in
+order to keep the user and interpreter from being confused by names
+which are common but whose signatures are for internal algebra uses.
+
+The \fnref{statisticsInitialization} function initializes variables
+used to collect statistics. Currently, only the garbage collector
+information is initialized.
+
+
<<defun restart>>=
(defun restart ()
#+:akcl
@@ -203,53 +322,22 @@ We do not care that tail recursion occurs.
#+:akcl (setq compiler::*compile-verbose* nil)
#+:akcl (setq compiler::*suppress-compiler-warnings* t)
#+:akcl (setq compiler::*suppress-compiler-notes* t)
-#-:CCL
- (in-package "BOOT")
-#+:CCL
- (setq *package* (find-package "BOOT"))
-#+:CCL (setpchar "") ;; Turn off CCL read prompts
-#+(OR :akcl :CCL) (initroot)
#+:akcl (system:gbc-time 0)
+ (in-package "BOOT")
+ (initroot)
#+:akcl
- (when (and $openServerIfTrue (fboundp '|openServer|))
- (prog (os)
- (setq os (|openServer| $SpadServerName))
- (if (zerop os)
- (progn
- (setq $openServerIfTrue nil)
- (setq |$SpadServer| t)))))
-;; We do the following test at runtime to allow us to use the same images
-;; with Saturn and Sman. MCD 30-11-95
-#+:CCL
- (when
- (and (memq :unix *features*) $openServerIfTrue (fboundp '|openServer|))
- (prog (os)
- (setq os (|openServer| $SpadServerName))
- (if (zerop os)
- (progn
- (setq $openServerIfTrue nil)
- (setq |$SpadServer| t)))))
+ (when (and $openServerIfTrue (zerop (openserver $SpadServerName)))
+ (setq $openServerIfTrue nil)
+ (setq |$SpadServer| t))
(setq |$IOindex| 1)
(setq |$InteractiveFrame| (|makeInitialModemapFrame|))
(setq |$printLoadMsgs| t)
-#+(and :lucid :ibm/370)
- (setq *default-pathname-defaults* "")
-#+:CCL
- (setq *default-pathname-defaults* (get-current-directory))
-#-(or :CCL (and :lucid :ibm/370))
- (setq *default-pathname-defaults* (probe-file "./"))
-#+(and :lucid :ibm/370)
- (setq vmlisp::$current-directory "")
-#-(and :lucid :ibm/370)
- (setq vmlisp::$current-directory
- (make-directory *default-pathname-defaults*))
+ (setq $current-directory (get-current-directory))
(|loadExposureGroupData|)
(|statisticsInitialization|)
(|initHist|)
(|initializeInterpreterFrameRing|)
-
- (when |$displayStartMsgs|
- (|spadStartUpMsgs|))
+ (when |$displayStartMsgs| (|spadStartUpMsgs|))
(setq |$currentLine| nil)
(restart0)
(|readSpadProfileIfThere|)
@@ -571,10 +659,12 @@ This function performs those setup commands.
@
-\subsection{defun initroot}
+\pagehead{initroot}{initroot}
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.
+
+Called from \fnref{restart}.
<<defun initroot>>=
(defun initroot (&optional (newroot (BOOT::|getEnv| "AXIOM")))
(reroot (or newroot $spadroot (error "setenv AXIOM or (setq $spadroot)"))))
@@ -594,28 +684,6 @@ minus any leading spaces.
newwhole))))
@
-\subsection{defun loadExposureGroupData}
-<<defun loadExposureGroupData>>=
-#+:AKCL
-(defun |loadExposureGroupData| ()
- (cond
- ((load "./exposed" :verbose nil :if-does-not-exist nil)
- '|done|)
- ((load (concat (system:getenv "AXIOM") "/algebra/exposed")
- :verbose nil :if-does-not-exist nil)
- '|done|)
- (t '|failed|) ))
-
-#+:CCL
-(defun |loadExposureGroupData| ()
- (cond
- ((load "./exposed.lsp" :verbose NIL :if-does-not-exist NIL) '|done|)
- ((load (concat (BOOT::|getEnv| "AXIOM") "/../../src/algebra/exposed.lsp")
- :verbose nil :if-does-not-exist nil) '|done|)
- (t nil) ))
-
-@
-
\subsection{make-absolute-filename}
Prefix a filename with the {\bf AXIOM} shell variable.
<<defun make-absolute-filename>>=
@@ -691,16 +759,14 @@ where the [[${SYS}]] variable is the same one set at
build time.
<<defun reroot>>=
(defun reroot (dir)
(setq $spadroot dir)
+ (setq $current-directory dir)
(setq $directory-list
(mapcar #'make-absolute-filename $relative-directory-list))
(setq $library-directory-list
(mapcar #'make-absolute-filename $relative-library-directory-list))
(setq |$defaultMsgDatabaseName|
(pathname (make-absolute-filename "/doc/msgs/s2-us.msgs")))
- (setq |$msgDatabaseName| ())
- (setq *default-pathname-defaults*
- (pathname (make-absolute-filename "")))
- (setq $current-directory $spadroot))
+ (setq |$msgDatabaseName| ()))
@
@@ -734,7 +800,8 @@ this is what the current code does so I won't change it.
@
-\subsection{defun statisticsInitialization}
+\chapter{System Statistics}
+\pagehead{statisticsInitialization}{statisticsInitialization}
<<defun statisticsInitialization>>=
(defun |statisticsInitialization| ()
"initialize the garbage collection timer"
@@ -3506,8 +3573,8 @@ S2IH0038
\chapter{The Frame Mechanism}
\section{)frame}
-%\label{ugSysCmdframe}
-%\index{frame}
+\label{TheFrameMechanism}
+\index{TheFrameMechanism}
\par\noindent{\bf Command Syntax:}
\begin{list}{}
\item{\tt )frame new {\it frameName}}
@@ -5188,6 +5255,14 @@ removeUndoLines u == --called by writeInputLines
@
+\pagehead{openserver}{openserver}
+This is a cover function for the C code used for communication interface.
+<<defun openserver>>=
+(defun openserver (name)
+ (open_server name))
+
+@
+
\chapter{The Help Browser Mechanism}
The Axiom book on the help browser is a complete rewrite of the
hyperdoc mechanism. There are several components that were needed
@@ -5457,12 +5532,60 @@ DEBUGSYS=${OBJ}/${SYS}/bin/debugsys
@
+\chapter{Exposure Groups}
+Exposure groups are a way of controlling the namespace available
+to the user. Certain algebra files are only useful for internal
+purposes but they contain functions have common names (like
+``map''. In order to separate the user visible functions
+from the internal functions the algebra files are collected into
+``exposure groups''. These large groups are grouped into sets in
+the file \verb|exposed.lsp| which lives in the algebra subdirectory.
+
+Exposure group information is kept in the local frame. For more
+information ``The Frame Mechanism'' \ref{TheFrameMechanism} on
+page~\pageref{TheFrameMechanism}.
+
+\pagehead{loadExposureGroupData}{loadExposureGroupData}
+This function is called from \fnref{restart} at system startup time to
+load the file \verb|exposed.lsp| to set up the exposure group information.
+<<defun loadExposureGroupData>>=
+(defun |loadExposureGroupData| ()
+ (cond
+ ((load "./exposed" :verbose nil :if-does-not-exist nil)
+ '|done|)
+ ((load (concat (system:getenv "AXIOM") "/algebra/exposed")
+ :verbose nil :if-does-not-exist nil)
+ '|done|)
+ (t '|failed|) ))
+
+@
+
+\chapter{Support Functions from Lisp}
+\pagehead{current-directory}{current-directory}
+<<initvars>>=
+(defvar $current-directory "")
+
+@
+\pagehead{get-current-directory}{get-current-directory}
+This function returns a string representing the current directory.
+This is maintained in the \$current-directory variable. It is called
+from the \fnref{restart} function.
+<<defun get-current-directory>>=
+#+:cmu
+(defun get-current-directory ()
+ (namestring (extensions::default-directory)))
+
+#+(or :akcl :gcl)
+(defun get-current-directory ()
+ (namestring (truename "")))
+
+@
+
\chapter{The Interpreter}
<<Interpreter>>=
(in-package "BOOT")
<<initvars>>
-
<<defun addNewInterpreterFrame>>
<<defun browse>>
@@ -5500,6 +5623,7 @@ DEBUGSYS=${OBJ}/${SYS}/bin/debugsys
<<defun frameNames>>
<<defun frameSpad2Cmd>>
+<<defun get-current-directory>>
<<defun getenviron>>
<<defun gensymInt>>
@@ -5538,6 +5662,7 @@ DEBUGSYS=${OBJ}/${SYS}/bin/debugsys
<<defun nextInterpreterFrame>>
<<defun oldHistFileName>>
+<<defun openserver>>
<<defun previousInterpreterFrame>>
<<defun putHist>>
@@ -5602,7 +5727,6 @@ DEBUGSYS=${OBJ}/${SYS}/bin/debugsys
\section{Star Global Variables}
\begin{tabular}{lll}
NAME & SET & USE \\
-*default-pathname-defaults* & reroot & restart \\
*eof* & ncTopLevel & \\
*features* & & restart \\
*package* & & restart \\
@@ -5610,20 +5734,6 @@ NAME & SET & USE \\
*standard-output* & & ncIntLoop \\
*top-level-hook* & set-restart-hook & \\
\end{tabular}
-\subsection{*default-pathname-defaults*}
-The [[*default-pathname-defaults*]] variable is set by
-[[make-absolute-filename]] called on the empty string. This has
-the effect of setting the value to the [[AXIOM]] variable as this
-function just concatenates the [[AXIOM]] variable onto the given string.
-We pass this string to the common lisp [[pathname]] function to set it
-to a real pathname.
-
-The [[*default-pathname-defaults*]] defaults common lisp variable is
-set in [[restart]] to the current directory in most cases. If we are
-working in Lucid Common Lisp ([[:lucid]]) on an IBM/370 mainframe
-([[:ibm/370]]) then it is set to the empty string. Using Lucid on a
-mainframe seems to use the variable [[vmlisp::$current-directory]].
-
\subsection{*eof*}
The [[*eof*]] variable is set to [[NIL]] in [[ncTopLevel]].
\subsection{*features*}
@@ -5659,7 +5769,7 @@ NAME & SET & USE
\\
coerceFailure & & runspad \\
curinstream & ncIntLoop & \\
curoutstream & ncIntLoop & \\
-vmlisp::\$current-directory & restart & \\
+\$current-directory & restart & \\
& reroot & \\
\$currentLine & restart & removeUndoLines \\
\$dalymode & & intloopReadConsole \\
@@ -5763,19 +5873,10 @@ The [[curoutstream]] variable is set to the value of the
[[*standard-output*]] common lisp variable in [[ncIntLoop]].
While not using the ``dollar'' convention this variable is still ``global''.
-\subsection{vmlisp::\$current-directory}
-When running in Lucid Common Lisp ([[:lucid]]) on an IBM/370 mainframe
-([[:ibm/370]]) this variable is used in place of the
-[[*default-pathname-defaults*]] common lisp variable.
-Otherwise this variable is
-set to the empty string in [[restart]].
-
-The [[reroot]] function sets this variable to the value of
-[[$spadroot]] which itself has the value of the argument to the
-[[reroot]] function. Since the argument to the [[reroot]] function is
-an string which represents an absolute pathname pointing to AXIOM the
-net result is that the [[$current-directory]] is set to point to the
-shell [[AXIOM]] variable.
+\subsection{\$current-directory}
+This is set to the value returned by the \verb|get-current-directory|
+function in \fnref{restart}. It is set to the argument of the
+\verb|reroot| function.
So during execute both [[$current-directory]] and [[$spadroot]] reflect
the value of the [[AXIOM]] shell variable.
@@ -6032,7 +6133,7 @@ The [[$previousBindings]] is a copy of the
compute the [[delta(i)]]s stored in [[$frameRecord]].
This is part of the undo mechanism.
-\subsection{\$printLoadMsgs}
+\pagehead{printLoadMsgs}{printLoadMsgs}
The [[$printLoadMsgs]] variable is set to [[T]] in [[restart]].
\subsection{\$PrintCompilerMessageIfTrue}
diff --git a/books/ps/v5restart.ps b/books/ps/v5restart.ps
new file mode 100644
index 0000000..eefd825
--- /dev/null
+++ b/books/ps/v5restart.ps
@@ -0,0 +1,468 @@
+%!PS-Adobe-2.0
+%%Creator: Graphviz version 2.16.1 (Mon Jul 7 18:20:33 UTC 2008)
+%%For: (root) root
+%%Title: g
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+ dup dup findfont dup length dict begin
+ { 1 index /FID ne { def }{ pop pop } ifelse
+ } forall
+ /Encoding EncodingVector def
+ currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+ dup 1 exch div /InvScaleFactor exch def
+ scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def}
bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage { % i j npages
+ /npages exch def
+ /j exch def
+ /i exch def
+ /str 10 string def
+ npages 1 gt {
+ gsave
+ coordfont setfont
+ 0 0 moveto
+ (\() show i str cvs show (,) show j str cvs show (\))
show
+ grestore
+ } if
+} bind def
+
+/set_font {
+ findfont exch
+ scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext { % width text
+ /text exch def
+ /width exch def
+ gsave
+ width 0 gt {
+ [] 0 setdash
+ text stringwidth pop width exch sub text length div 0
text ashow
+ } if
+ grestore
+} def
+
+/boxprim { % xcorner ycorner xsize ysize
+ 4 2 roll
+ moveto
+ 2 copy
+ exch 0 rlineto
+ 0 exch rlineto
+ pop neg 0 rlineto
+ closepath
+} bind def
+
+/ellipse_path {
+ /ry exch def
+ /rx exch def
+ /y exch def
+ /x exch def
+ matrix currentmatrix
+ newpath
+ x y translate
+ rx ry scale
+ 0 0 1 0 360 arc
+ setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+ [ % layer color sequence - darkest to lightest
+ [0 0 0]
+ [.2 .8 .8]
+ [.4 .8 .8]
+ [.6 .8 .8]
+ [.8 .8 .8]
+ ]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+ layercolorseq curlayer 1 sub layerlen mod get
+ aload pop sethsbcolor
+ /nodecolor {nopcolor} def
+ /edgecolor {nopcolor} def
+ /graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+ /myupper exch def
+ /mylower exch def
+ curlayer mylower lt
+ curlayer myupper gt
+ or
+ {invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+ userdict (<<) cvn ([) cvn load put
+ userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 238 404
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 202 368 boxprim clip newpath
+1 1 set_scale 0 rotate 40 40 translate
+0.167 0.600 1.000 graphcolor
+newpath -4 -4 moveto
+-4 716 lineto
+536 716 lineto
+536 -4 lineto
+closepath fill
+1 setlinewidth
+0.167 0.600 1.000 graphcolor
+newpath -4 -4 moveto
+-4 716 lineto
+536 716 lineto
+536 -4 lineto
+closepath stroke
+% lisp
+gsave
+[ /Rect [ 68 304 126 352 ]
+ /Border [ 0 0 0 ]
+ /Action << /Subtype /URI /URI (bookvol5.pdf#nameddest=lisp) >>
+ /Subtype /Link
+/ANN pdfmark
+0.167 0.600 1.000 nodecolor
+newpath 126 352 moveto
+68 352 lineto
+68 304 lineto
+126 304 lineto
+closepath fill
+1 setlinewidth
+filled
+0.167 0.600 1.000 nodecolor
+newpath 126 352 moveto
+68 352 lineto
+68 304 lineto
+126 304 lineto
+closepath stroke
+0.537 0.247 0.902 nodecolor
+newpath 76 328 moveto
+76 348 lineto
+118 348 lineto
+118 328 lineto
+closepath fill
+1 setlinewidth
+solid
+0.537 0.247 0.902 nodecolor
+newpath 76 328 moveto
+76 348 lineto
+118 348 lineto
+118 328 lineto
+closepath stroke
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 76 328 moveto
+76 348 lineto
+118 348 lineto
+118 328 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+79 334.733 moveto 20 (lisp) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 76 308 moveto
+76 328 lineto
+118 328 lineto
+118 308 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+79 314.733 moveto 36 (restart) alignedtext
+grestore
+% restart
+gsave
+[ /Rect [ 0 0 194 268 ]
+ /Border [ 0 0 0 ]
+ /Action << /Subtype /URI /URI (bookvol5.pdf#nameddest=restart) >>
+ /Subtype /Link
+/ANN pdfmark
+0.167 0.600 1.000 nodecolor
+newpath 194 268 moveto
+5.68434e-14 268 lineto
+1.42109e-14 8.52651e-14 lineto
+194 0 lineto
+closepath fill
+1 setlinewidth
+filled
+0.167 0.600 1.000 nodecolor
+newpath 194 268 moveto
+5.68434e-14 268 lineto
+1.42109e-14 8.52651e-14 lineto
+194 0 lineto
+closepath stroke
+0.537 0.247 0.902 nodecolor
+newpath 8 244 moveto
+8 264 lineto
+186 264 lineto
+186 244 lineto
+closepath fill
+1 setlinewidth
+solid
+0.537 0.247 0.902 nodecolor
+newpath 8 244 moveto
+8 264 lineto
+186 264 lineto
+186 244 lineto
+closepath stroke
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 244 moveto
+8 264 lineto
+186 264 lineto
+186 244 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+11 250.733 moveto 36 (restart) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 224 moveto
+8 244 lineto
+186 244 lineto
+186 224 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+76.5 230.733 moveto 41 (initroot) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 204 moveto
+8 224 lineto
+186 224 lineto
+186 204 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+65.5 210.733 moveto 63 (openserver) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 184 moveto
+8 204 lineto
+186 204 lineto
+186 184 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+17.5 190.733 moveto 159 (makeInitialModemapFrame) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 164 moveto
+8 184 lineto
+186 184 lineto
+186 164 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+37 170.733 moveto 120 (get-current-directory) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 144 moveto
+8 164 lineto
+186 164 lineto
+186 144 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+25.5 150.733 moveto 143 (loadExposureGroupData) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 124 moveto
+8 144 lineto
+186 144 lineto
+186 124 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+36 130.733 moveto 122 (statisticsInitialization) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 104 moveto
+8 124 lineto
+186 124 lineto
+186 104 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+76.5 110.733 moveto 41 (initHist) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 84 moveto
+8 104 lineto
+186 104 lineto
+186 84 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+11.5 90.7333 moveto 171 (initializeInterpreterFrameRing) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 64 moveto
+8 84 lineto
+186 84 lineto
+186 64 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+45.5 70.7333 moveto 103 (spadStartUpMsgs) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 44 moveto
+8 64 lineto
+186 64 lineto
+186 44 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+75 50.7333 moveto 44 (restart0) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 24 moveto
+8 44 lineto
+186 44 lineto
+186 24 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+29.5 30.7333 moveto 135 (readSpadProfileIfThere) alignedtext
+1 setlinewidth
+solid
+0.000 0.000 0.000 nodecolor
+newpath 8 4 moveto
+8 24 lineto
+186 24 lineto
+186 4 lineto
+closepath stroke
+0.000 0.000 0.000 nodecolor
+14.00 /Times-Roman set_font
+83.5 10.7333 moveto 27 (spad) alignedtext
+grestore
+% lisp->restart
+gsave
+5 setlinewidth
+0.000 0.000 0.000 edgecolor
+newpath 97 308 moveto
+97 299 97 286 97 274 curveto
+stroke
+0.000 0.000 0.000 edgecolor
+newpath 100.5 274 moveto
+97 264 lineto
+93.5001 274 lineto
+closepath fill
+1 setlinewidth
+solid
+0.000 0.000 0.000 edgecolor
+newpath 100.5 274 moveto
+97 264 lineto
+93.5001 274 lineto
+closepath stroke
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 238 404
+end
+restore
+%%EOF
diff --git a/changelog b/changelog
index 5069ea7..1eb750a 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20090212 tpd src/axiom-website/patches.html 20090212.02.tpd.patch
+20090212 tpd src/Makefile.pamphlet copy bookvol5
+20090212 tpd books/ps/v5restart.ps added
+20090212 tpd books/bookvol5.pamphlet rewrite/document restart function
20090212 tpd src/axiom-website/patches.html 20090212.01.tpd.patch
20090212 tpd src/interp/interp-proclaims.lisp update proclaims for changes
20090212 tpd src/interp/sockio.lisp remove unused code
diff --git a/src/Makefile.pamphlet b/src/Makefile.pamphlet
index 34820b0..a48ac4b 100644
--- a/src/Makefile.pamphlet
+++ b/src/Makefile.pamphlet
@@ -259,6 +259,7 @@ interpdir: ${SRC}/interp/Makefile
@mkdir -p ${MNT}/${SYS}/algebra
@mkdir -p ${MNT}/${SYS}/doc/msgs
@mkdir -p ${MNT}/${SYS}/doc/src/interp
+ @cp ${SPD}/books/bookvol5.pamphlet interp
@(cd interp ; ${ENV} ${MAKE} )
${SRC}/interp/Makefile: ${SRC}/interp/Makefile.pamphlet
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 2fbdca2..140c90c 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -943,5 +943,7 @@ bookvol10.4 add exports<br/>
bookvol10.4 add exports<br/>
<a href="patches/20090212.01.tpd.patch">20090212.01.tpd.patch</a>
remove unused code<br/>
+<a href="patches/20090212.02.tpd.patch">20090212.02.tpd.patch</a>
+rewrite restart<br/>
</body>
</html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] 20090212.02.tpd.patch (rewrite restart),
daly <=