sagemath/sagemath-is_in_terminal.patch
2016-08-20 13:51:55 -04:00

365 lines
18 KiB
Diff

diff -up src/sage/interfaces/all.py.orig src/sage/interfaces/all.py
--- src/sage/interfaces/all.py.orig 2016-08-15 07:14:53.947426922 -0400
+++ src/sage/interfaces/all.py 2016-08-15 07:15:06.645427409 -0400
@@ -48,8 +48,8 @@ interfaces = ['gap', 'gap3', 'giac', 'gp
'singular', 'sage0', 'sage']
-from sage.repl.rich_output.display_manager import get_display_manager
-if get_display_manager().is_in_terminal():
+from sage.repl.rich_output.display_manager import is_in_terminal
+if is_in_terminal():
from .axiom import axiom_console
from .fricas import fricas_console
from .gap import gap_console
diff -up src/sage/interfaces/axiom.py.orig src/sage/interfaces/axiom.py
--- src/sage/interfaces/axiom.py.orig 2016-08-15 07:15:43.388428816 -0400
+++ src/sage/interfaces/axiom.py 2016-08-15 07:15:54.357429236 -0400
@@ -1040,8 +1040,8 @@ def axiom_console():
-----------------------------------------------------------------------------
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%axiom magics instead.')
os.system('axiom -nox')
diff -up src/sage/interfaces/fricas.py.orig src/sage/interfaces/fricas.py
--- src/sage/interfaces/fricas.py.orig 2016-08-15 07:23:50.475447468 -0400
+++ src/sage/interfaces/fricas.py 2016-08-15 07:23:57.869447751 -0400
@@ -339,8 +339,8 @@ def fricas_console():
Issue )quit to leave AXIOM and return to shell.
-----------------------------------------------------------------------------
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%fricas magics instead.')
os.system('fricas -nox')
diff -up src/sage/interfaces/gap3.py.orig src/sage/interfaces/gap3.py
--- src/sage/interfaces/gap3.py.orig 2016-08-15 07:15:18.659427869 -0400
+++ src/sage/interfaces/gap3.py 2016-08-15 07:15:36.381428547 -0400
@@ -886,8 +886,8 @@ def gap3_console():
For help enter: ?<return>
gap>
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%gap3 magics instead.')
os.system(gap3_cmd)
diff -up src/sage/interfaces/gap.py.orig src/sage/interfaces/gap.py
--- src/sage/interfaces/gap.py.orig 2016-08-15 07:20:26.092439641 -0400
+++ src/sage/interfaces/gap.py 2016-08-15 07:20:49.334440531 -0400
@@ -1889,8 +1889,8 @@ def gap_console():
sage: 'sorry' not in gap_startup
True
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%gap magics instead.')
cmd, _ = gap_command(use_workspace_cache=False)
cmd += ' ' + os.path.join(SAGE_EXTCODE,'gap','console.g')
diff -up src/sage/interfaces/giac.py.orig src/sage/interfaces/giac.py
--- src/sage/interfaces/giac.py.orig 2016-08-15 07:18:26.900435077 -0400
+++ src/sage/interfaces/giac.py 2016-08-15 07:18:36.989435464 -0400
@@ -1135,8 +1135,8 @@ def giac_console():
Press CTRL and D simultaneously to finish session
Type ?commandname for help
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%giac magics instead.')
os.system('giac')
diff -up src/sage/interfaces/gnuplot.py.orig src/sage/interfaces/gnuplot.py
--- src/sage/interfaces/gnuplot.py.orig 2016-08-15 07:22:26.123444238 -0400
+++ src/sage/interfaces/gnuplot.py 2016-08-15 07:22:35.181444585 -0400
@@ -190,8 +190,8 @@ gnuplot = Gnuplot()
def gnuplot_console():
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%gnuplot magics instead.')
os.system('sage-native-execute gnuplot')
diff -up src/sage/interfaces/gp.py.orig src/sage/interfaces/gp.py
--- src/sage/interfaces/gp.py.orig 2016-08-15 07:17:56.988433932 -0400
+++ src/sage/interfaces/gp.py 2016-08-15 07:18:05.213434247 -0400
@@ -1099,8 +1099,8 @@ def gp_console():
compiled: Jul 21 2010, gcc-4.6.0 20100705 (experimental) (GCC)
(readline v6.0 enabled, extended help enabled)
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%gp magics instead.')
os.system('gp')
diff -up src/sage/interfaces/kash.py.orig src/sage/interfaces/kash.py
--- src/sage/interfaces/kash.py.orig 2016-08-15 07:23:15.164446116 -0400
+++ src/sage/interfaces/kash.py 2016-08-15 07:23:25.325446505 -0400
@@ -699,8 +699,8 @@ def reduce_load_Kash():
def kash_console():
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%kash magics instead.')
os.system("kash3 ")
diff -up src/sage/interfaces/lie.py.orig src/sage/interfaces/lie.py
--- src/sage/interfaces/lie.py.orig 2016-08-15 07:16:01.284429501 -0400
+++ src/sage/interfaces/lie.py 2016-08-15 07:16:15.237430035 -0400
@@ -935,8 +935,8 @@ def lie_console():
...
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%lie magics instead.')
os.system('bash `which lie`')
diff -up src/sage/interfaces/lisp.py.orig src/sage/interfaces/lisp.py
--- src/sage/interfaces/lisp.py.orig 2016-08-15 07:21:51.364442907 -0400
+++ src/sage/interfaces/lisp.py 2016-08-15 07:22:00.925443273 -0400
@@ -550,7 +550,7 @@ def lisp_console():
Type :h for Help. Top level.
...
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%lisp magics instead.')
os.system('ecl')
diff -up src/sage/interfaces/macaulay2.py.orig src/sage/interfaces/macaulay2.py
--- src/sage/interfaces/macaulay2.py.orig 2016-08-15 07:17:39.196433250 -0400
+++ src/sage/interfaces/macaulay2.py 2016-08-15 07:17:48.989433625 -0400
@@ -1222,8 +1222,8 @@ def macaulay2_console():
...
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%macaulay2 magics instead.')
os.system('M2')
diff -up src/sage/interfaces/magma.py.orig src/sage/interfaces/magma.py
--- src/sage/interfaces/magma.py.orig 2016-08-15 07:22:42.763444875 -0400
+++ src/sage/interfaces/magma.py 2016-08-15 07:22:52.398445244 -0400
@@ -2775,8 +2775,8 @@ def magma_console():
>
Total time: 2.820 seconds, Total memory usage: 3.95MB
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%magma magics instead.')
console('sage-native-execute magma')
diff -up src/sage/interfaces/maple.py.orig src/sage/interfaces/maple.py
--- src/sage/interfaces/maple.py.orig 2016-08-15 07:22:08.740443572 -0400
+++ src/sage/interfaces/maple.py 2016-08-15 07:22:19.149443971 -0400
@@ -1175,8 +1175,8 @@ def maple_console():
| Type ? for help.
>
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%maple magics instead.')
os.system('maple')
diff -up src/sage/interfaces/mathematica.py.orig src/sage/interfaces/mathematica.py
--- src/sage/interfaces/mathematica.py.orig 2016-08-15 07:17:01.475431806 -0400
+++ src/sage/interfaces/mathematica.py 2016-08-15 07:17:13.797432278 -0400
@@ -1007,8 +1007,8 @@ def reduce_load(X):
def mathematica_console(readline=True):
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%mathematica magics instead.')
if not readline:
os.system('math')
diff -up src/sage/interfaces/matlab.py.orig src/sage/interfaces/matlab.py
--- src/sage/interfaces/matlab.py.orig 2016-08-15 07:18:11.755434497 -0400
+++ src/sage/interfaces/matlab.py 2016-08-15 07:18:20.261434823 -0400
@@ -389,8 +389,8 @@ def matlab_console():
matlab, like Sage, remembers its history from one session to
another.
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%matlab magics instead.')
os.system('matlab -nodisplay')
diff -up src/sage/interfaces/maxima_abstract.py.orig src/sage/interfaces/maxima_abstract.py
--- src/sage/interfaces/maxima_abstract.py.orig 2016-08-15 07:24:41.539449423 -0400
+++ src/sage/interfaces/maxima_abstract.py 2016-08-15 07:24:50.822449779 -0400
@@ -2370,7 +2370,7 @@ def maxima_console():
Maxima 5.34.1 http://maxima.sourceforge.net
...
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%maxima magics instead.')
os.system('maxima')
diff -up src/sage/interfaces/mupad.py.orig src/sage/interfaces/mupad.py
--- src/sage/interfaces/mupad.py.orig 2016-08-15 07:24:03.851447980 -0400
+++ src/sage/interfaces/mupad.py 2016-08-15 07:24:11.957448291 -0400
@@ -686,8 +686,8 @@ def mupad_console():
*----* Licensed to: ...
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%mupad magics instead.')
os.system('mupkern')
diff -up src/sage/interfaces/mwrank.py.orig src/sage/interfaces/mwrank.py
--- src/sage/interfaces/mwrank.py.orig 2016-08-15 07:22:59.484445515 -0400
+++ src/sage/interfaces/mwrank.py 2016-08-15 07:23:08.637445866 -0400
@@ -360,8 +360,8 @@ def mwrank_console():
sage: mwrank_console() # not tested: expects console input
Program mwrank: ...
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%mwrank magics instead.')
os.system('mwrank')
diff -up src/sage/interfaces/octave.py.orig src/sage/interfaces/octave.py
--- src/sage/interfaces/octave.py.orig 2016-08-15 07:24:17.604448507 -0400
+++ src/sage/interfaces/octave.py 2016-08-15 07:24:26.741448857 -0400
@@ -775,8 +775,8 @@ def octave_console():
octave, like Sage, remembers its history from one session to
another.
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%octave magics instead.')
os.system('octave')
diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
--- src/sage/interfaces/qepcad.py.orig 2016-08-15 07:23:32.595446783 -0400
+++ src/sage/interfaces/qepcad.py 2016-08-15 07:23:43.510447201 -0400
@@ -1681,8 +1681,8 @@ def qepcad_console(memcells=None):
...
Enter an informal description between '[' and ']':
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%qepcat magics instead.')
# This will only spawn local processes
os.system(_qepcad_cmd(memcells))
diff -up src/sage/interfaces/r.py.orig src/sage/interfaces/r.py
--- src/sage/interfaces/r.py.orig 2016-08-15 07:16:22.108430298 -0400
+++ src/sage/interfaces/r.py 2016-08-15 07:16:35.381430807 -0400
@@ -2102,8 +2102,8 @@ def r_console():
ISBN 3-900051-07-0
...
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%r magics instead.')
# This will only spawn local processes
os.system('R --vanilla')
diff -up src/sage/interfaces/sage0.py.orig src/sage/interfaces/sage0.py
--- src/sage/interfaces/sage0.py.orig 2016-08-15 07:18:49.708435951 -0400
+++ src/sage/interfaces/sage0.py 2016-08-15 07:18:59.709436334 -0400
@@ -531,8 +531,8 @@ def sage0_console():
----------------------------------------------------------------------
...
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%sage0 magics instead.')
os.system('sage')
diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py
--- src/sage/interfaces/singular.py.orig 2016-08-15 07:16:42.556431082 -0400
+++ src/sage/interfaces/singular.py 2016-08-15 07:16:52.990431481 -0400
@@ -2329,8 +2329,8 @@ def singular_console():
by: G.-M. Greuel, G. Pfister, H. Schoenemann \ Nov 2007
FB Mathematik der Universitaet, D-67653 Kaiserslautern \
"""
- from sage.repl.rich_output.display_manager import get_display_manager
- if not get_display_manager().is_in_terminal():
+ from sage.repl.rich_output.display_manager import is_in_terminal
+ if not is_in_terminal():
raise RuntimeError('Can use the console only in the terminal. Try %%singular magics instead.')
os.system('Singular')
diff -up src/sage/repl/interface_magic.py.orig src/sage/repl/interface_magic.py
--- src/sage/repl/interface_magic.py.orig 2016-08-15 07:19:09.596436712 -0400
+++ src/sage/repl/interface_magic.py 2016-08-15 07:21:27.789442004 -0400
@@ -35,7 +35,7 @@ language to separate multiple commands.
#*****************************************************************************
-from sage.repl.rich_output.display_manager import get_display_manager
+from sage.repl.rich_output.display_manager import is_in_terminal
LINE_DOCSTRING = """
@@ -218,7 +218,7 @@ class InterfaceMagic(object):
The line magic %gap sends a single line to the gap interface.
...
"""
- terminal = get_display_manager().is_in_terminal()
+ terminal = is_in_terminal()
def line_magic(line):
if line:
return self._interface(line)
diff -up src/sage/repl/rich_output/display_manager.py.orig src/sage/repl/rich_output/display_manager.py
--- src/sage/repl/rich_output/display_manager.py.orig 2016-08-15 07:13:57.603424765 -0400
+++ src/sage/repl/rich_output/display_manager.py 2016-08-15 07:14:21.309425673 -0400
@@ -775,3 +775,6 @@ class DisplayManager(SageObject):
get_display_manager = DisplayManager.get_instance
+def is_in_terminal():
+ from sage.repl.rich_output.backend_ipython import BackendIPythonCommandline
+ return isinstance(get_display_manager(), BackendIPythonCommandline)