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: ? 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)