%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)