[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] [Axiom-developer] Proving Axiom correct, derivations, an

From: Camm Maguire
Subject: Re: [Gcl-devel] [Axiom-developer] Proving Axiom correct, derivations, and CAD
Date: Tue, 11 Oct 2016 17:12:41 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)

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
      ((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 "/")))
      ((setq file (probe-file
@@ -38708,7 +38709,7 @@ filetype and filemode. We also UPCASE ev
 (defun |pathname| (p)
   ((null p) p)
-  ((pathnamep p) p)
+  ((pathnamep p) p)((symbolp p) (pathname (string p)))
   ((null (consp p)) (pathname p))
    (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)
-        ((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)))

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


Take care,
Camm Maguire                                        address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

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