Commit Graph

16878 Commits

Author SHA1 Message Date
Jeremy Hylton 9f1b9932b8 Print the offending line of code in the traceback for SyntaxErrors
raised by the compiler.

XXX For now, text entered into the interactive intepreter is not
printed in the traceback.

Inspired by a patch from Roman Sulzhyk

compile.c:

Add helper fetch_program_text() that opens a file and reads until it
finds the specified line number.  The code is a near duplicate of
similar code in traceback.c.

Modify com_error() to pass two arguments to SyntaxError constructor,
where the second argument contains the offending text when possible.

Modify set_error_location(), now used only by the symtable pass, to
set the text attribute on existing exceptions.

pythonrun.c:

Change parse_syntax_error() to continue of the offset attribute of a
SyntaxError is None.  In this case, it sets offset to -1.

Move code from PyErr_PrintEx() into helper function
print_error_text().  In the helper, only print the caret for a
SyntaxError if offset > 0.
2001-02-28 07:07:43 +00:00
Tim Peters e860f9b983 Ack -- my eyes are getting bleary. Typos in the comment typo repairs. 2001-02-28 05:57:51 +00:00
Tim Peters f91ed2ddcf Comment typos. 2001-02-28 05:56:18 +00:00
Tim Peters 50d8d37b3f Implement PEP 235: Import on Case-Insensitive Platforms.
http://python.sourceforge.net/peps/pep-0235.html

Renamed check_case to case_ok.  Substantial code rearrangement to get
this stuff in one place in the file.  Innermost loop of find_module()
now much simpler and #ifdef-free, and I want to keep it that way (it's
bad enough that the innermost loop is itself still in an #ifdef!).

Windows semantics tested and are fine.

Jason, Cygwin *should* be fine if and only if what you did before "worked"
for case_ok.

Jack, the semantics on your flavor of Mac have definitely changed (see
the PEP), and need to be tested.  The intent is that your flavor of Mac
now work the same as everything else in the "lower left" box, including
respecting PYTHONCASEOK.

