[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] [build-improvements] Stop setting default-pathname-def
From: |
Gabriel Dos Reis |
Subject: |
[Axiom-developer] [build-improvements] Stop setting default-pathname-defaults |
Date: |
25 Oct 2006 11:31:43 -0500 |
Hi,
As discussed earlier, this patch makes Axiom stop setting
*default-pathname-defaults* -- which led to surprising and incoherent
behaviour. This variable, while Common Lisp standard, has an
implementation-defined meaning that, in fact, Axiom has no business in
changing directly.
Other changes I have in the pipeline depend on this. I'll commit them
later (when I have time).
built and tested on an x86-suse-linux.
committed to build-improvements branch.
-- Gaby
2006-10-25 Gabriel Dos Reis <address@hidden>
* bookvol5.pamphlet (\subsection{*default-pathname-defaults*}): Remove.
(restart): Don't set *default-pathname-defaults*.
(reroot): Likewise.
* patches.lisp.pamphlet (|cd|): Likewise.
*** src/interp/bookvol5.pamphlet (revision 15142)
--- src/interp/bookvol5.pamphlet (local)
*************** November 10, 2003 ((iHy))
*** 134,140 ****
\section{Star Global Variables}
\begin{tabular}{lll}
NAME & SET & USE \\
- *default-pathname-defaults & reroot & restart \\
*eof* & ncTopLevel & \\
*features* & & restart \\
*package* & & restart \\
--- 134,139 ----
*************** NAME & SET
*** 142,160 ****
*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]].
--- 141,146 ----
*************** When running in Lucid Common Lisp ([[:lu
*** 296,301 ****
--- 282,292 ----
Otherwise this variable is
set to the empty string in [[restart]].
+ Notice that the variable [[*default-pathname-defaults*]] is a Common
+ Lisp standard variable with implementation defined meaning.
+ Typically, its value is an object that represents the directory from
+ where the Lisp image has been started.
+
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
*************** We do not care that tail recursion occur
*** 718,729 ****
(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
--- 709,714 ----
*************** where the [[${SYS}]] variable is the sam
*** 1160,1167 ****
(setq |$defaultMsgDatabaseName|
(pathname (make-absolute-filename "/share/msgs/s2-us.msgs")))
(setq |$msgDatabaseName| ())
- (setq *default-pathname-defaults*
- (pathname (make-absolute-filename "")))
(setq $current-directory $spadroot))
@
--- 1145,1150 ----
*** src/interp/patches.lisp.pamphlet (revision 15142)
--- src/interp/patches.lisp.pamphlet (local)
*************** previous definition.
*** 122,131 ****
((eql (|directoryp| (interp-make-directory (car args))) 1)
(setq $current-directory (namestring (truename
(interp-make-directory (car args)))))))
#+(or :kcl :ibcl :CCL) (system:CHDIR $current-directory)
- #+(and :lucid :ibm/370)
- (setq *default-pathname-defaults* "")
- #-(and :lucid :ibm/370)
- (setq *default-pathname-defaults* (pathname $current-directory))
(|sayKeyedMsg| 'S2IZ0070 (list (namestring $current-directory))))
<<toplevel>>
--- 122,127 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] [build-improvements] Stop setting default-pathname-defaults,
Gabriel Dos Reis <=