Sage in console: newline characters?

asked 2013-04-20 01:16:58 +0100

Alasdair gravatar image

I like to use sage in a linux console, rather than the notebook interface, simply for speed and convenience. However, I have problems if I want to edit a multi-line statement. For example, suppose I enter:

for i in range(10):
    if is_prime(i):
        print i

If I want to edit this, or maybe just run it again, when I call it up with the history mechanism, what I see is

for i in range(10):^J    if is prime(i):^J        print i

This can be very inconvenient if there are lots of short lines. (I can get round this by running sage within GNU screen.) I'm not quite sure how I encourage newlines to be interpreted as, well new lines rather than newline characters, and whether this is a sage, ipython, or console issue.

edit retag flag offensive close merge delete

Comments

You may want to try `%edit`, an ipython magic function which allows this kind of editing.

kcrisman gravatar imagekcrisman ( 2013-04-20 08:21:42 +0100 )edit

What is weird is that ipython 0.13.1 (not the one shipped sage, but same version) has the right behaviour.

tmonteil gravatar imagetmonteil ( 2013-04-20 08:23:10 +0100 )edit

What platform is this? I wonder if this is the bug reported at http://trac.sagemath.org/sage_trac/ticket/14405.

John Palmieri gravatar imageJohn Palmieri ( 2013-04-20 11:59:47 +0100 )edit

I'm using Sage 5.2 on Ubuntu 12.04. I've not had this problem with previous versions of Sage. It does seem to be the problem referred to above. I have (for my distro) the most up-to-date versions of libncurses and libncurses-dev.

Alasdair gravatar imageAlasdair ( 2013-04-21 00:49:24 +0100 )edit