Version 3.2.1 ------------- September 11, 2009 Features * Added support for Stackless Python 3.0 and 3.1 * Added support for debugging x86_64 Python 2.4+ on OS X Bug Fixes * Don't print when debugging * Handle lost connection from debug server * Recognize all names in form (with angle brackets) as pseudo file names when they are found in __file__ or code objects while debugging * Don't print FutureWarnings in shell and other places when working with Python 2.3 * Fixed Stackless Python support in the 64-bit Linux distributions * Don't display following decorator as part of argument list when entering new def * Correctly report failed commits * Fixed failure to start on Intel OS X if system-wide framework build of Python is not found * Don't indent incorrectly within comment blocks at top level * Don't always stop on a NameError exception by default * Use indent size rather than tab size in vs-tab command * Disable watching of files and directories by version control support by default and add ways to easily enable it * Don't report syntax errors for some valid dictionaries * Find .chm file on Windows even if registry entry contains trailing slashes * Drag-n-drop within the project tree works on Windows * Don't stop when logger error is called with exc_info set to false * Fix auto-indent in a few special cases * Don't fail to start when DYLD_FORCE_FLAT_NAMESPACE or DYLD_INSERT_LIBRARIES are defined with conflicting values on OS X * Don't leak file descriptors when fail to start subprocess Version 3.2 final ----------------- August 18, 2009 Changes * The old Revision Control project properties, under the Extensions tab, have been removed. Use the Version Control preferences instead to configure the new version control integration. * The scripting API support for revision control modules is deprecated: RegisterRevisionControlModule is ignored and ActiveRevisionControlModule always returns True. The scripts that implemented the old-style revision control integration for CVS, Subversion, and Perforce are now disabled by default. These have been replaced with new built-in functionality. Bug Fixes * Remove direct-clicking on project view to rename files and directories since it conflicts with opening files by double click; instead, add menu item to initiate rename * Always use system gtk on 64-bit Linux * Fix bug that disabled editing of project test patterns * Show function or class in symbol menu even if the same name was imported * Don't show definition from base class in source assistant as a likely type * Avoid adding perspective with name set to None * Don't change logging behavior when watching for exceptions * Warn when fail to find a Linux trash * Start shell even if file of seen wing tips is corrupted * Analyze recursive from import * statements * Moved Properties item in Project context menu last to match convention * Update contents of already-visible Perspectives dialog if perspectives are changed in some other way * Correct desktop icon on Linux so it should work with more Linux variants * Don't crash when analysing class with bad syntax * Start shell even if home directory doesn't exist * Take down auto-completer when pressing a completion key and no completion matches * Disable Vista legacy admin file virtualization Version 3.2 beta3 ----------------- July 23, 2009 Features * Perforce & Mercurial version control integration * Added 64-bit Debian, RPM, and tar file installers for Linux * Added Select All item to Testing tool context menu * Added Blame/Praise and Last Revision Diff in the new Subversion integration * Context menu item for copying stack to clipboard in the Call Stack tool * By default confirm copy/move operations initiated by dragging on the Project Bug Fixes * Don't hang up and/or eat large amounts of CPU after an untitled editor is closed or saved * Set default mode for Python to unbuffered (-u) on all OSes so output while debugging is seen more quickly and prompts for raw_input() and similar cases are shown * View as list in version control status tool now works * Don't falsely report syntax errors for some print statements or '*' inside function calls * Avoid flagging "d[a*b] = 1" (and other uses of *) as a syntax error * Add files to recent file menu when toggling state to sticky * Don't flash edit perspective when using debugger restart feature * Recognize .zcml files as XML by default * Fix project Move to Trash on KDE 4+ * Avoid rare traceback seen when moving forward/backward by words * Fix saving of fold state in editors * Don't show the OS X keyboard settings dialog if the settings are already correct under XQuartz * Show a more informative dialog if X11 keyboard settings need to be adjusted under XQuartz * Make sure default log config is set up as it would be outside the debugger before we add our debugger's internal logger * Don't hang on files with names like myfile.py.gz or myfile.py.Z (the mime type and encoding were determined incorrectly as Python) * Debugger no longer reports syntax errors on files with \r\n line endings * Avoid failing to start when there are unexpected files in the autosave dir * Fix problem with unicode in analysis cache * Avoid scrolling during word moves and word operations if the line is already visible on the screen * Bind Alt-/ to show autocompleter in emacs mode and rebind toggling current fold point to Alt-\ to avoid common conflict of old Alt-Tab binding under Posix window managers * Fixed Indentation tool to work with non-Python files * Improved the look of the indentation guides * Don't crash if using private gtk and GDK_PIXBUF_MODULE_FILE is set * Show a dialog on startup if fail to access the user settings directory * Use better default encoding for I/O in the Python Shell on OS X * Retain selection in version control status view to avoid automatic refresh from altering the set of files being operated on * Fixed bug with vi mode :1,1mo2 style move operations * Show underscores correctly in Pylint panel status area Version 3.2 beta2 ----------------- June 17, 2009 Features * Support for Python 3.1 * Rewritten version control integration with support for Subversion, CVS, Bazaar (bzr), and git. See notes in the Changes section below if you have been using Perforce with Wing. * Debugger shows an underline rather than highlighted line when at the very end of a function or method and the last line has already executed. At this time, is given in the Locals in Stack Data and in a tool tip when the cursor hovers over the return statement in the editor. * Added How-To for using Wing with IronPython * Implemented new Project Home Directory in Project Properties under the Options tab to set home directory for project. This is used to override the project file's location as the directory on which Wing will base relative paths for file names in the Project view and elsewhere. It is also used as the directory in which the Python Shell subprocess is launched and for the starting directory when the Default Directory Policy preference is set to Current Project. * Added pref for setting max auto-completer height, default seven lines * Added sub-menu of Edit menu for selecting between keyboard personalities * Implemented emacs Ctrl-O (insert newline after caret) * Ctrl-W places current word in editor into active mini-search * Allow editing the Python Path in Project and File Properties either as a text string or a list * Support __dir__ and _getAttributeNames for dynamic (runtime) completion when the Debugger / Advanced / Allow Dynamic Introspection preference is enabled * Added focus-current-editor command to get focus out of tools * Keep focus on editor when using key equivalents to search/replace with the Search tool * Stop on logged exception in when-printed mode * Added ability to set project-specific pylintrc files * Show key bindings in toolbar tooltips * Show dimensions of compound values in the debug data views * Ability to copy result summary for selected unit tests to the clipbooard * Added Project context menu item to search in selected item * Project files already opened by another instance of Wing are opened read-only to avoid confusing reload dialogs Changes * The version control integration has been rewritten and is now enabled and configured from the Version Control preferences group and includes a tool panel accessible from the Tools menu. Subversion, CVS, Bzr, and Git are currently supported. By default Wing enables the new version control system and disables the old one. If you need to use Perforce, or if you run into problems, the old revision control system can be re-enabled from Project Properties under the Extensions tab. Bug Fixes * Provide valid completion list in 'class x(' context * Fixed perspectives to work properly if auto-perspectives are never enabled * Improved the documentation on perspectives * Re-added the main debug file items to project context menu and restored those in the Debug menu to their former design * Fixed infinite recursion and missing attributes is source analysis * Fixed syntax error message for Python 3.0 and exception tool markup bug * Show key bindings for editor forward/back history buttons in the tool tip * Fix tab indent of string expressions * Increased the frequency of network polling in the debugger, which speeds up some operations * Provide str autocomplete list when interpreter is 2.6.x * Generate more attributes in .pi files when scraping extension modules * Don't drop the debug connection upon call to os.fork() (but child process is not debugged) * Fixed Always Report / Never Report exceptions preferences * Don't fail to omit default tool panels when removed and quit/restart * Don't show completed and terminated threads in the debugger thread list * VI mode correctly toggles position when `` is followed by `` * Support .pi files for package defining extension modules as used in IronPython * Show completer also when type "from a.b." * Added properties to sys.stdin wrapper used in Python 3. * Don't show Wing Tips unless a license or trial has been activated * Source assistant now respects display font when using default theme on win32 * Added info on exception handling to the Django How-To * Avoid problems caching analysis information for files in a zip/egg * Don't report always-report exceptions if there is a handler that handles a base class of the exception (such as 'except NameError:' when an UnboundLocalError is raised) * Don't choke on \r\n in continued single quoted strings * Added .pxd files to default to Cython type * Respect sorting of items in list preferences and properties when items are reordered with drag and drop * Correctly generate signatures in .pi files for functions with no args as specified in doc strings * Always save the current perspective before changing to a new one * Don't flag the following as errors in Python 3.0 style code: 0o07, 0b001, b'', 'raise A from B', 'except X as e', 'class A(metaclass=X)', 'class A(B, x=1)', 'print(x, end=">>")', 'x(a, b, *args, c=1)', 'a, *rest, b = x' and similar, {a, b} set literals, and {a: b for a, b in d} dict comprehensions * Don't choke on variable changes initiated from the debug probe when working under Python 3.0 * Support also debugging Stackless tasklets started with setup() and bind() * When debugging a test, display output a line at a time * Always allocate room for icons in autocomplete popup * Menus prefer "Command-" key binding on OS X if there are several bindings for a command, and the shortest binding in other cases Version 3.2 beta1 ----------------- March 18, 2009 Features * File management in Project view * Create and delete files on disk via the context menu * Rename files by clicking on and editing their names * Copy or move files by drag and drop in the project view * Auto-completion in the editor sources completion data from live runtime when the debugger is active * Perspectives: Create and save named GUI layouts and optionally automatically transition when debugging is started * Partial support for Python 3.0 * Highlight correct keywords and builtins * Working goto-definition and auto-completion for many cases * Debugging support * Improved support for Cython and Pyrex (*.pyx files) * Don't show syntax errors * Improved syntax highlighting * Prompt to restore auto-saved changes when Wing fails to save files due to a crash or preemptive exit * Follow selection in the project tool selects the file name as documents are opened * Added to scripting API: * Ability to connect to active-window-changed signal * Save method on document object * Added key binding documentation to the manual * Set default bookmark name for a new bookmark to the scope name, when possible * Traversal of bookmarks with next/previous within all files or the current file only * Redesigned Exceptions tool with Options menu and content that can be easily copied to the clipboard * Arguments may be specified for external console programs * Added Restart Debugging item in Debug menu and tool bar * Preference to always highlight the current editor line, so the caret is easier to find (disabled by default) * Allow file open / save dialog to be resized on Windows * Added an auto-completer mode that replaces current word only when it seems to match the completion choice * Support completion in relative import statements Changes * The Main Debug File is now set in Project Properties under the Debug tab or via "Set Main Debug File..." in the Debug menu and not from the Project context menu * The commands 'next-bookmark' and 'previous-bookmark' are deprecated and should be replaced with 'visit-history-next' and 'visit-history-previous' for the same functionality, whenever this command is used in user-defined key mappings and scripts. * The CAPIEditor.ScrollToLine API method has renamed parameter 'bookmark' to 'store_history'. A deprecation warning will be printed when scripts use the name 'bookmark' in keyword argument lists. * The wingdb script is no longer used when starting the debugger * Templating tool uses indent/outdent commands rather than right/left arrow keys to move the whole template in or out during data entry mode * The previously deprecated command 'execute-cmd' has been removed * Added optional 'filename' command to the 'open-project' and 'save-project-as' commands, which avoid prompting the user when given * Auto-indentation within multi-line logical lines uses spaces only after the leading indentation on first line is passed Bug Fixes * Don't show always disabled items in editor context menu in non-Python files * Corrected column range highlighted when jump to definition from the Source Assistant * Fixed adding files to the project on Posix by dragging names from external apps onto the project tree * VI Mode Fixes * Fixed 'o' (exchange point and mark) * Avoid restarting search in files unnecessarily in certain cases * Replicate tool set in existing document window when a new one is created * Don't confuse cached debug values for different threads * Correctly show key equivalents in menus also when the command has default arguments specified * Don't reduce window sizes at bottom of screen when restoring windows * Show the file name and line number corresponding with source location in tracebacks when using Evaluate in Shell and Evaluate in Debug Probe * Don't show gibberish TOC.idx file when fail to find documentation after switching Wing installation location * Don't follow circular symbolic links in the project view or in watching directories for changes * The indentation converter will correctly convert docstrings by altering only leading indentation and will avoid converting indentation in long strings within non-docstring multi-line logical lines * Include Show Line Numbers also in Editor preferences * Close Save Files, Project/File Properties, Preferences and a number of other dialogs when Esc is pressed * Close Open from Project and Find Symbol dialogs when Esc is pressed also if there is no match in the list Version 3.1.9 ------------- * Prevent hanging the IDE when some debug data types are expanded or moved into the Watch tool * Prevent crash seen when opening or creating splits for some html files * Correctly set the line ending style also in empty files * Added How-Tos for web2py and mod_wsgi * Added preference to set the rate or disable editor caret flashing * Fixed a few bad links in Wing 101 documentation * Display ActivePython or Python 2.6.1 .chm file * Avoid leaving debugger in a bad state when an Attach fails * Make test runner multiprocessing friendly * Fixed goto source for an exception in the testing tool * VI mode now accepts a range for :w command * VI mode now supports :copy and :move * Read ignored exceptions in zip files correctly from project * python_d.exe debugger support on Windows x64 * Clear watch tool before opening new project * Evaluating selections in the editor in the Python Shell and Debug Probe use 'single' mode for single lines so any value of the expression statement is shown * Fix problem with wxPython support seen when debugging an embedded interpreter * Terminate running processes when they are removed from the OS Commands tool * Fix failure to convert indents in some files Version 3.1.8 ------------- March 23, 2009 * Fix problem seen in some repositories when working with Subversion 1.4+ * Fix problem ignoring settrace exception on x64 systems * Show meaningful error when trying to debug a main file within a zip or egg * Fixed cursor color problem in search fields when editor background is not white * Use .chm file on Windows for python manual when available * Correctly parse import statements that are split over two+ lines * Correctly handle some failures to start sub-processes for various internal functions and the scripting API * Fixed problem with "perforce submit" with some perforce versions * Improved display of long exception messages in testing tool * Show fewer dialogs when passive listen fails inability the debugger and clarify the errors shown * Mark invalid command strings as unavailable * Upgraded Wing's private copy of Python to 2.5.4 (includes security patches) Version 3.1.7 ------------- January 20, 2009 * Support for Stackless Python 2.6 * Fixed partially broken support for Subversion 1.4 and 1.5 * Avoid hanging on HTML files with certain editor background colors * Fix handling of input in OS commands w/ multiple active processes * Use natural sort in testing tool display * Remember the most recently used Goto Line number on a per-file basis * Show tool tip explaining function of stick pin icon on editor * Fix justify text when cursor is at end of a triple quoted string * In vi mode, F char search also finds char if directly to left of caret * Don't auto-close empty windows when moving editors to other windows, to avoid losing custom tool layouts * Fixed the toolbar-search command to also enter the given text into the toolbar search widget * Fixed the toolbar-search-next command to use the already-entered text for searching (the 'text' argument has been removed) * Fixed vi mode failure of !! on certain commands (like 'date') * Fixed project-open wingapi signal * Scripts won't be reloaded if they set a _no_reload_scripts global to true or the auto reload preference is off * Set correct carat when opening new files in vi mode * Corrections to the pygame How-To * Handle cases in debug code where getattr() raises a NameError even if a default value is given * Fix display bug in patch dialog when running with some system GTK versions * Honor the configured Display Area also for dialog positioning * Don't hide the symbol index menus above the editor when save a new file * Avoid overlapping windows when changing the Window Policy preference to One Window per Editor * Correctly repopulate Browse Project Classes in the Source Browser when switching projects * Fixed broken links in the Templating tool documentation Version 3.1.6 ------------- December 12, 2008 * Added support for pylint version 0.15 and later * Fixed incorrect or missing value display sometimes seen in debug tooltips * Fixed incorrect or missing type information in source assistant sometimes seen when working in the Python Shell or Debug Probe * Removed stray references to Watch, Debug Probe, Source Assistant, and Source Browser from the Wing IDE Personal documentation * Don't update non-Python autocompletion word lists too soon while typing is still in progress * Better support for python with statement * Don't hang up at startup if the stored vi mode registers are very large * Clear pending vi move command when Esc is pressed in browse mode * Update availability of save and save-all toolbar icons correctly after saving * Find modules imported via a from . import statement * When auto-brace highlighting, prefer the brace before the cursor when one exists both before and after * Add Evaluate Only Whole Lines to debug probe's option menu * Don't display syntax error tooltip if syntax error display is off * Display doc string from base class when appropriate * Allow columns in template tool to be resized * Update correctly when replacing with '' in search in files tool * Report test results, even when test process completed almost immediately * Report encoding errors in test files correctly * Allow ctrl-mousewheel to zoom in help viewer * Don't let the default encoding be set to something unsupported * Improve differentiation from background colors on dark backgrounds * Fixed problems reporting failure to start subprocesses * Expand ~ in file name entries when listing files * Ignore \ and # comments when finding possible imports * Don't display error dialog when stack frame is in binary file * Change the file type of any open files that match changes to the Files / Extra File Types preference * Correctly show traceback for frames where the linecache returns binary data as the source code Version 3.1.5 ------------- November 6, 2008 * Added 'watch' item to the editor context menu for easier debug watching * VI mode * Fixed yy followed by p at end of file without trailing newline * Fixed v character selection to not auto-select to right when start * Fixed y and d to operate on correct character range * Leave cursor in correct location after y * Repeat of A and O with . correctly positions the insertion * Don't always use absolute path names in testing tool * Correctly handle \\ in run arguments on win32 * Added ability to run pylint against whole package when current file is a package member * Fixed formatting error on Tutorial's Getting Started page * Fixed Help menu link to Introductions to Python * Don't fail to start debugger if sys.stdin can't be replaced * Allow specifying class decorators in the Python Shell and Debug Probe * Fix file entry popups when running with compiz window manager * Correctly display file and directory names that contain &, <, or > in the project view * Store list of test files and test file specs and default testing framework in the shared project file * Support goto-definition and source assistant on 'x' within 'from x import y' statements (where no symbol 'x' is actually created at runtime) * Fixed auto-start of searching when insert tab or paste into search tools' search fields * Don't auto-start searching in Search in Files after project change until user either presses a Search button in the tool or makes some change to the search parameters * Added batch-search-forward and batch-search-backward commands * Include testing commands in manual command reference * Don't set title on Linux & OS X debug console windows so newer versions of gnome-terminal work * Fix external console support on systems with a setuid xterm * Tool box menus now display also in French localization and others that reverse the position of tool box name and position number * Fixed failure to restore browser state when using same project with English and French localizations * Improve horizontal scrolling when displaying search results * Update also shared toolbox window titles when project changes * Correctly search on selected text in editor when the focus is in the Search in Files tool at the time a multi-file search is initiated * Fixed failures to update auto-completion word lists in non-Python files * Don't include Visual Studio project files in All Source Files file set Version 3.1.4 ------------- September 18, 2008 * Added support for Python 2.6 * Don't crash when preferences file contains a blank string for a font * Added goto-line-select command for scrolling to and selecting a line * Added select-lines command to select all of current line or lines * Jump to correct location when click on overridden method name in the Source Assistant * Ensure template directories are created * Don't display message that save is unavailable before running pylint * Allow / and \ to be used to add a directory name in open from project * Search for all space separated words in open from project * Fix signals emitted by the wingapi application object so they work * Support template names with spaces in autocompleter * Don't hang up when up or down arrows are pressed in shell while code is running * VI mode fix: After / deselect then search match once Enter is pressed * Don't hang when there is a fifo in a project directory or when one is opened into the editor * Fix replace all in search tool when last search was for the previous match * Correctly display unittest methods defined in base classes in testing tool * Added Zope Host property for Zope2 configuration so that Wing can correctly translate file names found in the zope.conf using the matching entry in the Debugger / External/Remote / Location Map preference. * Don't convert _ in filename to an underline in pylint tool's popup menu * Support zope buildout directories not named instance * Add highlighted keywords for caml, d, escript, lisp, ps, and yaml files * Don't continously reset the auto-completion preference to enabled * Don't show tooltips on tree views when Enable Tooltips pref is off * Don't hang up when socket.connect() returns an invalid ip address (seen on some Linux systems during startup of the Python Shell) * Fixed a few cases where debug tooltip wasn't shown * Fixed cases where the visual state of the gui would not be restored * Don't fail to open a project if mounted volume is unavailable * Reduce chances that two instances of Wing can obtain the analysis cache lock at the same time Version 3.1.3 ------------- August 5, 2008 * Allow use of Ignore this Exception Location in the Exceptions tool to suppress checking for calls to sys.settrace(). In general, calls to sys.settrace() will break any Python debugger and should be avoided. However, Wing's debugger is still useful, despite partial breakage, in some environments (including Turbogears). * Don't show error dialog when fail to open files in call stack, instead warn in the status area at bottom of the editor window * Suppress error dialog seen when run into encoding errors during column determination in editor when selection is invalid * Better auto-completion for GStreamer (added necessary extension module scraping helper code to the defaults) * Fix removal of files/dirs from non-recursive project directories * Correctly update list of files in non-recursive project directories when contents of disk changes * Fix passing empty arg to subprocess via the api * Improve type inference for variables in sequence unpacking assignment; e.g. a, b = 1, 2 * Corrected menu item labels for moving a tool to another toolbox * Added Evaluate Selection in Debug Probe to editor context menu, when debugger is paused * Fix project switching and window title updates in one-window-per-editor mode * Fix incorrect parsing of user-added pylint arguments * Use system environment's PYTHONPATH when appropriate * Fix perforce's whose line command on win32 * Highlight python builtins; this can be disabled via a preference on the Color preference page * Correctly list names of overridden methods in source assistant * Don't right-strip lines during auto-save also on Windows when the cache directory isn't same as user settings directory * Handle badly formed python with too many ('s in analyzer * Fix double-clicking on stack data and other tree widgets * Fix failure to change projects due to failure to get version from python* executable * Fix exception from problems in testing tool * Case changing commands are recorded correctly in macros * Better handle corrupted project files * Tokenize raw strings correctly * Fixed cases of updating Search in Files that slowed down typing when search scope contained many files * Improved finding of source file when name compiled into bytecode differs from name of pyc file without the c * Fixed stopping on breakpoints and ignoring exceptions in zip files Version 3.1.2 ------------- July 1, 2008 * Add alt-a accelerator for Replace All in search tools * Minor documentation updates * Fixed object life cycle bug in checking files for external changes * Avoid failure to display help, exceptions, and source assistant when the Document Text Styles preference contains an invalid foreground color * Don't incorrectly ramp colors on help, exceptions, and source assistant with some of the non-default display themes * Removed outdated example args from pylintpanel script * Avoid debug process segfault after sys.exit() when using wingdbstub * Catch exception when autosaving file with invalid file name * Allow autocompletion after the else keyword * Allow python executable to expand PYTHONPATH * VI mode fixes * Fixed d$ and c$ and similar to include last character on the line * Correctly handle s/x/y/g where x or y contain '=' * Copy/Cut in editor via menus also moves the selection to the vi register * Correctly repeat tab key and some other actions with '.' * Fixed several problems with finding Python on Linux and OS X * Don't ignore user-provided builds of the debugger for unsupported Python versions * PyLint integration runs pylint asynchronously rather than hanging the GUI * Remove unsupported view-project-by-mime-type command * Improve project tree stability in rare cases * Ask whether to save project when the .wpr file is readonly * Include module name of exception module in exception display * Fix document switching on Ctrl-Shift-Tab * Save fold state across IDE sessions * Don't do auto-completion when at program-requested keyboard input in shells * Debugger source distribution is correctly configured for Wing Pro * Use environment values defined in file properties when executing file * Fixed printing on OS X Leopard * Use also right command key for alt when command is alt on OS X * New global X11 alt key option for OS X to use both option keys for alt * Added missing unit test runners and default templates to the RPM package * Fixed rare exception seen when trying to reanalyze files that are being removed and recreated * Fixed pasting text into the Python Shell in Wing 101 * Expand project tree at startup as it was previously expanded * Don't rewrite project files with True & False as 1 & 0 * Fix encoding problems caused by evaluating files with a coding comment in the python shell * Support from __future__ in Python Shell and Debug Probe * Display < and > correctly in testing tool * Unconditionally stop program in debugger if program calls sys.settrace * Show class attributes in stack data in cases where there are no instance attributes * Show names from nested scope when function name is set multiple times * Re-analyze buffer when analysis is found not to match text while indenting * Added items for Show Documentation to a number of tool's options and/or right-click context menus * Added method to CAPIDebugRunState to obtain the debug process's ID * Added project property to specify default file encoding * Fixed incorrect template field highlighting when template starts with a field and is auto-indented * Group template entry into a single undoable action * Fixed editor state restore to track to changed location of source code (affects bookmarks, among other things) * Fixed restoring of search scope on Windows * Improved goto source for doctest tests in __test__ Version 3.1.1 ------------- May 20, 2008 Bug Fixes * Don't highlight line following selection when searching in selection * Fix replace in selection when lengths of search and replace text differ * Don't set globals to None in doctest runner * Change away from directory search scope in Search in Files when create a new project, to avoid accidentally searching in unexpected places * VI Mode fixes * Don't allow cursor in browse mode to move past end of line * Don't select one character too many when entering line select mode * Fixed 'o' at end of file without trailing newline * Fixed '.' of 'dt' sequences (delete to char search) * Implemented 'a,'b and +x,-y style ranges * Fixed :s to correctly constrain number of matches per line * Fixed :s to constrain replacement to current line by default * Fixed :d to delete just current line by default * Fixed :! to not operate on the whole file if no range is given * Terminate 'r' and similar when Esc is pressed * Avoid exception triggered by rare analysis case * Fix shift-Home in interactive shell & debug probe * Allow () at the end of command name in command-by-name entry * Fix the save-buffer command * Do not exit the debug session when using wingdbstub with kEmbedded=True and a top-level exception is seen * Adjust colors in Exceptions, Help, and Wing Tips to be visible on selected background color * Insert space after completion when space is used as the completion character * Allow user to specify that OS Commands should not be raised for a command when it is executed * Fixed printing failures on Windows seen when running in some locales * Show only recent files within current project in the Open From Project dialog * Added Wrap Long Lines option to OS Commands * Template tool skips 2nd+ like-named field and auto-enters values for them * Resolve relative python interface path entries under the user settings directory * Don't auto-strip trailing white space during autosaves * Don't reposition caret to start of line when auto-stripping trailing white space on the current line * Fixed traceback seen during back tab in emacs mode * Automatically expand search and replace fields in search tools when the text in the fields contains a newline or carriage return * Don't try to use Python versions that are not supported by Wing Version 3.1 ----------- May 7, 2008 Bug Fixes * Disable save all when only project may be saved * Improved doctest support: goto source, __test__ dictionary, output of failed tests * When going to point of unittest exception, ignore inner most fail* or assert* frame * Don't fail to start wing if the last-update-check file is corrupt * Expand folds when altering indent level of folded code to avoid confusing visual state * Text re-wrapping leaves triple quotes in docstrings and leading and trailing open/close paren/bracket in assignments on a separate line if they started that way * Correctly indent after multi-line triple quoted string in arg list or dictionary * Better document the middle mouse paste preference * Fix search & replace in newly created files * Don't remove tests from display tree when test run is aborted * Only expand to show failures that occurred in the last test run * Don't crash when popping up a second copy of a torn off menu * VI Mode fixes * Improved block select mode so visually highlights more like vi * Fixed move to register in char select mode to use correct range * Don't eat an extra character when pasting a block * Don't move caret backward one char when fail search with N or n * Fixed incorrect grouping of undoable actions when changing modes * Fixed failure to set caret shape in some cases * Don't incorrectly offer Find Symbol feature in non-Python files * Source Assistant does not take focus away from the editor * Better detection of console encoding on win32 Version 3.1 beta3 ----------------- April 24, 2008 Features * Project directories may be sorted by mime type and have directories appear at the start or end of the list. This replaces the option to view all files by mime type * Can specify a line number for the first file opened via the command line by appending : to the file name * Preference to auto-strip trailing white space when saving files to disk * Support for scanning the main debug file for changes in sys.path. Only fairly straightforward changes are found, such as those used by buildout generated scripts. * Added How-To for using Wing IDE with the Google App Engine Bug Fixes * Log and suppress intermittent os.listdir failures seen on Linux, to avoid showing repeated error dialogs during background processing * Fix next-document, previous-document, nth-document commands * Don't ignore function vararg and kwarg in source analyzer * Clear testing tool when switching projects * Revised testing tool context menu * Fixed algorithm for indenting 2nd+ line of a logical line * Fixed some typos in documentation * Better handling of nose tests with long names * Fix debugger confusion when variable was previously set to a huge value * Added Debian package dependency for enscript, which is used for printing * VI mode improvements * Set block cursor also when open new file or create new splits * Fixed d delete applied to F and T reverse char search * Added I and A in visual mode, including multi-line typing when block selecting * Changed default behavior of ctrl-x/c/v on OS X to execute vi mode commands rather than cut/copy/paste. The default remains clipboad only on Windows and can be changed with the Keyboard / VI Mode Ctrl-X/C/V preference. * Fixed incorrect selection of first column seen in editor * Fix browser's module view to not show packages multiple times and to update as files are added and removed * Sped up stepping in the debugger * Templates auto-terminate inline data entry mode when reach the final resting place denoted by |!| * Set encoding for stdin / stdout / stderr for debug processes using the debug i/o panel and in both the debug probe and interactive shell * Fix sorting of snippets and similar symbol names so they are correctly selected in the autocompleter * Cancel closing a project if cancel is pressed in the save files dialog * Default key bindings do not mask custom key bindings starting with Esc * Warn when TortoiseHg is installed * Fix stackless debugging when a tasklet finishes * Store current search scope dir name as relative to project file to avoid mistaken search/replaces after copying project files * Allow another file to be chosen when save project fails due to a readonly file * Don't raise exception when auto-completing in certain document types * Fixed minisearch on OS X so that Command-U and Shift-Command-U repeat the search while the minisearch buffer is already active * Python Shell will run threads spawned from the main thread, though only the main thread may read from stdin * Improved debugging of code executed via execfile * Show re pattern methods in python shell's autocomplete popup * Show Python Path in the Show Analysis Stats dialog as a scrollable list * Include None in auto-completion list after return * Use documentation on www.pygtk.org by default in the pygtk_to_pi script, rather than the docs on www.gtk.org (a constant in the script selects among these) * Don't falsely warn that a buildout based Zope2 instance is invalid. * Include the first part of multi-part import names in autocomplete lists. Version 3.1 beta2 ----------------- March 11, 2008 Bug Fixes * Include initial templates * Include test runners in correct location * Fix recursion problem when trying to find name of package not in python path * Correctly report results of decorated functions in testing tool * Don't mark valid with statements as being incorrect * Don't choke on extension modules in .zip / .egg files Version 3.1 beta1 ----------------- March 5, 2008 Compatibility Notes * The key bindings for OS Commands are now stored in the project file and not preferences since the commands themselves are defined in the project. Existing bindings will be retained but may be removed manually in the Keyboard / Custom Key Bindings preference. Features * Open from Project allows quick selection of files from the Project by typing a fragment * Find Symbol allows quick selection of symbols in the current Python file by typing a fragment * Sort menus and lists using more natural sorting so x2.py comes before x10.py * In-line argument entry of code templates/snippets (tab and back tab to traverse fields; arrow keys to change template indent, Esc to exit data entry mode) * Include templates by name in autocompleter * Show gi_running and gi_frame in Stack Data for generators * Simple word list driven auto-completion when working in non-Python files * Preference to set a minimum completion fragment length threshold before the auto-completer is shown * Support for pkg_resources based namespace packages * Support for doctest and nose unit test frameworks * Files within .zip or .egg files can be displayed in the editor Bug Fixes * Don't obscure breakpoints with the debugger run marker in the breakpoint margin * Don't fail to scrape whole extension modules when some argument parsing fails * Prefer framework Python from /Library/Frameworks/Python.framework/Versions/Current on OS X * Do not store key bindings for OS Commands tool in user preferences since the commands are defined in a project-specific way * Block indentation does not remove breakpoints * Display name set on threading object for threads created by the threading module when the name isn't auto-generated * Use insertion caret in vi mode when in insert mode * Data value introspection attempts to avoid calling python code or triggering other dynamic behavior * All stackless tasklets may now be debugged * Display name of stackless tasklet currently running in thread selector * Better support for Python 2.5 syntax, fixes defined variables failing to appear in autocomplete list and rare marking of valid code as having errors Version 3.0.6 ------------- Bug Fixes * VI mode fixes * Fixed mode change commands to work when multiple windows are open Version 3.0.5 ------------- April 24, 2008 Bug Fixes * Fix analysis cache problem when multiple copies of Wing run simultaneously * Show 5 lines for Run Arguments in a file's Debug Properties * Fix problem where 100% of a core was sometimes used after switching tools * Save project automatically before quitting * Fixed some typos in the tutorial * vi mode fixes * Ctrl-E and Ctrl-Y in browse mode leave cursor in correct position * Fix repeat with '.' of >>, << and a few others * { and } skip also lines that contain white space * Added zc and zo for collapse and open fold point at current line * Added zO to completely expand fold point at current line * Added zR and zM for collapse and expand all fold points * Added zr and zm for collapse and expand more * Allow ctrl-c/x/z copy/paste in visual mode * Suppress errors seen when copy/pasting in vi mode and editor has lost focus * Fixed moving backward during char select mode * Enforce stopping at end of line in char select mode * Fixed r in visual modes and corrected it to replace the correct char range * Do not throw exception when use Ctrl-W +/- and tools are minimized * Fix 'o' so it works properly on a blank line and at end of file * Repeating visual mode < and > with '.' now indents correct number of lines * Fix 'y' in block select mode to move correct text to register * Paste blocks so they are correctly inserted into text * n and N repeat search position cursor at start of match, not end * '' correctly returns to location prior to 'a * Fixed :wq to also close the file if it has no unsaved changes * Implemented :rewind and :last * Added approximation of named based document switching with ":n " and ":p " * '.' repeats deletions correctly without also repeating preceding cursor moves * Fixed :q! to work w/o prompting to save changes * Enable svn add on project for new directories * Don't mistakenly say that search in files is completed when Wing starts * Include pygtk_to_pi.py in src/wingutils in the binary distribution of Wing * Don't fail to start if files in user settings directory are corrupt * Set auto-bookmark before jumping to bookmark so it's easier to return using the history arrows * Don't crash on win32 when accented character is entered into svn commit text area * Fix open from keyboard entry's handling of accented characters Version 3.0.4 ------------- March 5, 2008 Bug Fixes * Debugger overhead reduced by about 50% per instruction * Don't show bogus new-line command failed notice when press enter after a new comment in C/C++ code * Expanded and updated Django How-To * Fixed rare failure not to report test results * Improve breakpoint tracking when inserting lines * Better handle auto-wrapping of ##'ed lines and preserve leading white space after the # characters * Don't fail to start if project file specified on command line doesn't exist * Use package .pi files if they exist for a non-builtin extension module * Improve pygtk .pi files to include enum / flag constants and some modules from gnome-python packages * Don't allow clicking on or moving to header lines in grouped result display mode in Search in Files * Avoid loading CPU when some tool types are visible * Don't flag class name(): as a syntax error * Fix failure occuring when enter is pressed at end of /* */ comment in C/C++/Java file * Fix failure to save projects, preferences, and license activations on file systems that mis-report os.stat(dirname)[stat.ST_MODE] for the directory where the project is being saved * More reliable reporting of exceptions when debugging unit tests with When Printed exception reporting mode * Fixed occasional failure to format method signature in source assistant * Debugger avoids confusing like-named code objects in rare cases Version 3.0.3 ------------- January 14, 2008 Bug Fixes * Fix broken input handling during debugging when working in Debug I/O tool * Use presence of a file to enable the PyLint integration (disabled by default) so it doesn't disable itself with each upgrade of Wing. See scripts/pylintpanel.py. * Fixed incorrect bolding of results in Search in Files when using Group result list format * Avoid errors seen with certain values when typing in Debug Probe or Python Shell and source assistant is visible * Allow clicking on editor stick pin, options, and close items in top right even if menu index menus extend under it * Correctly launch default web browser on OS X11 when DISPLAY is set to /tmp/launch-* style value * Allow setting DISPLAY environment variable to alter which browser is used for displaying on OS X * Try more browsers (when found) for opening URLs and files externally * Recurse into directories named core or matching other temporary file patterns when searching * Don't remove file name header in search in files when updating results * Allow return key to work in the save modified files dialog * Added project name to tool box window titles * Better error reporting when failing to open url on Windows * In emacs mode, ctrl-right arrow moves to end of word, not start of next * In emacs mode, ctrl-@ is synonym for ctrl-space * In emacs mode, ctrl-x [ moves to start of file and ctrl-x ] moves to end * Don't incorrectly process _ in OS Commands menus as accelerator * Fixed failure to track changes to a file when triple quotes are added or deleted * In vi mode, fixed ZZ in visual mode to work properly * Don't ask whether to save new file if a save is explicitly requested * Don't show scratch buffers in file menu recent list and stick pin (visits) recent list * Don't remove non-existent files from project view when they are still in the list of manually added files in the project * Correctly remove excluded directories from the project view immediately rather than requiring restart in rare situations * Start up even if the preferences file is corrupt * Improved handling of lines continued with a \ character * Append \n to process termination message in OS commands * Don't exit Wing when changing projects in some situations * Fix Zope debugging support on 64 bit Linux * Fixed bugs with line section mode and moving to a specific line * Better automatic wrapping of simple python comments * Correctly handle setting title when printing with enscript on Posix and full path to enscript is given in a custom print command * Don't select half of a \r\n eol when displaying line from pylint or other tool * Move remove from project below add to project on popup menu * Ctrl-backspace in emacs mode sets removed text into clipboard * Ensure prompts in debug probe and interactive shell are on their own lines and are initially visible * Ignore blank lines when calculating indent level * Add browse mode z+ keybinding to vi Version 3.0.2 ------------- November 27, 2007 Features * Provide user the option to select conversion style when opening Wing 2.x projects: Either retain as static list or convert to auto-updating project format. * Add project name to window titles Bug Fixes * Fixed opportunity for missing matches during Project search when using the Title Style preference set to Base Name Only * Turned on extension module scraping by default which was broken in 3.0.1 causing failure to show completion for pyqt among other modules * Don't use recursive directories when converting from Wing 2.x projects to avoid performance problems on large directory structures and to avoid including unwanted sub-directories. * Fixed "/" in vi mode to (again) properly exit when enter key is pressed * Correctly prefix 'unknown:' to file names obtained from wingapi (this fixed incorrect availability of Subversion commands for scratch buffers, among other things) * Optimized starting a search of all project files * Correctly handle long filenames in analysis cache * Fixed search problems when 2 or more search tools are available * Fixed segfault when starting to debug with wingdbstub in some situations (for example when working with mod_python) * Fixed crashing on certain X11 servers, most notably under OS X 10.5 * Corrected argument highlighting when invoking unbound or static methods * Do not discard trailing EOL when converting EOL style with File Properties * Linked to Subversion book and cheat sheet in Subversion setup documentation * Show only project file name in project view header to avoid overflow * Select correct initial project view style radio button in Options popup * Don't mix up history between multiple instances of Python Shell or Debug Probe * Update case of filenames on win32 when they change on disk * Don't obscure the current run marker when the Exceptions tool is shown * Removed obsolete auto-add project files preference (use directory properties in the Project view instead) * Allow argument lists for OS Commands tool to be longer than 80 characters * Added move_cursor argument to scroll-text-*-up/down commands so that user can redefine how ctrl-up/down work to not move the cursor within the source * Don't lose debug program output if debug i/o tool isn't shown until after debug program exits * While debugging, wait for all threads created by the threading module when main thread exits * Show full path when using groups result display in Search in Files Version 3.0.1 ------------- October 24, 2007 Compatibility Notes * Toolbox split location is now controlled from the toolbox context menu instead of using a preference. This location is saved in the project, with defaults of right and bottom. Features * Added Remove All Bookmarks to bookmark tool context menu * Added a preference to turn off warning and error indicators on the editor * Windows file dialog remembers last selected filter during a session * VI mode improvements * Added ^[ as equivalent for Esc * | goes to column 0 instead of prompting if no numerical modifier given * / search will move to next match (wrapping if necessary) when enter key is pressed * Changing docs with :next :previous and Ctrl-^ * h, l, and forward/back arrow keys no longer leave current line * When leave insert or replace mode, cursor moves back one * :0 also goes to first line * Line selection mode correctly selects whole lines as move up/down * Deleting to mark (d'x) properly deletes whole lines * '.' can also repeat D and Ctrl-U delete to end/start of line * 'y' places correct lines into register when in line select mode * Fixed 'r' in visual block mode * Don't skip matches when repeat searching with 'n' * Correctly handling '.' after 'n' Bug Fixes * Fixed formatting bug in Wing 101 docs * Don't use windows directory as default initial directory when nothing is open * Report failure to find codec to encode file when writing to disk * Fixed typo in Debian package installation instructions * Fixed several broken links in the documentation * Don't switch thread focus in debugger when debug probe tool is displayed * Better error message when trying to debug unsaved new file * Don't segfault when exceptions are raised in some cases * Fix potential deadlock when debugging multi-threaded code * Turn off "in selection" search when searching for the current selection * Take down menu before switching projects with Recent menu * Optimized switching projects with Recent menu when editor tabs are hidden and many files are open * Changed default Look In scope in Search in Files to "Project Files" * Fixed shutdown bug that could cause problems closing projects cleanly * Don't ask over and over about same unsaved files when stepping in debugger * Track breakpoints when a file is saved to a new filename * Avoid "NameError: name 'os' is not defined" in Python Shell when PYTHONSTARTUP is defined * Improved how-tos for using Twisted and Django with Wing * Corrected reported reported exception line numbers when finally or except clauses are present * Use correct font in editor when point size is fractional and round size to nearest int * Correctly parse xml prologs that contain a standalone declaration * Don't enable Subversion Add for untitled or scratch files * Allow newlines to be entered in cvs/perforce/svn commit messages with alt-return or ctrl-return * Fix module scraping when directory name is too long or contains non-ascii characters * Don't show new Messages window when an IDE extension script raises an exception while loading * Improved autocompletion of nested package imports * Don't show badly sized GUI when opening projects saved with different toolbox locations * Accept keywords passed to __import__ hook * Fix debugger when debugging in python configured with threads disabled * Don't look for changes on disk if check frequency is 0 * Corrected documentation for Exception Mode preference * Updated tutorial to work correctly with python.org RDF feed * Fixed unexpected exception when debug connection closes at certain times * Fixed failure to expand $(WING_LINENO) in OS Commands arg list Version 3.0 final ----------------- September 28, 2007 Bug Fixes * Handle directory deletion on win32 while scanning for changes * Correctly size line number column on Linux and OS X * Removed the broken Stop One Thread option from project properties * Documentation corrections, and added missing docs for threaded debugging * Handle empty command name in OS Commands * Improve checking for pause request from IDE in the debugger * Don't truncate exception summary after 2 lines * Correctly close a project when menu item is used * Reviewed and updated tutorial, How-Tos, and documentation (English only) * Added missing Wing Tips for key functionality * Fixed some failures to display internal decumentation on Windows * Search icon on help documentation toolbar works * Fixed OS Commands toolbox so that double click or middle mouse click will execute or restart the command Version 3.0beta3 ---------------- September 12, 2007 Features * Assign default keybindings to selected testing tool commands Bug Fixes * Hide splash screen before showing auto-update dialog * Don't drop debug connection when introspecting functions or methods with unpickleable default arg values * Fixed broken Watch by Symbolic Path feature * Display autocompletion list for import statements * Correctly size line number column and improve performance when line numbers are displayed * Try not to display error dialog when scraping extension module on Windows * Removed confusing Close Window menu item from Window menu * Update display of all breakpoints properly when enable or disable them all * Fixed Set Window Title in separate tool box windows * Remove any error indicators when saving a Python file to non-Python file * Fixed rare problems when switching between documents * Show str(value) rather than repr(value) for floats in debug tool tips so the value matches what is shown by "print value" and the Stack Data tool * Don't hang when trying to start the debugger with an unsupported python interpreter * Debugger support for starting of threads with obsolete thread.start_new * Don't report that file encoding changes when it hasn't and file properties dialog is closed * Better handling of an empty 'Look In' entry in search in files * Use values set in Wing 101's configure python dialog * Find os.path symbols in autocompleter Version 3.0beta2 ---------------- August 30, 2007 Compatibility notes: * Changed Wing 101 to use a Python Configuration dialog accessed from the Help menu instead of Python Executable in the Debug Preferences; now also allows setting Python Path, Environment, and default starting directory Features * Stackless Python 2.4 and 2.5 are now supported by the debugger and integrated Python Shell on 32 bit machines (however, on OS X support for --with-framework is omitted, and support for Stackless 2.4 is omitted on Intel OS X) * Debugger support for Python 2.5 for 64 bit Windows * Wing 2.x and 1.x project files are now automatically converted to auto-updating format * Added Python Configuration dialog for Wing 101 to be able to configure Python, PYTHONPATH, environment, and default starting directory more easily * Option to remain at the Python prompt in OS Command tool after a Python file has finished executing. * Clicking on exception summary in Exceptions tool displays the original exception location * Updated pylint integration script (disabled by default; in Wing Pro only) to base on version 1.1 from Markus Meyer Bug fixes * Fixed Zope WingDBG so it will connect back to IDE * Auto-completer will now show symbols in an imported module when the module name is first defined by an assignment statement * Fixed OS Commands to launch Python correctly for unbuffered I/O * Corrected documentation for setting Python Path in Wing 101 * Fixed failure to update line number column width as file changes * Don't raise Debug I/O tool in Wing 101 when Python Shell is restarted * Show syntax error exceptions properly when found in a test run from the Testing tool * Optimization to avoid debugger hanging up for 0.1 second every 1.0 second (approximately 10% speed up) * Source assistant recognizes True and False as boolean literals * Source assistant shows docstring for property() defined properties instead of the docstring for the 'property' builtin itself. * Correctly generated prepackaged interface information for all of Python 2.1 standard library * Show correct auto-completions for re objects and re match objects * Offer auto-completion on return values of overridden functions/methods in the prepackaged interface information for the Python standard library * Guard against failures that could lead to termination of debug process when using autocompleter in the Debug Probe * Gracefully handle attempts at evaluating values or expressions when debugger is stopped at a syntax error * Avoid flagging correct indents after conditionals or try/except that are on a single line or contain comments only * Improved browser all project module view so it doesn't omit some modules * Use standard python icon for modules in browser and a package icon for packages * Correctly execute Python files if not in the configured starting directory * Don't repeat some output in OS Commands * Always show full path name in "Document Open Failed" message * Clarified and updated source browser docs * Load the PYTHONSTARTUP file (if any) in the integrated Python Shell * Removed old style document header images * Wing 101 doesn't claim there's a newer version when there isn't and correctly handle no latest or latest beta version of a product * Don't show indent warnings on the editor if the Show Python Indent Warnings preference is turned off * Don't rely on working non-full temp directory in order to inspect possible Python interpreters to obtain version and python path settings (should fix "can't find Python" messages seen sometimes on Windows) * Project and file properties used when running tests * Correctly place Command key modifiers in keyboard overrides on OS X * Don't show bogus/random stack frame when kill debug process while it's running * Show correct module load count during debugging also in Python 2.5+ * Slightly better handling of indent conversion for some files with completely broken indentation * List more modules in autocomplete list for import statements Version 3.0beta1 ---------------- July 30, 2007 Compatibility notes: * The file pattern in the Testing tab of Project Properties for projects used with prior (alpha) releases will need to be entered again by the user. * WingDBG for Zope again debugs just the one designated request thread. To debug multiple threads, use wingdbstub or launch Zope directly from Wing instead of using WingDBG. Features * Added item to Help menu to go to wingware.com home page * Always show package name for __init__.py files in editor tabs * Show enclosing directory name to uniquify same-named files in editor tabs * Use block cursor for vi mode * Ability to send control characters to OS Commands (using the right-click context menu) * Check for updates immediately when start Wing before other windows are shown * Show current test name in status area in Testing tool * Added syntax highlighting for Forth, Erlang, Octave, Verilog, ASN.1, VHDL, CAML, Smalltalk, Inno Setup, Spice, D, and Abaqus files * Add system menu items for Wing on Debian and Ubuntu (does not work reliably under all versions of KDE) * Changed the Testing file pattern in Project Properties to be a list of patterns for easier inclusion of tests from multiple sources Bug Fixes * Don't show stack for threads that are actually not stopped in debugger * Fixed potential for crashing debug process when debugging multiple threads * Fixed failure to convert indents in some files * Don't convert indents within multi-line strings * Indent convert doesn't indent within-logical lines if not indented at all before conversion * Fixed debugger connection failures when network server pref was set * Handle pseudo module objects that don't define a __name__ attribute in the debugger * Highlighted menu items are readable on Vista when using default theme * Drag-n-drop in editor starts when the mouse is moved * Always position autocomplete popup below cursor if there's room on monitor * Don't crash if multiple directory selectors are opened on win32 * Don't crash when clicking on the down arrow of an empty popup menu * Always clear highlight from editor after doing a search in selection * Improved directory scanning speed * Show indentation error/warning tooltip correctly over all of indicator * Fix failure to display non-ascii character exceptions * Look past ##'ed leading comment block for encoding comments in Python files (to handle Zope scripts) * Icons better indicate status during test runs in the Testing tool * Correctly handle closing unsaved project without saving before opening another project (seen when converted 2.x project is not saved) * Announce newer alpha/beta versions when checking for updates from an alpha or beta release, not just patches and newer final releases * Don't shrink down Recent Project menus constantly when Wing is started * For computing auto-indent in Python, ignore multi-line comments in column 0. This is an experimental compromise between code contain blocks commented out in column zero and users working normally at the top level. * Multiple fixes and optimization of tracking modifications to Python code as it is edited * Fixed hang seen sometimes during start of pseudo-tty subprocesses in the OS Commands tool * Wing 101 sets current directory for shells to the location of the current source editor's file * The list of tests changes without needing to restart Wing when the file pattern in the Testing tab of Project Properties is used. Version 3.0alpha3 ----------------- June 13, 2007 Compatibility notes: * Build commands set in project and file properties are now stored in the OS Commands tool where environment for the build can be configured separately from the environment for debugging * Default exception mode is now 'when printed' rather than 'immediately if unhandled'. The when printed mode will not stop if exception is handled up the stack, but finally clauses in the stack frames between where the exception is raised and where it is printed will be executed before the debugger stops. While this should work with most code, it will break stopping on exceptions in any code with a catch-all handler written in C or C++ if that handler does not print the exception. This should be rare; set the Debugger / Exceptions / Report Exceptions to Immediately if Appear Unhandled to restore the previous default behavior. Features * Added documentation for the OS Commands tool * Changing file encoding in file properties now offers to reload the file using the new encoding so it can be repaired if read with wrong encoding * Added option to turn off multi-threaded debugging so only one thread at a time is debugged and the others are ignored while any thread is stopped * License activation and feedback/bug-report dialogs allow configuring an http proxy manually when auto-detection of proxy doesn't work * Testing results may be cleared without re-running tests * Rewrote the indent manager so conversions used a more robust algorithm that can convert files with inconsistent indentation more reliably into a single consistent indentation style * Show Python indentation warnings and errors in editor using yellow and red indicators and allow scrolling through them from the Indentation tool * Show tooltip over warning and error indicators in editor, showing detail of of the problem found there (currently syntax error or several possible indentation warnings and errors) Bug fixes * Fixed startup failure when installed on machine that never had Wing 2.x * Corrected version number shown by win32 installer for remove old install * Optimized testing tool * Correctly omit OS Commands tool from Personal product level * Improved wrapping of docstrings in source assistant * Don't show OS Commands tool for build command unless it fails * Reimplemented build command project/file property to better integrate with OS Commands tool * Prepend '' to sys.path in the Python Shell if not already there * Don't auto-bookmark every search result found during minisearch * Corrected emacs key bindings for batch search/replace so they work properly * Fixed traceback sometimes seen in indentation code when working at end of a file * Fixed dropping of debug connection when display Debug Probe, Stack Data, or Watch tools for the first time while the debug process is running * Fixed failure to open files with existing Wing instance on Windows and OS X * Corrected sizing of the line number column when shown * Debugger doesn't set stack frame file name for code in a string (such as in exec('test()') to the enclosing module name * Remove run marker more reliably when debugging is stopped or when the Clear button in Exceptions tool is pressed * Improved extension module introspection so more cases such as "from PyQt4.QtCore import *" work properly and the pi-cache directory is less cluttered with failed attempts at scraping * Fixed handling of non-ascii characters in message for svn, cvs, and perforce commit * Don't add redundant directories when setting up a Zope/Plone project * Added basic how-to for debugging Django applications * Fixed canned data for tutorial so Debug Probe examples work properly and made several corrections to the tutorial content * Fixed popup menu on testing tool exception lines * Removed files are removed from testing tool * Fixed 'x' in VI browse mode to operate only within the line * Repaired the browser and project manager adapters for source assistant * Fixed debug hover values to display correctly when there is a selection on the editor (indicating that the selection's value should be shown) * Fixed a rare case when open-from-keyboard wouldn't work * Fixed source assistant and browser integration * Show autocompletion on "b" for "from x import a, b" and "import a, b" * Don't copy .pyo files when copying scripts from 2.x installation * Don't fail to copy some files from 2.1 installation because of encoding problems * Inference type of function().attribute * Terminating a debug process from the IDE now works in some situations with remote processes and those running under different users. It also uses SIGQUIT and then SIGKILL on non-win32 systems if the process won't stop. Version 3.0alpha2 ----------------- May 2, 2007 Compatibility notes: * This version will not work with any earlier version of the debug server * Old style project related commands have been removed: add-tree-to-project, and add-package-to-project * Scripting API changes (these are unlikely to impact any extant scripts) * CAPIApplication.ExecuteCommandLine() and AsyncExecuteCommandLine() in the scripting API use slightly different environment for the sub-process. See the compatibility notes in wingapi.pi. * CAPIDebugRunState.GetThreads() returns list of (thread_id, fct_name) instead of list of thread_id Features * Added OS Commands tool for executing external commands and files outside of the debugger * Added "when printed" exception handling mode that stops at exceptions at the time they would be printed * Added Frame Show button in toolbar to jump back to original position at which the debugger stopped at a breakpoint or exception * Added thread selector popup to the Call Stack tool * Show name of thread function in list of threads as well as thread id * Added more file type icons, shown in the project view Bug fixes * Fixed Zope/Plone support to work with new debugger * Fix use system gtk preference * Don't try to scan huge (2GB+) files when searching in files * Fixed Run to Cursor * Fixed Debug Recent * Fixed start debug after save file dialog * WingDBG (for Zope) references ~/.wingide3 not ~/.wingide2 on Posix * Don't display internal stack frames at the top of the stack * Allow Show Autocomplter command in shells * Indicate which thread is the one that initially stopped * Removed old non-threaded debugger implementation * Sped up some debugging operations, such as switching threads when a watch tool is in use, by retaining cached stack data longer * Improved conversion of Default Project from 2.x and initial conversion process in general * Don't request to save files when Python Shell starts * Don't fail to start if pylintpanel.py is present in user scripts dir * Don't attempt to override scripts of same name * Improved scraping of extension modules with unhashable entries like Numeric.umath and some cases where '.' is not in the PYTHONPATH * Fixed pylint launch code in pylintpanel script to use project-defined environment for the sub-process * Fixed non-gui variant of the add-directory to project command * Zope support auto-add project files uses new auto-updating directory style * Allow clicking on already-selected Call Stack item to go to that location * Allow .pi files for extension modules with .dll extension (win32 only) * Don't fail to resolve imported attribute the 2nd+ time resolving it * Fixed display problems in project tree when add a directory with trailing os.sep * Fixed removing of directories from projects so it works while add is still in process and the tree display properly updates * Avoid adding non-existent directories to the project * Fixed failure to set current stack frame correctly on syntax error Version 3.0alpha1 ----------------- March 26, 2007 Compatibility notes * Wing 3.0 runs off a different user settings directory, with different file names for some of the files, The first time Wing 3.0 is run, it will copy preferences, recent lists, and some other information from any found Wing 2.x installation. After that, it works entirely independently from Wing 2.x. * Wing 3.0 can open Wing 2.x projects but Wing 2.x cannot open projects that have been opened with Wing 3.0. When a 2.x project is opened, Wing will show a notice and warn before saving. We recommend saving to another name rather than overwriting your Wing 2.x project. * When converting a project from Wing 2.x, the project will not auto-update its contents unless all files are removed and re-added using Add Directory. * Renamed open command to open-from-keyboard to reflect its action (open still exists for compatibility). Custom key bindings that use this command may need to be updated manually to track this change. Features * Autocompletion and source assistant information for Python Shell and Debug Probe * Debug data value tooltips when hover over symbols or selection in editor * Multi-threaded debugging * Auto-updating project directories * Unit testing tool * Automatic expansion of __ in Python Shell, Debug Probe, and Watch * Exception type is separate entry so always visible in Exceptions tool * Changed Subversion commit to use a larger text entry area Bug Fixes * Optimized scraping of code analysis from extension modules * Moved configuration of line numbers on editor to Edit menu and removed old (confusing) preference * Show auto-completer in keyboard-based file selector when it is not currently visible and Tab is pressed * Don't show feedback dialog as soon when on a trial license * Several fixes to scripting API * Default to print selection only on win32 when there is a selected text * Fixed some failures seen when the User Settings Directory is read only * Protect against unexpected exceptions in signal handlers * Don't hang up trying to reuse an unresponsive instance of Wing to open files * Use project directory in save as dialog when saving new files if possible * Corrected html and xml comment/uncomment to use only two hyphens * Reopen files on a different drive than the project file Version 2.1.4 ------------- February 9, 2007 Bug Fixes * Correctly handle utf-8 byte order mark * Allow control & alt to override default action during drag-n-drop * Better display exceptions caught when program exits * Don't scan .DS_Store directories when updating projects * Fixed broken links in Search section of Tutorial * Documentation added for setting up Wing with Webware * Documentation added for setting up Wing with scons * Don't get confused by files with names ending in 'o' or 'c' but not .pyo/c * Fixed .pi description for file & socket types in python 2.5 * Handle $ followed by a non-letter when expanding environment variables * Correctly interpret * and ? in the Extra Files Types preference * Include scripts directory in user settings directory by default for scripting the IDE * Fix **** wildcard search bug and improve wildcard -> regex conversion so it more closely matches bash * Don't try to expand all nodes in a tree and end up hanging due to infinite recursion * Display widgets in correct order on win32 when running in Hebrew or other locale with a right-to-left language * Fixed Subversion integration for Subversion 1.4 entries files with blank lines * Limit minimum error log size to 10K or greater to avoid slow downs * Disable adaptive scrolling in editor on OS X to avoid conflicting w/ Apple X11 server's algorithm * Fixed selection-changed signal in scripting API * Fixed problem in message log truncation that may have caused problems with search and other functions when IDE was run for a long time * Allow pasting into goto line entry with ctrl-v or equivalent * Report exceptions correctly when debugging with pre-python 2.2 runtime * Scrape extension modules that must be imported from a package, such as PyQt 4's modules * Fixed shells to not produce an error when comment-only or blank-only lines or blocks of lines are evaluated * Altered I/O redirection to work around bugs in pydoc.py (used for 'help()') and possibly other modules that hold onto references to sys.stdout and/or sys.stderr and ignore any changes if those are redirected after the module is loaded. * Fixed one cause of failure to print on some newer Linux distributions Version 2.1.3 ------------- October 12, 2006 Bug Fixes * Show __init__'s doc string is source assistant when creatin new object * On Windows, drag-n-drop in editor defaults to move * Numerous bugs in search-in-files replace fixed * Fixed failure to show search/replace status when working in Search tool * Fixed broken "with" syntax suppot * Fixed subversion integration to work with svn version 1.4 * VI mode fixes * Fixed '.' repeat to work correctly in more cases * Fixed word movements as in 'cw' when starting on one-character word * Improved '.' repeat of > and < * Fixed dj and similar to act on whole lines * Enter in browse mode goes to start of line * Handle Zope Page Template default encoding in the same way Zope does * Evaluate file / selection in shell works with files never saved to disk * Don't report GeneratorExit exceptions in Python 2.5 * Default *.myt files to be text/html type * Fixed pi files for builtin Python 2.5 modules * Improved compilation from source on Solaris * Add .m extension to Matlab filter * Fix support for patches when using wingdbstub * Fix occasional segfault in the debugger when program being debugged ended * Include Quit Now button in dialog shown after patches are installed * Allow env var values in project properties to contain '=' * Fix failure to show tutorial in one window per editor layout mode * Fix crash on Windows when certain fonts are encountered in a CJK locale * Use the initial directory policy preference also for "save as" operations Version 2.1.2 ------------- August 29, 2006 Bug Fixes * Some German translation improvements * Correctly invoke py2pdf for printing on non-win32 platforms * Correctly analyze symbols in class methods with the same name as another class method or attribute * VI mode fixes * Added _ binding * Support for '' * Fixed / to work properly when no match is found * Support for move to register with rectangular selection * Fixed Ctrl-U/D and zH/zL in locales where decimal point is not '.' * Clear move commands on mode change as in ciw * Don't allow deleting one space too many in Python Shell and Debug Probe * Allow more than 80 chars in location map preference * Fixed HTML encoding parsing * Support for left/right wheel mouse scrolling in editor and shells * Fixed regression that broke support for python 2.2 and before on linux * Display exception names properly when running with python 2.5 * Don't flag valid 2.5 code as having syntax errors * Highlight True, False, as, with as Python keywords * Default encoding for XML files is utf-8 * Better sys.path handling in the debugger * Don't warn when a zip file is in project's PYTHONPATH * Allow template and template-file commands to be bound to a key * Start shells in project directory or home directory when using default project, not location of the internal sandbox file * Report existence of new versions also during automatic update check * Don't auto-scroll Debug I/O, Debug Probe, and Python Shell when appending text, if bottom of view is scrolled off screen * Never beep when search fails or history scrolling reaches end of list * Don't search excluded dir when searching same directory 2+ times Version 2.1.1 ------------- July 31, 2006 Bug Fixes * Set line wrap mode correctly when creating new editors * Convert relative to absolute path in posix install script * Fixed failure to create tool when separate toolbox window was closed * Ask before doing "revert" in subversion to avoid losing changes * VI Mode fixes * Fixed 'C' delete to end of line and insert command * 'P' pastes register correctly * ma and then d'a and y'a work to delete or yank range to register * Repeat '.' works for replace character 'r' * Enter in browse mode moves down a line * Ctrl-U and Ctrl-D move the cursor with scrolling * Search with '*' places cursor at start of word * Search with 'n' when there are no matches does not jump to start of file * :sp works for horizontal split * :vs works for vertical split * Modifying 'd' with goto-line commands such as gg and G works * Fixed honoring of selection mode during repeat of beginning/end of line, forward/back char/line, and other movement commands. This affects emacs Ctrl-U and Esc + numbers, and vi mode repeat * Updated German language translation of the GUI * Set initial directory when running build command * Execute files in environment defined by project * Start searching on ctrl-shift-F (batch-search) if auto-restart is on * Fixed opening of Templating when opening projects * Fixed failure to start processes on win32 when a script used '' as the run directory * Correctly parse arguments with quotes in them * Subversion doesn't require ssh agent for 'diff' * Fix .pi generation when doc string content contains \0 or """ * Fix thread handling when python_d.exe is used * Fix python shell & debug probe in older versions of python * Fix breakpoint tracking problems * Fix failure to start debugger on win32 if a file in the initial run directory has the same name of a file in the standard library directory * Change wingapi's ExecuteCommandLine so that it doesn't invoke gtk's main_iteration and cause segfaults * Better caret color on editor when using bright background colors * Fixed formatting problem in Autocompletion tutorial page * Replace all works when working on disk files * Don't use /, /usr/bin, or /usr/local/bin for initial directory unless explicitly specified Version 2.1 final ----------------- June 19, 2006 * Don't hang up in vi mode when use Esc to exit repeat entry * Don't beep in vi mode when Esc is pressed in browse mode * CVS and Subversion commands work in the root directory of a win32 drive * Fixed rare race condition on Linux / OS X causing failure to read all of output from sub-processes (caused failure to find Python and failures in revision control integrations) * Script support doesn't raise exceptions at shutdown * Fixed debugger patch support for rc# releases * Prevent rare exceptions when activating symbol menus via commands * Improve handling of fonts that don't provide coverage for all languages on Windows * Fixed some documentation generation problems (mostly in Personal) * Fixed brief keymap keymap * Added minimal functionality for deprecated search-manager command * Continue running for instance file cannot be written * Keymap overrides with multiple commands and arg lists work correctly * Added reanalyze file to editor context menu * Always show documentation in English to avoid confusion from stale German language documentation pages * Don't fail to start on OS X if username is longer than 8 characters * Honor selected CVS diff type for Show Recent Diffs command Version 2.1rc2 -------------- June 9, 2006 Bug Fixes * Start interactive shell & debugger correctly if locale is set to French * Fix autocompletion if Enter or F1-12 is used as completion key * Fixed installed patch reporting * Allow patch for more than 1, but not all platforms * VI Mode * Match vim in cursor placement after D (delete to end of line) * Leave cursor at end of selection when pasting <1 line from register * Allow hiding of toolbar in one editor per window layout mode * Fix clear in the debug i/o tool * Fix file / directory browsing in forms * Fixed printing on OS X and Linux when path to Wing installation contains spaces * Evaluate file/selection in Python Shell works properly if invoked before the shell is ever created * Set initial search text in both search tools to current selection or previously active search text * Added unit tests and many fixes for scripting API * Fixed ScrollToLine() in scripting API so first line is 0 (to match all other API calls). NOTE: This requires updating any existing scripts that use this call on the CAPIEditor object. * Fix forward-tab command when focus is on search tool * Ensure popup windows are shown w/ recent gnome window managers * Support input methods when running with private gtk on Linux / OS X * Use system defined close icon where possible * Don't crash when previewing some fonts on Windows * Fix bugs when utf8 files containing invalid characters are read * Improve Zope WingDBG error message when connection to IDE fails * Fixed WingDBG failure to connect to IDE when started * Fixed assigning key bindings to templates * Don't try to convert print files to Postscript on Posix -- this was added in 2.1rc1 and caused more problems than it solved. See tooltip for Print Spool Command preference for alternatives to use on systems that can't print PDF files directly. * Fixed Subversion "Add" so command is available when it should be * Fixed failure to show Exceptions tool and possibly other tools in some cases Version 2.1rc1 ============== May 31, 2006 Features * Preference for selecting the action of the Tab key: It can be configured to indent-to-match, increase indent, or insert a tab character (chr(9)) by file type. Users that have the tab key overridden in their preferences must remove the override before this preference will have an effect. * Improved auto-indentation within logical lines: Attempts best guess at desired indent initially and then matches indent for subsequent lines within a multi-line statement. Also dedents automatically when reach end of nested parentheses. * Changed default indent size to 4 * Added a preference to suppress indentation warnings in all files * Commands for easily executing current file or selection in file within the Python Shell (in Python Shell Options menu, editor context menu, and Source menu) * Set "in selection" option in replace tool if multiple lines are selected and unset it is multiple lines are not selected * On Windows, added "Edit with With" item to context menu for .py files in Windows Explorer * Better analyze assignment statements such as: a = b = '' * batch-search & batch-replace commands now have a use_selection argument that specifies whether selection is always put in the search field * Following can be used as autocomplete characters: '.', '(', '[' * Save Session feature for Python Shell and Debug Probe * Multiple commands may be bound to a key if the names are separated by a comma Bug Fixes * Correctly replace series of spaces with tabs when indenting with tab key * Corrected inconsistent tab indentation detector to not complain in cases it should not, and to detect cases where indents produce bad code because of editing mixed indents with an editor that doesn't set tab size right (expected/known indent decrease/increase is compared with actual change in indentation, although no visual indicator for bad locations is implemented yet) * Fixed several indent manager conversion cases to not break code when it can be avoided * Honor user's choice to ignore indent errors in a file once selected * Fixed failure to start when current directory does not exist * Ignore non-numeric values for lineno entered for goto line * Improved dragging or pasting text into Python Shell and Debug Probe * Avoid failure to launch Wing in rare cases where previous instance's remote open port is reused by another application * VI Mode * Fixed '.' for with x, dd, J, and s (please report other such problems!) * '-' now works * dw deletes to start of next word * cw deletes to end of current word * Toolbar search works properly in vi mode * Fixed cases where '.' only worked once * Copy to register in line selection mode takes whole lines * Fixed join lines so it can be used in macros or with '.' * Place focus on tool for the tab that was clicked when expanding tool areas with multiple splits * Fixed Selection Mode items in Edit menu to work properly in non-vi modes and to apply to mouse selection also * Add mnemonics to dialogs * Replace all in selection doesn't replace matches outside of the selection * Windows installer won't install on Windows 98 & ME, which are no longer supported * Don't stop debugger if textual stack data pane can't be updated * Avoid hangs when analyzing some packages * Don't display patch install dialog if there's nothing to install * Fix correct directory in file chooser when focus is not on editor * Make sure cursor stays on the correct line when entering vi's insert mode with the a command * Don't leak leak memory every time the debugger or a python shell is run * Don't use _ as mnemonic in search popup menus * Don't crash if object in the stack data or watch tool turns out to have 0 children when it initially appears that it will have at least 1 child * svn support will work with _svn directories * Default buttons in dialogs work * Validate utf8 data in source files when it's read from disk * Change mnemonic for search in file's filter field to i so it isn't the same as f for the file menu * Fixed using either ESC or Alt for meta in emacs mode * Bookmarks tool shows correct line numbers and only when appropriate for the type of bookmark (marks on Python are symbolic relative marks) * Fixed patch manager to correctly distinguish different processors when patches are architecture specific * Fixed rare analysis cache failure when multiple copies of the IDE are running * Correctly handle '*' in file extension given when creating a template * More reliable toolbar wrapping * Don't show Command- as modifier to keys pressed in the keyboard override preference when the NumLock key is down * Fixed batch search confusion on Posix when files searched are on a path that contains symbolic links. * Offer auto-completion on file objects opened with open() * Fixed printing on Linux systems where PDF cannot be spooled to the print system but either acroread or pdf2ps is present * Tab key moves to next field in form entry unless autocompleter is displayed * Tab key in search tools works regardless of command bound to tab * Display error dialog if X11 isn't installed on OS X * Ignore unknown keys in custom key binding preference * Open pdf manual files correctly on OS X Version 2.1beta2 ================ April 17, 2006 Features * Changed Tab key to increase indent to next level based on the file's indent style. Indent-to-match style indent previously bound to Tab is now Ctrl-=. Entering a single tab character is still Ctrl-T. To return to the old behavior, map the Tab key to indent-to-match in the Keyboard / Custom Key Bindings preference. * As part of above: editor auto-indents also if there is text after the cursor and expanded the Auto-Indent preference to allow excluding this case * Add New File in Project menu to create new blank file on disk and add to project all in one operation * Added Files preference to set policy for determining starting directory for file selection * rstrip-all-lines command to strip whitespace from end of all lines in file * Bind command-by-name to ctrl-F12 by default in all personalities * Added toggle-line-wrapping command * Added preference to disable auto-reload of extension scripts when saved * Search changes * Selected text is put into search field in search tool * Bindings for search in files tool * Backward check box in search tool removed and the next match is found unless the previous match is explicitly requested * Search / replace in selection in search tool * Default to "All Source Files" file set instead of all files to avoid searching through .svn and similar * Replaced Aero theme with Black-Background * Added debugger support for Python 2.5 * Allow name of executable to be specified in SVN and CVS options * Use disk images for distribution on OS X * Show file type name rather than requiring mime type in Extra File Types preference, and allow leading '.' in extensions * Added Perforce status and simple "whose line" support Bug Fixes * Fixed crashing on SUSE 9.x and 10.x, failure to display themes correctly or to change between themes properly, and incorrect display of fonts/sizes * Fixed divide by 0 error when editor disappears when dragging splits around * Bold attribute of syntax highlighting preference can be turned off * Source browser display state is saved in more cases * Page down in OS X key bindings doesn't move cursor * Correctly syntax highlight .tex files * VI Mode * . works correctly in more cases (please report those that don't!) * c, d and similar can be modified with /, t, and other search operations * /, ?, f, t, etc in visual mode correctly set selection * Stop immediately on failed command when numeric modifier is > 1 * Fixed :%s/foo/bar/gc (and related) * Fixed de, ce, cw, and cW to operate on correct range of text * Ctrl-W V to split window in side by side arrangement * Ctrl-W Q behaves like in vi (closes file and window, and quits after last) * Fixed problems with A and a when working in files with \r\n line endings * In visual mode, d places deleted text on register * G goes to end of file by default * cc properly replaces current line * :w writes even if buffer is unchanged * :marks shows bookmarks tool * Stay on current line for f, F, t, and T * Allow numeric modifiers in visual mode * :r! works on win32 (bug may have been intermittant) * Implemented Ctrl-W +/- to resize splits * Implemented = magic indent * Fixed c3l d2w and similar sequences * Fixed macros (recording with q) to work properly for more sequences * Searching with * and # do only whole word matching via regex \ * Ctrl-X/C/V bound to clipboard on win32 and OS X (override this default using the new Keyboard / VI Mode Ctrl-C/X/V preference) * Fixed delete in shells when selection spans back into history * Fixed shells not to execute a block too early in cases such as 'else:' following an indented block * Search text entry is selected when it gets focus * Selecting search in files works when text is selected in editor * Fixed macros to correctly record typing that includes auto-completion * Don't skip matches when changing directions in search tool * Zope/Plone script debugging support works properly for newer CMF versions which broke CMFFormController style scripts * Fix broken OS X key map * Don't use Wing installation dir, user settings dir, and some other useless locations as default directory for file open/etc * Avoid bogus right to left interface arrangement in certain locales * Fixed display bug in Scraping Helper Snippets preference and others * Don't auto-convert line endings in readonly files * Fixed failure to cleanly reload scripts upon Reload All Scripts that caused problems w/ timeouts, and attribute/pref connections * Added scripting API for connecting to signals so those reloads also work properly * Improve look of rotated text * Fixed emacs query-replace which was broken in beta1 * Use correct colors for brace highlighting * Use color for caret and editor margins based on background color * Don't show multiple instances of identical message dialogs * Fixed At Process Termination exception handling mode to work properly with Python 2.4.2 and later and to always stop before the process exits so that data can be inspected * Better failure reporting on rare win32 startup errors * Transfer \n on Windows's clipboard correctly * Fix sporadic win32 resource leak * Don't jump to top stack frame when first show the Call Stack tool * Fixed autocompleter arrow keys to work in all cases * Fixed project manager to work properly even if All Source Files file set is removed from preferences * Fix for 'search' command when specifying search scope for directory searches * Added .ht as default mime type for html * Moderately faster file scanning for disk searches * Reduced menu accelerator conflicts and added missing accelerators * Fixed failure to start on win32 due to inability to process command line * Report failure to start external processes on Linux & OS X * Fixed potential crash in displaying debug data, probably only seen in watch tool * Fixed patch manager to only select patches valid for current version+build * Correctly reload readonly files when changed by external editor * Breakpoints and bookmarks tools (Wing Pro only) have resizable columns * Retry debug listen when it fails up to 5X 1/2 second apart. * Moved default display theme first to avoid confusing behavior when switching between Wing versions or GTK versions * Don't crash when invalid pixmap based theme is used * Fixed problems activating and using licenses on Posix platforms where /var/tmp is not writable * Allow non-ascii characters in search fields * Up / down arrow keys sometimes didn't work when selection included last or first line of file * Added scrollbars to breakpoints and templates tools * Improve look of some non-default themes on win32 after restarting * Source analyzer correctly expands partial paths in PYTHONPATH configured in project or file properties * Warn when partial path is included in PYTHONPATH because this can cause confusion in both source analyzer and debugger * Fixed failure to use configured environment in expanding env value references in project and file properties Version 2.1beta1 ================ February 21, 2006 Features * Redesigned search gui: search tool for interactive searching and search in files tool for batch search * Added detail split in debugger data views for displaying long strings and summary of unexpanded complex values * Added VI like key bindings * Added Brief like key bindings * Added Visual Studio like key bindings * Added named bookmarks and bookmark manager (Wing Pro only) * Added Subversion and Perforce integration (Wing Pro only) * Added a Breakpoints manager tool (Wing Pro only) * Added update manager to check for and downloads/install product updates * Added a maximize editor toggle to temporarily hide tools and menu bar when working in single-window layout mode (the default) * Extension modules are now imported and introspected to offer more auto-completion options when no *.pi file is defined * Better out-of-box auto-completion options for wxPython and PyGTK * Added PDF formatted documentation to Help menu * Added enable/disable all breakpoints commands (Wing Pro only) * Added context menu for the breakpoint margin * Added context menu for the folding margin (Wing Pro only) * Added --reuse command line option to force reusing of existing Wing instance even if no files are specified * Added script for project maintenance: Add or remove files based on contents of disk. Thanks for Ken Kinder. * Implemented regular expression style mini-searching, query/replace and auto-replace * Added keyboard driven char, line, and block select * wingdbstub.debugger.Break() can be used to stop as if on breakpoint * All scripts shipped with Wing IDE are now under MIT style open source license to facilitate reuse and sharing * Added scripting API for altering fold state of editors, and several scripts for acting on Python files (fold all methods, all classes, etc) * Redesigned debugger status indicator now in lower left of window * Added ability to print only current selection also on Linux and OS X * Added Call Stack tool that displays call stack as a list * Improved look and feel resulting from upgrade in underlying GUI toolkit Bug Fixes * Avoid problems when scripting directory names contain non-7 bit ascii character * Wing will run if installed into a directory with a UNC path on win320 * Define MatchObject in _sre module for code intelligence * Allow %% to escape Python string formats in templates Thanks to Peter Mott. * Emacs kill-line command interacts better with clipboard * The debugger works if the user profile directory is defined as a UNC path on win32 * Don't crash when reading analysis cache file with more than 32K tokens on a single logical line * Fixed potential loss of edits when split editor panels are joined * Don't incorrectly report exceptions in sre_parse.py __getitem__ calls under Python 2.4 * Default file sets shipped with Wing omit common directories such as CVS and .svn * Added optional fix for use of the option key or other character composition key on OS X 10.4 (Tiger) * Printing works when a custom PYTHONHOME is defined before Wing is started * Fixed mismatching of undo/redo grouping resulting in too much undo after a keyboard-driven (emacs style) query-replace operation that never matches anything * Correctly handle interactive keyboard commands when there is no active editor * Sort symbols and file names uniformly in a case-insensitive manner, treating '_' as > 'z' (previously sorting varied in different parts of the GUI) * Optimized folding expand-all and added commands for folding just classes and/or methods in Python code * Correct auto-completion for cStringIO.StringIO * Emacs "Ctrl-X O" only moves among editors * Less confusing error message when try to debug a non-existent file * Don't allow dragging text into readonly editors * Don't stop on first line of code when restart debugging from the change detection dialog * Various manual corrections Version 2.0.4 ============= November 8, 2005 Features * Preference to change individual syntax highlighting colors in Python, C/C++, and Java files * Preference to optionally turn off indentation analysis as the source for indent and tab size in all cases or only in non-Python files (in which case configured tab/indent size are always used regardless of file contents) * Revert to Disk in File menu Bug Fixes * Don't crash when reading analysis cache file with more than 32K tokens on a single logical line. * Fixed potential loss of edits when split editor panels are joined * Fixed potential loss of edits when replace in non-sticky editor * Fixed failure to start when locale is not supported and locale.getpreferredencoding() raises an exception * Avoid startup failures on OS X when DISPLAY is set to :0.0 or :0 * Added optional fix for use of the option key or other character composition key on OS X 10.4 (Tiger) * Printing works when a custom PYTHONHOME is set before Wing is run * Fixed mismatching of undo/redo grouping resulting in too much undo after a keyboard-driven (emacs style) query-replace operation that never matches anything * Fix text display broken by GTK 2.8 (needed when running with --system-gtk on Linux) * Allow paste within command line in shells * Place focus on correct editor when using multiple splits and file selector popup menu rather than editor tabs * Don't hang up determining mime type of large single-line files * Zope support * WingDBG debugger support works properly with Zope 2.8.x * Fixed debugging of CMFFormController scripts under Zope * Templating/Code Snippets * Included Templating tool (Wing Pro only) in default toolset (only affects new users or when Restore Default Toolset is used) * Templating tool doesn't get confused by '.' in extensions * Templating tool properly escapes %% * Extension Scripting * Reloading extension scripts no longer breaks panels created by them * Extensions scripts can add themselves as default panels * Extension scripts of same name but in different directories are handled correctly * Prevent user from removing Wing-provided script directory from the extension scripting path and avoid pointing at wrong script folder when multiple Wing installations are present. * Clarify script path preference name to avoid confusion with Python Path for the user's code * Search * Grouped search results display filename above matches for a file * Handle a [ without the matching ] in a wildcard search string * Fixed inability to search for \n in regex mode * Fixed rare exception when running search_manager command * Ignore rarely occurring exception when closing a project * Renamed Run To Cursor to be Debug To Cursor for clarity * Corrections and additions to documentation * Fixed exception reporting in debugger when strings from the server aren't valid utf8 * Display error message when errors occur while writing preferences * Reset the readonly flag on editors when they are (re)read from disk * Fixed failure to clear old analysis cache entries when cache becomes full * Don't disable Stop Debugging when running externally launched process and Kill Externally Launched preference is off. Instead, allow stopping debug but don't shoot the debug process. * Indent manager shows less confusing tab size when converting from a space-only indented Python file * Don't crash when reading recent lists from malformed files * Always print on a white background on win32 * Better handling of ellipsis in source analysis engine * Don't mark //= as invalid syntax * Fixed Encoding file property so new encoding is used for opening files that are not already open in Wing (when using File Properties from the project view context menu). Files that are already open are assumed to have been read successfully so are just marked to be saved with the newly selected encoding. * Use default fonts on win32 even when there's a large number of fonts on the system * Don't hang unexpectedly when starting on win98 and potentially on other win32 systems Optimizations * Sped up disk searches by properly excluding directories in the exclude portion of file sets * Sped up multi-file searches with status GUI update optimization Version 2.0.3 ============= April 21, 2005 Features * New OS X personality for Wing on OS X with a more Mac-like default keyboard mapping * Support for debugging Python code under Linux on 64 bit processors Bug fixes * Fixed problems in debug variable display that resulted in printing tracebacks to the error log * Fixed failure to recognize HTML meta encoding comments if additional tags were included after the charset tag * Optimized typing speed in editor by reducing the number of times that indent style is reanalysed * Fixed failure to correctly recognize mixed tab and space indent style in non-Python files * Fixed manual entry of license activation code if pending activation file can't be read or more than one pending activation exists * Don't set LANGUAGE environment variable in child processes * Optimization: Autosave files every 60 seconds instead of every 3 * Implemented some OS X cmd- key bindings in dialogs * Avoid crashing when switching to or from emacs key bindings and also changing some other preferences at the same time. * Better error reporting when Wing fails to write license lock file * Use local settings directory for cache directories on Windows * Fixed failure to start web browsers on some Linux systems * Reuse existing Wing instance on OS X * Default to English on all Windows systems -- need to set Display Language preference to override this. * Warn when indentation manager may change the relative indent levels in inconsistently indented code during auto-conversion Version 2.0.2-3 =============== March 16, 2004 Bug fixes * Fixed printing on Windows * Fixed failure to debug on Windows w/ Python 2.2 * Fixed failure to start on some OS X machines * Added preference to override system-provided display language * Clarified command and key names reference * Removed stray 'print never stop =...' output by debugger * Updated German documentation Version 2.0.2-2 (Linux only) =============== March 14, 2004 * Fixed error in run-wing.sh that prevented Wing from starting on some versions of Linux * Re-enabled ability to set theme in Wing when using system gtk Version 2.0.2 ============= March 14, 2004 Features * Easier to use Zope/Plone support -- no longer need to install WingDBG or ScriptDebugging products separately: Just go to Extensions tab in Project Properties, turn on Zope support, and specify the Zope Instance Home to use. Wing takes care of the rest of the configuration. * Scripting (Wing Pro only) is now a documented feature, although still experimental and the API will not be frozen until version 2.1 * Added a number of scripting examples (Wing Pro only) that extend core IDE functionality * Deletion of line(s) spanned by current selection * Visual Studio style tab * Line ending conversion * Emacs style add-change-log-entry (Ctrl-X 4 A) * Debugger breakpoint resetting based on tags in comments * Conversion of selection to lower case, upper case, or title case and several other common transformations * Example of insertion of print statements based on doc context * Added facility for templating / code snippets (Wing Pro only) * User can define templates for common code snippets * Optional automatic argument collection * Converts in dentation and line endings for target file * Assign templates to key bindings * See Templates in Tools menu and right click to access documentation * Added simple integrated CVS support (Wing Pro only). This is disabled by default and can be turned on from Project Properties Extensions tab. * OS X keyboard changes * Support for command (apple) key as key modifier so that command-c, command-x, etc may be bound to Wing commands * Added preference to choose key to use as the alt key modifier in all X11 applications * Launch X11 automatically on OS X 10.3 * Added Close Others menu item to close all editors other than those visible in the current window * Debugger always stops on AssertionError exceptions and never on SystemExit exceptions by default. This behavior can be changed via preferences. * Redesigned and reorganized the Project and File Properties dialogs. Moved menu items for project type, syntax highlighting, white space, line ending, and indentation attributes into these dialogs. * Moved project view style selection from project context menu into new Options menu at top right of project views. * Added ability to change a file's encoding from the File Properties dialog. The selected encoding is stored in the project file. BOM markers are written where possible. If encoding comments are present in Python, HTML, XML, or PO files the comment always takes precedence. If no encoding is specified, the default encoding set in preferences or inherited from the system is used. * Added ability to set/clear read-only state of files from File Properties. * Added ability to specify preferred line ending and indentation style for a project (via Project Properties) and policies for warning or auto-converting mismatched files when possible. * Automatically add links on tracebacks in message dialog and Messages tool * Option to automatically add files to the project, either only newly created files, or all files saved while the project is open * Preference to disable pasting from the clipboard into the editor when the middle mouse button is pressed * Multiple files may be opened with the open dialog on win32 * Files may be dragged onto Wing to open them or add them to a project * Spacing between lines in tree & list panels has been decreased and is configurable via the text styles preference * Warn when indentation style is changed from the Source menu to a style incompatible with existing indentation (this is currently only allowed for non-Python files) * Added button to configure reloading to the file reload notification dialogs. * Allow license activation using same User Settings Directory on multiple machines -- old activation files are no longer removed and all existing activations are scanned for a valid license for current host * Allow self-serve increasing of license activation limits at http://wingware.com/extend (requires confirmation via email address of record) * Check for unsaved files when Windows login session is ending * Line number width preference is interpreted as the number of digits if it is less than 10. It's interpreted as pixels if it's 10 or more, * Added button to clear cached analysis data to the preferences editor and removed the undocumented feature that reopening an open file would cause it to be reanalysed * Added Search Help item to Help menu and document viewer toolbar to make documentation search feature easier to find * Autocomplete selection is highlighted with a bolder color * Non-default gtk input methods can be selected via a preference for the entry of non-Western European characters * Improved handling of recursion limited exceptions * PspScript file extension is now recognized as Python Bug Fixes * Search of help on Windows searches all help documentation * Common builtin modules appear in the import autocomplete lists * Don't use deprecated methods when installing debugger hooks in gtk mainloop * Fixed failure to set environment on Window when existing environment keys were not all upper case * Fixed failure to start on Posix systems w/ circular symbolic links in a font configuration directory (seen on SuSe 8.2) * Fixed encoding error when using wingdbstub and the encoding module is not imported before wingdbstub * Don't pop up a dialog if interactive shell fails to start when Wing starts * A from ... import ... as ... statement is handled correctly by the source analyser * Correctly mark file as modified if an external change occurs, but the changes aren't brought into the IDE * Red squiggles are removed when python syntax highlighting is turned off * Don't mistakenly prompt for reloading after an unmodified buffer is written to disk * Enviroment for subprocesses are sorted on Windows NT/2K/XP * Conditional BPs aren't always hit if they contain trailing newlines * Validation of properties dialogs would continue to find errors even after they had been fixed * Debugger was leaking references when exceptions occur, which would cause odd behavior in the wxPython demo * Debugger doesn't slow down when BP's are set in files that don't exist * Dialog is now displayed when attempt to write to a read-only file fails * External change checking is re-enabled after a successful write if it was previously disabled * Sped up display of autocomplete list when it contains a large number of symbols * Source analysis information was incorrect in some cases when multiple lines were deleted in a particular order * Fixed failure to process new entries and crashing when enter large amount of data or output in Python Shell, Debug Probe, or Debug I/O * Prompt to save edited files when middle click on editor tab to close the file, or when right-click and use the "Close" menu item (previously would close w/o saving) * Search manager fixes * Don't crash when searching in binary files * Fixed failure to replace all occurrences when Whole Words search option was being used in the search manager * Don't include '_' as word delimiter for Whole Word searching * Display meaningful error when disk search fails because no directory of given name exists * Fixed incorrect update of search result list that occurred sometimes during edits to files in the result set * Truncate search result list entries to 120 characters surrounding the first search match * Right clicking to add/remove or enable/disable breakpoints on the editor correctly operates on the clicked line rather than the line where the insertion cursor is located * Correctly apply German localization when set on Windows * Fixed failure to correctly detect indent depth in files where the first indent found was before a comment * Correctly detect all forms of "coding" comments in Python files and limit search to first two lines * Treat pt, zpt, cpt, and dtml file extensions as text/xml mime type by default * Fixed broken buttons in Analysis Stats dialog * Correctly handle inserting non-ascii characters with the emacs key repeat (Esc + numbers + key) command * Correctly convert file encodings when insert-file command is used * Correctly handle (w/o crashing) emacs Ctrl-U initiate-repeat command when subsequent Ctrl-U's are used as a multiplier * Count correctly when inserting repeated characters after emacs Ctrl-U is used * Fixed failure to update Modules view initially in some cases * Extended delay after wheel mouse scrolling where a middle mouse click is ignored, to avoid pasting text by accident during scrolling * Corrections to the Zope How-To * Fixed searching for '\n' in a file with '\r\n' line endings * Fixed multiple problems with reverse incremental search * Fixed problems using Indentation tool on non-Python files * H2O themes don't show confusing check mark when a check button is unchecked * Don't fail to start when locale is set to values like 'us'. Instead default to a reasonable value when the locale cannot be recognized. * Also find fonts in /usr/X11R6/lib/X11/fonts/truetype, which is used on some systems (such as Suse Linux) (this corrects fix in 2.0.1) * Class browser "follow selection" option now works * Removed unused "Reopen Windows" project preference * Renamed "Close Also Windows" preference to "Close Files with Project" * Allow selecting outside of the Exceptions tool stack area so copying the contents is possible * Correctly handle lines continued with '\' when entered in the Python Shell and Debug Probe * Added Show EOL option to editor context menu * Set focus on editor before showing context menu so all operations operate on the correct editor * Don't fail on commands that attempt argument collection when there is no editor open at all in a dock window * During trial period, show feedback dialog at exit only every four hours to accomodate trial users that start/quit frequently * Don't indent after line ending with ':' when working within a Python string. * Show popup when right click on shell, debug probe, and debug I/O tools * Increased truncation threshold for shells to 10,000 lines * Correctly detect charset= style encoding specification in html files * Don't process underscores in file names as mnemonics in the context menu shown at top of the editor window * Don't show non-patches as part of patch list shown in About box * For manual license activations via http://wingware.com/activate the pending activation is stored so activation of temporary licenses doesn't fail if more than a day passes between obtaining the request code and entering the activation code. * More descriptive error message when attempt to activate a Wing IDE Personal license inside Wing IDE Professional * Don't fail to save completely empty files * Corrected errors in tutorial and updated for new features since 2.0 * Update already-open editors correctly when Enable Folding preference is changed. * Tool box window titles can now be specified using the tool area context menu's Set Window Title item * Show correct column number in status area when tabs precede the cursor Version 2.0.1 ============= December 6, 2004 Features * Python 2.4 support * Debugger tracer built for production release of 2.4 * Function decorators and generator expressions aren't flagged as invalid code * Optimized debugger when running under Python 2.2 or later * Searchable documentation * Search manager supports batch search of all documentation and interactive and batch search of current documentation page * Toolbar search works in current documentation page * Minisearch (keyboard-driven search) works in current documentation page * Auto-completer improvements * Preference to disable auto-show of the completer (default=Enabled) * Command to show the completer on demand (bound to ctrl-space in normal mode and "esc tab" in emacs mode) * Preference to set time delay after typing stops before the auto-completer is shown (default = 0.0 seconds) * Preference to select among keys that enter selected completion value * Preference to replace existing symbol upon completion rather than always just inserting text (default=Insert) * Preference to use case insensitive auto-completion matching (correct case is always inserted upon completion) (default=True) * Define a default project that is opened automatically when no other project is opened, in order to make it easier to work with Wing without creating and saving a project. * Custom key bindings may be specified without modifying a keymap file * Zope instance directory may be specified in the project properties and the analysis engine automatically finds its Products subdirectory * Added list of installed patch numbers to the About box information * On OS X, added support for Python 2.3 and 2.2 versions compiled with the --with-pydebug and/or --enable-framework configure options Bug Fixes * Fixed seemingly random crash when analysis engine looks up a base class in a module whose internal analysis data is not in memory * Only scroll editor horizontally if cursor is at edge of window and correctly calibrate the horizontal scrollbar * Fixed failure to start up if a blank entry is found in the BROWSER environment value * Fixed failure to recognize #!python style comment the first time a new file is saved to disk * Display the first component of a multi-part imported name in autocompletion list * Search manager fixes * Fixed failure to search in reverse in the search manager * Don't update search results when the search manager isn't visible * Respect option selected for Auto-restart Searches so that result lists are not updated automatically during typing on an editor * Improved handling of stale result lists by anchoring matches to lines * Handle display of multi-line result matches correctly * Incremental search will find non-7bit ascii character * Debugger fixes * Automatically detect when an IndexError or a StopIteration exception will be caught when iterating in a for loop * F10 can be remapped * Directories are listed before files in the project view * Left & right arrow keys will collapse & expand nodes in the project tree and source browser * Don't show reload dialog for files that are open internally only (for source analysis) * Reload dialog is set as transient to topmost window for less intrusive behavior under Windows and most X window managers * Recognize fonts in /usr/X11R6/lib/X11/fonts/truetype (on some newer Linux systems) * Some missing German string translations added Version 2.0 final ================= November 9, 2004 * Updates in German translation of some documentation files * Default theme for Linux is "Simple" which does not have speed issues on some display cards * Fixed problems on Linux causing failure to start or report errors when running with non-English locales. The most common case was failure to start when ~/.wingide2 and ~/.wingide both do not exist and the file-not-found error message from Python contains non-ascii characters in the selected locale. * Fixed infinite recursion bug when analyzing two files that both use from import * to import the other modules symbols. * Added check for pythoncom based shell extensions at startup * Fixed problems with the debugger when gc.get_objects() was used * Don't obscure run location when debugging reaches exception and exception tool is expanded from minimized state * Files in project located on different drives than the .wpr file appear in the project tree display * Don't auto-open default tools and intro screen when opening projects with no open editors in one-window-per-editor mode * Don't repeatedly show the file-has-changed-on-disk dialog and don't show it when only clicking on the editor * Fixed initial display bug in stack data and debug probe panels when they are visible at startup * Correctly find Python file encoding comment when on second line * Don't leak memory when stepping in the debugger and stepping is somewhat faster * Fixed failure to debug certain programs on OS X * Delay creation of internal Timer that's used when debugging wxPython programs * Improved icon on win32 -- now matches Linux / OS X icon Version 2.0rc2 ============== October 26, 2004 Editor * Fixed slow editor responsiveness due to CPU loading introduced in 2.0rc1 * Fixed printing (broken by structural change in 2.0rc1) * Code folding, when enabled, is also available on XML files * Disable justify text on Python code lines where it would break syntax * Do not allow pasting with middle mouse button into read-only editors * Fixed incorrect insertion of parts of previous line when a file is indented with tabs and enter is pressed while the cursor is at the end of non-empty leading indentation * Fixed editor crash caused by editing text with words of length > 1000 * Bound Ctrl-F3 to search-sel-forward and Alt-F3 to search in normal keymapping mode Debugger * Show exception name correctly in the Exceptions, Python Shell, and Debug Probe tools. * Fixed attach/detach feature in debugger * Fixed debug I/O tool to work properly with debug processes that issue multiple input() or raw_input() calls * Only show Apply button in project/file properties dialogs when not shown as part of starting debug, to avoid confusion * Fixed hanging and crashing seen in debug probe, interactive shell, and debug i/o tools when fed very long lines of text * Don't strip the first and last characters from run arguments if they are the same * Fixed problem probing values that implement __getattr__ to return callable objects for all values passed to them -- this caused the debugger to slow down when stepping or even terminate the debug process (seen for example in code that uses xmlrpclib) * Define __file__ attribute in __main__ module if Python 2.3+ is being used Search Manager * Search / replace works in files with non-ascii characters, even when multiple replace operations are done quickly * Search manager at startup pauses search instead of running automatically * Fixed potential for unwanted multiple concurrent disk searches * Fixed potential for unwanted automatic interactive search when search string has not changed * Fixed interactive search in search manager to not get stuck when multiple splits are visible * Don't raise the search manager for "search for selection" operations (except if never yet shown) and keep focus on editor Other Changes * Many fixes for handling non-ascii characters in installation directory, user settings directory, debug filename, project properties, Python path, environment variables, and preferences. This includes fixes for failure to start up, failure to debug, failure to search, and other problems. * Fixed formatting problem in headers of some of the How-Tos * Allow addition of locales in resources/PO without adding corresponding resources/doc translation * Items can be added to the external terminal preference * Binaries for non-i386 Linux` work * Fixed incorrect restore of tool split divider position seen in some cases (such as when typing in python shell) * Ctrl-Shift-S bound to save-as in default key binding * Don't use system gtk on OS X unless --system-gtk is specified as a command line argument to run-wing.sh and hide system gtk option in the preferences editor Version 2.0rc1 ============== October 12, 2004 Features * Multiple files may be selected in the add file to project dialog on Windows NT/2K/XP. * Encoding / Unicode improvements * Include CJKCodecs module for the following Asian encodings (requires use of appropriate fonts in display and editor). Note that this encodings module for Python is still experimental and may contain bugs. The following encodings use the CJKCodecs module: * Chinese (PRC): gb2312 gbk gb18030 big5hkscs hz * Chinese (ROC): big5 cp950 * Japanese: cp932 shift-jis shift-jisx0213 shift-jis-2004 euc-jp euc-jisx0213 euc-jis-2004 iso-2022-jp iso-2022-jp-1 iso-2022-jp-2 iso-2022-jp-3 iso-2022-jp-ext iso-2022-jp-2004 * Korean: cp949 euc-kr johab iso-2022-kr * Improved Unicode: utf-7 utf-8 utf-16 utf-16-be utf-16-le * Recognize XML file encoding in tag * Recognize HTML file encoding in tag * Recognize PO translation (localization) file encodings * Next/previous window commands in Windows menu (includes emacs Ctrl-X 5 O and Ctrl-O bindings) * Editor features * Go to definition of a symbol when control-click on it in the editor * Added menu items for Next/Previous bookmark and bound these commands to Alt plus right/left arrow keys (this caused some changes to the Alt bindings for structural folding commands; Alt-Right/Left is a command standard for bookmark traversal) * Added emacs Ctrl-X Ctrl-X to exchange current position and mark when marking text after Ctrl-Space * Added emacs Ctrl-X Ctrl-W to write current file to another location * Delete when cursor is positioned at end of indent area will delete one level of indentation, not one character * Pressing enter when cursor is at the end of the indent portion of a line will auto-indent the line to match the old indent * Set editors to read-only when the associated disk file is read-only at the time the file is opened. This is indicated in the tab title and status area with (r/o). The read-only status can be changed from the editor context menu using Set Writable and Set Read Only. * Emacs ctrl-a / home functionality goes to start of line first, then end of indent. In non-emacs modes, home goes first to end of indent, then start of line. Both commands are exposed so key bindings can be altered if desired. * After Tab (indent-to-match) is pressed, place insertion caret at end of leading white space when a single line was indented and the line is either blank or the caret was in the insertion portion of the line. * Indent & outdent region now align the first line to a multiple of the indent size for the file * Printing on OS X * Added close item when right click for context menu on editor notebook tabs or header area * Middle click (on mice that have three buttons) closes the editor tab that is clicked upon * Added Move Focus command to Window menu (key equivalent Shift-F1 and Ctrl-X O in emacs mode) to move focus among visible editor splits and tools within the same window * Goto base class items on source browser context menu * Extended support for autocompletion options in builtin and standard library extension modules not available as Python source code. In Python2.3 these include: array errno math rgbimg termios audioop exceptions md5 rotor _testcapi binascii fcntl mmap select thread __builtin__ gc nis sha time bz2 grp operator signal timing cmath _hotshot ossaudiodev _socket _tkinter _codecs _iconv_codec parser socket unicodedata cPickle imageop pcre _sre _weakref crypt imp posix _ssl xreadlines cStringIO itertools pwd strop xxsubtype _csv linuxaudiodev pyexpat struct zipimport _locale _random _symtable zlib datetime regex syslog dl marshal resource sys * Support for user-defined Python Interface (PI) files to describe the API of extension modules that Wing cannot parse for code intelligence * Added splash screen at startup (optionally disabled from User Interface / Advanced / Show Splash Screen preference) * Debugger no longer reports previously seen false positives from its unhandled exception detection algorithm (in sre_parse.py) * Documentation updates * German language translation updated Bugs Fixed * Optimizations * Reduced startup time * Sped up display of imported symbols in code browser * Improved editor responsiveness * Code analysis engine tracks updates in python path * Replace in open files with non-7bit ascii character works correctly * Browser's current module mode works when browser is not in an editor window * A dialog is no longer displayed when the debug process unexpectedly quits * '\r' isn't added to end of lines read from stdin when using external console on Windows * Goto symbol works with nested scopes and builtins * Don't mistakenly mark certain list comprehensions as incorrect code with red squiggleys * isinstance() hints to the analysis engine would not work if the class was imported * Goto base class would sometimes select the incorrect tree row * Incorrect code would sometimes not be underlined w/ red when the file is initially opened * All project classes view of the browser is cleared when the project is closed * Rows for classes in the browser always can be expanded * Correctly restore multiple tool windows when 1 or more is already open * Don't set the initial directory of the file selection dialog to the wing installation dir or to root * Fixed bug w/ close-all when the reload dialog is displayed * Color selector in preferences editors work on OS X * Shared menu bar in one window per document mode is now positioned at the top of the screen * On Windows, the editor doesn't occasionally only display the line the cursor is on * The accent key followed by a space works on non-US keyboard layouts * Visibility options in browser no longer change when browse mode changes. This change causes saved browse visibility options in a project file to be ignored when an project file written with an older beta is opened * Symbolic menus no longer cause the editor to jump to the selected symbol when that symbol does not change * Backslashes are no longer interpreted as escape characters if they don't immediately precede a " or ' in run arguments * Text pasted into other apps on Windows doesn't sometime lose newlines * Can use system gtk on systems that don't install the libraries in /usr/lib or use newer gtk versions * Generate list of instance attributes even when a method name has recently changed * Use python 2.3 manual if version installed on system cannot be determined * Correctly report failures to display external files on Windows * Improved wxPython support in the debugger * Fix failure to write new project file * Don't crash when using some list widgets on Windows * Respect default text encoding specified in preferences for Python files * Fix ctrl-shift-tab keybinding * Log failure to start debugging when IOError happens, but don't put up bug dialog. * Don't truncate error-log at 100K when threshold is set higher * Fixed 1 in 100 chance that a license activation will fail * Don't rewrite project files if they have not changed (more compatible for revision control) * Gracefully handle read-only project files that can't be overwritten * Don't consider no windows printer an error * Fixes for multi-window modes * Omit "Wing IDE: " from window titles in one-window-per-editor mode * Correctly restore project state when in one-window-per-editor mode * Set correct initial directory for File / Open when in one-window-per-editor mode * Initiate quit sequence when close the shared toolbar window in one-window-per-editor mode * Raise already-open source windows correctly in multi-window modes * Fixed Close All Documents to work in one-window-per-editor mode * Iconify or deiconify all other windows when shared toolbar window is iconified or deconified in one-window-per-editor mode (only on win32 because of problems w/ X11 virtual desktops) * Fixed Close Window menu item to work in one-window-per-editor mode (closes most recently active window, not the shared toolbar) * Fixed commands to work in one-window-per-editor mode also when toolbar window is at front * Fixed next/prev/recent document commands in one-window-per-editor mode * Fixed problem that prevented Wing IDE Personal from starting in multi-window modes * Restore also size/position of reused editor and tool box windows (but not dock windows) when opening one project after another and reusing windows * Track existing projects previously used under another windowing policy into the current windowing policy when they are opened * Correctly handle non-sticky editors in one-window-per-editor mode (which currently doesn't have the concept of non-sticky windows) * Don't open multiple copies of same editor in one-window-per-editor mode when a file is opened using different symbolic paths to the same already-open file * Search manager improvements * Auto-enter selection if there is one when Show Search Tool * Enter key in search field brings up first search match and places focus on editor * Better history list, truncated at more manageable length with visible white space * Ctrl-Enter and Ctrl-Tab can be used to place newlines and tabs in search string. Also available from search/replace string option popup menus. * Option to interpret backslash sequences like \n, \t, and \xc3\xa4 -- all those supported by Python * Auto-hide Directory Search file selector combo list after 3 seconds * Allow tab to shift also to/from the Directory Search entry area * Correctly reanchor incremental searches at current cursor position * Show correct line numbers in result lists even in \r\n and \r terminated files * Also update the result list when edits don't remove a line from the result set but do alter the line text * wingdbstub wasn't working in programs where sys.argv doesn't exist * Removed limit of 100 project files in the Wing IDE Personal product * Don't choke on restoring symbolic paths in watch tool if there is no debug process running * Added missing command and preferences reference appendices to the manual * Expanded and updated documentation for recently added features and customization options * For clarity, license manager recognizes and explicitly rejects Wing IDE 1.1 licenses * Allow turning off auto-completion from preferences (either name or attribute completion or both) * Allow analysis of .pi files also before extension modules have been compiled into pyd/so files. * Fixed problems with tracking selection in tree views that caused several bugs in project, browser, and debugger views * Fixed input in Debug I/O tool to avoid munging the input string in odd ways. * Exception reporting improvements * Fixed exception reporting done at process termination so stack can be viewed if debug process can be stopped before terminating * Made it possible to inspect exception traceback after the debug process has exited or been killed * Improved documentation and tips for exception reporting options * Debug Probe / Interactive Shell fixes * Simplified clear buttons in shell and debug probe and restore focus when they are used * Show correct context menu when right click * Don't terminate debug/shell process when fed a syntax error * Send pasted text to end of buffer * Avoid exceptions seen when traversing history with arrow keys * Fixed failure to step after stopping on breakpoint on first line of the debug program * Fixed failure to report failure to execute files * Don't hang up for a long time on large stack traces shown in the Exceptions tool or large reports in the Source Assistant * Set focus on project when right click so Add and other items work relative to position of the file clicked on, rather than current editor file * Editor fixes * Auto-completer correctly handles typing of non-ascii characters * Immediately update tab size on editors showing tab-only indented files when the tab size preference is changed * Show "*" after file names for modified editors in tabs, selector drop down (when tabs are hidden), and Windows menu * Ctrl-up/down arrows leaves caret where it was rather than moving it during scrolling * Mini-search query-replace accepts 'j' for 'ja' in German locale * Better support for pasting text into the mini-search tool * Mini-search properly handles non-ascii characters * Insert file and goto line bring up dialogs instead of using the emacs/keyboard driven entry areas when not in emacs mode * Autocompletion works properly for 'sys' and some other Python provided extension modules * Better auto-selected colors for styles that override the selected editor background color (such as unterminated strings in Python code) * Emacs Ctrl-Space restarts text marking correctly when already marking * Fixed Dedent and Match Indent items in editor context menu * Changed rectangular select to alt-click *and* ctrl-shift-click to avoid conflicts with X windows managers and to match more common conventions on Windows * Items in context menu in editor tabs or header pertain to the clicked-upon tab if over a tab, otherwise the current editor * Show correct column numbers also when lines contain non-ascii chars * Show actual symbols in key bindings in menus rather than names like "parenleft". * Switch document command now works with file names > 80 chars in length. * Several preferences previously limited file names or command lines to 80 characters in length -- now fixed * Show docstrings in source assistant correctly even if indented with tabs: Leading white space is removed and configured tab size is applied to any remaining tabs. * Correctly show code line for links in source assistant in more cases (used to fail when some analysis info was missing) * Start adding file(s) to project from correct location when right clicked on directory name in project tree * Bring Wing Tips window in front of document window(s) if shown at startup * Move calltip highlighting more correctly when moving through a function or method invocation * Fixed confusion H2O theme check boxes so they don't check a checkmark when unchecked! * Moved Close All to File menu (was in Window menu) * Project manager fixes * Remove all old locations cleanly when closing or switching projects (previously some would linger in the mime type view) * Don't show nodes twice when add items in directories that enclose the project directory * Don't remove files other than those organized under the displayed tree nodes (previously removed more when in directories enclosing the project location) * Reject adding unsaved files to the project to avoid problems * OS X fixes * Don't hang up at startup on systems where 'which xterm' return nothing * Fixed bug that prevented the Copy Tutorial Now link on the second page of the tutorial from working * Fixed debugger propagation of LD_* and DYLD_* (on Darwin) environment variables when using external console with debugger * Avoid storing incorrect column widths in stack data and other debugger views * Fixed exception seen sometimes when moving up and down the debug stack * Improved action of the tool areas in default windowing policy so that they properly update minimized/hidden state during manual drag of the divider. * Fixed bug that caused the debug process to terminate when reporting an exception, if multiple Exception tools are displayed. * Fixed bugs that prevented display of hidden or minimized tools in some cases * Fixed bug that automatically populated empty toolboxes with the default set of tools * Fixed right/left non-active notebook tab display in Glossy P theme * All editors opened from the source browser are opened transient * Double click on source browser and debugger displays only opens/watches the item and doesn't also expand/collapse parent nodes * Debugger reports fewer more meaningful errors when a breakpoint is set, removed, or moved and the debug process is unresponsive * Don't sporadically report unexpected debug process termination when the process is killed from the IDE Version 2.0b5 ============= August 6, 2004 Features * Forward/back buttons in top left of editor now traverse forward/backward over visited code rather than files alphabetically (which was a temporary implementation in the beta series) * Added preference to auto-clear debug I/O when debug starts (on by default) * Home command first jumps to end of leading white space and then to start of line, rather than the other way around as it was previously * Re-added temporary breakpoints (Wing IDE Pro only) * Added preference to set editor split reuse policy (reuse current or open in adjacent split) * Ctrl + up/down arrows scrolls text w/o changing relative position of caret on screen * Added show/hide white space and indent guides and comment/uncomment region commands to editor's context menu * Search manager automatically selects search text when it gets focus, to make overtyping old search strings easier * Allow tabbing between search and replace in search manager and Ctrl-T inserts tab character * Allow file encoding to be changed when it is saved if contents cannot be converted to the previous file encoding Bugs Fixed * Don't lock up the Windows clipboard, preventing other apps from using it * Autocompletion is cancelled when menu key is used to display context menu * Fixed problem determining indents in file with a mixture of tabs & spaces * Warn if project or preferences file is corrupted * Fixed hanging seen sometimes during search result list updates * Use correct encoding when writing disk files during Replace All that operates directly on disk * Search manager replace operation avoids placing incorrectly encoded characters into the editor buffer * Show file in project tree, even when they are in a different directory heirarchy as the project file * Set text encoding from system text encoding as returned by locale.getpreferredencoding() * Don't underline valid Python 2.1, 2.2, & 2.3 syntax with red squiggly underlines * Hide tooltips when switching to other window on win32 * Don't shift focus to toolbar buttons when they are clicked * Improve sizing of horizontal and vertical toolboxes in document windows * Handle non-7bit ascii characters in environment names correctly * Handle non-7bit ascii characters in Python Path correctly * Clean up internal data structures properly when a window is closed * File specific environmant settings are merged properly and expanded in run arguments * Make sure analysis of imports times out rather than get into an infinite loop * Win32 cut/copy/paste key bindings added to the normal keymap * Keyboard/menu driven Cut/copy/paste now works in toolbar search, Debug Probe, Python Shell, and Search Manager * Fixed analysis failures when scope name is empty * Better tracking of position of notebook dividers * Hide inherited option is honored in the source browser * Improved text buffer scrolling * Saved searches are initially paused when restored from project file * Modal dialogs don't stay of top of windows from other apps * Fixed failure to open and colorize multiple file types (including PHP) * Fixed failure to convert Wing IDE 1.1 projects properly when they contained ascii characters with value > 127 * Filter out internal font names starting with @ in the font selection dialog * Reduced flicker and eliminated misdrawn areas on Windows * Avoid emitting middle mouse click sporadically during mouse wheeling on win32 * Improved one-window-per-editor mode - As per original design, menubar and toolbar are now in a separate shared window in this layout mode - Fixed next/prev document and switch/recent document commands in this mode - Better initial window sizing and positioning - Use new window, not tool area, for newly created help views - New Document Window in Window menu creates new blank document, not help view * Handle search matches in new, unsaved files * Fixed keyboard/command macros so they work properly * Fixed Esc + numbers + key/command in emacs mode to work properly * Correctly find strings when doing a case insensitive search for a string containing non 7bit ascii characters and respect regex flags * Don't hang in source browser when finding children of a non resolvable import * Buttons that become available when mouse is over them can be clicked * Don't buffer debug process's sys.stdout & sys.stderr when redirecting output to debug i/o panel * Support systems that return None for the filesystemencoding * Fixed broken file title style preference so it works and updates when changed * Changed tooltip on editor tabs and popup menu to always show full path for file names, regardless of setting used for file title style in prefs. This can be turned off by preference so tooltips match the selected file title style. * Turned "follow selection" preference off by default to avoid newbie confusion * Right click in project or browser no longer shows source if the "Follow selection" checkbox is checked * Don't zoom tool areas until mouse up when clicking on tabs, and then only if the mouse up is within the tab area * Browser doesn't alter selection and scroll position when in current module mode and selecting between files * Moved browser "follow selection" to options menu to save on width * Tab key now inserts a tab into Debug Probe and Python Shell * Debugger data displays now store expansion state in a way that does not encode which stack frame is being viewed. * Debug attach, conditional breakpoint, breakpoint ignore count, and analysis stats dialogs appear with correct sizing and position * Fixed run to cursor to work properly also when starting debugging * Debugger now properly logs internals into a file and logs without redundant timestamps when sent to stdout or stderr * Remember Python intepreter after set in project properties, so that one is used in the future if Python cannot be found by default on the system * Fixed WingDBG product to support Wing 2.7.1+ (fixes code broken by renamed methods in Zope) * Extra File Types preference now also supports wild cards built with '*' and '?' * Clarified Extra File Types vs. File Sets preferences * Allow selecting Exceptions text by right clicking * Fixed traceback seen when search on selection and some other features * Fixed periodic tracebacks seen during editing near breakpoints * Automatically clear stored value errors when user changes prefs that affect whether timeouts occur or huge list/string threshold is reached * Fixed failure to create analysis cache directories after converting Wing IDE 1.1 projects or when user's profiles directory is not writable * Fixed autocompletion not to report an error on non-ascii characters starting a completion * Fixed spurious traceback seen when displaying Help in some cases * Handle symbolic watches correctly across IDE sessions * Corrected Editor preferences area for Wing IDE Personal * Don't insert tab character into editor when working in search manager and tab key is pressed * Fixed reuse of existing license activation, better error reporting when a Wing IDE 1.1 license is fed to the 2.0 license manager, and clarified license activation dialog titles. * File open/save dialog now displays properly on Windows NT4 * Don't deselect text when press modifier keys in shells, which prevented using keyboard to copy/paste, among other things * Show correct offset when searching in non-ascii files that are already open in an editor * Avoid blank links / broken search result list seen in some cases depending on file content * Don't close windows automatically when use emacs ^X^K key binding * Don't auto-quit in certain cases when switching into "separate tool windows" windowing policy and when working in "one window per editor" mode * Added Ctrl-Tab and Ctrl-Shift-Tab as key bindings for next/prev document (Ctrl-PageUp and Ctrl-PageDown also work) Version 2.0beta4 ================ Features * Class browser * Improved patch system which should alleviate the problems upgrading a patched installation * Use window icon on Linux * Editor and tree menus are displayed when shift-F10 or the menu key is pressed Bugs Fixed * Fixed critical bug that could result in truncating files to length zero when non-ascii characters are used. * Fixed support for pausing in a gtk2 program when it is in the C mainloop. * Renamed confusing split vertically and split horizontally menu items * backward-tab command works * Wing defaults to its private copy of gtk and it may be set to use the system gtk via a preference * Exceptions is only listed once in tools menu * Opening files in an existing instance of Wing works more than once * Project is save when last window is closed via the window manager's close button * Directories deleted from project tree when files are removed * Reload dialog doesn't get confused when a file listed is closed * Fixed code analysis confusion when classes or functions were renamed and modified files were not saved when quitting * Don't try to read past the end of the document when getting indent info * Don't segfault if BP with a non-zero ignore count is removed while debugee is running * Project commands are available even when project doesn't have focus * Fixed code analysis problem which was triggered be certain combinations of multi-line deletions * Correctly underline urls in doc strings * Eliminated analysis hanging up when a file contains multiple recursive from import * statements that reference the same files * Only look for # coding: spec in the first two lines of file and don't fail if the encoding name is invalid * Switching between projects sometimes triggered an internal exception * Don't leak thread object handles on win32 when subprocesses are started * Close disk files when search is paused or aborted * Rescan file for information about a particular scope if cached information is incorrect * Fixed exception when debugger is stopped while sending BPs to server * Multiple lines of text may be dropped in interactive shell * Disk search no longer stops when a file is encoded with a codec that is not shipped with Wing * Numeric keys work correctly when caps lock is enabled on win32 * Run args were added to command line twice when external console was used * Unsaved new buffers are not saved in project state or recent lists * File and directory selection dialogs can handle non ASCII characters * Encoding was being reset to file system encoding when file originally read contained a byte order mark * Recent lists can contain non-ASCII characters * Don't reset encoding if it is specified by a # coding: comment in Python files * Correctly detect if a name of an open file is specified in a save as operation for a 2nd file * Don't show the license dialog again in same run session after selecting a trial license * Reload the license information completely after installing a permanent license over a trial license * Fixed dialog order problems that prevented saving after 10 minute no-license trial * Added key bindings for both next and previous document commands in Window menu Version 2.0beta3 ================ Features * Printing on Windows * Integrated bug/feedback submission forms that submit directly to wingware.com * New license manager with easier and clearer license setup directly from the product w/o emailed license files * Wing will run using the system-wide installation of gtk2.2+ when present on Linux systems * Wing comes with the necessary support for displaying TrueType fonts anti-aliased when they are present on Linux * Toolbars wrap depending on available window width and tool display size/style * Replace All doesn't show warning dialog if replacing will happen only in already-open files * Startup time reduced if project isn't displaying files by mime type * Added preference for setting editor insertion caret width * Keep one transient editor open by default to make recent switching work better. Maximum number of non-visible non-transient editors can now be set from Advanced editor preferences (default=1) * File entry widget are not case sensitive on Windows Optimizations * Editor performance improved in themes with pixmap background (affects anything that involves drawing, especially scrolling) * Editor scrolling with arrow and page keys much more responsive Bugs Fixed * Fixed failure to remember ignored exceptions when check box in Exceptions tool is used * Remember unmaximized size of windows between sessions when windows are maximized * Fixed potential crash when switching projects * Initial window appears on one monitor if there is more than one monitor * Breakpoints with ignore counts work properly * Japanese characters can now be entered into the editor, though on Windows the pre-input string appears at the top left hand corner of the window * Add package or add tree add all non-generated files to project * Debug I/O and python shell auto scrolls to bottom when lines are wrapped * Symbol menus above editor updated correctly * Row under pointer in project tree is selected before displaying popup menu * Message dialog boxed are sized based on their contents * Removing all files from project doesn't trigger an exception * Various memory leaks fixed * Fixed cause of possible crash in source analysis (may have caused crashing of indent manager and source browser) * Pasting non-ascii characters on win32 works * Copied selections don't disappear after a file is closed * Remote file translations are used when sending breakpoints to server and various other fixes to remote debugging * Don't prompt to reload twice after a open file is deleted * Don't prompt to reload immediately after saving a file on win32 (only happened occasionally) * Don't crash after version 1.x project conversion or in other cases associated with attempted display of the message/error dialog * Don't auto-quit (appears as crash to user) after project file is closed (also happened during switching projects when no Help view was open) * Fixed crashing that could be caused during editing when editor or shell line wrapping is turned on * Fixed many problems with getting the debug/analysis PYTHONPATH right and failures to update the path when changing project settings or switching between projects. * Replace All button in warning dialog now works properly * Project properties doesn't reject blank lines in environment settings * Debugger didn't work with Python 1.5.2, 2.0, & 2.1 interpreters * Don't overwrite non-project files when try to open them as projects * Most cases of watch manager hanging up Wing have been fixed * Watch manager Clear All no longer breaks the watch manager until restart * Watch manager shows error messages only when values actually edited * Setting new values from debugger in the locals dictionary now works * Update project name shown in project manager when save as * Search manager entry areas set correct display font, size correctly according to font, and don't disappear text while typing * Don't overwrite user's GDK/GTK/PANGO env settings * Correctly handle zero length files in saving * Show correct search result ranges in non-ascii encoded files when searching directly from disk (the file is not open in an editor) * Don't obscure files listed on command line with a Help view * Handle name=value arguments in the source assistant so correct call tip highlighting occurs * Don't warn about forcing tab size to eight over and over again when editing in files where this is being done * Show tab size restored to prefs notice for clarity when indentation is repaired by user * Update internal indentation analysis more often (previously was sometimes deferred long enough to make indent warnings confusing) * Correctly enable tab size entry box in indentation manager when available * Search manager should always update result list after files are edited instead of often "forgetting" about files * Fixed search manager result list with grouped file name display style * Search manager warns in Messages when it cannot open a file that is part of the search scope (such as non-existent project files) * Improved search manager result list update to avoid jumping scroll position when editing a file included in the list * Don't confuse batch search results in files of same name when updating results list after edits * Search manager search string history is properly updated * Don't use mnemonics in search manager history lists * Clicking on already-highlighted match in search manager also displays the editor with match selected (did nothing before) * Fixed incorrect reseting of ignore-changed-files and auto-save-files preferences when the debugger shows its warning dialog during debugging. * Fixed failure to set state properly when editor has more than one split * Don't show Help in the tools menu * Removed Messages and Indentation from the set of tools shown by default * Set focus on tools more often, hopefully w/o being annoying * Set focus on editor if tool with focus is minimized or hidden * Fixed object life cycle bug that could lead to failure to start debugging * Fixed potential internal state consistency problem in debugger that led to endless cycle of trying to kill the debug process * Show key bindings for more commands in menus (previously missing related mutually exclusive commands like break set/clear) * Don't spontaneously show the search manager when traversing menus and at other times * Don't fail to bring "Confirm Save" and other modal sub-dialogs to front under certain window managers Version 2.0beta2 ================ Bugs Fixed * Correctly find Python even if not set in Project Properties (was leading to total failure to auto-complete or show info in Source Assistant for Python libs and builtins) * File selection dialog doesn't crash a some Linux distributions. * Background and encoding of search entry set correctly. * Editor doesn't hang when entering a u before an existing r' * Build system changed; now requiring glibc 2.2 or later, which should avoid several potential sources of crashing on Linux but also discontinues support for glibc 2.1 (too many I18N problems) * Fixed worst problems with one-window-per-editor mode (but this still needs work) Version 2.0beta1 ================ Features * Added preferences for setting display theme, font/size, and background color on editor, text selection, etc. Default theme is set to Yattacier3 on Linux * Added preference for separating tool areas from editor window or running with one window opened per editor * Added ability to move tool boxes and splits into a new window or among other open tool windows * Added ability to move editors to a new window or among open editor windows * Added commands and key bindings for toggling display of the tool panels * Set better key bindings on non-editor text entry areas when in emacs mode * Improved support for non-ascii encodings for editor files and file names (still needs some work) * On Windows, Wing's profile directory is now under the per user Application Data folder in a 'Wing IDE' sub-folder. * Restore Default Tools command in the Tools menu * Restore to factory defaults button in preferences dialog * Re-enabled about box Bugs Fixed * Python shell works on Win 98 & ME. Programs being debugged always use a separate console on Win 98 & ME only. * Segfault opening some projects * Project display bug resulting in duplicate items * Location maps for remote debugging work. Also, the initial file: prefix does not need to be specified in the local name. * Rotated text on sideways tabs displays appropriately * Multiple open files in the editor don't cause naming confusion * Double click expands and collapses expandable tree nodes * Shared project files work properly * Debug variable display tree column widths use better default size and correctly track user changes * Better initial defaults for toolbar style and number of splits in tool panels when working on smaller screens * Analysis failure/bugs no longer prevents adding new lines to a file * Don't show duplicate type inference results in the source assistant * Use correct split when add/remove tools * Document window close box doesn't work right * Failure to save files before when when set both "ignore unsaved" and "autosave files" in debug preferences * Numerous object life cycle bugs * Search manager doesn't work on untitled files * Search manager doesn't track save-as changes in files and scope * Search manager doesn't track project scope changes * Better editor split reuse policy (don't always open over the current editor) * Folding preferences don't have any effect * Fixed bugs in trial license nag dialog * Set better margin and caret color when change editor background color Optimizations * Much faster multi-file searching Version 2.0 =========== Major Features -------------- * Redesigned GUI to flexible MDI with zoomable, reconfigurable panels, multi-window option, tabbed editors, and integrated source navigation * Integrated help and documentation * Error indicators on source code * File / scope navigation menus added to source editor (replace old unwieldy source index menu) * Graphical preferences editor; all preferences take effect immediately without need to restart the IDE * Batch searching of open files, all project files, and disk files by directory, optionally recursively * Wildcard and regex search/replace * Multi-file Replace All * Keyboard driven mini-search/replace feature available also in non-emacs editor mode * Wing Tips tool to display useful hints on using Wing IDE * Improved debugger watch points: By reference, parent reference and slot, symbolic path, or path within a particular module in sys.modules * Improved debugger expression evaluation via new Watch manager * Debugger sys.modules data view * Altering values in debugger by entering Python expressions within tree views Minor Features -------------- * Environment variables can be specified in project and file properties using $(ENVNAME) form * New editor syntax highlighting support for: CSS, VB.NET, TCL, Postscript, Fortran, Bullant, ITCL, Matlab, docbook, Masm assembler, Baan, Crontab, VB Script, Scriptol, POV Ray Tracer Scene Description Language, ESCRIPT, Basser Lout typesetting language, MMIX Assembly Language, NSIS, YAML, and VXML * Project file can be sorted into deep tree view * Project display supports multiple selections * Optional visual long line wrapping on editor display * Restore reasonable scroll and selection state when reloading editor contents from disk after disk copy of file was changed externally * Added ability to block debugger expansion of values by data type, so that buggy extension module code can be avoided. This is used to avoid crashing on GdkColormap under pygtk, and types can be added with the debug.no-probe-types preference. Values on this list are still shown in the debugger display as opaque data values. * Line wrapping in non-Python is constrained to currently selected range of lines, if more than one line is selected before Justify Text feature is used. * Added internal type checking and expanded error messages for reading the preferences files * Added preference edit.print-spool-cmd to allow setting the command that is used to spool pretty printed Python output (Posix only) * Minor improvements in icon graphics and new icon for application * Available module names are displayed in autocomplete list when entering an import statement * Added ability to set selection color in editors * Improved debugger value reloading * Editor dedents correctly after "continue" Bug Fixes --------- * Start macro record is always enabled and terminates existing macro record and restarts if already recording a macro * Take common leading space into account when auto wrapping text, so that line length is still constrained to wrap column * Splash screen always draws correctly now * Fixed failure to reload when an external python executable changes * Increased default network timeout for debugger to 10 seconds to avoid problems connecting on slow machines (mainly seen on win98) * More informative info in debug connection-failed dialog, indicating that the problem may be a timeout error * Fixed failure to attach to a process that Wing detached from * Files with spaces at the beginning & end can be opened from the recent menus * A class derived from a class with the same name that's imported from another module doesn't confuse the analysis engine. * Improved debugger's stdin wrapper so it works more reliably when the IDE disconnects, the IDE reconnects, and in some situations on Windows. * Fixed crashing sometimes seen in debugger during tree expansion (due to bugs in gtk1 tree widget) Version 1.1.10 ============== August 28th, 2003 Features -------- * Added auto-completer options for Python 2.2 and 2.3 builtins * Debugger support built against Python 2.3 final * Also show __slots__ for debug values if present * Added support for debugging code running under cygwin Python 2.2 and 2.3 on Windows * Added names defined in base classes to completion lists for a class object * Added proj.dir-omit-types preference that specifies wild cards for omitting whole directories while adding a directory tree to the project, and also omit Subversion (.svn) directories by default * Added emacs Esc greater / less key bindings Bug Fixes --------- * Don't autosize windows on win32 when switching editor buffers and the window is maximized * Fixed potential for infinite replace-all loop when replacing with a string that contains the search string and the cursor starts after that last match in the file * Fixed failure to set initial directory during directory selection (happened always on win32 and in unsaved projects on posix) * Avoid doing DNS lookups unless absolutely necessary, to reduce chance of problems on hosts with misconfigured DNS * Allow use of Ctrl + Shift or Alt + Shift in key bindings on letter keys * Disabled warning about rotor module in Python 2.3 processes * Fixed problem in debug API preventing suspend * Fixed rare reference counting problem at shutdown in debugger on Windows * Fixed failure to find base classes when a base class is imported * Fixed running the debugger with a statically linked dbgtracer module * Fixed problem in redirecting I/O during debugging under Delphi and some other environments that replace sys.stdin with an object missing "closed" * Fixed brace matching problems seen in some nested cases in Python files * Fixed setting DYLD_* environment variables when using a debug console (OS X only) * Fixed save dialog to work properly when closed from window manager (Linux/Unix only) * Fixed getcwd call (FreeBSD/Solaris only) Version 1.1.9 ============= March 24, 2003 Debugger -------- * Debugger now supports Python 2.3 * Show console by default when debugging (previously the default was not to show the console, which was often confusing to new users) * Added preference to specify which console program to use when debugging with a console on Linux/Unix. * Debugger displays both contents of __dict__ and values obtainable by calling keys() and __getitem__() when both are present and allows expanding descendents of str and other built-in classes in Python 2.2+ * Debugger data probing via __members__ attribute is now on by default, allowing for deeper display of data values in some extension modules, such as pygtk. * Debugger will work with OS X python interpreters built with the framework option enabled * Debugger stack includes point of syntax errors in more cases * Fixed failure to pass command line to debug process if it begins with a space * Don't incorrectly add aq_self and aq_parent values, when present, to user data __dict__ when debugging Zope code * Turn off Nagle algorithm at both ends of the debug connection, for faster debugging. Editor ------ * Improved auto-indentation within logical lines, esp. inside multi-line sequences and dicts in tab or mixed tab+space indented files * Added ability to show an edge marker on source code (by default in light red at column 80; this is configurable with preference edit.show-edge-marker) * Added Ctrl-T as alternate key binding for inserting a tab character (because Ctrl-Tab conflicts with KDE virtual screen swapping) * Added cursor repositioning commands to the Source menu with key bindings also in normal (non-emacs) editor mode (emacs mode bindings for some of these are non-standard) * Automatic brace matching can be turned off with new preference edit.auto-brace-match=false (it's on by default) * Disabled tab error indicators in tab and mixed indent files, where they are not reliable * Fixed auto-indent to also replace indent of same level when the contents of the indent (in terms of tabs vs. spaces) differs * Under X windows, don't whomp on an external selection when a new editor is created or opened * Fixed emacs interaction to work properly with characters entered on keyboards with Alt Gr key Source Analysis --------------- * Fixed problems with code analysis when '>>' is used in an expression * Fixed caching of code analysis data when import statement is part of a compound statement (e.g. 'a = 1; import string') * Autocomplete works (if type can be inferred) for variables named r, R, u, U, ru, & RU. * Fixed analysis of unicode literals * Improved interface files for builtin Other ----- * Added Quickstart, How-Tos, and Python Success Stories links to the Help menu * Search manager now remembers search options in the project file * On Linux/Unix, help menu and Open in External Viewer in Project's right-click menu display by default using the browser configured in BROWSER environment variable, or by searching for common browsers. This may be overridden with preferences gui.url-display-cmds (for urls) and gui.file-display-cmds (for local disk files). * On Windows the default extension for a file type is added to a newly entered filename unless an extension is specified * On Linux, don't fail to start up on machines missing basic fonts * Added xsd and a number of other XML related file extensions for automatically recognizing file type for syntax highlighting * On Linux/Unix, close all sockets on exec to avoid propagating them into spawned processes. This could lead to problems with reusing Wing instances, inability to listen on the debug socket, failure in detach/attach, or failure to debug programs that spawn sub-processes. Version 1.1.8-3 =============== January 31, 2003 Bug Fixes --------- * Avoid stopping debugger in internal function when stepping into an import * Improved path name detection for modules that are loaded before debugger starts Version 1.1.8-2 =============== January 28, 2003 Features -------- * Added debugger support for Python 2.1 on OS X in binary distribution * Fixed WingDBG Zope support module to avoid revealing internal exceptions during debugging Version 1.1.8 ============= January 21, 2003 Features -------- * Debugger now detects module load and reload and correctly indicates to the user cases when the source being viewed in the IDE does not match the code that is running in the debug process (e.g., after edit but before module reload) * Set TCP_NODELAY on debug connection for slightly faster debug stepping (only with Python 2.0+ debug processes) * Added ability to specify also the debug password file name in wingdbstub.py, to override the default of .wingdebugpw Bug Fixes --------- * Correctly accept non-ascii chars as input from the keyboard * Improved reporting of failure to view manual and other external documents * Fixed occasional failure to stop at 1st BP reached when debugging an externally launched program * Avoid failure to expand instances that look like short values because len(str(value)) < the configured short text threshold (default 55) * Fixed debugger to handle file names > 260 characters in length on win32 * Lengthened timeout for reusing existing Wing instance to open files, to avoid intermittent failure on slower machines * Corrected documentation for Lite to omit some preferences not available in this product level * Corrected documentation for external launch debugging to describe the access control password file * Optimized display of large values in the interactive shell and update status message while command is executing * Fixed wingdbstub.py handling of the WINGDB_PWFILEPATH environment variable * Fixed failure to detect an empty project file * Avoid spurious tracebacks at end of debug session, e.g. in wxPython apps * Fixed file location cache to correctly normalize paths like C:\\\\x\y\z and \\\\\\x\y\z on win32 (to C:\x\y\z and \\x\y\z, respectively). This fixes potential failure to stop on breakpoints and similar problems. * Fixed emacs file selection manager to correctly display C:\ instead of C:\\ when working directory is top level of drive on win32 * Internal file location cache expanded for faster large project startup and fixed to avoid potential confusion of different files * Fixed file location cache to correctly interpret C: on win32 as the current working directory associated with C: rather than C:\ * Fixed failure to auto-indent in empty Python files when edit.indent-style is set to tabs-only and edit.indent-size does not match edit.tab-size Version 1.1.7 ============= November 14th, 2002 Features -------- * Added preferences to control whether auto-completion is done with tab or enter key or both * Debugger support for values that descend from dict, list, and tuple in Python 2.2, and adjustments needed as a result of related type/class unification changes in Python * Added emacs Alt-b and Alt-f key bindings Bug Fixes --------- * Fixed failure to start the debug process on Windows when PYTHONPATH is defined * Fixed failure to automatically find Python interpreter when PYTHONHOME is defined or PYTHONPATH contains conflicting standard library directories * Fixed Project Properties dialog to work correctly when no Python interpreter is found * Fixed problems handling some types of debug data * Fixed problems opening manual from directory path containing spaces * Fixed failure to open non-file URLs from Help menu on OS X * Work around bug in os.path.abspath() on Windows to avoid failure to open or find files * Key bindings now override menu accelerators in cases of conflict (instead of the other way around) Version 1.1.6 ============= September 23rd, 2002 Features -------- * New, much improved Zope support packaged as a Zope product (WingDBG) with configuration from the Zope Management Interface * Added command to switch to the most recently visited source document (Ctrl-Alt-L emacs binding; available as Ctrl-5 in normal editor mode) * Added key mappings for cursor movement keys on the numeric key pad * Brace match feature now includes the braces so that repeated use of the command moves to ever-larger enclosing scope (or next set in file if no larger enclosing scope is found) * Added menu item for inserting a tab character (which includes the key combo to use) * Search manager doesn't beep incessantly during failed incremental search * Added scrollbar to the View Manager's list of views * Added support for Pause inside input() and raw_input() on Mac OS X * The product source code now builds on FreeBSD and Solaris * Additional diagnostics for startup failure on win32 Bug Fixes --------- * Fixed annoying intermittent failure to scroll to position in editor during debugging, when using source index menu, and in source browser * Don't drop the debug connection on certain kinds of syntax errors in the Interactive Shell and Debug Probe, and properly report the results of these to the user * Source browser source view retains scroll position when resize the view or click on document / source tabs * Properly reset and propagate PYTHONHOME to the debug process also * Fixed some problems with propagating PYTHON* env variables on win32 * Increased timeout for debug initiation phase to avoid problems on very slow networks or machines * Allow debug code that sets sys.stdin to an object that is missing methods * Fixed problem with exit on failure option in wingdbstub; this now raises an exception rather than just exiting * Fixed bug causing problems when sending larger packets from the debug process to the IDE * Fixed potential for infinite loop in the search manager Replace All * Added missing wingdb-suid file to Linux RPM * Improved documentation for building Wing from source and build support * Corrected copy of product license in the manual * Splash screen updates properly when obscured and on slow X servers * Corrected default www manual location when local disk copy cannot be found Version 1.1.5 ============= June 25th, 2002 Features -------- * Added ability to immediately initiate forward or backward searches based on the current editor selection, or the nearest word when no selection is made * Faster access to view manager with ctrl-0 (zero), for quickly switching views * Added command and key equivalents for displaying the location at which a Python source symbol is defined. Similar to Goto Definition in the source index menu, except this is accessible by keyboard navigation and works from cursor location instead of click location. * Added support for string methods. The Python interpreter you are using must be version 2.0 or newer for string methods to appear. * Expanded contents of autocompletion lists for builtins. * Added button to Error List dialog for faster access to the debugger * Improved and expanded documentation for remote debugging. Bug Fixes --------- * Support for mod_python and other single-threaded environments that muck with the Python thread state * Correctly display the location of syntax errors encountered in the debugger * Correctly handle display of the current exception location also when using 'raise' inside of an exception handler block * Optimized debugger so stopping on a max recursion exception doesn't take (nearly) forever. * Fixed resetting of local variable values from the Debug Probe * Fixed failure to stop at a breakpoint on the first line after a StartDebug api call * On win32, correctly handle cases where Python is placing 8.3 short names into modules and code objects (e.g., if Zope is running as a service on win32, or if running from certain command line environments). * Don't hang in Replace All when replaced value contains the search value and start with the search value selected in editor * Fixed hanging when trying to open non-project files as project files * Fixed problems with forcing indent style to use in non-Python files * Fixed code analysis so that the number of symbols that can be imported through a from ... import * statement isn't limited to 200. * Omit bogus project properties radio buttons "Use project settings" * Update toolbar when clicking on stack * Also enable frame up command when at 2nd stack item and using wingdbstub * Move run marker correctly when single click on stack and remove it when continue running * Only enable run-to-cursor command when appropriate * Search manager key equivs also work after clicking on one of the buttons * Changed all ctrl-alt+letter key bindings (these do not work on win32) * Update windows under print dialog on win32 * Added missing files for source distribution Version 1.1.4 ============= May 3rd, 2002 Features -------- * Second+ copy of Wing started from the command line with some file names in the argument list will reuse the existing copy of Wing. This can be overridden by specifying --new as a command line option, which forces creation of a new instance of the IDE. * In emacs mode, Esc followed by key and Alt-key are now automatically defined as equivalents. Thus, Esc g and Alt-g both goto-line, and Alt-4 is like Esc 4 repeat operation. * Emacs key binding Ctrl-U is now also supported * Added manual documentation for Wing's command line arguments * Trial copies of Wing IDE now display a dialog box every 15 minutes. Your purchase makes a big difference in our continued development of Wing IDE! Bug Fixes --------- * Fixed broken macro record feature, which was doubling up all keys pressed during macro playback * Fixed long periods of hanging at startup on win98 with certain Python path or project contents * More descriptive error message when Python cannot be found at all * Increased debug timeout to 10 seconds to accommodate slower machines * Make sure that the analysis cache is created in all cases, so source analysis is faster on reopening a project. * Don't display quit warning except when last window is really closed * Don't quit Wing when last Window is closed as part of project new/open operation * Multi-part key bindings now work correctly (e.g. Escape Less) * Esc in keymap files is now a synonym for Escape * Don't use Shift-Alt key bindings for letter keys (three bindings were changed in normal editor mode, for clone-window, move-editor-to-new-window, and delete-window). No code was changed, as shift should not be used as a meaningful modifier for letter keys. * License manager doesn't crash Wing if it fails to read a lock file; instead, it treats it as a foreign valid lock. Also set permissions on lock files to avoid problems in more cases. * Optimized external file modification time checking to address slowness seen when large numbers of Python files are discovered through source analysis. * Optimized source browser and analysis engine for faster startup in very large projects or when running with a broad PYTHONPATH. * Fixed source browser updates during analysis to keep constant the selection, expansion state, and first visible line. * Fixed potential problems in source browser and other tree views during content updates, which led to broken keyboard navigation * Fixed printing on linux systems where Python 1.5.2 is not the default Python on the path * Fixed insert-file editor feature, which was broken on win32 with native file selection dialogs Version 1.1.3 ============= March 12, 2002 Features -------- * Added ability to show integers in debugger in decimal, hex, or octal. Default is set by debug.default-integer-mode preference and can be altered from the Integer Display section of the Run menu. * gui.display-font-name may now be a full X windows font spec instead of just the font name, allowing finer control needed for some X servers. Bug Fixes --------- * Fixed broken sorting of lists on the debugger display * Fixed failure in code analysis to resolve a name imported from a package, resulting in missing items in auto-completion and source browser * Fixed broken one-view-per-window mode * Fixed broken process attach/detach (Wing IDE Standard only) * Update breakpoint icons correctly when click to change line in editor * Fixed broken conditional, temporary, and ignore count break point support when clicking on breakpoint margin with modifier keys * Improved fallback options used internally if a configured font cannot be found * Fixed bug that could cause debugger to crash when a break point is deleted during and active debug session * Prevent duplicate display of path information in the Analysis Stats dialog * Fixed failure to display file count in analysis stats dialog * Don't show internally used editor views in the Search Manager and other view lists * Fixed breaking of toolbar icons if execute a non-available command once, as was possible in double clicking on icons * Disabled New Blank Window in one-view-per-window mode, since it is not needed there Version 1.1.2 ============= February 18, 2002 Features -------- * Added gui.popups-stay-up preference (default false) that when set to true causes right-click popups to stay up for browsing after the mouse button is let up. This works better with some types of mice and track balls. * Initially open project manager and an untitled source file by default if no project is opened otherwise (i.e., the first time Wing is run). Bug Fixes --------- * Search manager correctly unfolds search targets when using Search Manager search and replace features * Optimized external change checking, which should avoid some of the heavy disk access and unresponsiveness of the GUI seen during startup when opening large projects on some machines * Fixed bug that could lead to crashing of debug processes running under Linux, in cases where the debug process code objects contain relative path names * Fixed failure to debug new untitled files when saved during debug initiation * Fixed writing of incorrect header in non-shared (single-file) project files * Fixed failure to handle cases where stale license lock files cannot be removed * Correctly update breakpoint and similar commands on all cursor movement * Set default directory in emacs file open to initial directory when working from an untitled document * Don't auto reopen projects when files are given on the command line Version 1.1.1 ============= January 14, 2002 Bug Fixes --------- * Dlls from the WINGHOME\bin\dlls directory are always used on win32 to avoid conflicts with other installed programs (such as gimp) * Added code to terminate a subprocess that takes too long to execute (this could hang up Wing during probing of odd Python environments) * Enabled support for 256 color display mode on Windows (with some display glitches remaining, such image display in About window) * Debugger does not hold onto references to PyFrame objects longer than required. This makes the debug run environment more like the non-debug environment, and thus avoids bringing out bugs in client code, as was seen in crashing some wxPython apps. * Disabled extra debugger support for Qt, due to crashing in some versions of pyqt or Qt. See the manual or FAQ for information on how to keep Qt apps responsive to Pause or breakpoint editing during free-running. * Added code to terminate a subprocess that takes too long to execute. * Fixed browser expansion code; it could get into an infinite loop when expanding a module with imported names. * Fixed bug in outdenting ranges of code that include blank lines * Fixed source browser auto-scrolling bug, sometimes leading to failure to turn off filters when filter checkboxes are unselected * Browser visibility checkboxes are now correctly set at startup Version 1.1 final ================= January 2, 2002 Bug Fixes --------- * Fixed yet another leak associated with the win32gtk cursor implementation (could lead to crashing in longer runs) * Don't filter out tuple, dict, or list entries even if the entry type is listed in debug.omit-types * No longer show variables in debugger (only worked previously in Python 2.0 and 2.1 and conflicted with filtering by value type) * Don't ask to reload directories when their content changes * Improved scrolling update when scroll one line at a time in tree views * Ctrl-Shift-F5 debugs current file * Eliminated benign warning messages when WinXP switch user desktop is active * Fixed failure to close projects in some cases during project switch * Added key mappings for the keypad navigation and insert/delete keys * Redirected gtk / gdk error messages to our log file * Wing cancels end session request on win98/ME if there are unsaved changes * Add .pyw as a valid extension for Python files Version 1.1rc3 ============== December 17, 2001 Bug Fixes --------- * Fixed hard crash (Linux and win32) caused when clicking around on items in source browser or project manager that caused the docstring view to be updated, if the docstring was previously scrolled past the length of a newly selected docstring. This may also have affected the indentation manager, search manager, window status area, project manager, and other text display areas. * Fixed problems with cursor setting code that could lead to disembodied cursors and crashing on win32 * Fixed several resource leaks and memory bugs, mostly affecting win32 * Fixed broken run-to-cursor command * Fixed inability to reduce size of the expression evaluator * Win32 no longer fails to display file selection dialog from project/file properties dialog the 2nd+ time * Fixed bug preventing reporting of user exceptions when the exception class contains no docstring or non-string value for docstring * Fixed flashing of editor during some debug stepping or display from source browser, project manager, or after goto-symbol-defn * Debugger skips internal code reached at line zero during module imports (previously, it stepped on line zero but failed to display any stack or source info) * Fixed broken Show More / Less buttons in textual variable display area * Re-enabled WXPython support * Removed failed attempts to log messages from wingdb when verbose debugging is turned on (the log file name is encoded and can't be accessed from here) * Fixed failure of the debug process when debug.verbose preference is true and there is no valid console for the process * No longer attempt to display when raise exception in Interactive Shell or Debug Probe * Install scripts for linux are now (again) shipped as executable * Fixed several failures to update display on win 98/ME * Windows no longer resize when label at the bottom of the window is longer than the current width. * Replace most GtkText widgets with Scintilla to avoid GtkText bugs. Version 1.1rc2 ============== December 6, 2001 Bug Fixes --------- * Fixed major win32 handle leak in cursor code that led to crashing of Wing after running for longer periods of time * Fixed bug in win32 drag-n-drop code that would cause wing to crash sometimes if drag was not dropped anywhere * Fixed initialization failure in win32gtk event filter list (possible cause of crashing) * Fixed handling of possible crash during quit win32 quit handler * Fixed problems in View Manager resulting in failure to close views, activate views, and in some cases complete lockup of the IDE * Fixed failure to change to syntax highlighting by file name from the Source menu * Fixed bug in Interactive Shell and Debug Probe that led to failure to detect huge values in Python 1.5 debug process, or problems handling unicode values in Python 2.x debug process Version 1.1rc1 ============== December 4, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update their copy of this file from the new Wing installation. * Preferences debug.use-xterm and debug.persist-xterm have been renamed to debug.use-console and debug.persist-console, respectively. The old names are no longer supported. * The preference main.print-wing-debug-output has been removed. Debug output is now obtained with 'wing --verbose' on linux or by running console_wing.exe on Windows. * The preference debug.-verbose-debugging has been renamed to debug.verbose and is no longer supported under the old name. * If you manually copied the debug server code to a remote host, you must update to the new debug server code. Earlier versions cannot be used with this release. New Features ------------ * Support for Windows XP * Added debugger and syntax highlighting support for Python 2.2 * Source code analyzer accepts // as an alternate spelling of / * Wrapped Python-level sys.stdin so that the debug program's keyboard I/O is multiplexed with the debug server socket, allowing Pause and breakpoint commands to be used when the debug process is waiting for keyboard input. * Keyboard input initiated as a result of commands typed in the interactive shell or debug probe now occurs in the shell windows rather than the debug process or Wing IDE console. * Changed the Debug Properties dialogs to add also ability to control whether or not a debug console is spawned with the debug process. By default, none is spawned and the console from which Wing was launched (if any) is reused for command line I/O for the debug process. Set value to Start New Console to create a new private console for the debug process. * Debugger now supports most cases in which module __file__ is a partial path. See Limitations section of manual's Debugger Chapter for remaining unsupported cases. * Added next/previous view commands and view manager for switching between or closing views. * Added keyboard navigation of tree views in source browser and project manager, and auto-scroll upon expansion near end of view. Use up/down arrows, page up/down, and home/end for navigation, right/left arrows to expand/collapse parents, shift+right arrow to expand recursively up to 5 levels deeper, and enter or return to open a selected item. * Restore also scroll position and selection when opening source views * Remember and restore the view style and filter settings on source browser * Debugger shows private instance variables in form __varname (classname) instead of the Python internal form of _classname__varname. * Textual variable display now indicates expansion depth and estimated redisplay time needed after stepping or when entering values in debug probe or expression evaluator (which may alter debug state, and thus require reloading variable values from the debug process). * Page up/down now work in the auto-completer for scrolling through choices * Edit preferences file provides easy access to preferences file in use * For easier tech support, IDE output is now logged to a periodically truncated file called error-log in WINGHOME/profiles/[username] (Windows) or ~/.wingide (Linux). Preference main.max-error-log-size sets the truncation threshold (default=100K). * Added checks for file existence before attempting to start debug or execute from within Wing IDE. * Added check box to indentation check dialog to allow selectively blocking checking the file in the future (previously, it was always only checked once) * Added ability to compact project files by removing non-critical visual state, history, and similar information. This is done from the Project menu. * Moved all per-file and project-wide debug properties into the per-user project branch when saving projects in sharable form for use in a revision control system. * Enhanced debugger warning about edited files, allowing ignore or auto-save via check boxes and alter the dialog options if the debug process was launched outside of Wing IDE. * Interactive shell and debug probe 'paste' automatically adjust pasted text to bring the first line to zero column, so that code from source that is further indented can be pasted in more easily. * Added Python for Beginners link to Help menu. * Preference main.print-wing-debug-output has been removed. To obtain debug output, run console-wing.exe on Windows or "wing --debug" on Linux. * Added ability to log information about debugger internals to a file by using the debug.logfile preference. Under wingdbstub, a value kLogFile can be set, or you can use environment variable WINGDB_LOGFILE to control logging to a file. * Added format info to debug properties dialog. Bug Fixes --------- * Fixed failure to open files added to new blank project created initially when launching Wing, after the project was saved but before it was closed/reopened * Fixed problem that led to crashing of Wing IDE after unexpected loss of connection to the debug process * Fixed several bugs that led to failure to detect external file changes or spurious requests to reload files that have just been saved by Wing (usually after Save As) * Interactive shell and debug probe will no longer time out on commands that take a long time to complete. * Fixed traceback and dropping of debug connection, seen during call to _IsAvailable_force_var_reload when debugging under load * Fixed launching of xterm console for debug process under Linux and improved environment propagation for setuid/setgid xterms (all LD_* envs are now automatically propagated) * Fixed errors caused by special characters on debug process command line on Linux (args are no longer passed through sh) * Fixed failure to display some prompts not ending in \n when running the debug process on Linux (stderr/stdout/stdin are now unbuffered in the debug process, using the -u python command line option) * Brace Match command from source menu correctly highlights the range * Wait cursor is set during entire debug variable transfer process * Improved handling of recursive imports * Editor popup handles deletion of all methods in a class better. * The final part of a dotted name no longer appears in the source browser at the child of a module node in certain circumstances. * Fixed failure to remove directory from project. * Source browser's class display is now cleared when a project closes. * Autocompletion now works after manually changing the mime type of a file to python. * Selections work properly when more than 2 or more editor views are open. * EINTR errors seen during socket select (caused by any signal received by the app) are now handled correctly instead of causing errors or termination of the debug session. * Fixed incorrect closing of stdin in the debugee process on Linux when no new xterm was used. * Debug server works better if the exceptions module is not found. * Debug process now stops as soon as possible in a non-Python mainloop environment * Fixed failure to scroll text into position during debugging or in source browser, when target line was near bottom of a newly created view * Fixed keyboard equivalents in search manager, which were not working on win32 * Fixed emacs search and query/replace inserts space into strings instead of attempting completion match when space bar is pushed * ^G or Esc out of keyboard managers fixed to restore visual state of editor to that before interaction (this was broken recently) * Fixed Linux-only bug resulting in concatenation of lines in files with CR-only line endings * Fixed weird Linux-only process control bug where turning on debug passive listen, launching Netscape from the Help menu, and then quitting and restarting Wing would cause failure to reenable debug passive listen due to socket-in-use error. * Now correctly handle /x/y/z project location and file of name /x/y/zfile without translating the file name to 'file' (the correct ../zfile is used instead). * Fixed possible problems launching debug process on win98 if the program name contains special characters or spaces. * Fixed bug leading to Too Many Users message in cases where the the license lock file is in place on disk but the license file is removed and Wing is relaunched. * Debugger can now pause and breakpoints may be set when stdin is being read. * Reduced interactive brace matching overhead, which may solve disappearing cursor bug seen during key-repeated keyboard navigation of source on fast (1.2Ghz+) machines. * Fixed detection of whether nested scopes are used for name resolution when changing interpreters. * External change detection now only brings up one dialog and updates it as additional changes are detected, instead of displaying one dialog per change batch. * Don't add classes to browser when analysis is incomplete at time of project close / new / open * License and project managers no longer choke on "none", "true", or "false" as value for one of the fields (only pref mgr translates these strings to Python data types of None, 1, and 0). * Fixed bug that foiled optimization of project and pref files read * Fixed malloc bug that allocated 1 byte less than expected when pasting into a text field on win32. * Wing puts up a error dialog if it can't find the python15.dll when it starts. * Modules located in C:\ directory are displayed in the source browser. * Eliminated beeps on win32 when Alt is pressed with a key that is not a menu accelerator. Version 1.1b8 ============= October 22, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * If you copied the debug server code to a remote host, you must update to the new debug server code. Earlier versions cannot be used with this release. New Features ------------ * Default source editor windowing mode is now to place multiple editors into one or a few windows. This can be disabled by setting preference gui.one-view-per-window to true. Newly opened editor views are always embedded into the most recently used source editor window. Use New Blank Window, New Cloned Window, and New Window with Current View from the File menu to create additional source windows. The Windows menu and ^X B in emacs mode can be used to switch between views. * Added New Cloned Window in the File menu, to allow opening multiple concurrent views of the same source file (also in single-view- per-window mode). * Previously open manager windows are also reopened automatically when a project is opened. * Windows menu now includes blue section headings and lists hidden views in multi-view-per-window mode separately. * Added preference debug.safe-size-checks-only that can be used by numpy and other users to avoid timing out the debug session as result of values typed in the Debug Probe. The default is true, which indicates that Wing will not attempt to avoid network transfer of very large values resulting from typing in the interactive shell. When set to false, interactive shell will attempt to avoid large values but then invokes any __getattr__ methods twice, which may have undesired side effects. * Wing now sets the foreground lock timeout on Windows 98/ME and 2K/XP in order to be able to raise debug source windows to the very front, even when Wing is not the frontmost app. This is a global option so also allows other apps to raise windows when they are not the foreground app, and persists until the last copy of Wing quits. This can be disabled by setting preference gui.set-win32-foreground-lock-timeout to false but be prepared that debug source windows may not raise in some cases (they will flash in the task bar instead). The preference is set to true by default and is included in the starter prefs choices presented to the user the first time Wing is run. * Double clicking on a word in the autocomplete popup menu completes with the selected word. * Expanded documentation of those rare cases where the debugger may fail to stop on break points or at exceptions, with work-around information. * Indentation manager is now also available for non-Python source files * Update indentation style according to edits made also for non-Python or untitled files that have never been saved to disk. Previously, the initial analysis of indent style remained static for the session. Bug Fixes --------- * Better support for debugging files loaded through a relative path name (either via relative path entry on PYTHONPATH / sys.path or by relative path name sent to exec). * Don't allow save-as to overwrite files that are already open in Wing, as this leads to possible data loss and constant reload event detection * Confirm overwrite on files also on win32 * Fixed folding bugs: No longer randomly expands fold points during brace match and correctly expands fold points during edits without doing so unnecessarily * Avoid hanging up for long periods of time on large Python files when triple quoted strings are formed or opened during editing. * Expand folding to display search target both in emacs mode interactive search and when using the search manager * Set __main__ module correctly in IDE-launched debug processes, to hide the enclosing debug machinery's __main__ * Non-ascii characters are displayed appropriately in menus and doc-string displays on win32, and Wing no longer crashes when displaying some non-ascii characters * Don't track cursor backwards to previous lines when dedent or uncomment code * Don't save invalid debug properties when user cancels out of dialog after error properties are displayed * Don't lose cursor position randomly in the editor (e.g. ctrl-a and then del key work in normal mode to delete whole file contents) * Limit auto-scrolling after indent/dedent and comment in/out operations * Keep modal dialog windows on top of the application's other windows * Don't obscure the message dialog in various cases (it is now modal and stays on top) * Fixed failure to quit and other strange interactions resulting from dialog display * Include traceback in all interactive shell errors to make better distinction between failure and success * Fixed use of incorrect cached analysis data when replacing a file with another file with an older modification time and when abandoning unsaved changes * Corrected analysis symbol discovery in some situations when nested def or class statements are used * Analysis menu no longer fails to appear when there are source symbols consisting of only underscores ('_') * Use native win32 file selection dialog for locating license file the first time Wing is run or when license file expires * Improved font sizing in dialog boxes * Removed the never-enabled Restart item from Run menu * Fixed backtrace when checking the Incremental box in search manager * Doc strings from files containing \r in newline no longer show with black squares on display in project manager and browser docstring areas * Window title is updated immediately after a save as to a different file. * Fixed cases of duplicate evaluation from the interactive shell * Fixed failure to update contents of expression evaluator windows when user types in the interactive shell * Debugger checks for run with -O or -OO option or PYTHONOPTIMIZE, which won't work during debugging due to lack of debug information * Fixed pausing in non-Python main loop environments, where there is a long period of time spent in Python code only (broken in a recent release) * On Windows, fixed support for using python_d.exe with the debug process * On Windows, use python.exe and not python_d.exe as the default Python when none is specified by user * On Windows, fixed project properties dialog not to complain gratuitously about missing Python installation if Python is found in the registry but not on the Python path * Debugger Save and Restart dialog restarts the correct debug process also when it wasn't the main debug file * Confirm quit before closing last open Wing IDE window * Don't persist the debug process console window by default. Set preference debug.persist-xterm=true to return to the previous behaviour of delaying the debug process exit until user types in the console window. * Editor repaints more often when scrolling in some cases * Update the project manager window title whenever projects are opened, closed, or saved under another name * Set wait cursor during close/save/open/new project actions and for close all editors command * Improved file selection panels in file/project properties dialog so browse button leads to modal file selector in modal variant of this dialog and to non-modal file selector otherwise (linux only). In non-modal variant the browse button will raise already-visible file selector dialog. * Rescan for type of line ending and indentation style to use when a file is reloaded from disk, so that correct line endings and indent form are placed after external file translation occurs. * Fixed signal mgmt bug causing failure to update macros, indent style, and suspension of analysis during typing in the source editor * Don't rehandle terminator in incorrect emacs key sequences, to avoid places CR line endings on text and other related raw key problems * Fixed incorrect initial sizing of Source Browser and Debugger panels seen on some fast Windows machines * Fixed printing to work on Linux also in cases where the 'python' found via search path is not 1.5.2 Version 1.1b7-2 =============== September 17, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features ------------ * Auto dedent also after 'pass' in Python code * Split interactive shell into two independent tools: Interactive Python Shell for testing / sandbox, and Interactive Debug Probe, for probing a paused debug program Bug Fixes --------- * Fixed incorrect locals dictionary used in top-level invocation, leading to problems at the __main__ scope when running under debugger * Interactive shell will run its sandbox using the same Python interpreter set up for the project or main debug file and runs in external process rather that within Wing * Interactive shell New Session button restores focus to shell editor * No longer bring up debugger window when program has quit entirely or the debug connection was lost * The "set current as main debug file" on the project menu works also in multi-view-per-window mode * Avoid using horrible font on some win32 systems * Fixed problems with cursor positioning on win32 when Lucida Console is used * Fixed incorrect treatment of __builtins__ as dictionary in debug globals space * Fixed failure to start when main.startup-show-debugger preference was true * Font used in scintilla dialog boxes & debug window uses the same font as the menus * Fixed code analysis problems with files containing '\r' without a following '\n' * Fixed shift-enter, ctrl-enter, and alt-enter to always place correct newlines into the source text (shift-enter was placing '\r' in all types of files) * Fixed drag and drop to convert dropped lines to correct form of line endings for the target file Version 1.1b7-1 =============== September 6, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features ------------ * Interactive shell is now also available when no debug process is running * Structural code folding is now available for Python, C, C++, Java, Javascript, HTML, XML, Eiffel, Lisp, and Ruby files * Breakpoints can be set, cleared, enabled/disabled, or altered by clicking on the breakpoints margin in editor * Brace highlighting occurs adjacent to cursor, also in non-styled files, and uses more visible hilighting * Auto-wrap in Python doesn't combine logical lines and properly indents wrapped areas * Added syntax hilighting for Ada, Eiffel, Lisp, Ruby and Bash files * Added debugger support for WXPython mainloop environment * Error list now supports copy to clipboard with right-mouse popup menu and syntax hilighting * Search Manager defines key equivalents for search, replace, and replace-and-search and these work also when the manager is not at front * Search Manager includes a search history for selecting previously used search strings, and automatically sets the most recent search string into the GUI * Key equivalent and Search Manager button also defined for searching backward * Search Manager supports incremental searching (search starts to happen as you type the search string) * Added search status display area to the Search Manager * Search Manager stays on top above the source file that's being searched * Search manager raises when search fails and it's not at front * Conditional breakpoint dialog supports copy/paste from clipboard with right-mouse popup menu and syntax hilights the conditional * Displays also column in editor status area * No longer select the current line during debugging: This is indicated with a colored background and marker instead without setting the selection * Preferences to turn off raising source text windows on exception specifically when working in the interactive shell or expression evaluator * Only show breakpoint margin on Python files * Added embedded script flag to wingdbstub.py in order to allow retaining the debug connection indefinately in an embedded scripting environment * Added preference gui.auto-save-before-action to set whether altered files are automatically saved before starting a debug session, executing a file, or running a build command (default=false) * Toolbar is omitted from source browser (but can be shown with the new gui.show-toolbar-in-browser preference) * Toolbar in debugger window is truncated to include only the tools that can be used in that window * Added preference for controlling selection policy after actions like indent/outdent, and (un)commenting out blocks of code: Options are to always select, never select, or select only if there is already a selection (the latter is the default) * Automatically supports new releases of the same major.minor version of Python (e.g., 2.1.1 will work using included support for 2.1.x) * Added message to clarify why exceptions are sometimes reported in the debugger when not seen outside of the debugger * Wing traps and handles termination messages as if Quit was executed, so that unsaved file prompt is shown and exit is clean * Convert line endings in pasted text to match the existing file contents also on Linux (this was already being done on Windows) * Updated Zope+Wing bundle to base on Zope version 2.4.0 Bug Fixes --------- * Printing is enabled at all times and prints contents of unsaved buffer and not saved disk file * Correct auto-indentation in tab-indented non-Python files and correct post-auto-indent cursor positioning in mixed style indent files * Don't reopen recent project if most recently closed or created new unsaved project * Faster startup times * Comment-out doesn't operate on blank lines and comment-in doesn't damage non-commented lines * Escape will cancel out of autocompletion * Reduced time it takes to save project files * Fixed failure to report exceptions from expression evaluator * Fixed failure to kill the old process upon Save and Restart during debug on win32 * Fixed incorrect display of source text window from expression evaluator and interactive shell * Fix problem with entering ../ in save as dialog * Fixed dual flashing cursors in Search Manager dialog * Fixed ctrl+shift+punctuation key equivalents so they also work on win32 * Fixed hanging of the GUI when right or middle mouse click in the source editor's scroll bars * Fixed crashes seen when free-running a WXPython program in the debugger * Update buttons in search manager also when paste in text * Clear PYTHONPATH at startup to avoid importing incorrect modules when users add a Python module location to their path * Fixed IndexError on stack in some forms of embedded script invocation * Now also auto-saves or prompts for save before executing a file (outside of the debugger) or running a build command * External file modification check now looks for any change in modification time, not just change to a newer modification time * Block keyboard interupt from being handled. This previously could result in loss of critical routine tasks like servicing the debug connection and check for externally changed files. * No longer writes dos line endings for files that contain other line ending styles * Fixed auto-wrap to write correct line endings and not always '\n' * Now avoids undo chain problems after no-op auto-wrap * Uses less GDI resources on win32 * Fixed multiple memory leaks * Increased delay before auto-scrolling and sped up auto-scroll * Fixed replacement of python path with the word 'custom' in some cases * Front window gets the focus back when the save as and other standard dialogs are closed on win32 Version 1.1b6 ============= July 3, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features ------------ * Added printing support on win32 * Added drag and drop support for text move/copy on win32 * Added support for mouse wheel scrolling of all windows on win32 (improved since 1.1b5 patch) * Completed support for nested scopes when a 2.1 interpreter is used and a 'from __future__ import nested_scopes' statement is found. * Debugging Tkinter based programs is supported on Windows and is improved on Linux. * Large debug data values resulting in timeouts during evaluation no longer end the debug session * Debug data handling errors (timeouts or internal errors) are recorded in project file and values are never refetched unless forced by user * Interactive shell tries to determine if an expression is going to result in a huge value and network timeout (but cannot always tell ahead of time) * Comment in/out region now places comment after line indentation, to make it more compatible with indentation features * Search/replace manager allows selecting file to search in addition to using active view (which is still the default) * Added project name to the project manager window title * Ctrl-period is bound to 'redo' in emacs mode * Source distribution also includes files for the Windows version * Popup menus appear a bit to the right to avoid automatically selecting the first item (e.g., 'Cut' in the source index menu) Bug Fixes --------- * Correctly support display of iso8557 family characters on win32 also * Improved win32 native save / save as dialog to include suggested file name and file type in all cases * Fixed goto base class in source browser so it works in many more instances * Debugging embedded Python code now works properly without crashing * Fixed bug causing loss of debug connection when size of locals or globals exceed the value of the debug.huge-list-threshold preference * Better handling of unexpected exceptions raised by extension modules in debug code in response to assignment or comparison of debug values in the debug machinery * Fixed traceback in resetting on cancel from font/size dialog if some editors are closed while it's up * Changed key maps so shift specifier is ignored for keys that may be in different keyboard locations depending on locale * Fixed bug that prevented some classes from being displayed in Class Heirarchy view * Fixed bug that dropped info about a function or class when a comment followed the declaration. * Draggable dividers now update as you move them, so they are much more usable * Fixed rectangular and regular paste to work correctly in all cases * Fixed newline handling in pasted text to convert to target file's format * Blocked escape key from entering source text as BEL * Correctly enable/disable variable display in expression evaluator * Add newly saved files and projects to recent lists also * Fixed failure to reevaluate in expression evaluator, leading to time outs in some cases with large data values * Set mime type when source menu is used to alter syntax hilighting so that breakpoints can be set into any file that's user-defined as being Python even if no file extension mime map is matched (the selected mime type is stored in the project file) * Fixed some cases where Python wasn't found even when it should be on win32 * Detect .pyd & _d.pyd files as C extensions in code analyzer * Fixed editor paragraph auto-wrap function to compute correct common line prefix in all cases * Fixed GdkCursor warnings and associated memory leak on win32 * Formatting bug fixes in HTML version of manual * Now raises the frontmost window in the app if another app is in front Version 1.1b5 ============= May 11, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features ------------ * Partial support for Python 2.1 nested scopes (symbols appear in autocompleter and source browser when nested scopes are enabled) * Tested also on Debian 2.2, Suse 6.4 and 7.0, Mandrake 7.1 and 8.0, RedHat 6.0 and 7.1 (see manual or website for full list) * On Windows, use standard file and directory selectors rather than the gtk file selector; preference gui.use-native-file-selector can be set to false if the gtk selector is wanted instead * Added ability to specify a default file location mapping for remote debugging. This is used for all otherwise unmatched remote hosts. * Added examples to manual of file location mappings for various remote/networked debugging scenarios. * #!*python* at head of file now indicates python mime type by default * On Linux, --system-gtk as first command line argument to the 'wing' startup script will force use of system-wide version of GTK and re-enable themes. Caution: Some versions of gtk and some themes may cause crashing. * Added instructions for rebuilding the debug server from source code, for use on platforms other than Linux and Windows (Lynx OS has been tested) * Color coded debugger status messages Bug Fixes: General ------------------ * Fixed failure to start up Wing on some win32 installations * Don't repeatedly warn about not being able to find Python if it's ever been found in order to handle some partially broken or non-standard Python installations on win32 * Changed all file selection dialogs to non-modal to avoid sub-dialog problems * Fixed traceback in menu code that sometimes appeared while quitting Bug Fixes: Debugger ------------------- * Fixed failure to display message when debug connection is lost unexpectedly * Fixed several bugs introduced earlier in this beta series that caused unexpected loss of debug connection, most associated with very large data values in the debug session * Correctly indicate when referenced debug data values no longer exist * Correctly handle changes in values in the expression evaluator (another bug introduced in an earlier beta) * Fixed failure to stop at breakpoints and incorrect source display when debug file contains #!/usr/bin/python (or equivalent) and is started by typing ./debugfile.py (possibly, among other scenarios) * Fixed slash / backslash conversion when debugging remotely between Windows and Linux or vice versa * Fixed F10 so it works for Step Into also on Windows Bug Fixes: Editor ----------------- * Fixed wrong cursor positioning after auto-indent in files that contain tabs in indents and when indent size != tab size * Fixed integration with system-wide clipboard * Fixed emacs-mode paste/^Y/button-2 behaviours to allow access to system-wide clipboard * Don't paste non-rectangular selections as rectangular on win32 * Don't warn about not being able to watch for changes in files that don't exist on win32 * Set up indent style correctly initially in files with mixed tab-only and space-only indent * Correctly update the indentation manager when undo and other actions affecting indentation style in Python files; also avoid corrupting analysis information with wrong indent counts Bug Fixes: Project Manager -------------------------- * Don't ask to save project while opening it! * Fixed incorrect identification of files in projects in some cases * Properly update tool and menu bar in all cases when opening/closing projects * Fixed duplicate use of 'R' accelerator in Project menu Version 1.1b4-2 (Windows only) =============== April 25, 2001 * Fixed failure to handle spaces in path to Python installation Version 1.1b4 ============= April 20, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features: General --------------------- * Wing IDE ships with its own subset of Python so now avoids problems stemming from running under unexpected environments and experimental versions of Python. The debug process can run under 1.5.2, 2.0, or 2.1. * Analysis is now informed by which python interpreter is selected for the project or main debug file: The corresponding python path is used for finding modules and built-ins. * Added a new dialog box for viewing analysis status and environment. * When no specific python interpreter is selected in project or per-file debug properties, and 'python' is not on the search path, Wing searches in /usr and /usr/local on Linux and in the registry on Windows to locate the newest installed version of Python by default. * Added manuals for Wing IDE and Python and a number of useful URLs to the Help menu; manuals are displayed from local disk if possible, or from web if not found locally. * Added ability to open items in the project list into an external viewer or editor by right-clicking and selecting "Open with External Viewer" from the popup menu * Added preferences to set external viewers to use with disk files (by mime type) and URLs (by protocol type): This is used both for the Help menu items and for opening project items into an external viewer/editor (this pref is ignored on Windows, where the centrally configured viewers for file types and URLs are used instead) * Added preference for adding additional file extension to mime type mappings to those already defined by Wing or in system-wide configuration files * Now auto-reopen most recently open project at startup (unless turned off via preference or when a project is given on command line) * Added preference allowing automatic opening of project files as projects even when opened from the File menu (default=true). Previously, they were opened as text files by default. Now they will be opened as projects except if the project file cannot be read as a project file, in which case it is opened as text. * Added recent lists for opening files and projects * Added recent lists for debug files and executed items * On Linux, Wing IDE ships with its own version of gtk that disables use of themes. This avoids intermittent crashing when running against some versions of gtk and under some gtk themes; to run with your native installed GTK, remove or rename the directory WINGHOME/bin/gtk-bin but beware of crashing when themes are changed while Wing is running or in some cases when closing source file windows. Also, make sure to turn off guimgr.enable-tooltips preference if you run against a version of GTK older than 1.2.8. * Set display of tooltips on by default on new installations. This was causing problems in gtk versions less than 1.2.8, but now gtk is shipped with Wing. Turn this off with the gui.enable-tooltips preference only if you force running against an older GTK version on Linux. If you are upgrading and already have this preference in your personal preferences file, you need to set it to true manually if you want tooltips. * Now store debug properties and most other platform-dependent values in the project file and preferences in a way that allows the same project or preferences file to be used on multiple platforms * Source window and menu item titles can be configured to use various forms of names for files. Default is file name with appended parenthesized partial relative path (relative to location of project file or current working directory if there is no project open) * Added abbreviated menu bar to Project Manager window * Added startup splash screen * Added preferences for setting menu fonts and the font used in content display areas throughout the IDE (other than the source editor, which is configured with a separate preference or from the Source menu). These can be used to override Gnome theme or Windows-defined default values. New Features: Debugger ---------------------- * Debugger now supports Python 1.5.2, 2.0, and 2.1 on Windows and Linux * Interactive shell can now accept pasted-in multi-line statements * Added support for selecting how data values are tracked in debugger display windows: By symbolic path, by direct reference, or by named slot in a referenced parent value. This can be controlled via preferences or selected from the right-click popup menu over the main debugger variable display tree. * Added ability to add or remove items from the debug program's environment, either project-wide or per-file or both * Debugger shows Zope acquired attributes via aq_self and aq_parent, when present * Class-scoped values in an instance are italicized * Can now also zoom out whole locals or globals tree to separate window New Features: Editor -------------------- * Added preferences for default editor font/size, and a font/size selector dialog that can alter the settings for a single file or for all files in a project * Added ability to show/hide a line numbering column in source editor * Added preference to set the default end-of-line style to use with newly created files * Improved keyboard/command macro facility supports more commands, including indent and comment in/out commands, auto-completion, undo/redo, and allows use of previously defined macro in definition of a new macro * Indent-to-match feature now will uniformly indent a whole selected block to match according to the context of the first line of the block Bug Fixes --------- * Fixed missing editor scrollbars bug under certain themes and gtk versions on Linux * Fixed crashing under certain versions of gtk on Linux, such as on Mandrake 7.2 * Windows version now supports Python 2.0 and 2.1, as well as 1.5.2 * Fixed failure to start debug process when no args were specified for the debug program on win32 * Fixed crashing of IDE and/or debug server on dictionaries with class instances as keys (pickle was trying to access the class on the IDE end of the connection) * Fixed bugs causing failure to update zoomed-out variable display views when the display contained certain types of data * Somewhat gentler probing to more often avoid crashing less-well-behaved C extension modules during attribute access for debugger variable display * Fixed introduced bug on Linux causing rejection of debug properties when using default 'python' executable setting * No longer bring up source code window when encounter an exception in expression evaluation or interactive shell * Fixed bug resulting in corrupted project file when multi-line commands are pasted into the interactive shell window (due to incorrect packaging of command history) * Syntax is correctly restyled again when the lexer is changed manually (this was broken in first 1.1 beta release) * Re-enabled change/force indentation options which were broken in earlier 1.1 beta * Fixed incorrect reassignment of 'len' in source editor code leading to tracebacks * Fixed bug causing debugger to ignore the run directory debug property * Fixed aspects of macro recording and playback broken in earlier 1.1 beta * Fixed resizing of browser window to overly large height when viewing source * Fixed transient failure to update analysis information when an unsaved source file was closed and reopened * Reduced dependency on environment: Python interpreter core for use by the IDE is now included in the distribution, so only the debug server must support multiple versions of Python * Fixed incorrect close sequence for search manager window, leading to tracebacks with each window focus change Version 1.1b3-3 (Windows only) =============== March 13, 2001 Bug Fixes --------- * Fixed common problem preventing debug to be started from within the IDE (caused by one of several bugs associated with spaces in path names and/or incorrect doubling up of quotes around args with spaces in them and/or path joining oddities on win32) * Now record installation directory in Windows registry to avoid failures to start Wing cleanly on various Windows variants * Fixed failure to execute items outside of debugger on Windows due to missing environment setup * Fixed failure in file entry panel of project or per-file debug attributes when no file was selected * Fixed traceback emitted in some cases when quitting or closing editor windows, due to late call into methods of destroyed object * Fixed failure to remove stale license lock files on win32 Version 1.1b3-2 =============== March 3, 2001 Bug Fixes --------- * Eliminated use of strptime, which doesn't exist on win32 Version 1.1b3 ============= March 2, 2001 Features -------- * Win32 port; tested on Win 98/SE, Win NT4 SP6, Win 2000 SP1. Python 1.5.2 must be installed separately. Please note that this is a pre-release and contains some rough spots. Read the bug list! * Additional documentation for Zope + Wing bundle (Linux only) Bug Fixes --------- * Fixed incorrect assignment of 'cgi' files to perl (naturally, we're assuming python instead) * Fixed crashing caused by perl and some other lexers (syntax highlighting) * Fixed failure of debugger to display source location of fatal errors in __main__ scope of debug program * Fixed modal dialog interaction in debug properties file selector and turned off unnecessary modal behaviour of this dialog * Values entered in debug properties dialog are now validated for correctness * Fixed browse button for run directory in debug properties dialog so the file selector will accept a directory as it should * Removed delay between dropping debugging connection and reestablishing passive listen mode in debugger (which caused problems with fast respawning programs) * Improved color allocation to avoid problems on X servers with limited color availability * Fixed auto-indent bug in if/elif and try/except blocks that contain multiple statements on a line (as in "if x: print x \n elif y: print y") Version 1.1b2 ============= February 20, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file. * The version 1.0 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. * Indentation features have changed so that the editor preference edit.use-tabs-to-indent-default is no longer used. This has been replaced by edit.default-indent-style. Features -------- * Added a Python indentation manager for analysing and converting indentation style found in source files * Configured edit.tab-size is now applied in cases where a Python file is indented with tabs only, and tab size of 8 is enforced only when required by the Python interpreter * Added ability to attach/deattach/reattach to debug processes * Debugger recognizes externally launched processes and refuses to kill them unless debug.enable-kill-external preference is set to true * Support for debugging Zope 2.3.0 as well as 2.2.2 * Created bundled distribution combining Wing IDE and Zope into one easy-to-install package * Added extension interface for registering debug server sockets with gui environments and other mainloop environments that spend much time in non-Python code that would prevent servicing of the debug communication channel. Gtk, Tkinter, Qt, and Zope are already supported as of 1.0; this interface allows users to support their own custom environments as well. * Added preference to enable tooltips over the toolbar. Note that this is still off by default because it brings out a bug in gtk versions before 1.2.8; please upgrade before turning on this option. * Added set/clear main debug file items to Project menu and item to set debug file properties on current window in Run menu (these are also available on the project manager's popup menu) * Added Add Current File item to Project menu for adding the currently open file to the project * Quoted true/false literals in preferences are now recognized as well as the unquoted form * Additional third party materials are now included on the CD: Python 1.5.2 and 2.x source and documentation, RPM distributions of Python, Zope binary and source distributions, 75dpi fonts missing on some systems Bugs Fixes ---------- * Fixed failure to start when the machine's reported host name was not in /etc/hosts or DNS * Fixed bug where debugger would include parts of itself on the call stack in some case * Fixed bugs associated with multi-user installation using floating-locks, where Wing would fail to set up individual user environment and exit with misleading "Could not Open X Windows Display" message * Fixed creation of initial preferences file to output true or false instead of 'true' or 'false' for project autosave setting, and set added code to properly support previously incorrectly generated files * Debugger now propagates LD_LIBRARY_PATH and PYTHONPATH also to debug processes running within an xterm on Linux systems where xterm has setuid permissions * Fixed macro recording so hitting '\n' does not break macros due to auto-indent * Disabled commands that are not macroable * Disable/enable macro commands according to macro recording state * Keyboard macros can be executed in any window, not just where they were recorded (but recording still only works within the window where the macro was started) * File edit status indicator in lower left is now reset to clean immediately after save * Fixed failure to start in some cases under Python 2.x, due to incorrect append() in code that reopens windows * Fixed analysis bug causing tracebacks in some cases immediately after save * Fixed a number of debugger network protocol bugs with symptoms such as failure to step into some imports and incorrect ending of the debug session * Fixed failure to rescan for modules during debug start, causing sometimes unresponsive debug server when running under gtk, zope, tkinter, or qt and using wingdbstub * Fixed backtrace occurring when gui.show-toolbar was set to false Version 1.1b1 ============= February 7, 2001 This was a private technology preview released to a few individuals. All change information is now included in the listing for version 1.1b2 above. Version 1.0 =========== December 1, 2000 Incompatibilities ----------------- * Multi-view-per-window related options have been disabled; this facility wasn't completely functional in previous releases and will be completed in a post-1.0 release. * Users that have copied the preferences file into ~/.wingide/preferences may wish to copy the new proj.* preferences out of the copy of preferences file distributed with this release. Setting the proj.save-without-asking preference to true is recommended. * Users of wingdbstub.py must update to the current release's version of this file. * The version 1.0b4 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. Features -------- * Now optionally remember window positions and close/reopen documents as projects are closed/opened * Added support for debugging Tkinter based programs * Added support for debugging PyQt based programs * Added ability to define client/server file location mappings for remote debugging * Added ability to launch python code, makefiles, and any other executables so they run outside of the debugger * Added optional display of light vertical indentation guides * Debugger now uses random tcp/ip port number when debug application is launched from within the IDE, to avoid multi-user conflicts in more cases * Added menu item to control whether or not the IDE listens for externally initiated debug connections * Added ability to automatically save the project data files before debugging and exiting. This is controlled by the 'proj.save-without-asking' preference. * Changed location of autosave files to ~/.wingide/autosave * Added main.print-wing-debug-output to control whether internal wing errors are printed to stdout/stderr or not. Defaults to false. Bug Fixes --------- * Fixed embedded source code object in source browser so it works right * Don't ask to fix indentation on read-only files * Key equivs listed in menus are the first found in the keymap file * Now lock the user interface to prevent inconsistent display of old/new variable data while the debug program is running * Clear the textual variable view area when appropriate * Optimized auto-completion to be more responsive * Fixed auto-indentation with triple quoted strings to be more rational * Ensure cursor is visible before executing most editor commands * Slowed auto-scrolling so selecting long ranges is easier * Eliminated (harmless) gtk warnings when the debug window is resized multiple times * Cut/copy/paste/clear now work as part of editor macros * Status area now shows correct line after a brace matches * Files specified on the command line are created if they are not found Version 1.0b4 ============= November 21, 2000 Incompatibilities ----------------- * Project and debug file properties have been redefined. You may need to explicit set the radio buttons in the dialog boxes if your project specifies non-default python executable, python path, run directory, or build command. * Users that have copied the preferences file into ~/.wingide/preferences may wish to copy the new proj.* preferences out of the copy of preferences file distributed with this release. * Users of wingdbstub.py must update to the current release's version of this file. * The version 1.0b3 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. Features -------- * Autocompletion now detects the type of many more variables, when type can be inferred from return value of a function or instance creation * Expanded the expression evaluator to allow multiple types of inspection views * Added interactive Python shell * Added caching of source analysis information for faster startup and lower memory usage * Added F-key bindings to control debugger in emacs mode * Added ability to manually set document type to use for syntax highlighting and this information is remembered in the project file * Added Source menu so Edit menu is shorter * Added preference to check for external file changes on each edit to the file (in addition to auto-check and check-at-save options previously implemented) * Added preference for default white space display choice and store white space visibility choices in the project file on a per-file basis * Expanded preference for when to raise the source window during debugging (now can raise-always, raise-never, or raise-new to only show it if changing files during stepping) * Auto-completion can be canceled with ctrl-g (emacs mode) or esc (normal mode) Bug Fixes --------- * Numerous optimizations affecting startup time, time to open files, responsiveness during typing, and speed of code analysis * Fixed bug preventing stopping at breakpoints and display of source code in a number of cases: (1) when pyc files were created with a different current directory than the current run, (2) when the python path contains partial, relative path names and the current directory is changed during execution, (3) when pyc files were created with compileall.py * Fixed bug where debug client was reinitiating passive listen too quickly after killing a debug session, so the port was still in use * Fixed bug causing incorrect stack frame/index display in some cases when the eval manager was used * Fixed bug causing hanging of the IDE when double clicking quickly on certain toolbar icons * Fixed resetting of conditional breakpoints so the changed condition is properly set in the debug server during an active debug session * Fixed cache invalidation so that stack frames always get refreshed with current variable data when they should (and not when they don't need to be refreshed) * Fixed bug causing conversion of long strings into tuples in project files * Prevented debugger from stopping within its own code, so that stopping a free-running program places you in a more logical place * Fixed stepping into imports so they always work properly * Reverting a file from disk no longer removes all its breakpoints and breakpoints are moved to valid code lines * Fixed delete key so it will delete forward if no selection * Fixed reloading of project file if changed externally * Fixed conflict between alt-w emacs binding and windows menu accelerator * Fixed bugs in tracking breakpoints when files are edited outside of the IDE so that bps are kept on a valid source line * Fixed removal of the run marker when before it wasn't always removed from the editor window * Properly remove breakpoints in deleted ranges of text * Improved module display in browser by showing more directories * Names imported through "from import *" are updated as the imported module changes. * Untitled projects are now named better * A file that imports wingdbstub can now be debugged safely when launched from within the IDE as well * Improved auto-indentation within multi-line triple quoted strings and after a dedented comment * Fixed debugger so it doesn't always bring up the source when you change stack frames; now must double click or middle-mouse-click on the frame to bring up the source * Fixed window menu so it displays names with "_"'s correctly. * Fixed bug that was prevent browser from finding definitions of instance attributes. * Fixed various bugs in goto base class in browser so it works in more cases. * Sorting by type in browser now uses the type that an imported name refers to. * Improved responsiveness when typing with many windows open. * Fixed menu positioning bugs that was causing long menus to hang partially off screen. * Copy / paste works within the IDE when a editor window is closed. Version 1.0b3-2 =============== Nov 1, 2000 Incompatibilities ----------------- * None Features -------- * Added syntax hilighting for *.diff and *.patch files * Added checking of external changes on open files and preferences to control requests to reload in various cases * Much improved support for Zope debugging (the former limitations on setting breakpoints during a run have been lifted) Bug Fixes --------- * Fixed crashing on XML files * Fixed infinite loop in debug args dialog box when brought up for the first time for a file after the run/continue toolbar icon is pushed * Fixed bug that caused failure to stop at breakpoints or display source for files imported only with 'import x.y' and in some other cases * Fixed bug that caused failure to register the debugger's socket with gtk when using libglade * Fixed bug in wingdbstub preventing it from working unmodified in binary-only installations (oops) * Fixed a bug in the uninstall script preventing uninstall of the source tar dist Version 1.0b3 ============= October 25, 2000 Incompatibilities ----------------- * Users that have copied the preferences file into ~/.wingide/preferences may wish to copy the new proj.* preferences out of the copy of preferences file distributed with this release. * Users of wingdbstub.py must update to the current release's version of this file. Note also that the kStopOnFirstLine and kWingDBPython options are no longer available. * The low-level debug API has changed: It is now an add-on for wingdbstub and not a separate facility. * The version 1.0b2 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. Features -------- * Added support for evaluation of arbitrary expressions in the debug context * Improved auto-indent based on Python source code analysis information * Added ability to import an entire directory tree into the project * Added more control over showing white space and end-of-line as visible chars * Preliminary support for debugging Zope applications (see manual for details and status) Bug Fixes --------- * Fixed bug to allow debugging and printing of file names with a space in name * Fixed crashing of Wing during debugging after a zoomed-out variable tree display window was closed * Added much more sophisticated determination of which exceptions are going to be handled and which are not, so those that appear unhandled can be reported during debugging. * Improved exception reporting to fix a several bugs causing the debugger to fail to report debugee exceptions to the IDE (Wing previously acted as if the debugee had exited normally): - Failed to detect unhandled exceptions that occurred within an exception block - Failed to report exceptions re-raised by a finally block - Failed to report exceptions occurring within a loop block * Fixed problem in debugger API that was causing failure to debug above the stack frame where StartDebug() was called. * Added code so that the debug connection is closed after StartDebug() as the program exits, even if StopDebug() was never called, so that the IDE does not time out on the broken connection. * Debugger now correctly highlights and presents stack frames in all cases, also as unhandled exceptions are propagated outwards * Fixed bug where exception location wasn't always shown (e.g., with syntax errors in an imported file) * Now don't exit the debug program artificially as the result of syntax errors * The debug input/output xterm, when enabled, now persists until user types return or enter. This can be controlled with preference debug.persist-xterm. * Fixed problems in SuspendDebug() and ResumeDebug() in the debugger API * A message box is displayed if a directory is empty when adding a package to a project. This avoids a core dump with older versions of gtk. * Debugger API bugs fixed so that stophere=1 option works on StartDebug() * Fixed bug causing early debug tracing, so that debugger sometimes started to debug itself during initialization * Fixed klunky behaviour in toolbar when a single button was pressed repeatedly without moving the mouse * Autocompleter builds a better list possible names based on context and dotted imported names work. * Fixed bug preventing expansion of sub-values in short items displayed as a single string in the debugger * Fixed off-by-one bug in stack display when StartDebug() is used * Fixed off-by-N bug in current frame shown when frames were on stack due to nested eval() or exec() calls * License manager now removes stale lock files created on localhost, to avoid reaching license limit after crashes. * Project manager automatically keeps a blank project open when nothing else is open, to avoid confusion about what's going on when Wing is launched without arguments * Fixed bug in comment-out feature in editor so that it also works when blinking caret is at the very start of a line * Fixed indentation bug causing incorrect indentation when previous line ended in a comment * Fixed keypad enter to work * beginning-of-line command now first goes to start of line, and if repeated to the end of the leading white space * Fixed ctrl-tab so it really inserts a real tab character and not spaces * Fixed crashing of IDE caused by lexer problems when reading an HTML file with embedded Javascript, and corrected other embedded lexers (VB, PHP, and Python) to syntax hilight with the correct keywords * Set the watch cursor on all GUI areas now during busy times, using a new more reliable/correct approach * Fixed bug causing wacky horizontal scrolling of source code in various cases * Emacs mode interactive search uses more logical last-search-string on double ^S or ^R * Fixed handling of '#' within strings in license manager and preferences Version 1.0b2 ============= Sept 29, 2000 Incompatibilities ----------------- * Users that have copied the preferences file into ~/.wingide/preferences may wish to set preference edit.print-python-as-text=false in that file. This release fixes bugs in Python printing, and setting this option to false will enable (previously broken) syntax hilighting in printed Python text * Users of wingdbstub.py must update to the current release's version of this file. * The version 1.0b1 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. Features -------- * Python 2.0 support - Wing will run under Python 2.0 - Wing understands many of the Python 2.0 language extensions * Added comment-out / uncomment-out feature for all supported mime types * Added close-all feature for closing all open source windows * Added fill-paragraph / rewrapping feature for reformatting text easily * Added support for international keyboards (at least deadkeys now work) * Source code analyser now works with files that have DOS line endings * Source code editor now works with DOS line endings (indent was broken, and it now adds in DOS line endings if the file already has them) * Added preferences for filtering of the contents of the debugger variable display area by value type or variable/key name, and to control size thresholds for skipping huge data values that would result in hanging the debug process * Wing now prompts to set major pref choices such as editor personality and print paper size the first time it is started * Better support for multiple debug entry points in a single project * Added key accelerators for the first 9 views in the Windows menu. * Much improved brace matching feature * Set cursors to watch to indicate 'busy' in some places now Bug Fixes --------- * Generalized data display so that more data types can be seen in the debugger, including (smallish) numpy arrays * Fixed bugs in the debugger that caused it to end the debug session when encountering very large data values (displaying very large values is not yet supported though) * Fixed debugger to correctly set run environment when specified (but not when connecting to an externally launched program) * Fixed bug in debugger that prevented cPickle from working with any add-ons, such as Numeric in numpy. * License manager now allows you to run >1 concurrent copy of the IDE as same user * Fixed printing multi-page syntax-hilighted Python documents * Fixed a bug in license manager that prevented correct reporting of too-many-users condition * Fixed per-file debug properties dialog so it is no longer modal * Fixed incorrect appending of wingdb.py to end of sys.argv during debug * Fixed off-by-one bug in outdent region code. * Eliminated traceback when browser is clicked where there is no text. * Eliminated analysis popup failure on package __init__.py files. * Fixed tokenizing of unicode strings and single-quoted strings that span more than one line. * Main debug file indicator is now refreshed properly when changed in project mgr * Fixed FAQ/Manual information on using the profiler with the debugger * Fixed bug that caused browser to freeze when a sequence of imports didn't resolve to an actual identifuer. * Fixed crash during autocompletion when starting completion in the middle of a word & backspacing. * Fixed 'late pref mgr call' traceback that could occur while exiting the IDE * Fixed crashing of IDE when debug program exits unexpectedly during a variable expansion * Fixed crashing of IDE when debug program's xterm input/output window (when enabled via prefs) is closed during a debug session * Better analysis of multiple changes to the source text that happen quickly and that involve adding or removing lines. * Adding a package to project doesn't get confused by subdirectories with names that match mask within the project directory. * Added check to Save As to see if a file with the new name is open in the IDE. * Substantially sped up debugger variable display expansion * Fixed bug in debugger causing failure to show the source location and/or detailed info for certain types of SyntaxError exceptions * Debugger main project file is reset correctly when projects are closed Version 1.0b1 ============= Sept 7, 2000 First public release