axiom-developer
[Top][All Lists]
Advanced

[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 ----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]