#16955: Give safer names to preparsed files
-------------------------------+------------------------
       Reporter:  jdemeyer     |        Owner:
           Type:  enhancement  |       Status:  new
       Priority:  major        |    Milestone:  sage-6.4
      Component:  scripts      |   Resolution:
       Keywords:               |    Merged in:
        Authors:               |    Reviewers:
Report Upstream:  N/A          |  Work issues:
         Branch:               |       Commit:
   Dependencies:  #16827       |     Stopgaps:
-------------------------------+------------------------
Description changed by jdemeyer:

Old description:

> If you run `sage new.sage` on a script `new.sage`, it creates a preparsed
> file `new.py`.  Then when a file in the twisted package tries to import
> the `new` Python module, it ends up importing this preparsed file
> instead, which leads to problems which can be hard to track down.
>
> I can think of several solutions:
>
>  1. hope that users will know not to use names like `new.sage`.  This is
> the current state of affairs, and it seems overly optimistic to me.
>  2. give a warning, or fail outright with an error, if the name of the
> file is the same as that of a Python module.
>  3. name the preparsed file something which is less likely to cause a
> clash, for example, turn `file.sage` into `file.sage.py`.
>  4. don't save the preparsed file at all: use a pipe to transfer the
> preparsed file to Python (see #11821).
>
> The goal of this ticket is to implement 3.

New description:

 If you run `sage new.sage` on a script `new.sage`, it creates a preparsed
 file `new.py`.  Then when a file in the twisted package tries to import
 the `new` Python module, it ends up importing this preparsed file instead,
 which leads to problems which can be hard to track down.

 I can think of several solutions:

  1. hope that users will know not to use names like `new.sage`.  This is
 the current state of affairs, and it seems overly optimistic to me.
  2. give a warning, or fail outright with an error, if the name of the
 file is the same as that of a Python module.
  3. name the preparsed file something which is less likely to cause a
 clash, for example, turn `file.sage` into `file.sage.py`.
  4. don't save the preparsed file at all: use a pipe to transfer the
 preparsed file to Python (see #11821).

 The goal of this ticket is to implement 3 (which is interestingly what is
 documented in `./sage --help`)

--

--
Ticket URL: <http://trac.sagemath.org/ticket/16955#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to