Guido van Rossum [Fri, 16 May 2003 01:24:30 +0000 (01:24 +0000)]
Don't replace an empty line with "pass" when symbol == "eval", where
"pass" isn't valid syntax. Reported by Samuele Pedroni on python-dev
(May 12, 2003).
Kurt B. Kaiser [Thu, 15 May 2003 23:23:21 +0000 (23:23 +0000)]
1. When a module is run from an EditorWindow, if its directory is not in
sys.path, prepend it. This allows the module to import other modules
in the same directory. Do the same for a script run from the command
line.
2. Tweak the IDLE usage message a bit more.
SF Bug 706860 (closed)
SF Patch 686254 (reject specific solution)
SF Patch 507327 (similar)
Kurt B. Kaiser [Thu, 15 May 2003 18:52:51 +0000 (18:52 +0000)]
1. Add a command line switch to run without the subprocess
2. Remove the shell menu and associated bindings when running
without the subprocess.
3. Update the IDLE Help and usage text.
4. Update display_port_binding_error to suggest using -n
Kurt B. Kaiser [Thu, 15 May 2003 03:40:51 +0000 (03:40 +0000)]
1. Make the startup more robust by not spawning the subprocess if IDLE
can't acquire the port to listen on.
2. Shorten the retry and simplify the messages.
Kurt B. Kaiser [Thu, 15 May 2003 03:19:42 +0000 (03:19 +0000)]
1. Restore the capability to run and debug without a subprocess.
2. Add an indicator to the shell startup notice when running w/o
subprocess.
3. Improve exception reporting when running a command or script from the
command line.
4. Clarify the fact that breakpoints set or cleared after a file is
saved will revert to the saved state if the file is closed without
re-saving.
5. If user tries to exit or restart when user code is running, interrupt
the user code. This helps to eliminate occasional hanging
subprocesses on Windows (except for Freddy :).
Kurt B. Kaiser [Wed, 14 May 2003 18:15:40 +0000 (18:15 +0000)]
On Windows the subprocess was not exiting during a restart.
This bug, henceforth designated Freddy, was due to the mistaken
elimination of the KeyboardInterrupt exception at the previous revision.
PyShell's unix_terminate hammer was masking the problem on Linux. On W2K
the subprocess MainThread was trying to print the exception after the
SockThread had ceased to service the socket. The subprocess would then
detach and spin when the GUI created the new subprocess.
Fred Drake [Wed, 14 May 2003 04:16:14 +0000 (04:16 +0000)]
When an external application we use exits normally, exit with the same
exit code they returned. All other types of exit from child processes
are normalized to a return code of 1.
Closes SF bug #732143.
* Added separate checks for matching braces.
* Added more LaTex cmds from the docs.
* Blocked forward-slash warnings with delimiters-only option.
* Put help message on shorter line to fit an 80 char screen.
Tim Peters [Mon, 12 May 2003 19:42:04 +0000 (19:42 +0000)]
Effectively renamed tokenize_tests.py to have a txt extension instead.
This file isn't meant to be executed, it's data input for test_tokenize.py.
The problem with the .py extension is that it uses "non-standard"
indentation, and it's good to test that, but reindent.py keeps wanting
to fix it. But fixing the indentation causes the expected-output file to
change, since exact line and column numbers are part of the
tokenize.tokenize() output getting tested.
Tim Peters [Mon, 12 May 2003 19:29:36 +0000 (19:29 +0000)]
Close the file after tokenizing it. Because the open file object was
bound to a module global, the file object remained opened throughout
the test suite run.
Tim Peters [Mon, 12 May 2003 19:16:52 +0000 (19:16 +0000)]
cmp_type(): The grammar stopped allowing '=' as a comparison operator
about a decade ago. Put the code still allowing for it in cmp_type()
out of its lonely misery.
Kurt B. Kaiser [Mon, 12 May 2003 02:33:47 +0000 (02:33 +0000)]
1. RemoteDebugger now runs user code in subprocess MainThread
2. run.py: move exception printing to toplevel to allow access from main()
3. Clarification in PyShell.py: when the subprocess is restarted, the
debugger GUI is reused with a fresh instance of the subprocess
debugger.
Brett Cannon [Sun, 11 May 2003 06:23:36 +0000 (06:23 +0000)]
Beefed up timezone support. UTC and GMT are now always recognized timezones
with values of 0. Also now check time.daylight to see if time.tzname[1]
should be used in timezone checking.
Added a tool for making a rough check of LaTeX documents.
It checks for known commands, forward slashes, unbalanced or
mismatched delimters, and unbalanced or mismatched begin/end blocks.
Kurt B. Kaiser [Sat, 10 May 2003 00:09:52 +0000 (00:09 +0000)]
1. Update debugger to not trace RPC code even when calling Queue and
threading modules. Can debug user code which imports these modules,
though.
2. Re-enable debugger in PyShell.
3. Remove old code implementing previous approaches to this issue.
Jeremy Hylton [Fri, 9 May 2003 16:06:42 +0000 (16:06 +0000)]
Variant of SF patch 614770: MSVC 7 support
distutils now looks for the compiler version in sys.version, falling
back to MSVC 6 if the version isn't listed (Python 2.2 and lower).
Add helper routines for reading the registry. Refactor many
module functions into methods of the compiler to avoid passing
lots of state as arguments.
Jack Jansen [Fri, 9 May 2003 15:08:39 +0000 (15:08 +0000)]
Pass DIRMODE and FILEMODE to Mac/OSX/Makefile on framework builds (and
honor them). Use this when building the MacOSX binary installer to
get group-writeable files.
Ths fix works for directories and executables, not for files just yet,
because of bug #735274.
Just van Rossum [Fri, 9 May 2003 07:53:18 +0000 (07:53 +0000)]
[ 731644] & [ 604210 ] Release the GIL around getaddrinfo(), yet protect
access with lock on those platforms that getaddrinfo() isn't (known to be)
thread-safe. Thanks to MvL for mentoring this patch.
Kurt B. Kaiser [Thu, 8 May 2003 20:26:55 +0000 (20:26 +0000)]
1. Implement processing of user code in subprocess MainThread. Pass loop
is now interruptable on Windows.
2. Tweak signal.signal() wait parameters as called by various methods
to improve I/O response, especially on Windows.
3. Debugger is disabled at this check-in pending further development.
Tim Peters [Thu, 8 May 2003 18:13:59 +0000 (18:13 +0000)]
Leading "C:" no longer hardcoded in the default installation directory.
After removing that, two testers on machines where C: is not the system
drive reported that the installer suggested their system drive instead
of C:, and that's what they wanted it to do.
Barry Warsaw [Thu, 8 May 2003 03:33:15 +0000 (03:33 +0000)]
parsedate_tz(): Be slightly more lenient when there's no day of the
week. Patch given by Daniel Berlin in SF bug # 732761. Also closes
SF bug # 727719.
Greg Ward [Thu, 8 May 2003 01:58:05 +0000 (01:58 +0000)]
SF patch #598163 (Ville Vainio, vvainio@users.sourceforge.net):
add dedent() function, to remove indentation from multiline strings
(eg. triple-quoted strings). Differs from inspect.getdoc() by not
special-casing the first line (often a sensible approach for
non-docstring multiline strings). This should make this function more
general (symmetric 'indent' also possible), and more fitting for the
textwrap module.