##// END OF EJS Templates
%time magic displays output even when code ends in semicolon #13837 (#13841)...
%time magic displays output even when code ends in semicolon #13837 (#13841) After the magic is evaluated and the result is calculated, the modification tests whether the evaluated magic was _time_ and whether semicolon is the final character. The result is killed if both things happen. My choice would be to remove the _time_ test, so a semicolon would prevent the print of the output of any magic, but this is only a suggestion I keep open. I did not write any automated test, but I can do that once (and if) the solution is accepted. [#13837](https://github.com/ipython/ipython/issues/13837) points to [#10227](https://github.com/ipython/ipython/issues/10227) (_Cell magic result in printing the last evaluated line even if followed by semicolon_). There, somebody says that ';' may be a meaningful character because we could have a C++ expression, for instance. The IPython repository says the documentation for other languages is in Jupyter. I ran Jupyter on my browser with C++ and saw that a semicolon after the last statement prevents the output to be printed (a semicolon between 2 statements in a cell seems to be necessary, though). See attached file for simple examples. Therefore, it seems that the semicolon at the end in C++ already behaves the same way that in Python and is not required by the interpreter. ![IPython_Cpp](https://user-images.githubusercontent.com/5789832/203915670-513514d6-70a4-4efa-b4f4-9a8293d5a1ff.png)

File last commit:

r23398:f33ca742
r28070:87de97f2 merge
Show More
console.py
19 lines | 691 B | text/x-python | PythonLexer
Min RK
IPython.terminal.console -> jupyter_console
r20871 """
Shim to maintain backwards compatibility with old IPython.terminal.console imports.
"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
import sys
from warnings import warn
Min RK
add ShimWarning for shimmed imports...
r21515 from IPython.utils.shimmodule import ShimModule, ShimWarning
Min RK
IPython.terminal.console -> jupyter_console
r20871
Matthias Bussonnier
Update shim warnings to include IPython version....
r23398 warn("The `IPython.terminal.console` package has been deprecated since IPython 4.0. "
Min RK
add ShimWarning for shimmed imports...
r21515 "You should import from jupyter_console instead.", ShimWarning)
Min RK
IPython.terminal.console -> jupyter_console
r20871
# Unconditionally insert the shim into sys.modules so that further import calls
# trigger the custom attribute access above
Min RK
add import hook for shim packages...
r20990 sys.modules['IPython.terminal.console'] = ShimModule(
src='IPython.terminal.console', mirror='jupyter_console')