summaryrefslogtreecommitdiffstats
path: root/Tools
Commit message (Collapse)AuthorAgeFilesLines
* complete rewriteJeremy Hylton2000-03-162-800/+831
| | | | | | | | | code generator uses flowgraph as intermediate representation. the old rep uses a list with explicit "StackRefs" to indicate the target of jumps. pyassem converts flowgraph to bytecode, breaks up individual steps of generating bytecode
* simplify visitor walker classJeremy Hylton2000-03-161-32/+22
| | | | | | - remove postorder - remove protocol for automatically walking children based on visitor method return value; now only walks if there is no method
* fix list.append problemsJeremy Hylton2000-03-161-3/+3
|
* change name of Set method: items -> elements (avoids confusion withJeremy Hylton2000-03-161-1/+1
| | | | dict)
* Tim Peters writes:Guido van Rossum2000-03-131-4/+5
| | | | | | | | | | Fix bad auto-indent I recently introduced when replacing the regexp that could cause re to blow up: if or_any_other_block_opener: # one indenting comment line ^ cursor ended up at the caret (the bug) ^ but belongs here (the post-patch behavior)
* Marc-Andre Lemburg: addedGuido van Rossum2000-03-102-0/+290
| | | | gencodec.py - Create Python codecs from Unicode mapping files
* a simple client-server framework for executing code in a differentJeremy Hylton2000-03-091-0/+343
| | | | | | process not yet connected with IDLE
* A bunch of changes, primarily to command line argument parsingBarry Warsaw2000-03-081-64/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (inspired by Detlef Lannert). Specifically, -k/--keyword no longer takes an optional argument to clear the default keywords. Instead, use -K/--no-default-keywords to clear them. -n/--add-location also no longer takes an optional argument to set the comment style. Instead, use -S/--style to set the comment style to GNU or Solaris. -o/--output can take `-' as the filename, meaning write to standard output. The inputfile name can also be `-' meaning read from standard in. A few other changes include Kludge to mark the file docstring as translatable. Since the marking is to place _() around the docstring, and because we actually have to define the _() function before we use it, this means that we have to manually assign to __doc__ the output of _(). This doesn't seem too bad because you'll only use this idiom when translating a script's docstring (you really don't need to translate most module docstrings). Convert everything to string methods and do not import the string module. Bump the version number to 1.1
* Override the Undo delegator to forbid any changes before the I/O mark.Guido van Rossum2000-03-071-0/+24
| | | | | It beeps if you try to insert or delete before the "iomark" mark. This makes the shell less confusing for newbies.
* replace : with =Jeremy Hylton2000-03-071-2/+2
|
* rename the global IdleConfParser object from IdleConf to idleconfJeremy Hylton2000-03-071-4/+4
| | | | standard usage is now from IdleConf import idleconf
* rename the global IdleConfParser object from IdleConf to idleconfJeremy Hylton2000-03-075-48/+40
| | | | | | standard usage is now from IdleConf import idleconf replace : with = in config.txt
* Tweak the goto file/line command (in the right button menu in PyShellGuido van Rossum2000-03-071-14/+25
| | | | | | | | | | | | | and output windows) so that it if it doesn't succeed with the line at the cursor, it tries the line before that. This is handy with tracebacks, where my natural tendency is to click in the displayed source line rather than in the file/line indicator just above it. Now I can indulge this tendency. I factored out a helper and changed the error handling so that a non-existing file is treated as if the line didn't match -- this is handy because some function calls (e.g. "foo.bar(1)") match the grep pattern.
* Added a bunch of TODO items that recently came up in the idle-dev list.Guido van Rossum2000-03-071-40/+94
| | | | Also removed a bunch of items
* If we're in the current input and there's only whitespace beyond theGuido van Rossum2000-03-071-0/+5
| | | | | | | cursor, erase that whitespace first. This avoids a particularly confusing case where hitting Return at the end of the command didn't do what it was expected to do -- because it wasn't considered to be at the end of the command. Now it is.
* compiler command-line interface moved here from compiler.pycodegenJeremy Hylton2000-03-061-0/+25
|
* import compile function form pycodegenJeremy Hylton2000-03-061-0/+4
|
* rename compile.py to pycodegen.pyJeremy Hylton2000-03-061-176/+25
| | | | | | | | | | fix imports remove parse functions and visitor code track name change: Classdef to Class add some comments and tweak order of visitXXX methods get rid of if __name__ == "__main__ section
* add a doc stringJeremy Hylton2000-03-061-0/+20
| | | | import some useful functions from contained modules
* fix import to refer to compiler packageJeremy Hylton2000-03-061-1/+1
|
* revise arguments for addCode method on lnotab. take several numbersJeremy Hylton2000-03-061-10/+13
| | | | that are internally converted to chars, rather than taking a string.
* change node Classdef to ClassJeremy Hylton2000-03-062-24/+25
| | | | | | | add doc string to transformer module add two helper functions: parse(buf) -> AST parseFile(path) -> AST
* factor out the tree walking/visitor code that was in compile.pyJeremy Hylton2000-03-061-0/+127
|
* Defer all the work to idle.py, which has recently become tooGuido van Rossum2000-03-061-2/+1
| | | | complicated to copy in-line here.
* In getdef(), don't die when the section doesn't exist.Guido van Rossum2000-03-061-2/+2
|
* Don't use 1.6-isms (s.startswith()) -- we want to distribute thisGuido van Rossum2000-03-062-4/+4
| | | | before 1.6 is out so it has to be compatible with 1.5.2.
* superceded by IdleConf/config.txtJeremy Hylton2000-03-031-19/+0
|
* migrate to use of IdleConf and config files to set optionsJeremy Hylton2000-03-036-86/+51
| | | | | | | | | | | | | | | | | | | | | | | idle.py: Load the config files before anything else happens XXX Need to define standard way to get files relative to the IDLE install dir PyShell.py: ColorDelegator.py: Get color defns out of IdleConf instead of IdlePrefs EditorWindow.py: Replace hard-coded font & window size with config options Get extension names via IdleConf.getextensions extend.py: Obsolete. Extensions defined in config file. ParenMatch.py: Use config file for extension options. Revise comment about parser requirements. Simplify logic on find returning None.
* default to cwd if os.environ['HOME'] does not existJeremy Hylton2000-03-031-2/+6
|
* a ConfigParser for idle and three configuration filesJeremy Hylton2000-03-034-0/+187
|
* Patch by Tim Peters:Guido van Rossum2000-03-031-9/+11
| | | | | | | | | | | | | | | | Changes the one regexp in PyParse capable of making the re module blow the C stack when passed unreasonable <0.9 wink> program text. Jeremy Hylton provoked this with a program of the form: x = (1, 2, ... # 9997 lines deleted here 10000, ) Programs "like this" will no longer (no matter how many lines they contain) trigger re death. OTOH, you can now make another class of unreasonable program that will take much longer to parse.
* paren matching extension. warning: in current version of IDLE, canJeremy Hylton2000-03-021-0/+193
| | | | not run this extension and CallTips extension at the same time.
* Correct type error in getopt.error handling code.Guido van Rossum2000-02-291-1/+1
|
* Script by Tim Peters to discover illegal append() calls.Guido van Rossum2000-02-291-0/+168
|
* Fix multi-arg append().Guido van Rossum2000-02-291-1/+1
|
* Two buglet fixes. Peter Funk caught the bug in make_escapes:Barry Warsaw2000-02-271-7/+9
| | | | | | | This will fold all ISO 8859 chars from the upper half of the charset into the lower half, which is ...ummm.... unintened. The second is a typo in the reference to options.escape in main().
* Changes submitted by Peter Funk (some fixes/additions by B.Warsaw) toBarry Warsaw2000-02-261-40/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make pygettext more compatible with GNU xgettext, specifically: Added -E/--escape for allowing pass-thru of iso8859-1 characters above 7 bits. Added -o/--output option for renaming the output file from messages.pot (there's overlap with -d/--default-domain, but GNU xgettext has them both). Added -p/--output-dir for specifying the output directory for messages.pot. Added -V/--version for printing the version number. Added -w/--width for specifying the output page width (this is because now pygettext, like GNU xgettext will put several locations on the same line to cut down on vertical space). Added -x/--exclude-file for specifying a list of strings that are not to be extracted from the input files. Bumped version number to 1.0 Try to import fintl and use fintl.gettext as _ if available. Fall back is to use identity definition of _(). Moved the escape creation to a function make_escapes() so that its behavior can be controlled by the -E option. __openseen(): Support the -x option. write(): Support -w option and vertical space preserving feature. main(): Support new options.
* Deleting tabpolice.py; it was superceded by tabnanny.py long ago.Guido van Rossum2000-02-231-104/+0
|
* Moved tabnanny.py to standard library status.Guido van Rossum2000-02-231-368/+0
|
* Added tabnanny.py, by Tim Peters, formerly from Tools/scripts, to theGuido van Rossum2000-02-231-0/+4
| | | | | | | | standard library. Added some comments: # XXX Note: this is now a standard library module. # XXX The API needs to undergo changes however; the current code is too # XXX script-like. This will be addressed later.
* Added a new command: Check module (Alt-F5) It does a full syntax checkGuido van Rossum2000-02-221-9/+82
| | | | | | | | of the current module. It also runs the tabnanny to catch any inconsistent tabs. Also did a little bit of refactoring: added an errorbox() method to simplify the display of error dialogs.
* satisfy the tabnanny (thanks to MH for noticing the problem)Jeremy Hylton2000-02-212-98/+98
|
* changes to _lookupNameJeremy Hylton2000-02-171-14/+13
| | | | | | - removed now (happily) unused second arg - need to verify results of [].index are correct; for building consts, need to have same value and same type, e.g. 2 not the same as 2L
* the previous quick hack to fix def foo((x,y)) failed on some casesJeremy Hylton2000-02-172-16/+48
| | | | | | | | | | | | | | | (big surprise). new solution is a little less hackish. Code gen adds a TupleArg instance in the argument slot. The tuple arg includes a copy of the names that it is responsble for binding. The PyAssembler uses this information to calculate the correct argcount. all fix this wacky case: del (a, ((b,), c)), d which is the same as: del a, b, c, d (Can't wait for Guido to tell me why.) solution uses findOp which walks a tree to find out whether it contains OP_ASSIGN or OP_DELETE or ...
* add varargs and kwargs flags to Lambda nodesJeremy Hylton2000-02-171-0/+5
|
* satisfy the tabnannyJeremy Hylton2000-02-171-197/+199
| | | | fix broken references to filename var in generateXXX methods
* Add primitive customization of window size and font.Guido van Rossum2000-02-171-3/+19
| | | | A few alternative selections can be made by changing "if 0" to "if 1".
* The 0.5 release happened on 2/15, not on 2/14. :-)Guido van Rossum2000-02-161-1/+1
|
* support for arglists with implicit tuple unpacksJeremy Hylton2000-02-161-15/+61
| | | | | | | | | | | | | | - added a number of support methods to generate code just before the body - hack protocol for communicating number of args to PyAssembler fix TryExcept generation for case where exception handler has no body fix visitAssAttr add comment about incomplete visitAssName stop using the ExampleASTVisitor change script invocation to accept a list of .py files (e.g. Lib/*.py)
* more robust assignment of lineno for keyword argsJeremy Hylton2000-02-161-3/+3
| | | | | | | | get the lineno from the name of the keyword arg example of case that didn't work-- def foo(x, y, a = None, b = None):