Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Lib/idlelib/NEWS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ Released on 2019-10-20?
======================================


bpo-35610: Replace now redundant editor.context_use_ps1 with
.prompt_last_line. This finishes change started in bpo-31858.

bpo-32411: Stop sorting dict created with desired line order.

bpo-37038: Make idlelib.run runnable; add test clause.
Expand Down
7 changes: 1 addition & 6 deletions Lib/idlelib/editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,10 +228,6 @@ def __init__(self, flist=None, filename=None, key=None, root=None):
self.indentwidth = self.tabwidth
self.set_notabs_indentwidth()

# If context_use_ps1 is true, parsing searches back for a ps1 line;
# else searches for a popular (if, def, ...) Python stmt.
self.context_use_ps1 = False

# When searching backwards for a reliable place to begin parsing,
# first start num_context_lines[0] lines back, then
# num_context_lines[1] lines back if that didn't work, and so on.
Expand Down Expand Up @@ -1337,14 +1333,13 @@ def newline_and_indent_event(self, event):
# open/close first need to find the last stmt
lno = index2line(text.index('insert'))
y = pyparse.Parser(self.indentwidth, self.tabwidth)
if not self.context_use_ps1:
if not self.prompt_last_line:
for context in self.num_context_lines:
startat = max(lno - context, 1)
startatindex = repr(startat) + ".0"
rawtext = text.get(startatindex, "insert")
y.set_code(rawtext)
bod = y.find_good_parse_start(
self.context_use_ps1,
self._build_char_in_string_func(startatindex))
if bod is not None or startat == 1:
break
Expand Down
2 changes: 1 addition & 1 deletion Lib/idlelib/hyperparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def index2line(index):
return int(float(index))
lno = index2line(text.index(index))

if not editwin.context_use_ps1:
if not editwin.prompt_last_line:
for context in editwin.num_context_lines:
startat = max(lno - context, 1)
startatindex = repr(startat) + ".0"
Expand Down
2 changes: 1 addition & 1 deletion Lib/idlelib/idle_test/test_autocomplete.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def __init__(self, root, text):
self.text = text
self.indentwidth = 8
self.tabwidth = 8
self.context_use_ps1 = True
self.prompt_last_line = '>>>' # Currently not used by autocomplete.


class AutoCompleteTest(unittest.TestCase):
Expand Down
6 changes: 3 additions & 3 deletions Lib/idlelib/idle_test/test_hyperparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def __init__(self, text):
self.text = text
self.indentwidth = 8
self.tabwidth = 8
self.context_use_ps1 = True
self.prompt_last_line = '>>>'
self.num_context_lines = 50, 500, 1000

_build_char_in_string_func = EditorWindow._build_char_in_string_func
Expand Down Expand Up @@ -53,7 +53,7 @@ def setUp(self):

def tearDown(self):
self.text.delete('1.0', 'end')
self.editwin.context_use_ps1 = True
self.editwin.prompt_last_line = '>>>'

def get_parser(self, index):
"""
Expand All @@ -71,7 +71,7 @@ def test_init(self):
self.assertIn('precedes', str(ve.exception))

# test without ps1
self.editwin.context_use_ps1 = False
self.editwin.prompt_last_line = ''

# number of lines lesser than 50
p = self.get_parser('end')
Expand Down
2 changes: 1 addition & 1 deletion Lib/idlelib/idle_test/test_parenmatch.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def __init__(self, text):
self.text = text
self.indentwidth = 8
self.tabwidth = 8
self.context_use_ps1 = True
self.prompt_last_line = '>>>' # Currently not used by parenmatch.


class ParenMatchTest(unittest.TestCase):
Expand Down
2 changes: 1 addition & 1 deletion Lib/idlelib/pyshell.py
Original file line number Diff line number Diff line change
Expand Up @@ -881,7 +881,7 @@ def __init__(self, flist=None):
self.usetabs = True
# indentwidth must be 8 when using tabs. See note in EditorWindow:
self.indentwidth = 8
self.context_use_ps1 = True

self.sys_ps1 = sys.ps1 if hasattr(sys, 'ps1') else '>>> '
self.prompt_last_line = self.sys_ps1.split('\n')[-1]
self.prompt = self.sys_ps1 # Changes when debug active
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Replace now redundant .context_use_ps1 with .prompt_last_line. This finishes
change started in bpo-31858.