Skip to content

Commit

Permalink
Backport PR ipython#14198: Revert "fix semicolon detection with no hi…
Browse files Browse the repository at this point in the history
…story"
  • Loading branch information
Carreau authored and meeseeksmachine committed Oct 2, 2023
1 parent a6c67bd commit 13d64f9
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions IPython/core/displayhook.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def __init__(self, shell=None, cache_size=1000, **kwargs):

# we need a reference to the user-level namespace
self.shell = shell

self._,self.__,self.___ = '','',''

# these are deliberately global:
Expand Down Expand Up @@ -83,9 +83,15 @@ def check_for_underscore(self):

def quiet(self):
"""Should we silence the display hook because of ';'?"""
if self.exec_result is not None:
return self.semicolon_at_end_of_expression(self.exec_result.info.raw_cell)
return False
# do not print output if input ends in ';'

try:
cell = self.shell.history_manager.input_hist_parsed[-1]
except IndexError:
# some uses of ipshellembed may fail here
return False

return self.semicolon_at_end_of_expression(cell)

@staticmethod
def semicolon_at_end_of_expression(expression):
Expand Down Expand Up @@ -274,12 +280,13 @@ def cull_cache(self):
cull_count = max(int(sz * self.cull_fraction), 2)
warn('Output cache limit (currently {sz} entries) hit.\n'
'Flushing oldest {cull_count} entries.'.format(sz=sz, cull_count=cull_count))

for i, n in enumerate(sorted(oh)):
if i >= cull_count:
break
self.shell.user_ns.pop('_%i' % n, None)
oh.pop(n, None)


def flush(self):
if not self.do_full_cache:
Expand Down

0 comments on commit 13d64f9

Please sign in to comment.