Commit Graph

1738 Commits

Author SHA1 Message Date
Martin v. Löwis 7b2563bc80 Exclude badsyntax from compileall; adjust options to what Makefile.pre.in does.
Fixes #1049003.
2004-11-02 22:59:56 +00:00
Tim Peters 130e37f3e2 Read the text files to be compared in universal-newline mode. 2004-10-03 19:03:19 +00:00
Martin v. Löwis f13337dd38 Fix lib-tk PythonPath. 2004-09-19 18:36:45 +00:00
Tim Peters 0e9980f75a Whitespace normalization. 2004-09-12 03:49:31 +00:00
Martin v. Löwis 0f02ce348a Do not include extpy[w].exe anymore 2004-09-10 11:56:56 +00:00
Martin v. Löwis 1e3a2642a0 Generate the product code properly 2004-09-10 11:55:32 +00:00
Martin v. Löwis dff68d0ced Change all extensions to unadvertised.
Add script dealing with REGISTRY.tcl installation
2004-09-10 09:20:10 +00:00
Martin v. Löwis 0b4a7d95c3 Revert creation of launcher.exe.
Install python[w].exe on demand also as extpy[w].exe
2004-09-08 16:09:14 +00:00
Martin v. Löwis 4b2017ae1a Implement conditional extensions through launcher.exe. 2004-09-07 15:39:29 +00:00
Martin v. Löwis 104c46bce3 Support Python 2.2. 2004-09-07 15:37:26 +00:00
Jeremy Hylton 566d934745 compiler.transformer: correct lineno attribute when possible
SF patch #1015989

The basic idea of this patch is to compute lineno attributes for all AST nodes.  The actual
implementation lead to a lot of restructing and code cleanup.

The generated AST nodes now have an optional lineno argument to constructor.  Remove the
top-level asList(), since it didn't seem to serve any purpose.  Add an __iter__ to ast nodes.
Use isinstance() instead of explicit type tests.

