mirror of
https://github.com/python/cpython
synced 2026-09-29 09:40:29 +03:00
1. Bug in Patch 805830 fixed by Nigel Rowe
2. Convert 1/0 to True/False 3. Fix a couple of long lines M ColorDelegator.py M NEWS.txt
This commit is contained in:
parent
325d169a54
commit
0bc3d9857f
2 changed files with 26 additions and 22 deletions
|
|
@ -6,12 +6,7 @@ from Tkinter import *
|
|||
from Delegator import Delegator
|
||||
from configHandler import idleConf
|
||||
|
||||
#$ event <<toggle-auto-coloring>>
|
||||
#$ win <Control-slash>
|
||||
#$ unix <Control-slash>
|
||||
|
||||
DEBUG = 0
|
||||
|
||||
DEBUG = False
|
||||
|
||||
def any(name, list):
|
||||
return "(?P<%s>" % name + "|".join(list) + ")"
|
||||
|
|
@ -20,14 +15,17 @@ def make_pat():
|
|||
kw = r"\b" + any("KEYWORD", keyword.kwlist) + r"\b"
|
||||
builtinlist = [str(name) for name in dir(__builtin__)
|
||||
if not name.startswith('_')]
|
||||
builtin = r"([^\\.]\b|^)" + any("BUILTIN", builtinlist) + r"\b"
|
||||
# self.file = file("file") :
|
||||
# 1st 'file' colorized normal, 2nd as builtin, 3rd as comment
|
||||
builtin = r"([^.'\"\\]\b|^)" + any("BUILTIN", builtinlist) + r"\b"
|
||||
comment = any("COMMENT", [r"#[^\n]*"])
|
||||
sqstring = r"(\b[rR])?'[^'\\\n]*(\\.[^'\\\n]*)*'?"
|
||||
dqstring = r'(\b[rR])?"[^"\\\n]*(\\.[^"\\\n]*)*"?'
|
||||
sq3string = r"(\b[rR])?'''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?"
|
||||
dq3string = r'(\b[rR])?"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?'
|
||||
string = any("STRING", [sq3string, dq3string, sqstring, dqstring])
|
||||
return kw + "|" + builtin + "|" + comment + "|" + string + "|" + any("SYNC", [r"\n"])
|
||||
return kw + "|" + builtin + "|" + comment + "|" + string +\
|
||||
"|" + any("SYNC", [r"\n"])
|
||||
|
||||
prog = re.compile(make_pat(), re.S)
|
||||
idprog = re.compile(r"\s+(\w+)", re.S)
|
||||
|
|
@ -86,8 +84,8 @@ class ColorDelegator(Delegator):
|
|||
self.notify_range(index1)
|
||||
|
||||
after_id = None
|
||||
allow_colorizing = 1
|
||||
colorizing = 0
|
||||
allow_colorizing = True
|
||||
colorizing = False
|
||||
|
||||
def notify_range(self, index1, index2=None):
|
||||
self.tag_add("TODO", index1, index2)
|
||||
|
|
@ -95,7 +93,7 @@ class ColorDelegator(Delegator):
|
|||
if DEBUG: print "colorizing already scheduled"
|
||||
return
|
||||
if self.colorizing:
|
||||
self.stop_colorizing = 1
|
||||
self.stop_colorizing = True
|
||||
if DEBUG: print "stop colorizing"
|
||||
if self.allow_colorizing:
|
||||
if DEBUG: print "schedule colorizing"
|
||||
|
|
@ -109,8 +107,8 @@ class ColorDelegator(Delegator):
|
|||
self.after_id = None
|
||||
if DEBUG: print "cancel scheduled recolorizer"
|
||||
self.after_cancel(after_id)
|
||||
self.allow_colorizing = 0
|
||||
self.stop_colorizing = 1
|
||||
self.allow_colorizing = False
|
||||
self.stop_colorizing = True
|
||||
if close_when_done:
|
||||
if not self.colorizing:
|
||||
close_when_done.destroy()
|
||||
|
|
@ -125,12 +123,13 @@ class ColorDelegator(Delegator):
|
|||
self.after_cancel(after_id)
|
||||
if self.allow_colorizing and self.colorizing:
|
||||
if DEBUG: print "stop colorizing"
|
||||
self.stop_colorizing = 1
|
||||
self.stop_colorizing = True
|
||||
self.allow_colorizing = not self.allow_colorizing
|
||||
if self.allow_colorizing and not self.colorizing:
|
||||
self.after_id = self.after(1, self.recolorize)
|
||||
if DEBUG:
|
||||
print "auto colorizing turned", self.allow_colorizing and "on" or "off"
|
||||
print "auto colorizing turned",\
|
||||
self.allow_colorizing and "on" or "off"
|
||||
return "break"
|
||||
|
||||
def recolorize(self):
|
||||
|
|
@ -145,15 +144,15 @@ class ColorDelegator(Delegator):
|
|||
if DEBUG: print "already colorizing"
|
||||
return
|
||||
try:
|
||||
self.stop_colorizing = 0
|
||||
self.colorizing = 1
|
||||
self.stop_colorizing = False
|
||||
self.colorizing = True
|
||||
if DEBUG: print "colorizing..."
|
||||
t0 = time.clock()
|
||||
self.recolorize_main()
|
||||
t1 = time.clock()
|
||||
if DEBUG: print "%.3f seconds" % (t1-t0)
|
||||
finally:
|
||||
self.colorizing = 0
|
||||
self.colorizing = False
|
||||
if self.allow_colorizing and self.tag_nextrange("TODO", "1.0"):
|
||||
if DEBUG: print "reschedule colorizing"
|
||||
self.after_id = self.after(1, self.recolorize)
|
||||
|
|
@ -164,7 +163,7 @@ class ColorDelegator(Delegator):
|
|||
|
||||
def recolorize_main(self):
|
||||
next = "1.0"
|
||||
while 1:
|
||||
while True:
|
||||
item = self.tag_nextrange("TODO", next)
|
||||
if not item:
|
||||
break
|
||||
|
|
@ -179,7 +178,7 @@ class ColorDelegator(Delegator):
|
|||
chars = ""
|
||||
next = head
|
||||
lines_to_get = 1
|
||||
ok = 0
|
||||
ok = False
|
||||
while not ok:
|
||||
mark = next
|
||||
next = self.index(mark + "+%d lines linestart" %
|
||||
|
|
@ -211,7 +210,7 @@ class ColorDelegator(Delegator):
|
|||
elif value == "import":
|
||||
# color all the "as" words on same line;
|
||||
# cheap approximation to the truth
|
||||
while 1:
|
||||
while True:
|
||||
m1 = self.asprog.match(chars, b)
|
||||
if not m1:
|
||||
break
|
||||
|
|
@ -224,7 +223,7 @@ class ColorDelegator(Delegator):
|
|||
head = next
|
||||
chars = ""
|
||||
else:
|
||||
ok = 0
|
||||
ok = False
|
||||
if not ok:
|
||||
# We're in an inconsistent state, and the call to
|
||||
# update may tell us to stop. It may also change
|
||||
|
|
|
|||
|
|
@ -3,7 +3,12 @@ What's New in IDLE 1.1a0?
|
|||
|
||||
*Release date: XX-XXX-2004*
|
||||
|
||||
- If the normal background is changed via Configure/Highlighting, it will update
|
||||
immediately, thanks to the previously mentioned patch.
|
||||
|
||||
- Add a highlight theme for builtin keywords. Python Patch 805830 Nigel Rowe
|
||||
This also fixed IDLEfork bug [ 693418 ] Normal text background color not refreshed
|
||||
and Python bug [897872 ] Unknown color name on HP-UX
|
||||
|
||||
- rpc.py:SocketIO - Large modules were generating large pickles when downloaded
|
||||
to the execution server. The return of the OK response from the subprocess
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue