[IPython-dev] winreadline

Fernando Perez Fernando.Perez at colorado.edu
Sat Jan 21 07:26:44 CST 2006


Ville Vainio wrote:
> On 1/21/06, Jörgen Stenarson <jorgen.stenarson at bostream.nu> wrote:
> 
> 
>>Is it possible to get a separate branch/place in the svn tree now so we
>>can get going. The sharing/comparing between Vivian and me would become
>>easier. Then we could integrate to trunk after 0.7.1.
> 
> 
> Yes, I can create it. I assume this is ok for Fernando as well?
> 
> I thought the right place would be next to ipython,nbdoc etc. here:
> 
> http://projects.scipy.org/ipython/ipython/browser

Sure, go ahead with a branch.  This one should be fairly short-lived, I 
imagine, as it will quickly merge back.  I'll drop Gary a line regarding this.

>>If we don't integrate winreadline into ipython directly but keeps it as
>>a separate project then perhaps we should use another package name than
>>readline just to avoid clobbering other peoples readline. The drawback
> 
> 
> What's it going to be? winreadline, wreadline? I assume it's always
> going to be Windows-specific.
>>being other packages looking for readline won't find it. Or we could
>>just avoid automatic install.

Well, Gary's was called plain readline, as a top-level.  Since Python does not 
have a readline package by default under windows, and the only other one out 
there is broken:

http://ipython.scipy.org/doc/manual/node2.html#SECTION00023000000000000000

I guess it would be OK to just call it 'readline' as Gary did.  On the other 
hand, changing names to 'winreadline', having IPython use 'import winreadline 
as readline' internally, and

> We can ship readline.py that does
> 
> from winreadline import *
> 
> And suggest the users should put it somewhere in their search path if
> they want to
> use the library with non-ipython projects.

would shield us from problems if people ever install the broken one on top. 
Other things might break for them, but ipython would continue OK.

So for long-term sanity protection for us, my vote is

1. name -> winreadline

2. readline.py -> from winreadline import *.  This will go alongside 
winreadline wherever the installer puts it, so people calling 'readline' will 
get it, but we have the winreadline name available to protect us from rogue 
overwriting of the readline.py name.

3. This is active ONLY if the os is win32 in setup.py.  No touching the python 
readline under any other OS.  It's OK to _ship_ it in the tarballs if that 
makes life easier, as it's such a small thing.  For example, python itself 
does this:

abdul[python2.3]> d *path*py
/usr/lib/python2.3
-rw-r--r--  1 root  7352 Feb  2  2005 macpath.py
-rw-r--r--  1 root  3099 Feb  2  2005 macurl2path.py
-rw-r--r--  1 root 15737 Feb  2  2005 ntpath.py
-rw-r--r--  1 root  2032 Feb  2  2005 nturl2path.py
-rw-r--r--  1 root 12679 Feb  2  2005 os2emxpath.py
-rw-r--r--  1 root 12698 Feb  2  2005 posixpath.py


> I'll create the svn tree the moment Fernando okays it, and we can get
> the ball rolling!

Go for it.  I'll be working all day on trying to get the last pieces of .7.1 out.

Cheers,

f




More information about the IPython-dev mailing list