Change transformer to use the new lineno attribute, which replaces three lines of code with one.
Use universal newlines so that we can get rid of special-case code for line endings.  Use
lookup_node() in a few more frequently called, but simple com_xxx methods().  Change string
exception to class exception.
2004-09-07 15:28:01 +00:00
Martin v. Löwis 7d3755d2c0 Add test_difflib_expect.html.
Fix open Verbs.
Properly add "Edit with IDLE" to TclTk feature.
2004-09-06 06:31:12 +00:00
Martin v. Löwis e0f780d581 Conditionalize Tcl feature 2004-09-01 14:51:06 +00:00
Martin v. Löwis d3f61a2de6 Pickup Tk from tcltk directory. 2004-08-30 09:22:30 +00:00
Martin v. Löwis e064b41f5a Patch #914575: difflib side by side diff support, diff.py s/b/s HTML option. 2004-08-29 16:34:40 +00:00
Tim Peters 66cb018c96 Whitespace normalization. 2004-08-26 05:23:19 +00:00
Skip Montanaro 8107ca47eb Keep option parser from gobbling up the filename to be profiled and the
flags it accepts.  It's too late to change optparse's default behavior now,
but I find the default setting of allow_interspersed_args very weird.
2004-08-24 14:26:43 +00:00
Tim Peters 94607dd5ce Whitespace normalization. 2004-08-22 19:42:56 +00:00
Martin v. Löwis 2dd2a28802 Add acknowledgements to ExitDialog. 2004-08-22 17:10:12 +00:00
Martin v. Löwis 8ffe9abd09 Move msi from sandbox to Tools. 2004-08-22 13:34:34 +00:00
Matthias Klose 2443d4ab5d - pygettext.py: Generate POT-Creation-Date header in ISO format. 2004-08-16 12:10:12 +00:00
Tim Peters 494aaee902 Whitespace normalization. 2004-08-09 18:54:11 +00:00
Andrew M. Kuchling e236b38731 [Patch #1005491 ] use __name__ == '__main__' in scripts 2004-08-09 17:27:55 +00:00
Michael W. Hudson e6e77e5fe7 Fix
[ 777659 ] Uninitialized variable used in Tools/faqwiz/faqwiz.py

with help from jlgijsbers on #python-dev IRC.
2004-08-07 21:13:46 +00:00
Hye-Shik Chang e9ddfbb412 SF #989185: Drop unicode.iswide() and unicode.width() and add
unicodedata.east_asian_width().  You can still implement your own
simple width() function using it like this:
    def width(u):
        w = 0
        for c in unicodedata.normalize('NFC', u):
            cwidth = unicodedata.east_asian_width(c)
            if cwidth in ('W', 'F'): w += 2
            else: w += 1
        return w
2004-08-04 07:38:35 +00:00
Anthony Baxter c2a5a63654 PEP-0318, @decorator-style. In Guido's words:
"@ seems the syntax that everybody can hate equally"
Implementation by Mark Russell, from SF #979728.
2004-08-02 06:10:11 +00:00
Marc-André Lemburg 5ae638c78e Remove copyright notices from gencodec.py output.
The script was originally used to create the initial set of
codecs (and these were (c) CNRI). While the script itself still
is (c) CNRI, the output certainly isn't anymore.
2004-07-23 10:09:57 +00:00
Tim Peters 182b5aca27 Whitespace normalization, via reindent.py. 2004-07-18 06:16:08 +00:00
Tim Peters 4fba4521e8 WTF is with this script? It contained illegal syntax and illegal
indentation -- it could never have been run, under any version of Python.
2004-07-18 05:31:31 +00:00
Jack Jansen c572e42fb4 Call the correct tp_dealloc. 2004-07-15 21:24:07 +00:00
Raymond Hettinger 7b7acd1de5 Use set() instead of sets.Set() 2004-07-12 13:29:10 +00:00
Raymond Hettinger 5492f3d977 Add more known macros. 2004-07-12 13:16:49 +00:00
Tim Peters 27f883687b Whitespace normalization. 2004-07-08 04:22:35 +00:00
Hye-Shik Chang 974ed7cfa5 - SF #962502: Add two more methods for unicode type; width() and
iswide() for east asian width manipulation. (Inspired by David
Goodger, Reviewed by Martin v. Loewis)
- Move _PyUnicode_TypeRecord.flags to the end of the struct so that
no padding is added for UCS-4 builds. (Suggested by Martin v. Loewis)
2004-06-02 16:49:17 +00:00
Armin Rigo ba91b9fdda Applying SF patch #949329 on behalf of Raymond Hettinger. 2004-05-19 19:10:18 +00:00
Raymond Hettinger 354433a59d SF patch #872326: Generator expression implementation
(Code contributed by Jiwon Seo.)

The documentation portion of the patch is being re-worked and will be
checked-in soon.  Likewise, PEP 289 will be updated to reflect Guido's
rationale for the design decisions on binding behavior (as described in
in his patch comments and in discussions on python-dev).

The test file, test_genexps.py, is written in doctest format and is
meant to exercise all aspects of the the patch.  Further additions are
welcome from everyone.  Please stress test this new feature as much as
possible before the alpha release.
2004-05-19 08:20:33 +00:00
Gustavo Niemeyer ffa5a5015a Small fixes in freeze.py. 2004-05-08 17:59:43 +00:00
Skip Montanaro 26510d42b0 delete timing output - it appears after the </html> line. 2004-04-16 03:12:12 +00:00
Skip Montanaro 165163f245 add usage() function, -h(elp) flag and long versions of short flags 2004-03-27 18:43:56 +00:00
Andrew M. Kuchling a982c44543 [Patch #918212] Support XHTML's 'id' attribute, which can be on any element. 2004-03-21 19:07:23 +00:00
Skip Montanaro e2b61e0190 * explain flags in doc strings
* reverse order of files on the command line in pickle2db.py to make it
  symmetrical with db2pickle.py in the two-arg case (src, then dest)
2004-03-03 17:42:08 +00:00
Walter Dörwald 70a6b49821 Replace backticks with repr() or "%r"
From SF patch #852334.
2004-02-12 17:35:32 +00:00
Skip Montanaro f91c59a06b add hotshotmain.py ref 2004-01-27 14:47:23 +00:00
Skip Montanaro 4aba6f51cb The bagpipe didn't say "no" (*), so here's a main program script useful for
running an application under hotshot's control.  Only slightly embellished
from what Walter Dörwald posted to python-dev.

(*) http://www.icdc.com/~roadkill/silverstein/turtle.html
2004-01-26 19:44:48 +00:00
Jack Jansen 7107c1aff3 Got rid of macglue.h, replacing it by pymactoolbox.h where relevant.
Cleaned up various things in the toolbox modules.
2003-11-20 13:31:00 +00:00
Skip Montanaro 48f9c6dfb8 allow dump/load of gdbm files 2003-10-28 16:17:54 +00:00
Martin v. Löwis 23b44a39ce Patch #812378: Normalize white space. 2003-10-24 20:09:23 +00:00
Walter Dörwald f0dfc7ac5c Fix a bunch of typos in documentation, docstrings and comments.
(From SF patch #810751)
2003-10-20 14:01:56 +00:00
Martin v. Löwis 8f81c93b8c Patch #713645: Fix typo. 2003-09-20 11:05:01 +00:00
Raymond Hettinger c60577ea59 Generalize the last change to check for other markup spacing errors. 2003-09-08 18:43:46 +00:00
Raymond Hettinger b9c07af46c Check for \NULL markup errors. 2003-09-08 17:33:31 +00:00
Barry Warsaw eb296d967b Fix for SF bug #780996, crash when no .pynche file exists and -d
option is not given.  If dbfile isn't given and can't be retrieved
from the optionsdb, just initialize it to the first element in
RGB_TXT.

Backport candidate.
2003-09-03 03:15:50 +00:00
Raymond Hettinger e41d4c8ec9 Added doubled word warnings. 2003-08-25 04:39:55 +00:00
Tim Peters 1a3abcb648 This started opening files in text mode by default in the 2.3 release,
which is a disaster on Windows.  Restored the binary default of all
previous releases.  Also minor code cleanups.

Bugfix candidate!
2003-08-18 23:52:09 +00:00
Fred Drake 7d599482f2 When piping output into a pager like "less", quiting the pager before
the output was consumed would cause and exception to be raise in
logmerge; suppress this specific error, because it's not helpful.
2003-08-14 15:52:33 +00:00
Skip Montanaro 7f7e1371eb fix for bug 773020 - splitting PATH should use os.pathsep 2003-07-17 16:45:43 +00:00
Jeremy Hylton 5ec79681d2 This file was moved to Lib/. 2003-07-07 16:09:24 +00:00
Neal Norwitz 592c4cc460 SF bug 753592, websucker bug
Pass the proper variable when the user supplies a directory.
Will backport.
2003-07-01 04:14:28 +00:00
Skip Montanaro 8df717a499 minor __doc__ string tweakage 2003-06-20 01:01:19 +00:00
Skip Montanaro c5e5e51a3a typo 2003-06-20 01:00:20 +00:00
Walter Dörwald fc1efa371a Make the comment prefix 7 character long, so the lines are properly
aligned.
2003-06-19 10:36:17 +00:00
Guido van Rossum ecb544e95b Get rid of old IDLE. Lib/idlelib rules! 2003-06-14 00:08:37 +00:00
Guido van Rossum ab537e92f3 Put the main script for the new IDLE here. 2003-06-13 20:34:27 +00:00
Raymond Hettinger a33d177589 Added a command line interface for difflib.py 2003-06-08 23:04:17 +00:00
Martin v. Löwis bb640c15a1 Patch #748849: Update to current tools and demos. 2003-06-07 18:46:34 +00:00
Gustavo Niemeyer 7b4abbb2e2 modulefinder.py is not a freeze private module anymore. 2003-05-26 23:52:30 +00:00
Raymond Hettinger 6e0f5e077a * Added file globbing to make it easier to check many LaTeX files.
* Delimiter mismatch now prints a warning instead of raising an exception.
* Offer style warnings for use of e.g. and i.e.
* Bypass false positive warnings for forward slashes in urls and in /rfc822.
* Put non-LaTex delimiter matching first to make -d option more reliable.
2003-05-16 03:06:39 +00:00
Raymond Hettinger 071b0bc9f8 Forward slash warnings now only occur for potentially valid LaTeX commands.
(Idea contributed by Anthony Baxter.)
2003-05-14 18:15:55 +00:00
Andrew M. Kuchling ac6df95d07 Fix use of 'file' as a variable name.
(I've tested the fixes, but please proofread anyway.)
2003-05-13 18:14:25 +00:00
Andrew M. Kuchling a2f7728341 Prevent script from allowing '-r12' 2003-05-13 17:56:07 +00:00
Andrew M. Kuchling 4693d46fef Rename sum5.py to md5sum.py, because sum5.py is more interesting
as an example program
2003-05-13 17:39:26 +00:00
Andrew M. Kuchling fb9653a63f Don't use 'file' as a variable name
Modernize the code a bit
Add docstring
2003-05-13 17:38:05 +00:00
Andrew M. Kuchling 87ddce1bf0 [Bug #724767] Avoid use of 'file' as a variable name 2003-05-13 17:09:01 +00:00
Andrew M. Kuchling 47172b4fab [Bug #724767] crlf.py uses the variable name file, which it shouldn't anymore. 2003-05-13 14:51:39 +00:00
Raymond Hettinger 62aa994633 * 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.
2003-05-12 23:33:28 +00:00
Raymond Hettinger 4f0c6b2b70 Minor fixups. 2003-05-10 09:04:37 +00:00
Raymond Hettinger 0fd525fd1c Add table level validation and made minor fix-ups. 2003-05-10 07:41:55 +00:00
Raymond Hettinger 71e0033200 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.
2003-05-10 03:30:13 +00:00
Martin v. Löwis 8f0bd5657a Declare encoding. Use unsigned long constants. Fixes #728277. 2003-05-09 08:59:17 +00:00
Guido van Rossum a3c253e83b Removing new files accidentally checked in on the trunk rather than on the
idlefork-merge-branch.
2003-04-29 11:27:16 +00:00
Guido van Rossum 767d9fedc7 Add back files that were accidentally deleted on the trunk rather than
on the idlefork-merge-branch as intended.
2003-04-29 11:15:38 +00:00
Guido van Rossum 57cd21fde2 Checking in IDLEFORK exactly as it appears in the idlefork CVS.
On a branch, for now.
2003-04-29 10:23:27 +00:00
Tim Peters 0eadaac7dc Whitespace normalization. 2003-04-24 16:02:54 +00:00
Barry Warsaw 334df6c597 Finally added a -h option to print the module docstring and exit. ;) 2003-04-20 00:59:24 +00:00
Tim Peters 53f72d7dcd Docstring clarifications. 2003-04-19 18:21:04 +00:00
Guido van Rossum 6869458236 Don't double-space the "??? new object ..." messages. 2003-04-18 19:51:10 +00:00
Martin v. Löwis 2548c730c1 Implement IDNA (Internationalized Domain Names in Applications). 2003-04-18 10:39:54 +00:00
Tim Peters 8d17a90b83 Heh -- I checked in an old version of this, at a time I documented the
internal read() as being a generator but hadn't yet changed it into one.
2003-04-18 01:02:37 +00:00
Tim Peters 21d7d4d5ca _Py_PrintReferenceAddresses(): also print the type name. In real use
I'm finding some pretty baffling output, like reprs consisting entirely
of three left parens.  At least this will let us know what type the object
is (it's not str -- there's no quote character in the repr).

New tool combinerefs.py, to combine the two output blocks produced via
PYTHONDUMPREFS.
2003-04-18 00:45:59 +00:00
Barry Warsaw e04ee70a68 Mostly reformatting, splitting long lines, whitespace normalization
etc.

Fixed one typo in the __main__ section.
2003-04-16 18:08:23 +00:00
Guido van Rossum 21123ab7e5 Various improvements to the way the table is formatted, to deal with
exceptionally large totals etc.
2003-04-09 19:10:46 +00:00
Skip Montanaro f2f174f655 install timeit.py as a command line script 2003-04-08 19:50:02 +00:00
Just van Rossum 821a0fc140 replace obsolete 'exceptions' implicit by 'warnings' 2003-03-18 18:48:17 +00:00
Just van Rossum e9e20a9838 [ 684677 ] Allow freeze to exclude implicits 2003-03-08 19:50:38 +00:00
Skip Montanaro ea7598e6f4 fix name of db2pickle 2003-03-07 00:47:40 +00:00
Mark Hammond ce56c377a0 When bad HTML is encountered, ignore the page rather than failing with
a traceback.
2003-02-27 06:59:10 +00:00
Andrew M. Kuchling d683504b85 Use new name for GetoptError, and pass it two arguments
Use re module instead of regex
2003-02-06 19:55:35 +00:00
Skip Montanaro da72d9376b try to avoid gross incompatibilities with older versions of Python 2003-02-03 15:29:34 +00:00
Skip Montanaro 7c1274d8ab try to avoid gross incompatibilities with earlier versions of Python 2003-02-03 15:28:23 +00:00
Skip Montanaro 9445ce57f1 note db2pickle.py and pickle2db.py 2003-02-03 15:09:32 +00:00
Skip Montanaro d96832914a dump database files to pickle format 2003-02-03 15:09:03 +00:00
Skip Montanaro 9db49c849c convert pickles generated by db2pickle.py back to database files 2003-02-03 15:08:42 +00:00
Skip Montanaro c064a1d7e3 add missing "summary" from long options list 2003-02-03 06:34:22 +00:00
Walter Dörwald 771bc377f8 Fix comment typo. 2003-02-02 23:39:45 +00:00
Jack Jansen c9713874ba Updated the doc strings to refer to PyArg_Parse and Py_BuildValue in stead
of getargs() and mkvalue().
2003-01-24 09:23:13 +00:00
Raymond Hettinger 96bf0d75e2 Kurt pointed out another method affected by the changes to pyclbr.py. 2003-01-22 13:29:00 +00:00
Jack Jansen 2cf08ab4c2 Sigh, due to sloppiness on my part bgen has become pretty mixed up wrt. tabs
and spaces. Detabbed the lot.
2003-01-19 21:53:57 +00:00
Raymond Hettinger 18acea7c8e SF bug #668906: class browser raises AttributeError
The Py2.3 updates to the pyclbr module return both Class and Function
objects.  The IDLE ClassBrowser module only knew about Class and could
not handle objects which did not define "super".

Fixed by adding a guard.
2003-01-18 22:53:36 +00:00
Martin v. Löwis 2206cd17ce Properly find and install icons even if calling setup.py from the build dir. 2003-01-16 11:03:33 +00:00
Guido van Rossum 8b7b345328 Use regular expressions for branch matching, to avoid including
changes on a sub-branch into output for a given branch.
2003-01-07 16:46:24 +00:00
Raymond Hettinger a9cfa5501f SF bug #652933 (for IdleFork): Open Module "math" Fails
When a module doesn't have a __path__ attribute, trigger a dialog box
rather than dumping a traceback to the console.
2003-01-07 09:55:03 +00:00
Guido van Rossum bf1b1fdb9e Add byext.py 2003-01-02 02:24:22 +00:00
Guido van Rossum 6a8f7b741c Silly little script to print statistics (files, lines, words) by
extension.  Could use some work, but already very useful.
2003-01-01 14:41:25 +00:00
Just van Rossum 41c554fbec moving modulefinder.py to the standard library 2002-12-31 16:27:33 +00:00
Jack Jansen 15721c5c45 Oops, old-style types don't have a tp_free slot. Call PyObject_Free
directly in that case.
2002-12-23 22:33:49 +00:00
Jack Jansen 77e8ad4684 Always use self->ob_type->tp_free when freeing an object. 2002-12-19 23:34:40 +00:00
Jack Jansen 5bb2f6497f Always output an inheritance-aware version of the xxxx_Check() macro. Also
fixed that macro to actually work:-)
2002-12-19 20:37:32 +00:00
Jack Jansen ff38505f1a Added an optional longname argument to Module, which gives the full,
externally visible name of the module. This is so that type names can be
shown as "Carbon.File.FSSpec" even though the real name of the module is
"_File".
2002-12-17 22:08:48 +00:00
Jeremy Hylton 6bf45c6752 Correct buggy module docstring.
Replace use of homebrew boolean with True/False.

Reflow lots more long lines.
2002-12-11 21:43:13 +00:00
Jeremy Hylton 89f1d6c04e Fix one bug and reformat lots of code.
The bug is a reference to co_first_lineno that should be
co_firstlineno.  The only other substantial change is to speed up
localtrace_count() by avoiding *costly* calls to inspect module.
It's trivial to get the filename and lineno directly from the frame.

Otherwise, delete commented out debug code and reflow very long lines.
2002-12-11 21:28:32 +00:00
Jack Jansen dd888a6cff Fixed typo. 2002-12-05 23:20:12 +00:00
Skip Montanaro 7bc2e1dad7 add logmerge.py (pydoc is already installed) 2002-12-05 21:12:34 +00:00
Skip Montanaro da760c488f simple setup.py to install some interesting scripts in $(prefix)/bin. 2002-12-05 02:58:36 +00:00
Skip Montanaro a5f8c42268 * when given, port should be converted to int
* when connecting, if the port is non-standard, display it as well
2002-12-05 02:43:14 +00:00
Skip Montanaro 7dfb02d09a allow optional port specified as part of the hostname, e.g.,
"www.zope.org:8021".
2002-12-05 02:37:23 +00:00
Jack Jansen 99899b92b8 Added PEP253 support. 2002-12-03 23:35:22 +00:00
Guido van Rossum a1962d6efd Get rid of 1.5.2 compatibility hack. :-) 2002-12-03 09:28:36 +00:00
Jack Jansen 27a4450239 Fixed two silly bugs in the PEP252 support code, added an assert
that basechain isn't set, and made the output a bit prettier.
2002-11-28 23:23:14 +00:00
Just van Rossum 5d0bd1ebdf refactor universal line endings detection 2002-11-26 09:53:16 +00:00
Thomas Heller 318b7b920d Polish some bits to silence pychecker. 2002-11-26 08:06:50 +00:00
Thomas Heller 8af41ceece Don't look for modules in the registry any longer.
Mark writes in private email:

  "Modules listed in the registry was a dumb idea.  This whole scheme
  can die.  AFAIK, no one in the world uses it (including win32all
  since the last build)."

(See also SF #643711)
2002-11-26 08:05:09 +00:00
Thomas Heller 919000e9ec Add a note that this file should be kept compatible with Python 1.5.2,
per PEP 291 (although there are currently string methods used).

This patch makes it compatible with 2.2, at least, by detecting
universal newline support.
2002-11-25 20:21:59 +00:00
Jack Jansen 3d654d6dff Added a class PEP252Mixin. By adding this to your ObjectDefinition you
get PEP-252 style objects in stead of old-fashioned objects.
In stead of defining a GetattrHook you declare a class variable getsetlist,
which contains tuples (name, getcode, setcode, docstring).
Only lightly tested: the code still works if you don't inherit PEP252Mixin
and the code works if you inherit it but don't define any getters
or setters. Also, this will not work together with the "poor mans inheritance"
offered by method chains, so the CF module will remain with old-style
objects until PEP253 is supported too.
2002-11-25 16:36:49 +00:00
Martin v. Löwis b5c980b802 Add unidata_version. Bump generator version number. 2002-11-25 09:13:37 +00:00
Martin v. Löwis 97225da29a Sort names independent of the Python version. Fix hex constant warning.
Include all First/Last blocks.
2002-11-24 23:05:09 +00:00
Martin v. Löwis 677bde2dd1 Patch #626485: Support Unicode normalization. 2002-11-23 22:08:15 +00:00
Martin v. Löwis dab3bc05f3 Expand negative hexadecimal constants. 2002-11-23 12:08:10 +00:00
Martin v. Löwis 6f00a7ad84 Patch #542562, file 25252: Remove changelog. 2002-11-22 09:10:33 +00:00
Martin v. Löwis 0d1fdea8ef Patch #494845: Support string concatenation, detect non-string data,
add globbing support, find modules by name instead of by file.
2002-11-22 08:36:54 +00:00
Thomas Heller c7aaf953fa Enhancement for ModuleFinder, it can now handle _xmlplus aka PyXML.
Fixes SF # 637835.
2002-11-14 18:45:11 +00:00
Guido van Rossum affa6b7bf1 Tim wins a bet. Don't use re. 2002-11-13 21:04:31 +00:00
Neal Norwitz 74416af9dc Fix SF # 464405, freeze doesn't like DOS files on Linux
Use universal newline support when opening a file for freezing.
2002-11-12 23:21:15 +00:00
Neal Norwitz 82c7231071 SF # 627900, Bytecode copy bug in freeze
Pass co_freevars and co_cellvars to new.code().
Will backport.
2002-11-12 23:09:12 +00:00
Fred Drake 0b9e3f750c Handle the Content-Type header a little more appropriately: if it
contains options, drop them to get the major/minor content type.
Modified from the supplied patch to support more whitespace variation.
Closes SF patch #613605.
2002-11-12 22:19:34 +00:00
Raymond Hettinger 1644986758 Clarify the meaning of "requires Python 1.5.2". 2002-11-08 05:49:47 +00:00
Martin v. Löwis dc46175dc3 Add --check-tkinter to setup.py. Install IDLE. Fixes #634078. 2002-11-06 21:59:33 +00:00
Guido van Rossum eb58f5d6cd Use column= rather than col=; with Tk 8.4 col= no longer works.
[SF patch 634250 -- that was an IDLEFORK patch.]
2002-11-06 19:00:30 +00:00
Martin v. Löwis 40b11b890c Support sdist. 2002-11-05 23:01:50 +00:00
Guido van Rossum 15941e6a63 Oops, committed this in the wrong place. 2002-10-28 01:07:02 +00:00
Guido van Rossum 38749b64c4 Beginnings of a spreadsheet I used as an example on Linux Lunacy II. 2002-10-27 22:48:56 +00:00
Barry Warsaw 5c458052f0 FILETYPES: Newer XFree86 rgb.txt files use the key Xorg instead of
XConsortium.  Now we can recognize these files!
2002-10-21 14:25:24 +00:00
Barry Warsaw d9e0e1f422 Some fixes based on feedback from Hans Petter Langtangen.
build(): Fix the logic here for calculating fallbacks if the dbfile
isn't parseable.

main(): Fix the semantics for -d/--database; this should override any
database value found in the .pynche file.

Update some comments, and author contact info.

Bump to v1.4

Whitespace normalization.
2002-10-21 14:23:48 +00:00
Barry Warsaw 531e3932bf Fix a typo, update (only one) style improvement, whitespace
normalization.
2002-10-21 14:20:37 +00:00
Martin v. Löwis 99ac3283e7 Verify that lower-higher case delta are 16-bit. 2002-10-18 17:34:18 +00:00
Martin v. Löwis 9def6a3a77 Update to Unicode 3.2 database. 2002-10-18 16:11:54 +00:00
Guido van Rossum bc01c3248d Added -b tag option to limit output to a specific branch only.
Use -b HEAD to limit output to the trunk (skip all branch revisions).
2002-09-29 04:37:36 +00:00
Neal Norwitz a39a445c9b Remove unnecessary imports 2002-09-12 20:36:01 +00:00
Neal Norwitz 089061f7f0 Remove unused local variables 2002-09-12 20:34:41 +00:00
Neal Norwitz a59ab05fda Remove unnecessary imports 2002-09-12 20:29:56 +00:00
Walter Dörwald ed44dbd959 Remove another mention of "import string".
The file itself still mentions Python 1.5.1,
so it might need further updates.
2002-09-12 14:40:44 +00:00
Walter Dörwald aaab30e00c Apply diff2.txt from SF patch http://www.python.org/sf/572113
(with one small bugfix in bgen/bgen/scantools.py)

This replaces string module functions with string methods
for the stuff in the Tools directory. Several uses of
string.letters etc. are still remaining.
2002-09-11 20:36:02 +00:00
Raymond Hettinger b2c729fe27 Extended IDLE's open module menu item to handle hierarchical module names.
Will look at doing something similar in import.c so that the effort won't
have to be repeated elsewhere.

Closes SF patch 600152.
2002-09-08 03:42:01 +00:00
Tim Peters 280488b9a3 Whitespace normalization. 2002-08-23 18:19:30 +00:00
Jack Jansen f34a8bced2 Moved CoreFoundation type support to bgen/macsupport. 2002-08-22 23:30:49 +00:00
Jack Jansen 44b99e0a1f iUse PyDoc_STR() around docstrings. 2002-08-16 09:07:42 +00:00
Michael W. Hudson dd32a91cc0 This is my patch
[ 587993 ] SET_LINENO killer

Remove SET_LINENO.  Tracing is now supported by inspecting co_lnotab.

Many sundry changes to document and adapt to this change.
2002-08-15 14:59:02 +00:00
Martin v. Löwis 75ea1e11dc Convert characters from the locale's encoding on output.
Reject characters outside the locale's encoding on input.
2002-08-10 12:22:12 +00:00
Guido van Rossum 7ec34b556c A tool to transform gprof(1) output into HTML, so you can click on a
function name and go to the corresponding entry.
2002-08-09 20:07:34 +00:00
Guido van Rossum 3b0a3293c3 Massive changes from SF 589982 (tempfile.py rewrite, by Zack
Weinberg).  This changes all uses of deprecated tempfile functions to
the recommended ones.
2002-08-09 16:38:32 +00:00
Jack Jansen 11845e00b2 Be a lot less verbose by default. 2002-08-05 21:15:22 +00:00
Jeremy Hylton 53d527ad18 Initial prototype of framer: a tool to build the frame for extension modules. 2002-08-05 18:29:45 +00:00
Jack Jansen ac7cb05415 Fixed to run better in unix-Python, and to cater for bgenlocations
possibly being missing.
2002-08-05 15:32:30 +00:00
Jack Jansen 6573f31874 Moved bgenlocations to the Mac/Lib directory. Not perfect, but better than
where it was: it is really a configuration file, not a normal module.

By moving it into Mac/Lib we can now also store the location of bgen
itself in there, which is needed because bgen isn't installed.
2002-08-05 14:56:04 +00:00
Martin v. Löwis eade4a1580 Patch #590913: PEP 263 support. 2002-08-05 14:55:21 +00:00
Martin v. Löwis 5428fff111 Use ascii_letters to avoid UnicodeErrors. 2002-08-05 14:53:52 +00:00
Jack Jansen 7ea8143fe5 Specify pathnames in a way that works on both OS9 and OSX.
You'll still have to manually edit it, though...
2002-08-04 21:56:12 +00:00
Jack Jansen bae7734eef Use universal newline input when scanning header files. 2002-08-04 21:55:25 +00:00
Skip Montanaro 3a48ed9481 * runctx - fix a couple typos
* globaltrace_lt - handle case where inspect.getmodulename doesn't return
  anything useful
* localtrace_trace - handle case where inspect.getframeinfo doesn't return
  any context info

I think both of the last two are caused by exec'd or eval'd code
2002-07-25 16:09:35 +00:00
Guido van Rossum f8c8cf8a9d Get rid of _expand() altogether - the match object supports m.expand(). 2002-07-24 19:13:08 +00:00
Guido van Rossum 77f6ccd1f7 The test for re.engine was misfiring because re.engine is no longer
defined and the default was "pre" instead of "sre".  Give up on 1.5.2
compatibility, hardcode the sre solution.  However, this XXX comment
still applies, AFAIK:
        # XXX This code depends on internals of the regular expression
        # engine!  There's no standard API to do a substitution when you
        # have already found the match.  One should be added.
2002-07-24 01:49:16 +00:00
Jeremy Hylton 938ace69a0 staticforward bites the dust.
The staticforward define was needed to support certain broken C
compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the
static keyword when it was used with a forward declaration of a static
initialized structure.  Standard C allows the forward declaration with
static, and we've decided to stop catering to broken C compilers.  (In
fact, we expect that the compilers are all fixed eight years later.)

I'm leaving staticforward and statichere defined in object.h as
static.  This is only for backwards compatibility with C extensions
that might still use it.

XXX I haven't updated the documentation.
2002-07-17 16:30:39 +00:00
Barry Warsaw 0756a5e97a Added the "weird" ccTLDs ac, gg, im, and je. These are not recognized
by ISO 3166 as country codes, but the are reserved by IANA
nonetheless.  The commonly used uk ccTLD is part of this group, near
as I can tell.
2002-07-15 19:53:28 +00:00
Mark Hammond 60ae701b3a Update freeze to use zlib 1.1.4.
From patch: [ 574532 ] Update freeze to use zlib 1.1.4
2002-07-03 02:40:25 +00:00
Mark Hammond 0d3b2fe094 Patch 574531/Bug 574570 - allow freeze on windows to use the _winreg
extension.
2002-06-28 01:13:02 +00:00
Fred Drake ae39ddd628 Mechanically translated string method calls to string methods.
Instead of splitting a string and looping over it to call s.split(),
use list comprehensions for readability.
2002-06-18 15:37:05 +00:00
Fred Drake ef5864ed71 SF patch #552837, submitted by Robert Pyron:
1. BUGFIX: In function makefile(), strip blanks from the nodename.
   This is necesary to match the behavior of parser.makeref() and
   parser.do_node().
2. BUGFIX fixed KeyError in end_ifset (well, I may have just made
   it go away, rather than fix it)
3. BUGFIX allow @menu and menu items inside @ifset or @ifclear
4. Support added for:
      @uref        URL reference
      @image       image file reference (see note below)
      @multitable  output an HTML table
      @vtable
5. Partial support for accents, to match MAKEINFO output
6. I added a new command-line option, '-H basename', to specify
   HTML Help output. This will cause three files to be created
   in the current directory:
      `basename`.hhp  HTML Help Workshop project file
      `basename`.hhc  Contents file for the project
      `basename`.hhk  Index file for the project
   When fed into HTML Help Workshop, the resulting file will be
   named `basename`.chm.
7. A new class, HTMLHelp, to accomplish item 6.
8. Various calls to HTMLHelp functions.
A NOTE ON IMAGES: Just as 'outputdirectory' must exist before
running this program, all referenced images must already exist
in outputdirectory.

FLD: wrapped some long lines.
2002-06-18 15:21:21 +00:00
Martin v. Löwis f90ae20354 Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
Thomas Heller 4f7829e185 Remove the only use of a string method.
Fixes SF 564840.
2002-06-10 20:05:48 +00:00
Guido van Rossum 2ca7862e97 Add primitive printing support for Unix and Windows. 2002-06-10 18:52:02 +00:00
Just van Rossum ec5d6b908c escape 8-bit chars when generating .py files. fixes bug #566302 2002-06-09 09:08:53 +00:00
Barry Warsaw aef8371acb Added the 7 new top level domains, and reworded the nameorgs output.
Not sure this is better in all cases.

parse(): Fixed a bug in the output; the dict is referred to in the
code as `countries' not `country'.  Also added no-case-fold for the
string "U.S." since the Virgin Islands name no longer wraps those in
parentheses.

main(): Fixed the argument parsing to agree with the docstring, i.e.
--outputdict instead of --output.

In the module docstring:

- updated my email address
- we don't need to explain about Python 1.5 regexps <wink>

We also don't need to wrap the import of re with a try/except.

Other style fixes:

- untabification
- revert back to <> style everywhere (and consistently)
2002-06-07 15:48:52 +00:00
Walter Dörwald a4c2b2470f Apply diff2.txt from SF patch http://www.python.org/sf/565471
This patch replaces string module functions with string
methods in the Tools/world/world scripts.

It also updates two outdated URLs and the countrycodes
dictionary.

It fixes a bug where result of string.find() was checked
for truth instead of compared with -1.

It also replaces <> with != in two spots.
2002-06-07 14:47:20 +00:00
Walter Dörwald 88a20baa77 Apply diff.txt from SF patch http://www.python.org/sf/561478
This uses cgi.parse_header() in Checker.checkforhtml(), so that
webchecker recognises the mime type text/html even if options
are specified.
2002-06-06 17:01:21 +00:00
Guido van Rossum 24989727b9 Use self.__class__ to instantiate a TreeNode item recursively, to
allow subclassing.
2002-05-27 13:35:05 +00:00
Raymond Hettinger 7f7d5bf438 Patch 543222. Disable script bindings in shell window. 2002-05-21 17:00:20 +00:00
Raymond Hettinger 8eaa3ad22c Patches 558535. The standard Windows binding for Edit Select All
is Control-A rather than Alt-A.
2002-05-21 12:26:59 +00:00
Skip Montanaro 8c5763f3ea moving into the Doc/tools directory 2002-04-30 16:23:42 +00:00
Jack Jansen 3adf8d1dae Converted to use re in stead of regex and regsub (finally:-). 2002-04-23 22:43:37 +00:00
Tim Peters 32b069cf54 SF bug 546078: IDLE calltips cause application error.
Assorted crashes on Windows and Linux when trying to display a very
long calltip, most likely a Tk bug.  Wormed around by clamping the
calltip display to a maximum of 79 characters (why 79? why not ...).

Bugfix candidate, for all Python releases.
2002-04-22 18:43:49 +00:00
Jack Jansen a6aa71deec Oops: we used PyMem_DEL() to clean up objects, and that's a problem since
pymalloc, apparently. Fixed, but this means all bgen-generated modules will
have to be re-generated.

I hope (and expect) that the pymalloc fixes aren't bugfix candidates, because
if they are this is one too.
2002-04-19 14:29:47 +00:00
Andrew M. Kuchling a90a3b471d Use md5.new() constructor 2002-04-17 21:53:21 +00:00
Andrew M. Kuchling 343cbd0279 Use 2.1's .hexdigest() method 2002-04-17 21:50:03 +00:00
Guido van Rossum f90d529229 Provisional fix for writefile() [SF bug # 541730].
The problem was that an exception can occur in the text.get() call or
in the write() call, when the text buffer contains non-ASCII
characters.  This causes the previous contents of the file to be lost.

The provisional fix is to call str(self.text.get(...)) *before*
opening the file, so that if the exception occurs, we never open the
file.

Two orthogonal better solutions have to wait for policy decisions:

1. We could try to encode the data as Latin-1 or as UTF-8; but that
   would require IDLE to grow a notion of file encoding which requires
   more thought.

2. We could make backups before overwriting a file.  This requires
   more thought because it needs to be fast and cross-platform and
   configurable.
2002-04-15 00:19:12 +00:00
Martin v. Löwis dcd2dc2fff Patch #540583: Open MS Help Docs if available. 2002-04-14 10:30:51 +00:00
Jack Jansen ededa90f67 - Added support for inherent pointer types (typedefs of arrays)
- Added a debug class variable to enable parser debugging.
2002-04-12 13:21:49 +00:00
Jack Jansen da70485694 Give type name when complaining about using input-only type for output
or v.v.
2002-04-12 13:14:54 +00:00
Tim Peters bc0e910826 Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
Marc-André Lemburg 64b4f2770e Updated freeze.py to the new Makefile symbol layout.
Fixed a few compiler warnings.

freeze.py now produces binaries which can import shared
modules (unlike before).
2002-04-04 16:15:41 +00:00
Skip Montanaro 557fe7541d new script - helps track down symbols exported by modules but not
mentioned in the library reference manual
2002-03-28 22:01:40 +00:00
Skip Montanaro 9a29e7aba3 operate as a filter when no files or directories appear on the command line 2002-03-26 11:39:26 +00:00
Fredrik Lundh b622a81e56 use -kb on idle/Icons/minusnode.gif ("cvs up" kept checking it out all
the time...)
2002-03-18 21:43:04 +00:00
Jack Jansen 89dbd97279 Some structures should be passed to Py_BuildValue by reference, not by value,
notably FSSpec and FSRef objects. First half of fix for #531291.

2.2.1 candidate.
2002-03-18 15:24:22 +00:00
Martin v. Löwis 73e618734d Patch #512466: Script to move faqwiz entries. 2002-03-18 08:56:23 +00:00
Andrew M. Kuchling 566c0c737f [Bug #512799] urllib.splittype() returns a 2-tuple. (Reported by seb bacon) 2002-03-08 17:19:10 +00:00
Guido van Rossum 30efbccee4 Fix by Edward K Ream to make breakpoints work on Windows: insert a
missing call to self.canonic().
2002-02-25 23:11:03 +00:00
Martin v. Löwis dc13517586 Patch #520483: Make IDLE OutputWindow handle Unicode.
2.2.1 candidate.
2002-02-23 22:39:37 +00:00
Tim Peters 54e5b89d77 SF bug #497839: reindent chokes on empty first lines.
Reindenter.run():  copy over initial all-whitespace lines (if any, and
after normalizing to remove trailing blanks and tabs).
Bugfix candidate.
2002-02-17 07:03:05 +00:00
Barry Warsaw 56ab9214c9 Added a module docstring, which doubles as the --help text.
Added a bunch of command line options to make the script more
generic.
2002-02-08 23:25:46 +00:00
Guido van Rossum 65f50156cd www.google.com is better than google.com. 2002-02-08 16:20:07 +00:00
Tim Peters bd8ce79390 smart_backspace_event(): remove now-pointless int() call.
Bugfix candidate:  the current state of AutoIdent.py should be in 2.2.1.
2002-01-23 16:57:55 +00:00
Guido van Rossum 64e9d61a1e Properly fix SF bug #507298 (Gregor Lingl): shellpython2.2 -Qnew smart
indent error

Use // where int division is intended.  (This breaks IDLE for use with
previous Python versions -- I don't care.)
2002-01-23 15:15:13 +00:00
Tim Peters 4509168dbf classifyws(): Fix a "/" to work under -Qnew (as well as without it).
Bugfix candidate!
2002-01-23 05:02:20 +00:00
Jack Jansen dcfc20282b Added some support for Uicode arguments. Still leaves something to be desired, especially because of poor unicode support in PyArg_ParseTuple. 2002-01-01 22:40:08 +00:00
Jack Jansen f1472384dc Updated to current pathnames. 2002-01-01 22:39:07 +00:00
Jack Jansen 9aaee933da Patches by Jens B. Jorgensen with small mods by me:
- Converted the templates to use ANSI C prototypes (finally!)
- Use re in stead of deprecated regex
2001-12-27 23:35:43 +00:00
Jack Jansen 6f4f8c7fe1 Small change to allow for generation of QuickTime module for Windows. 2001-12-18 15:48:28 +00:00
Just van Rossum b48f1d3f8a OSX tweak: recognize both EXTERN_API_C and EXTERN_API declarations.
Jack: I hope I didn't break anything for you!
2001-12-12 20:51:22 +00:00
Guido van Rossum f0953b9dff Fix SF bug #482171: webchecker dies on file: URLs w/o robots.txt
The cause seems to be that when a file URL doesn't exist,
urllib.urlopen() raises OSError instead of IOError.  Simply add this
to the except clause.  Not elegant, but effective. :-)
2001-12-11 22:41:24 +00:00
Jack Jansen 5801a2d8e3 The module generator now tells its object generators about the module name (through the new setmodulename() method). If the module name has been set the object generators output it as part of the tp_name field for the object type. 2001-12-09 23:25:00 +00:00
Guido van Rossum 436fd75b4a Warning message about unfound file was missing trailing \n. 2001-12-06 03:28:17 +00:00
Guido van Rossum e51c3f5ecb SF patch #489680 (David Abrahams): h2py uses nonexistent method splitfields() 2001-12-06 03:24:30 +00:00
Guido van Rossum d3d8a1df5c A tiny but useful script that fires off a search on Google.
(Not sure if this is legal according to the Google terms of service. :-)
2001-12-04 15:23:47 +00:00
Jack Jansen b3be216b41 Merged changes made on r22b2-branch between r22b2 and r22b2-mac (the
changes from start of branch upto r22b2 were already merged, of course).
2001-11-30 14:16:36 +00:00
Guido van Rossum a30eacf458 Checking in Zooko's version per SF patch #476866, plus my changes to
the usage docs: (a) align properly, (b) explain properly.
2001-11-28 19:41:45 +00:00
Jack Jansen 1062e706e5 Don't initialize tp_type statically, it won't work on Windows. Spotted
by Thomas Heller (patch 459442).
2001-11-14 15:48:13 +00:00
Jack Jansen fc6a89270e Don't override asplit_pat in Scanner_UH3. No reason to do so, and it broke
generating Waste.
2001-10-30 13:11:24 +00:00
Guido van Rossum 03f7f08874 Part 2/2 of SF patch #416704: More robust freeze, by Toby Dickenson.
(With slight cosmetic improvements to shorten lines and a grammar fix
to a docstring.)

This addes -X and -E options to freeze.  From the docstring:

-X module     Like -x, except the module can never be imported by
              the frozen binary.

-E:           Freeze will fail if any modules can't be found (that
              were not excluded using -x or -X).
2001-10-18 19:15:32 +00:00
Jeremy Hylton b8903fbf9b Test utility to look for bad stacksize calculations. 2001-10-17 13:39:06 +00:00
Guido van Rossum 342d8f7780 Update outdated text about how to fix the font. 2001-10-08 22:49:12 +00:00
Jeremy Hylton eaa6e3c712 Replace all instances of err.strerror with err.
The strerror attribute contained only partial information about the
exception and produced some very confusing error messages.  By passing
err (the exception object itself) and letting it convert itself to a
string, the error messages are better.
2001-10-08 20:33:20 +00:00
Tim Peters ba001a0b67 Changed the reindenter to strip only trailing spaces and tabs from lines,
not other control characters string.rstrip() got rid of.  This caters to
the \f thingies Barry likes putting in Python source files.
2001-10-04 19:44:10 +00:00
Fred Drake 19405a4a2a Removed files no longer needed. 2001-09-28 17:22:35 +00:00
Tim Peters 2c9aa5ea8d Generalize file.writelines() to allow iterable objects. 2001-09-23 04:06:05 +00:00
Tim Peters 42b6877293 Fix restore (difflib.restore() became a generator too). 2001-09-22 21:59:18 +00:00
Tim Peters 8a9c284437 Make difflib.ndiff() and difflib.Differ.compare() generators. This
restores the 2.1 ability of Tools/scripts/ndiff.py to start producing
output before the entire comparison is complete.
2001-09-22 21:30:22 +00:00
Jeremy Hylton fe148c80b7 Update description of Tools/compiler 2001-09-20 15:27:30 +00:00
Jeremy Hylton 5953b40442 Remove setup.py, unnecessary since compiler package is the std
library.

Update README.
2001-09-20 15:02:27 +00:00
Jeremy Hylton e54b5b4f81 Moved to Tools/compiler along with astgen.py 2001-09-20 14:59:00 +00:00
Jeremy Hylton b3c569ce82 The compiler package is now part of the standard library.
Remove all these files.  All except astgen.py are moved to Lib/compiler.
2001-09-20 01:27:40 +00:00
Jeremy Hylton 5d1e34aa42 Track changes to compiler API 2001-09-17 21:31:35 +00:00
Jeremy Hylton 9dca36432e API change:
compile() becomes replacement for builtin compile()
compileFile() generates a .pyc from a .py
both are exported in __init__

compiler.parse() gets optional second argument to specify compilation
mode, e.g. single, eval, exec

Add AbstractCompileMode as parent class and Module, Expression, and
Interactive as concrete subclasses.  Each corresponds to a compilation
mode.

THe AbstractCompileMode instances in turn delegate to CodeGeneration
subclasses specialized for their particular functions --
ModuleCodeGenerator, ExpressionCodeGeneration,
InteractiveCodeGenerator.
2001-09-17 21:02:51 +00:00
Jeremy Hylton c8ed18a4e3 Re-created after change to astgen to calculate hardest_arg correctly 2001-09-17 20:17:02 +00:00
Jeremy Hylton eab4328f1a Fix calculation of hardest_arg.
The argument properties are ordered from easiest to hardest.  The
harder the arg, the more complicated that code that must be generated
to return it from getChildren() and/or getChildNodes().  The old
calculation routine was bogus, because it always set hardest_arg to
the hardness of the last argument.  Now use max() to always set it to
the hardness of the hardest argument.
2001-09-17 20:16:30 +00:00
Jeremy Hylton 2e4cc7e0d8 Last set of change to get regression tests to pass
Remove the only test in the syntax module.  It ends up that the
transformer must handle this error case.

In the transformer, check for a list compression in com_assign_list()
by looking for a list_for node where a comma is expected.

In pycodegen.compile() re-raise the SyntaxError rather than catching
it and exiting
2001-09-17 19:33:48 +00:00
Jeremy Hylton bf80a033ee Add -p option to invoke Python profiler 2001-09-17 18:08:40 +00:00
Jeremy Hylton ce0c19c4a8 Only print attributes that start with co_.
If passed a .py file as an argument, try to find its accompanying
.pyc.
2001-09-17 18:08:20 +00:00
Jeremy Hylton 37c9351cf6 Handle more syntax errors.
Invoke compiler.syntax.check() after building AST.  If a SyntaxError
occurs, print the error and exit without generating a .pyc file.

Refactor code to use compiler.misc.set_filename() rather than passing
filename argument around to each CodeGenerator instance.
2001-09-17 18:03:55 +00:00
Jeremy Hylton 09392b77a4 Add utility to set filename attribute on all nodes 2001-09-17 18:02:21 +00:00
Jeremy Hylton aee0bfedcc support true division 2001-09-17 16:41:02 +00:00
Tim Peters a2e2dbe8cd Improve handling of docstrings. I had feared this was a case of
introspection incompatibility, but in fact it's just that calltips
always gave up on a docstring that started with a newline (but
didn't realize they were giving up <wink>).
2001-09-16 02:19:49 +00:00
Jeremy Hylton 1048aa933f Add code generator for yield stmt 2001-09-14 23:17:55 +00:00
Jeremy Hylton 6a9cac68b6 del no longer necessary now that new module is gone 2001-09-14 22:54:48 +00:00
Jeremy Hylton 1e99a77120 Various sundry changes for 2.2 compatibility
Remove the option to have nested scopes or old LGB scopes.  This has a
large impact on the code base, by removing the need for two variants
of each CodeGenerator.

Add a get_module() method to CodeGenerator objects, used to get the
future features for the current module.

Set CO_GENERATOR, CO_GENERATOR_ALLOWED, and CO_FUTURE_DIVISION flags
as appropriate.

Attempt to fix the value of nlocals in newCodeObject(), assuming that
nlocals is 0 if CO_NEWLOCALS is not defined.
2001-09-14 22:49:08 +00:00
Jeremy Hylton 652a22437a The object-being sliced in an assignment to a slice is referenced, not
bound.

When a Yield() node is visited, assign to the generator attribute of
the scope, not the visitor.
2001-09-14 22:45:57 +00:00
Jeremy Hylton 9ee78f7d61 the new new doesn't define CO_xxx as the old new did 2001-09-14 22:44:35 +00:00
Jeremy Hylton fff252d20d the names attribute of Global is not a node 2001-09-14 22:40:36 +00:00
Mark Hammond 773c83be04 Fix for bug #442374 - Modulefinder registry support broken 2001-09-05 23:42:36 +00:00
Jack Jansen 5a1516bce5 Only output the buffer size error label if it is used.
Shuts up another couple of gcc warnings.
2001-09-05 10:27:53 +00:00
Jack Jansen d157b3795b Don't use a default "int" return type, gcc gives a warning about it. 2001-09-04 22:16:33 +00:00
Guido van Rossum a0ca3d611e - Reverse the meaning of the -m option: warnings about multiple /
operators per line or statement are now on by default, and -m turns
  these warnings off.

- Change the way multiple / operators are reported; a regular
  recommendation is always emitted after the warning.

- Report ambiguous warnings (both int|long and float|complex used for
  the same operator).

- Update the doc string again to clarify all this and describe the
  possible messages more precisely.
2001-09-04 16:22:01 +00:00
Tim Peters 83e7ccc9fd Whitespace normalization. 2001-09-04 06:37:28 +00:00
Guido van Rossum 1832de4bc0 PEP 238 documented -Qwarn as warning only for classic int or long
division, and this makes sense.  Add -Qwarnall to warn for all
classic divisions, as required by the fixdiv.py tool.
2001-09-04 03:51:09 +00:00
Guido van Rossum 61c345fa37 Rename the -D option to -Q, to avoid a Jython option name conflict. 2001-09-04 03:26:15 +00:00
Guido van Rossum e7a95983b0 Implement what the docstring said: multiple slashes per line are
treated the same as single ones by default.  Added -m option to issue
a warning for this case instead.
2001-09-02 14:11:30 +00:00
Guido van Rossum 13c51ecb8c Added more text to the docstring, updated the way the exit status is
percolated out, and some general cleanup.  The output is still the
same, except it now prints "Index: <file>" instead of "Processing:
<file>", so that the output can be used as input for patch (but only
the diff-style parts of it).
2001-09-02 04:49:36 +00:00
Guido van Rossum 43db62e263 A grep-like tool that looks for division operators. 2001-09-02 04:43:30 +00:00
Guido van Rossum 822218b400 The beginnings of a script to help finding / operators that may need
to be change to //.  The code is pretty gross so far, and I promise
I'll work on this more, but I have to go eat now! :-)
2001-09-01 21:55:58 +00:00
Jeremy Hylton 71ebc3359b Fix _convert_NAME() so that it doesn't store locals for class bodies.
Fix list comp code generation -- emit GET_ITER instead of Const(0)
after the list.

Add CO_GENERATOR flag to generators.

Get CO_xxx flags from the new module
2001-08-30 20:25:55 +00:00
Jeremy Hylton f71b5fec43 spurious pop 2001-08-30 15:50:34 +00:00
Jeremy Hylton e4685ec57e Track the block stack more reasonably in order to handle continue in
try/except or try/finally.

Previous versions had only track SETUP_LOOP blocks and ignored the
exception part.  This meant that it allowed continue inside a
try/except but generated buggy code.  Now it does the right thing.
2001-08-29 22:30:09 +00:00
Jeremy Hylton 9263848fa1 Improve stack depth computation for try/except and try/finally
Add CONTINUE_LOOP to the list of unconditional transfers
2001-08-29 22:27:14 +00:00
Jeremy Hylton 4bd4dddd55 Add __getitem__() handler for use by visitContinue() 2001-08-29 22:26:35 +00:00
Jeremy Hylton 1936745668 Generate SET_LINENO for list and tuple literals when the open paren
starts a new line.

Also fix undetected typo in visitDict() -- uncovered by recent change
to add lineno attrs to atoms.
2001-08-29 20:57:43 +00:00
Jeremy Hylton 7845cf8d37 Make sure that atoms (Tuple, List, etc.) have lineno attributes 2001-08-29 20:56:30 +00:00
Jeremy Hylton 4ba9001f5c Fix off-by-one errors in code to find depth of stack.
XXX The code is still widely inaccurate, but most (all?) of the time
it's an overestimate.
2001-08-29 20:55:17 +00:00
Jeremy Hylton bf77c465bd Undo change from list to dict for handling varnames, consts, etc.
As the doc string for _lookupName() explains:

    This routine uses a list instead of a dictionary, because a
    dictionary can't store two different keys if the keys have the
    same value but different types, e.g. 2 and 2L.  The compiler
    must treat these two separately, so it does an explicit type
    comparison before comparing the values.
2001-08-29 19:45:33 +00:00
Jeremy Hylton 5a9ac97040 Change default() to use getChildNodes() instead of getChildren() 2001-08-29 18:17:22 +00:00
Jeremy Hylton 94afe32b5e Support // and //=
Generate SET_LINENO for del statements.

Define klass=1 for PyFlowGraph constructor for a class statement.  A
class has no varnames.
2001-08-29 18:14:39 +00:00
Jeremy Hylton 7abf520d6c Add support for // and //=.
Avoid if/elif/elif/else tests where the final else is supposed to
handle exactly one case instead of all other cases.  When the list of
operators is extended, the catchall else treats all new operators as
the last operator in the set of tests.  Instead, raise an exception if
an unexpected operator occurs.
2001-08-29 18:12:30 +00:00
Jeremy Hylton d4be10dc2c Add generator detection to symbol table.
Fix bug in handling of statements like "l[x:y] = 2".  The visitor was
treating this as assignments to l, x, and y!
2001-08-29 18:10:51 +00:00
Jeremy Hylton e4e9cd4c01 Modify name conversion to be (hopefully) a bit more efficient.
Use a dictionary instead of a list to map objects to their offsets in
a const/name tuple of a code object.

XXX The conversion is perhaps incomplete, in that we shouldn't have to
do the list2dict to start.
2001-08-29 18:09:50 +00:00
Jeremy Hylton 5477f529d6 Revise implementations of getChildren() and getChildNodes().
Add support for floor division (// and //=)

The implementation of getChildren() and getChildNodes() is intended to
be faster, because it avoids calling flatten() on every return value.
But it's not clear that it is a lot faster, because constructing a
tuple with just the right values ends up being slow.  (Too many
attribute lookups probably.)

The ast.txt file is much more complicated, with funny characters at
the ends of names (*, &, !) to indicate the types of each child node.

The astgen script is also much more complex, making me wonder if it's
still useful.
2001-08-29 18:08:02 +00:00
Jeremy Hylton da8db8ca18 Don't include doc string of class in its code child 2001-08-29 17:19:02 +00:00
Jeremy Hylton 2ac9c3eec5 Make sure the JUMP_ABSOLUTE and POP_BLOCK at the end of a for loop are
contiguous.
2001-08-28 17:28:33 +00:00
Jeremy Hylton 63db7b9ca1 XXX_NAME ops should affect varnames
varnames should list all the local variables (with arguments first).
The XXX_NAME ops typically occur at the module level and assignment
ops should create locals.
2001-08-28 16:36:12 +00:00
Jeremy Hylton f354575328 Generate FOR_ITER-based loops instead of old FOR_LOOP-based loops 2001-08-28 16:35:18 +00:00
Jeremy Hylton c59e220000 Handle private names
(Hard to believe these were never handled before)

Add misc.mangle() that mangles based on the rules in compile.c.
XXX Need to test the corner cases

Update CodeGenerator with a class_name attribute bound to None.  If a
particular instance is created within a class scope, the instance's
class_name is bound to that class's name.

Add mangle() method to CodeGenerator that mangles if the class_name
has a class_name in it.

Modify the FunctionCodeGenerator family to handle an extra argument--
the class_name.

Wrap all name ops and attrnames in calls to self.mangle()
2001-08-27 22:56:16 +00:00
Jeremy Hylton 80ea40d858 emit SET_LINENO for augmented assignments 2001-08-27 21:58:09 +00:00
Jeremy Hylton 2afff324ea Many changes -- bug fixes and sundry improvements
Make nested scopes enabled by default

Add is_constant_false() helper so that compiled code and symbols are
consistent with builtin compiler's handling of "if 0:"

Fix doc string handling to be consistent with recent change that
eliminates the doc string from the Module's node attribute.

Add fix to print handling from Evan & Shane.

Track change to visitor api by making "verbose" explicit.

Comment out setting CO_NESTED flag (it's unnecessary in 2.2).
2001-08-27 21:51:52 +00:00
Jeremy Hylton cd8a127e1a Fix for sibling nodes that define the same free variable
Evan Simpson's fix.  And his explanation:

    If you defined two nested functions in a row that refer to the
    same non-global variable, the second one will be generated as
    though the variable were global.
2001-08-27 21:06:35 +00:00