Steven, sorry, you did the most work here so far but you got screwed the
worst.  Happy to work with you on repairing it, but I don't understand
anything about all your Mac variants.  We need to add another branch (or
two, three, ...?) inside case_ok.  But we should not need to change
anything else.
2001-02-28 05:34:27 +00:00
Fred Drake 6e7e485d5d Added regression test for SF tracker bug #403871: AttributeError in
ZipFile.__del__() when there was an IOError opening the underlying
    file in ZipFile.__init__().

    This is an odd test: since the exception is in the __del__() method,
    it is not propogated.  This test will trigger it but regrtest.py
    does not detect the failure (not sure why); we are dependent on it
    actually being noticed by a user to get a new bug report if it ever
    fails.  ;-(

    On the other hand, this makes sure that code gets exercised, so
    a failure could be noticed!
2001-02-28 05:34:16 +00:00
Fred Drake 90eac285c8 Fix SF tracker bug #403871: AttributeError in ZipFile.__del__() when
there was an IOError opening the underlying file in ZipFile.__init__().
2001-02-28 05:29:34 +00:00
Jeremy Hylton 3f571d6497 Fix SF buf 404774 submitted by Gregory H. Ball
A user program could delete a function's func_closure, which would
cause it to crash when called.
2001-02-28 02:42:56 +00:00
Jeremy Hylton 280c81a940 Need to support single_input explicitly so from __future__ imports
are legal at the interactive interpreter prompt.  They don't do
anything yet...
2001-02-28 02:26:14 +00:00
Jeremy Hylton 39e2f3f824 Presumed correct compiler pass for future statements
XXX still need to integrate into symtable API

compile.h: Remove ff_n_simple_stmt; obsolete.

           Add ff_found_docstring used internally to skip one and only
           one string at the beginning of a module.

compile.c: Add check for from __future__ imports to far into the file.

 	   In symtable_global() check for -1 returned from
	   symtable_lookup(), which signifies name not defined.

	   Add missing DECERF in symtable_add_def.

           Free c->c_future.

future.c:  Add special handling for multiple statements joined on a
	   single line using one or more semicolons; this form can
           include an illegal future statement that would otherwise be
           hard to detect.

	   Add support for detecting and skipping doc strings.
2001-02-28 01:58:08 +00:00
Jeremy Hylton 8e43cd7929 verify that warnings are issued for bogus uses of global 2001-02-28 01:51:01 +00:00
Skip Montanaro ff443a51eb added missing element to __all__ 2001-02-28 01:03:48 +00:00
Skip Montanaro 6c0a0e1538 added some elements missing from __all__ 2001-02-28 01:00:58 +00:00
Ka-Ping Yee 457aab237f Macintosh compatibility. 2001-02-27 23:36:29 +00:00
Ka-Ping Yee 5e2b173333 Acknowledgements. 2001-02-27 23:35:09 +00:00
Jack Jansen 24033e3d60 Updated for 2.1a3 2001-02-27 23:24:07 +00:00
Jack Jansen 6223d48933 Added Popt resource for "dont show console"
Changed SIZE resource to be carbon-compatible.
2001-02-27 23:22:51 +00:00
Jack Jansen 64700c9603 Various tweaks to make it work on MacOSX. 2001-02-27 23:22:02 +00:00
Jack Jansen 9fa7720976 Added future.c 2001-02-27 23:19:58 +00:00
Ka-Ping Yee 40c49919fb Fix $Revision$ processing so it doesn't get eaten by CVS! 2001-02-27 22:46:01 +00:00
Ka-Ping Yee 09d7d9a552 Add $Revision: $ tag. 2001-02-27 22:43:48 +00:00
Ka-Ping Yee 6f3f9a4c64 Add display of $Revision $ and credits. 2001-02-27 22:42:36 +00:00
Fred Drake 969ab2710a Update documentation for termios module; do not refer to the TERMIOS module
for constant definitions.

Add a deprecation to the TERMIOS module.
2001-02-27 22:01:15 +00:00
Fred Drake 5dd09bb5df No need to call filterwarnings() to suppress further warnings from this
module; that won't happen.
2001-02-27 21:51:47 +00:00
Fred Drake ddd802cbd7 Replace all the platform-specific TERMIOS modules with a portable version
based on the termios module.  The only added "feature" is the deprecation
warning it spits out.
2001-02-27 21:35:40 +00:00
Fred Drake 1191d0148f Get the needed constants from termios, not TERMIOS. 2001-02-27 21:23:31 +00:00
Fred Drake df48d14f44 Define the constants needed for working with these functions directly
in this module; no more need for TERMIOS.py.
2001-02-27 21:22:39 +00:00
Tim Peters 0f4e93d434 Backing out nested scopes broke the Windows build. Repairing. 2001-02-27 21:11:46 +00:00
Andrew M. Kuchling 6efc6e7832 Patch #404680: disables the nis module and enables the dl module when
building under Cygwin.  Makes some fixes to the dlmodule in order to
    compile with Cygwin.
2001-02-27 20:54:23 +00:00
Jeremy Hylton 5941d191de add from __future__ import nested_scopes to strings passed to compile 2001-02-27 20:23:58 +00:00
Tim Peters bd00cdaf73 Teach Windows build about new future.c. 2001-02-27 19:52:02 +00:00
Andrew M. Kuchling 83c158fdc9 Bug #229280: remove '/' characters from the OS name (for BSD/OS :) ) 2001-02-27 19:25:42 +00:00
Andrew M. Kuchling a34dbe0fdc Patch #403947: On Cygwin, use the Unix compiler class, and not
the Cygwin-specific compiler class.

 (According to Jason Tishler, cygwinccompiler needs some work to
  handle the differences in Cygwin- and MSVC-Python. Makefile and
  config files are currently ignored by cygwinccompiler, as it was
  written to support cygwin for extensions which are intended to be
  used with the standard MSVC built Python.)
2001-02-27 19:13:15 +00:00
Jeremy Hylton 4db62b1e14 Improved __future__ parser; still more to do
Makefile.pre.in: add target future.o

Include/compile.h: define PyFutureFeaters and PyNode_Future()
                   add c_future slot to struct compiling

Include/symtable.h: add st_future slot to struct symtable

Python/future.c: implementation of PyNode_Future()

Python/compile.c: use PyNode_Future() for nested_scopes support

Python/symtable.c: include compile.h to pick up PyFutureFeatures decl
2001-02-27 19:07:02 +00:00
Fred Drake ed5e8234d7 Gustavo Niemeyer <niemeyer@conectiva.com>:
Fixed recno support (keys are integers rather than strings).
Work around DB bug that cause stdin to be closed by rnopen() when the
DB file needed to exist but did not (no longer segfaults).

This closes SF tracker patch #403445.

Also wrapped some long lines and added whitespace around operators -- FLD.
2001-02-27 18:56:46 +00:00
Neil Schemenauer cf9926ca8d Change EXEEXT back to EXE in the Makefile. Other tools may depend on the name.
The name in configure is still EXEEXT because that's what autoconf calls it.
Also, replace a few occurrences of "python" with "$(PYTHON)".
2001-02-27 18:50:56 +00:00
Andrew M. Kuchling 9767e76808 Patch #404275: generate a reasonable platform string for AIX 2001-02-27 18:48:00 +00:00
Jeremy Hylton 8016a4b0af Remove two meaningless, module-level global statements (one of a
non-existent variable :-).

Reflow long lines.
2001-02-27 18:44:14 +00:00
Martin v. Löwis 5e1633365d Patch #403985: Add support for weak-keyed dictionaries 2001-02-27 18:36:56 +00:00
Jeremy Hylton bb40dc4892 remove commented-out vestiges of access statement 2001-02-27 18:36:14 +00:00
Skip Montanaro 8216c18984 conditionally include unistd.h to pick up confstr declaration. attempt to
squelch warning from GCC 2.95.2 on Solaris - partially addresses bug
#232787.
2001-02-27 17:04:34 +00:00
Ka-Ping Yee dd1753434a pydoc: text and HTML documentation generator for interactive use 2001-02-27 14:43:46 +00:00
Ka-Ping Yee 6397c7c9a9 inspect: a module for getting information out of live Python objects 2001-02-27 14:43:21 +00:00
Jack Jansen cced0aa3e0 SetListCellIndent() argument was guessed incorrectly. Fixed. 2001-02-27 13:00:36 +00:00
Jack Jansen f02f4c8825 Soundex has gone. 2001-02-27 12:59:49 +00:00
Jack Jansen 501d89da40 Soundex has gone. 2001-02-27 12:48:42 +00:00
Jack Jansen 8a69373664 Dialog and Window objects are (finally) different beasts. 2001-02-27 11:05:00 +00:00
Jack Jansen d67566b0f0 Use the filename, not the pathname, in the definitions file
comment. This way the generated files are identical when generated on
different machines.
2001-02-27 11:04:20 +00:00
Moshe Zadka e99bd17ed6 Fixing bug #227562 by calling URLopener.http_error_default when
an invalid 401 request is being handled.
2001-02-27 06:27:04 +00:00
Jeremy Hylton be77cf7d57 Add warnings about undefined "global"
SF bug #233532

XXX Can't figure out how to write test cases that work with warnings
2001-02-27 05:15:57 +00:00
Neil Schemenauer a35c688055 Add Vladimir Marangozov's object allocator. It is disabled by default. This
closes SF patch #401229.
2001-02-27 04:45:05 +00:00