axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Re: $erase (Re: SF.net SVN: axiom: [209] trunk3)


From: Vanuxem Grégory
Subject: [Axiom-developer] Re: $erase (Re: SF.net SVN: axiom: [209] trunk3)
Date: Mon, 30 Oct 2006 02:46:21 +0100

Le samedi 28 octobre 2006 à 13:06 -0400, root a écrit :
[...]
> You're using code which is not Gold.

Yes I know, and if I mention that this is for users of Silver and for
the possible inclusion of this patch into Gold.

> 
> The silver code, from any source, has NOT been tested.
> I resisted making these changes public for a long time,
> keeping them local until I ran tests and released them.

I think it's a good idea to make them public: more testers, more fix if
necessary.

> It was argued that the silver patches should be public
> and I followed the consensus, putting up axiom--silver--1

> The correct way to handle this change is to find all of
> the places where any filename assumptions are made,
> understand what the correct behavior is, and change
> every location that is wrong. This has to happen before
> the changes go into Gold which is planned for the end
> of november. Any help with that effort would be apprciated.

More difficult to do... I quickly grepped the code and found several
places (not a lot apparently) where $erase is applied on file. It's
possible to modify them individually (for example create a macro or a
function (and (probe-file file) (delete-file file)). I found some other
places where it's applied on file that I don't know, splog file for
example. This research was not exhaustive. In any case we need a
function that deletes directories and $erase is a good one but it needs
to be fixed ((concat string pathname) bug). Personally I think it's
better to keep the old behavior (i.e operate on files and directories)
and modify every location where a file or a directory is deleted when
time permits.

Of course fixing this issue before the next Gold release is really
important (see for example bug "cannot rename .erlib to .nrlib").
The primary purpose of my mail (forget my joke and my use of $erase) was
to inform you and Gaby that it was buggy.

Greg

=========================================================================
>  ;; ($ERASE filearg) -> 0 if succeeds else 1
>  (defun $erase (&rest filearg)
> -  (setq filearg (make-full-namestring filearg))
> -  (if (probe-file filearg)
> +  (setq filearg (truename (make-full-namestring filearg)))
> +  (if (and (directory filearg) (not (probe-file filearg)))
>  #+:CCL (delete-file filearg)
>  #+:AKCL
>        (if (library-file filearg) ; always true (Greg)
>          (delete-directory filearg)
>          (delete-file filearg))
>      1))





reply via email to

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