sagemath / sage-shell-mode

Emacs front end for SageMath
GNU General Public License v3.0
98 stars 16 forks source link

screen flash #1

Closed xin-jin closed 9 years ago

xin-jin commented 9 years ago

Hi, thanks for writing such a useful mode. There is one minor issue: after it reaches the last line of the buffer, when a new "sage:" prompt comes out, the screen refresh is kind of slow, that is, the screen has a noticeable flash which is quite annoying. Sage running on eshell does not have this problem.

Is there way to avoid this flash? Right now I just "clear" when I reach the last line, but then I lost the input/output history in the buffer.

By the way, I find helm-sage-command-history very useful. Would it be possible to add a similar command for output history? This could also potentially solve the problem I mentioned above (I don't lose anything when I clear the screen). The built-in _oh command of sage is not really useful.

stakemori commented 9 years ago

Thanks for the report.

I updated my repository. This update will affect the Melpa repository in a few hours. Please update sage-shell-mode by M-x list-packages and pressing U after a few hours (or clone this repository directory).

After updating, the scrolling behavior at the bottom line in a Sage shell buffer will become almost same as that in an eshell buffer. I hope that this update will fix your problem.

Would it be possible to add a similar command for output history?

I think it is possible. But I doubt the validity of implementing such a feature because eval(repr(obj)) == obj does not hold for every python object obj. If you want to use the previous output, you can use the global varible Out of ipython.

xin-jin commented 9 years ago

Thanks a lot! I just updated and the issue has been fixed. I know I can use Out[n] or just "_n" to refer to a previous result. However, the outputs are not numbered. Is there actually a way to make all the outputs numbered?

In one example of the official tutorial, the output are indeed numbered. However, the sage in my system (which is the newest version) does not have this feature and looks like the latter examples on the aforementioned webpage (and I have to use _oh to see their reference numbers).

stakemori commented 9 years ago

Is there actually a way to make all the outputs numbered?

Sorry, I do not know. I will probably implement a helm (or anything) command for selecting a value of Out.