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. * CAPIDebugReunState.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 (utf-8 sequence for ä) -- 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