##// 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:

r24880:8168be55
r28070:87de97f2 merge
Show More
__init__.py
42 lines | 1.6 KiB | text/x-python | PythonLexer
Fernando Perez
Create new core.magics package and start populating with history.
r6956 """Implementation of all the magic functions built into IPython.
"""
#-----------------------------------------------------------------------------
Fernando Perez
Create decorators for standalone magic functions, as per review.x
r6972 # Copyright (c) 2012 The IPython Development Team.
Fernando Perez
Create new core.magics package and start populating with history.
r6956 #
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Fernando Perez
Move UserMagics to core.magics
r6957
Fernando Perez
Renamed @register_magics to @magics_class to avoid confusion....
r6973 from ..magic import Magics, magics_class
Fernando Perez
Create core.magics.auto according to new API.
r6964 from .auto import AutoMagics
Matthias Bussonnier
Load the asycn ext only on 3.5+
r24467 from .basic import BasicMagics, AsyncMagics
Fernando Perez
Create core.magics.code according to new API.
r6960 from .code import CodeMagics, MacroToEdit
Fernando Perez
Create core.magics.config according to new API.
r6961 from .config import ConfigMagics
MinRK
add %%javascript, %%svg, and %%latex display magics...
r7946 from .display import DisplayMagics
Fernando Perez
Create core.magics.execution according to new API.
r6963 from .execution import ExecutionMagics
Fernando Perez
Create core.magics.extension according to new API.
r6967 from .extension import ExtensionMagics
Fernando Perez
Create core.magics.code according to new API.
r6960 from .history import HistoryMagics
Fernando Perez
Create core.magics.logging according to new API.
r6966 from .logging import LoggingMagics
Fernando Perez
Create core.magics.namespace according to new API.
r6962 from .namespace import NamespaceMagics
Fernando Perez
Create core.magics.osm according to new API.
r6965 from .osm import OSMagics
Jake VanderPlas
ENH: add pip and conda magics
r24880 from .packaging import PackagingMagics
Fernando Perez
Create core.magics.pylab according to new API.
r6968 from .pylab import PylabMagics
MinRK
add script magics...
r7299 from .script import ScriptMagics
Fernando Perez
Move UserMagics to core.magics
r6957
#-----------------------------------------------------------------------------
# Magic implementation classes
#-----------------------------------------------------------------------------
Fernando Perez
Renamed @register_magics to @magics_class to avoid confusion....
r6973 @magics_class
Fernando Perez
Move UserMagics to core.magics
r6957 class UserMagics(Magics):
"""Placeholder for user-defined magics to be added at runtime.
All magics are eventually merged into a single namespace at runtime, but we
use this class to isolate the magics defined dynamically by the user into
their own class.
"""