diff --git a/wxPython/wxPython/py/CHANGES.txt b/wxPython/wxPython/py/CHANGES.txt index 52e43f06eb..d5f148c361 100644 --- a/wxPython/wxPython/py/CHANGES.txt +++ b/wxPython/wxPython/py/CHANGES.txt @@ -1,21 +1,14 @@ -============= - CHANGES.txt -============= - ------------------------------------------ - Changes made to each release of PyCrust ------------------------------------------ - 0.9.1 (3/21/2003 to //2003) -============================== +------------------------------ PyCrust is dead! Long live Py! -Changed PyCrust package to py. +* Renamed ``PyCrust`` package to ``py``. +* Moved code to wxPython's CVS repository. -Fixed bug in introspect.py on introspecting objects occurring -immediately after a secondary prompt, like this: +Fixed bug in ``introspect.py`` on introspecting objects occurring +immediately after a secondary prompt, like this:: >>> l = [1, 2, 3] >>> for n in range(3): @@ -28,28 +21,29 @@ Added documentation files: * wxPythonPackage.txt * wxPythonExamples.txt -Added PyAlaMode.py and PyAlaCarte code editors. +Added PyAlaMode and PyAlaCarte code editors. -Major refactoring to support editor and shell from the same base. +Major refactoring to support ``editor`` and ``shell`` from the same +base. Renamed program files: -* PyCrustApp.py to PyCrust.py -* PyFillingApp.py to PyFilling.py -* PyShellApp.py to PyShell.py -* wrap.py to PyWrap.py +* ``PyCrustApp.py`` to ``PyCrust.py`` +* ``PyFillingApp.py`` to ``PyFilling.py`` +* ``PyShellApp.py`` to ``PyShell.py`` +* ``wrap.py`` to ``PyWrap.py`` -Removed disabling of autocomplete for lists of 2000 items or more. The -current implementation of wxSTC can now handle lists this big. +Removed disabling of autocomplete for lists of 2000 items or more. +The current implementation of wxSTC can now handle lists this big. -Improved handling of sys.path to mimic the standard Python shell. +Improved handling of ``sys.path`` to mimic the standard Python shell. 0.9 (2/27/2003 to 3/20/2003) -============================ +---------------------------- Added fontIncrease, fontDecrease, fontDefault signals, receivers and -keybindings: +keybindings:: Ctrl+] Increase font size. Ctrl+[ Decrease font size. @@ -67,10 +61,10 @@ Introduced new tabbed interface: * wxPython Docs * wxSTC Docs -Filling.tree now expands tuples as well as lists. (It should have done -this all along, I just never noticed this omission before.) +``Filling.tree`` now expands tuples as well as lists. (It should have +done this all along, I just never noticed this omission before.) -Added this True/False test to all modules: +Added this True/False test to all modules:: try: True @@ -78,37 +72,38 @@ Added this True/False test to all modules: True = 1==1 False = 1==0 -Added wxd directory with decoration classes. +Added ``wxd`` directory with decoration classes. 0.8.2 (1/5/2003 to 2/26/2003) -============================= +----------------------------- -Wrapped sys.ps1, sys.ps2, and sys.ps3 in str(). (Thanks, Kieran -Holland.) +Wrapped ``sys.ps1``, ``sys.ps2``, and ``sys.ps3`` in ``str()``. +(Thanks, Kieran Holland.) Fixed minor things found by PyChecker. -Changed locals to use __main__.__dict__ and added code to clean up the -namespace, making it as close to the regular Python environment as -possible. This solves the problem of pickling and unpickling instances -of classes defined in the shell. +Changed locals to use ``__main__.__dict__`` and added code to clean up +the namespace, making it as close to the regular Python environment as +possible. This solves the problem of pickling and unpickling +instances of classes defined in the shell. -Made shell.PasteAndRun() a little more forgiving when it finds a ps2 -prompt line with no trailing space, such when you copy code from a web -page. +Made ``shell.PasteAndRun()`` a little more forgiving when it finds a +ps2 prompt line with no trailing space, such when you copy code from a +web page. + +Improved autocomplete behavior by adding these to shell:: -Improved autocomplete behavior by adding these to shell: self.AutoCompSetAutoHide(False) self.AutoCompStops(' .,;:([)]}\'"\\<>%^&+-=*/|`') -Added decor directory, decorator.py, stcDecor.py, and -stcConstants.py. These all serve the purpose of adding docstrings to -existing wxPython classes, in particular the wxStyledTextControl. +Added ``decor`` directory, ``decorator.py``, ``stcDecor.py``, and +``stcConstants.py``. These all serve the purpose of adding docstrings +to existing wxPython classes, in particular the ``wxStyledTextCtrl``. -Added wrap.py, a command line utility for running a wxPython app with -additional runtime-tools loaded, such as PyCrust (the only tool at -this point). +Added ``wrap.py``, a command line utility for running a wxPython app +with additional runtime-tools loaded, such as PyCrust (the only tool +at this point). Flushed the clipboard Cut/Copy operations so that selections will exist in the clipboard even after PyCrust has been closed. @@ -117,8 +112,8 @@ Improved the suppression of docstrings for simple data types appearing in the namespace viewer. Better handling of autocompletion with numeric types; no -autocompletion when typing a dot after an integer. If the -autocompletion is desired, type a space before the dot: +autocompletion when typing a dot after an integer. If the +autocompletion is desired, type a space before the dot:: func = 3 . @@ -126,40 +121,41 @@ More Filling!!! The namespace tree is now dynamically updated. 0.8.1 (12/20/2002 to 12/25/2002) -================================ +-------------------------------- -Improved keyboard handling with Autocomplete active. You can now use +Improved keyboard handling with Autocomplete active. You can now use Enter as well as Tab to select an item from the list. -Disabled autocomplete for lists of 2000 items or more. The current +Disabled autocomplete for lists of 2000 items or more. The current implementation of wxSTC can't handle lists this big. -Changed filling to always display docstrings for objects. This is +Changed ``filling`` to always display docstrings for objects. This is useful for objects whose docstrings have been decorated, rather than -coming directly from the source code. (Hmmm. Sounds like someone is -doing some decorating. I wonder where that would be helpful? ;-) +coming directly from the source code. (Hmmm. Sounds like someone is +doing some decorating. I wonder where that would be helpful? ) -Fixed handling of icon. Added images.py file. +Fixed handling of icon. Added ``images.py`` file. 0.8 (10/29/2002 to 12/16/2002) -============================== +------------------------------ Added "help" to startup banner info. -Made all wx and stc imports explicit. No more import *. +Made all ``wx`` and ``stc`` imports explicit. No more ``import *``. -Replaced use of wx's true and false with Python's True and False. +Replaced use of the ``wx`` module's ``true`` and ``false`` with +Python's ``True`` and ``False``. -Changed introspect.getRoot() to use tokenize module. This does a -slightly better job than the previous parsing routine and the code is -clearer. +Changed ``introspect.getRoot()`` to use ``tokenize`` module. This +does a slightly better job than the previous parsing routine and the +code is clearer. Improved handling of whitespace and empty types during introspection. -Fixed cut/copy clipboard problem under Linux. (Robin Dunn rocks!!!) +Fixed cut/copy clipboard problem under Linux. (Robin Dunn rocks!!!) -Added shell.about() which works like this: +Added shell.about() which works like this:: >>> shell.about() PyCrust Version: 0.8 @@ -171,18 +167,18 @@ Added shell.about() which works like this: Added copy plus and paste plus to shell menu. -Moved shell menu from shell.py to shellmenu.py. +Moved shell menu from ``shell.py`` to ``shellmenu.py``. -Added sys.stdin.readlines() support. +Added ``sys.stdin.readlines()`` support. -Added time.sleep() in readline() and OnIdle() event handler to free up -the CPU. +Added ``time.sleep()`` in ``readline()`` and ``OnIdle()`` event +handler to free up the CPU. 0.7.2 (2/22/2002 to 8/27/2002) -============================== +------------------------------ -Tweaked getAttributeNames() to pick up a few more attributes: +Tweaked ``getAttributeNames()`` to pick up a few more attributes:: '__bases__', '__class__', '__dict__', '__name__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', @@ -190,12 +186,12 @@ Tweaked getAttributeNames() to pick up a few more attributes: Added a tests directory and unit tests. -Improved support for empty types in the shell: [], () and {} as far as -when call tips and autocompletion are available. +Improved support for empty types in the shell: ``[]``, ``()`` and +``{}`` as far as when call tips and autocompletion are available. -Added support for the other triple string - ''''''. +Added support for the other triple string - ``''''''``. -Refactored introspect.py to improve testability. +Refactored ``introspect.py`` to improve testability. Improved call tips for unbound methods by leaving the "self" parameter, since unbound methods require an instance be passed. @@ -203,14 +199,14 @@ parameter, since unbound methods require an instance be passed. Fixed call tip bug where a tip was displayed when a "(" was typed after an object that wasn't callable. -Fixed getAllAttributeNames when str(object) fails. +Fixed ``getAllAttributeNames`` when ``str(object)`` fails. -Added brace highlighting. (Thank you, Kevin Altis.) +Added brace highlighting. (Thank you, Kevin Altis.) -Fixed problem displaying unicode objects in PyFilling. +Fixed problem displaying unicode objects in ``PyFilling``. -Changed how filling.py checks for expandable objects. Lists are now -expandable objects. +Changed how ``filling.py`` checks for expandable objects. Lists are +now expandable objects. Made the key handling more robust when there is an active text selection that includes text prior to the last primary prompt. Thanks @@ -219,148 +215,153 @@ to Raul Cota for pointing this out. Fixed wxSTC problem with brace highlighting and non-us keyboards. (Thank you for the patch, Jean-Michel Fauth.) -Added busy = wxBusyCursor() to key point in shell and filling. +Added ``busy = wxBusyCursor()`` to key points in ``shell`` and +``filling``. -Added OnCloseWindow handler to ShellFrame and CrustFrame. +Added ``OnCloseWindow`` handler to ``ShellFrame`` and ``CrustFrame``. -Default to SetWrapMode(1) for shell and namespace viewer. +Default to ``SetWrapMode(1)`` for shell and namespace viewer. -Added shell.wrap() and shell.zoom(). +Added ``shell.wrap()`` and ``shell.zoom()``. -Added Raul Cota autoCompleteKeys hooks. +Added autoCompleteKeys hooks for Raul Cota. Cleaned up various little key handling bugs. Changed input methods to get values from shell, rather than dialog -boxes. Renamed readIn to readline and readRaw to raw_input. +boxes. Renamed ``readIn`` to ``readline`` and ``readRaw`` to +``raw_input``. 0.7.1 (12/12/2001 to 2/21/2002) -=============================== +------------------------------- -Fixed OnChar() issues effecting European keyboards, as reported by +Fixed ``OnChar()`` issues effecting European keyboards, as reported by Jean-Michel Fauth. -Fixed introspect.py issue with xmlrpc objects reported by Kevin Altis. +Fixed ``introspect.py`` issue with xmlrpc objects reported by Kevin +Altis. Fixed some introspect/PyFilling issues with regard to Python 2.2. -Fixed font background color as reported by Keith J. Farmer. (Thanks) +Fixed font background color as reported by Keith J. Farmer. (Thanks) Fixed problem with call tips and autocompletion inside multiline commands as report by Kevin Altis. -Improved OnKeyDown handling of cut/copy/paste operations based on -feedback from Syver Enstad. (Thanks) +Improved ``OnKeyDown`` handling of cut/copy/paste operations based on +feedback from Syver Enstad. (Thanks) -Added a shell.help() method to display some help info. +Added a ``shell.help()`` method to display some help info. Changed sort of items in the namespace viewer to case insensitive. -Changed attributes.sort(lambda x, y: cmp(x.upper(), y.upper())) in +Changed ``attributes.sort(lambda x, y: cmp(x.upper(), y.upper()))`` in advance of an upcoming fix to an autocompletion matching bug in wxSTC. Improved support for ZODB by allowing namespace drilldown into BTrees. -Added shell.PasteAndRun() to support pasting multiple commands into -the shell from the clipboard. Ctrl+Shift+V or v. +Added ``shell.PasteAndRun()`` to support pasting multiple commands into +the shell from the clipboard. Ctrl+Shift+V or v. Enter now always processes a command (or copies down a previous one.) To insert a line break, press Ctrl+Enter. Escape key clears the current, unexecuted command. -History retrieval changed to replace current command. Added new keys +History retrieval changed to replace current command. Added new keys to insert from history - Shift+Up and Shift+Down. -Better call tips on objects with __call__ methods. +Better call tips on objects with ``__call__`` methods. Improved call tip positioning calculation. 0.7 (10/15/2001 to 12/11/2001) -============================== +------------------------------ Changed how command history retrieval functions work. Added Alt-P, Alt-N as keybindings for Retrieve-Previous, Retrieve-Next. -Added full support for mult-line commands, similar to IDLE. +Added full support for multi-line commands, similar to IDLE. -Changed introspect.getAttributeNames() to do a case insensitive sort. +Changed ``introspect.getAttributeNames()`` to do a case insensitive +sort. -Changed Cut/Copy/Paste to deal with prompts intelligently. Cut and -Copy remove all prompts. Paste can handle prompted or not-prompted +Changed Cut/Copy/Paste to deal with prompts intelligently. Cut and +Copy remove all prompts. Paste can handle prompted or not-prompted text. -Added CopyWithPrompts() method attached to Ctrl-Shift-C for those +Added ``CopyWithPrompts()`` method attached to Ctrl-Shift-C for those times when you really do want all the prompts left intact. Improved handling of the shell's read-only zone. -Changed CrustFrame.__init__ parameter spec to include all parameters -allowed by a wxFrame. +Changed ``CrustFrame.__init__`` parameter spec to include all +parameters allowed by a ``wxFrame``. -Changed FillingText to be read-only. +Changed ``FillingText`` to be read-only. -Renamed PyCrust.py to PyCrustApp.py to eliminate package/module name -conflicts that kept you from doing "from PyCrust import shell" inside -files located in the PyCrust directory. +Renamed ``PyCrust.py`` to ``PyCrustApp.py`` to eliminate +package/module name conflicts that kept you from doing ``from PyCrust +import shell`` inside files located in the ``PyCrust`` directory. -Renamed PyFilling.py to PyFillingApp.py and PyShell.py to -PyShellApp.py to maintain consistency. +Renamed ``PyFilling.py`` to ``PyFillingApp.py`` and ``PyShell.py`` to +``PyShellApp.py`` to maintain consistency. -Removed the __date__ property from all modules. +Removed the ``__date__`` property from all modules. -Fixed bug in introspect.getCallTip(), reported by Kevin Altis. +Fixed bug in ``introspect.getCallTip()``, reported by Kevin Altis. 0.6.1 (9/19/2001 to 10/12/2001) -=============================== +------------------------------- -Changed Shell.run() to always position to the end of existing text, as -suggested by Raul Cota. +Changed ``Shell.run()`` to always position to the end of existing +text, as suggested by Raul Cota. -Changed introspect.getAllAttributeNames() to break circular references -in object.__class__, which occurs in Zope/ZODB extension classes. +Changed ``introspect.getAllAttributeNames()`` to break circular +references in ``object.__class__``, which occurs in Zope/ZODB +extension classes. -Changed filling.FillingTree.getChildren() to introspect extension +Changed ``filling.FillingTree.getChildren()`` to introspect extension classes. -Fixed minor bugs in introspect.getCallTip() that were interfering with -call tips for Zope/ZODB extension class methods. +Fixed minor bugs in ``introspect.getCallTip()`` that were interfering +with call tips for Zope/ZODB extension class methods. In preparation for wxPython 2.3.2, added code to fix a font sizing problem. Versions of wxPython prior to 2.3.2 had a sizing bug on Win platform where the font was 2 points larger than what was specified. -Added a hack to introspect.getAllAttributeNames() to "wake up" ZODB -objects that are asleep - in a "ghost" state. Otherwise it returns -incomplete info. +Added a hack to ``introspect.getAllAttributeNames()`` to "wake up" +ZODB objects that are asleep - in a "ghost" state. Otherwise it +returns incomplete info. 0.6 (8/21/2001 to 9/12/2001) -============================ +---------------------------- -Added PyFilling.py and filling.py. +Added ``PyFilling.py`` and ``filling.py``. -PyShell.py and PyFilling.py can now be run standalone, as well as -PyCrust.py. +``PyShell.py`` and ``PyFilling.py`` can now be run standalone, as well +as ``PyCrust.py``. -Added crust.py and moved some code from PyCrust.py to it. +Added ``crust.py`` and moved some code from ``PyCrust.py`` to it. Added command history retrieval features submitted by Richie Hindle. -Changed shell.write() to replace line endings with OS-specific -endings. Changed shell.py and interpreter.py to use os.linesep in -strings having hardcoded line endings. +Changed ``shell.write()`` to replace line endings with OS-specific +endings. Changed ``shell.py`` and ``interpreter.py`` to use +``os.linesep`` in strings having hardcoded line endings. -Added shell.redirectStdin(), shell.redirectStdout() and -shell.redirectStderr() to allow the surrounding app to toggle requests -that the specified sys.std* be redirected to the shell. These can also -be run from within the shell itself, of course. +Added ``shell.redirectStdin()``, ``shell.redirectStdout()`` and +``shell.redirectStderr()`` to allow the surrounding app to toggle +requests that the specified ``sys.std*`` be redirected to the shell. +These can also be run from within the shell itself, of course. The shell now adds the current working directory "." to the search -path: +path:: sys.path.insert(0, os.curdir) @@ -368,115 +369,120 @@ Added support for distutils installations. 0.5.4 (8/17/2001 to 8/20/2001) -============================== +------------------------------ -Changed default font size under *nix to: +Changed default font size under Linux to:: 'size' : 12, 'lnsize' : 10, -Changed Shell to expect a parameter referencing an Interpreter class, -rather than an intepreter instance, to facilitate subclassing of -Interpreter, which effectively broke when the Editor class was +Changed ``Shell`` to expect a parameter referencing an Interpreter +class, rather than an intepreter instance, to facilitate subclassing +of Interpreter, which effectively broke when the Editor class was eliminated. -Fixed PyCrustAlaCarte.py, which had been broken by previous changes. +Fixed ``PyCrustAlaCarte.py``, which had been broken by previous +changes. -Created InterpreterAlaCarte class as an example for use in the demo. +Created ``InterpreterAlaCarte`` class as an example for use in the +demo. -Split PyCrust.py into PyCrust.py and PyShell.py in anticipation of -PyFilling. +Split ``PyCrust.py`` into ``PyCrust.py`` and ``PyShell.py`` in +anticipation of ``PyFilling.py``. 0.5.3 (8/16/2001) -================= +----------------- -Added patch to PyCrust.py to fix wxPython bug: +Added patch to ``PyCrust.py`` to fix wxPython bug:: wxID_SELECTALL = NewId() # This *should* be defined by wxPython. 0.5.2 (8/14/2001 to 8/15/2001) -============================== +------------------------------ Shortened module names by dropping "PyCrust" as a prefix. -Changed version to VERSION in version module. +Changed ``version`` to ``VERSION`` in ``version`` module. Added Options menu to PyCrust application. Eliminated the Editor class (and editor module) by merging with Shell. This means that Shell "is a" wxStyledTextCtrl rather than "has a". -There just wasn't enough non-gui code to justify the separation. Plus, -Shell will be much easier for gui toolkits/designers to deal with now. +There just wasn't enough non-gui code to justify the separation. +Plus, Shell will be much easier for gui toolkits/designers to deal +with now. 0.5.1 (8/10/2001 to 8/14/2001) -============================== +------------------------------ -Added introspect module. +Added ``introspect`` module. -Moved some functionality from PyCrustInterp to introspect. +Moved some functionality from ``PyCrustInterp`` to ``introspect``. -Changed introspect.getRoot() to no longer remove whitespace from the -command. This was a remnant of a previous approach that, when left as -part of the current approach, turned out to be a really bad thing. +Changed ``introspect.getRoot()`` to no longer remove whitespace from +the command. This was a remnant of a previous approach that, when +left as part of the current approach, turned out to be a really bad +thing. -Changed introspect.getRoot() to allow commands of '', "", """""", [], -(), and {} to pass through. This allows you to type them, followed by -a dot, and get autocomplete options on them. +Changed ``introspect.getRoot()`` to allow commands of ``''``, ``""``, +``""""""``, ``[]``, ``()``, and ``{}`` to pass through. This allows +you to type them, followed by a dot, and get autocomplete options on +them. -Changed introspect.getRoot() to identify some situations where strings -shouldn't be considered roots. For example: +Changed ``introspect.getRoot()`` to identify some situations where +strings shouldn't be considered roots. For example:: >>> import PyCrust # To illustrate the potential problem. >>> len('PyCrust.py') Typing the dot at the end of "PyCrust" in the second line above should NOT result in an autocompletion list because "PyCrust" is part of a -string in this context, not a reference to the PyCrust module -object. Similar reasoning applies to call tips. For example: +string in this context, not a reference to the PyCrust module object. +Similar reasoning applies to call tips. For example:: >>> len('dir(') Typing the left paren at the end of "dir" should NOT result in a call tip. -Both features now behave properly in the examples given. However, +Both features now behave properly in the examples given. However, there is still the case where whitespace precedes the potential root -and that is NOT handled properly. For example: +and that is NOT handled properly. For example:: >>> len('this is a dir(') -and +and:: >>> len('This is PyCrust.py') More code needs to be written to handle more complex situations. -Added locals=None parameter to Shell.__init__(). +Added ``locals=None`` parameter to ``Shell.__init__()``. -Added support for magic attribute retrieval. Users can change this -with: +Added support for magic attribute retrieval. Users can change this +with:: >>> shell.editor.autoCompleteIncludeMagic = 0 Added the ability to set filters on auto completion to exclude -attributes prefixed with a single or double underscore. Users can -exclude one or the other or both with: +attributes prefixed with a single or double underscore. Users can +exclude one or the other or both with:: >>> shell.editor.autoCompleteExcludeSingle = 1 >>> shell.editor.autoCompleteExcludeDouble = 1 0.5 (8/8/2001) -============== +-------------- Mostly just a final version change before creating a release. 0.4 (8/4/2001 to 8/7/2001) -========================== +-------------------------- Changed version/revision handling. @@ -484,7 +490,7 @@ Fixed bugs. 0.3 (8/2/2001 to 8/3/2001) -========================== +-------------------------- Removed lots of cruft. @@ -496,20 +502,20 @@ Added call tips. 0.2 (7/30/2001 to 8/2/2001) -=========================== +--------------------------- Renamed several files. Added command autocompletion. -Added menus to PyCrust.py: File, Edit and Help +Added menus to PyCrust.py: File, Edit and Help. -Added sample applications: PyCrustAlaCarte.py, PyCrustAlaMode.py, and -PyCrustMinimus.py. +Added sample applications: ``PyCrustAlaCarte.py``, +``PyCrustAlaMode.py``, and ``PyCrustMinimus.py``. 0.1 (7/1/2001 to 7/19/2001) -=========================== +--------------------------- Added basic syntax coloring much like Boa. @@ -518,8 +524,8 @@ Added read-only logging much like IDLE. Can retrieve a previous command by putting the cursor back on that line and hitting enter. -Stdin and raw_input operate properly so you can now do help() and -license() without hanging. +Stdin and raw_input operate properly so you can now do ``help()`` and +``license()`` without hanging. Redefined "quit", "exit", and "close" to display a better-than-nothing response. @@ -530,21 +536,14 @@ Created SourceForge account, but nothing was posted. In the beginning, there was pie... (7/1/2001) -============================================= +--------------------------------------------- -Blame it all on IDLE, Boa and PythonWin. I was using all three, got +Blame it all on IDLE, Boa and PythonWin. I was using all three, got frustrated with their dissimilarities, and began to let everyone know -how I felt. At the same time, Scintilla looked like an interesting +how I felt. At the same time, Scintilla looked like an interesting tool to build a shell around. And while I didn't receive much in the way of positive feedback, let alone encouragement, I just couldn't let -go of the idea of a Scintilla-based Python shell. Then the PythonCard +go of the idea of a Scintilla-based Python shell. Then the PythonCard project got to the point where they were talking about including a -shell in their development environment. That was all the incentive I -needed. PyCrust had to happen... - - -CVS Information -=============== -$Date$ -$Revision$ -$Id$ +shell in their development environment. That was all the incentive I +needed. PyCrust had to happen...