Re: Proving Axiom correct, derivations, and CAD

Camm Maguire <[email protected]>
Newsgroups gmane.comp.mathematics.axiom.devel,gmane.lisp.gcl.devel
Message-ID <[email protected]>
Greetings!  I am considering pushing some pathname ansi fixes from
master into the upcoming gcl release.  This has exposed an axiom issue.
#'pathname cannot take a symbol argument.  

Here is a patch, which I think is backward compatible (testing):

--- axiom-20140801.orig/books/bookvol5.pamphlet
+++ axiom-20140801/books/bookvol5.pamphlet
@@ -23115,7 +23115,7 @@ o )history
     (cond
      ((eq fullopt '|ifthere|) (setq ifthere t))
      ((eq fullopt '|quiet|)   (setq quiet t))))
-  (setq ef (|pathname| /editfile))
+  (setq ef (or (|pathname| /editfile) ""))
   (when (eq (|pathnameTypeId| ef) 'spad)
     (setq ef (|makePathname| (|pathnameName| ef) "*" "*")))
   (if arg 
@@ -37660,8 +37660,9 @@ The localdatabase function tries to find
   (if make-database? (setq noexpose t))
   (when dir (setq nrlibs (processDir dir thisdir)))
   (dolist (file filelist)
-   (let ((filename (pathname-name file))
-         (namedir (directory-namestring file)))
+   (let* ((file (string file))
+          (filename (pathname-name file))
+          (namedir (directory-namestring file)))
     (unless namedir (setq thisdir (concatenate 'string thisdir "/")))
     (cond
      ((setq file (probe-file
@@ -38708,7 +38709,7 @@ filetype and filemode. We also UPCASE ev
 (defun |pathname| (p)
  (cond
   ((null p) p)
-  ((pathnamep p) p)
+  ((pathnamep p) p)((symbolp p) (pathname (string p)))
   ((null (consp p)) (pathname p))
   (t
    (when (> (|#| p) 2) (setq p (cons (elt p 0) (cons (elt p 1) nil))))
--- axiom-20140801.orig/src/interp/patches.lisp.pamphlet
+++ axiom-20140801/src/interp/patches.lisp.pamphlet
@@ -106,9 +106,9 @@ previous definition.
   (cond ((null filename)
          (dribble) (TERPRI)
          (reset-highlight))
-        ((probe-file (car filename))
+        ((probe-file (string (car filename)))
          (error (format nil "file ~a already exists" (car filename))))
-        (t (dribble (car filename))
+        (t (dribble (string (car filename)))
            (TERPRI)
            (clear-highlight))
     ))


There may be other places, but this seems close to minimal.

Suggestions?

Take care,
-- 
Camm Maguire			     		    [email protected]
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.