# Komodo IDE/Edit 4.2 Release Notes

Welcome to Komodo, ActiveState's Integrated Development Environment (IDE). These Release Notes cover what's new, detailed changes and bug fixes and known issues for Komodo IDE 4.2 and Komodo Edit 4.2.

## What's New in Komodo IDE/Edit 4.2

- Soft Characters: Automatic, context-specific closing characters.
- Auto-update: Komodo can now check for available software updates ("Help|Check for Updates...").
- A new spell checker ("Tools|Check Spelling...").
- CSS autocompletion in HTML style attributes.
- Komodo's documentation is now under a Creative Commons license to support translations contributed by users.
- Improved autocompletion for Python function calls.
- Lots of bug fixes and improvements.

## Detailed Changes and Bug Fixes in Komodo IDE/Edit 4.2

### 4.2.1

Bug Fixes

- Code Intelligence:
  - PHP: support for constants and defines. (Bug 41700)
  - PHP: completions and calltips for magic methods. (Bug 69758)
  - PHP: fixed bug with static variables not autocompleting correctly. (Bug 72527)
  - JavaScript: API catalog improvements. (Bug 72562)
- Editor:
  - Sped up lexing synchronization for UDL-based languages (PHP, HTML, XML, and template languages). (Bug 72707)
  - Go to Definition now opens folded sections to display the target. (Bug 65172)
  - Entering text in non-ASCII character sets now works correctly. (Bug 71664)
  - Fixed unicode characters being lost on paragraph reflow. (Bug 73123)
  - Vi emulation: Fixed bug causing crashes when using "%s". (Bug 72411)
  - Emacs emulation: Numerous enhancements and fixes to the Emacs keybinding scheme. (Bug 3321, 72903, 72897, 70468, )
- Extensions now work with micro releases (e.g. 4.2.0 to 4.2.1). (Bug 73251)
- Linux: Fixed GTK bug causing segfault under certain conditions. (Bug 73165)
- Fixed problem with path separator in Find in Files dialog. (Bug 73261)
- Running a Rails project on a machine without Rails installed no longer fails silently. (Bug 73107)
- Fixed scrolling in large files. (Bug 72976)
- Automatically expand folded blocks when they are being edited. (Bug 70846)
- Tcl linter and debugger updated to use new basekits which work on Ubuntu 7.10.
- Support for the '//' operator for testing definedness in Perl 5.9.5/5.10.
- Fixed traceback on loading PHP files when PHP not installed. (Bug 72972)
- Better error message for 'Alternate Help on Selection' when nothing is selected. (Bug 72879)
- Minor documentation fixes (Bug 72086, 72269, 72269, 70139)

### 4.2

- Includes all features and improvements introduced in the 4.2 Beta series.
- Additional bug fixes.
- Autocomplete: Added a JavaScript API catalog for jQuery development.

Bug fixes:

- Debugger:
  - Debugger proxy now makes sure both connections close so that clients get all input. (Bug 70776)
  - Breakpoints in a mapped URI no longer ignored. (Bug 69715, 71991)
  - Perl: Refer to IO::File, not DB::IO::File (Bug 71828)
  - PHP: xdebug updated
- Autocomplete:
  - CSS: Pseudo-classes handled correctly. (Bug 71073)
  - Python: Improved code-completion for function return values. (Bug 71987, 71989)
  - Python: Handle builtins. (Bug 71972)
  - XML: Fixed completion at start of HTML/XML files. (Bug 69607)
  - JavaScript: Handle return values when calling functions via a variable as opposed to calling a named function. (Bug 72159)
- Editor:
  - Stopped preference changes on a single buffer from propagating to all loaded buffers. (Bug 72092)
  - Removed '%' soft character in RHTML. (Bug 72150)
- Remote files:
  - Fixed empty error dialog bug.
  - Correctly read files from FileZilla FTPS servers. (Bug 72068)
- Workaround for SuSE 10.2 editing bug. (Bug 70812)
- Auto-update now correctly handles symbolic links to Komodo executable. (Bug 72119)
- Fixed Windows shutdown bug.
- Rails: Normal status messages written to the command output window instead of an alert window. (Bug 69804)
- Drag/drop of macro buffers fixed. (Bug 71770)
- Fixed bug causing removal of project/toolbox parts if dragged onto self or children. (Bug 70823)
- Set Komodo's process affinity to run on CPU #1. (Bug 53927)
- Ignore internal exceptions on buffer-close. (Bug 71955)
- Added menu items for JavaScript and XSLT tutorials. (Bug 72086)
- Fixed Web & Browser proxy preferences. (Bug 71816)
- Projects now marked "dirty" when a project preference changes. (Bug 70514)
- Added full path for current file to the title bar.
- Fixed colorizing problems with Tcl and single-line comments inside braces (bug 53847)

### 4.2 Beta 7

Bug fixes:

- Ruby debugger:
  - Ruby 1.8.4 or later requirement. (Bug 71075, 71947, 71948)
  - No stopping in rubygems.rb or ubygems.rb unless there's a breakpoint there. (Bug 69721)
  - Now shows 'self' in list of locals. (Bug 71477)
- Source code control:
  - Problems adding new files to SCC fixed. (Bug 67692)
  - Update menu when new files are added to SCC-controlled folders. (Bug 67949)
  - Commit message garbled for non-ascii characters. (Bug 71464)
- Editor:
  - Fixed tab ordering after drag drop operations on tabs. (Bug 43528)
  - Fixed guessing of indentation first time ruby, xml, and html files are opened. (Bug 69726)
  - Fixed single-character selection at start of line. (Bug 71966)
  - Color '/' as start of regex in all allowed contexts. (Bug 71734)
  - Vi emulation: Ensure vi cursor is set to block char at komodo startup. (Bug 71293)
- Autocomplete:
  - JavaScript: Add cix info for "__defineGetter__" methods.
  - JavaScript: Handle class variables defined in class functions. (Bug 71343)
  - JavaScript: Support completion on vars with same name as classes. (Bug 71666)
  - Python: Infer function return-type info. (Bug 55687)
  - Python: Find all base-class members. (Bug 71789)
  - Ruby: Don't do complete-names completion for block parameter names. (Bug 68454)
  - Ruby: Terminate Ruby calltips on newline when the trigger's a space. (Bug 69559)
  - Ruby: Terminate Ruby/RHTML calltips on "%>". (Bug 69527)
  - XML: Fixed end-tag completion. (Bug 71945)
- Mapped URIs: Add menu item for mapping current editor URI. (Bug 69681)
- Macros: Move from the "komodo" namespace to the "ko" namespace. (Bug 71624)
- Projects:
  - Automatically close open macros when the macro's project is closed. (Bug 71839).
  - Fixed pasting multiple items into a project or the toolbox. (Bug 69533)
  - Fixed open/close decorator "flakiness". (Bug 71942)
  - Fixed context menu mixup between toolboxes and projects. (Bug 71882)
  - Fixed project-based debugging preferences. (Bug 70514)
- Fixed Help links on 'Check configuration' page. (Bug 71949)
- Correct handling of unicode/high bit chars in environment. (Bug 70700)
- Make sure window controls work when komodo opened via apple events. (Bug 71862)

### 4.2 Beta 6

- Removed "Fast Characters" autocompletion because of complications using semicolons in `for` loops.
- Code Browser's filter now supports regular expressions (Python syntax).

Bug fixes:

- Debugger: Ruby error messages and PHP stacktraces now clickable. (Bug 71238)
- Debugger: Updated JavaScript debugger config instructions. (Bug 71311)
- Rx Toolkit: Soft characters disabled in Rx Toolkit.
- Autocomplete fixes:
- - JavaScript: Fixed scope for class functions. (Bug 71345)
  - Ruby: Show calltips on builtin Kernel methods. (Bug 69499)
  - Ruby: Removed exceptions thrown looking for non-existent Ruby class calltips. (Bug 69614)
  - Python: Code browser filter now supports Python Rx (Bug 71275).
  - HTML/XML: Test failures fixed (Bug 71239).
  - PHP and JavaScript: Buffer pre-scanning to improve performance (Bug 68851).
  - Python: Handle '`import *`' semantics. (Bug 70014)
- Vi emulation: Fixed cursor changing to a block cursor after viewing keybinding prefs. (Bug 71293)
- Vi emulation: Paste after 'p' command now pasting correctly. (Bug 71057)
- Fast characters removed. (Bug 71279)
- Soft characters: Forward-slashes fixed in Perl. (Bug 71211)
- Find in file "Search in" combo list was broken, clipped paths. (Bug 71420)
- Tcl lexer: Preserve back-slashes through multi-char newline sequences. (Bug 71409)
- Added yaml file assocation. (Bug 71308)
- Editor: "<" at start of XML buffer triggered exception. (Bug 69742)
- Auto-indent no longer checks for too much indentation. (Bug 71165)
- Toolbox: Make sure newly added items appear in the toolbox. (Bug 71423)
- Project/Toolbox: Fixed sorting and saving sort order. (Bug 71331, 56677)
- Snippets: Closing a modified snippet dialog now prompts to save changes. (Bug 63577)
- Mapped URIs: Avoid opening two instances of the same file. (Bug 69757)
- Live folders: Fixed disappearing entries (Bug 69045)
- Interpolation shortcuts: Fixed `%(ask:QUESTION:%d/%f)`. (Bug 71297)
- Projects: Serializer now sorts items. (Bug 68906)
- Projects: onFileOpen macros now trigger when a macro calls '`ko.open.URI`. (Bug 69684)
- Fixed '`ko.open.URI` failure. (Bug 69787)
- Help: Link to support.activestate.com fixed. (Bug 71140)
- Install: Default Linux install directory changed to "~/Komodo-{IDE|Edit}-<maj>.<min>. (Bug 71090)

### 4.2 Beta 5

- Test release for Auto-update system.

### 4.2 Beta 4

- Test release for Auto-update system.

Bug fixes:

- Python: Codeintel: Fixed bug causing a failure in python CILE. (Bug 70774)
- Rails: Sockets now interpolated correctly on Linux in the Ruby on Rails project template. (Bug 71081)

### 4.2 Beta 3

- Soft Characters and Fast Characters: Autocompletion features that add context-specific closing characters while you type.
- Auto-update: Komodo can now check for available software updates ("Help|Check for Updates..."). You no longer have to completely re-install Komodo to get the latest version.

Bug fixes:

- New mapped URIs now stored in global preferences by default when dragging URIs into Komodo. (Bug 69728)
- Fixed bugs exposed by TODO extension. (Bug 70730, 70708)
- Fixed bug causing breakpoints in mapped URIs to be ignored (Bug 69715)
- Fixed crash caused by unexpected output from `p4 submit`. (Bug 70791)
- Tcl instrument_set now handled correctly. (Bug 39102)
- Fixed crash bug on Linux triggered by enabling and disabling word wrap. (Bug 70780, 52798)
- Removed initial double quote in XML attribute autocomplete. A better shortcut is now available using soft characters. (Bug 70830)
- Optional closing elements now correctly offered in HTML by autocomplete. (Bug 67273)
- Fixed indentation and cursor placement bugs in Vi mode. (Bug 66336)
- File tab and icon now correctly display 'svn add' status. (Bug 70778)
- Fixed URL escaping problem in 'Open URL in Browser'. (Bug 70819)
- Fixed problem with 'Back' button in the MSI installer. (Bug 10918)
- Files and directories now sorted correctly in toolbox and projects on Linux. (Bug 70920)
- Workspace and recent file information now correctly saved on Windows system restart. (Bug 67126)
- Using dialogs instead of sheets on dialogs opened from other dialogs on OS X. (Bug 70982)

### 4.2 Beta 2

- A new spell checker!
- Upgraded Scintilla to version 1.74.
- Komodo now uses Scintilla's indicator bits for showing linter errors and warnings
- Cursor shape is now configurable.

Bug fixes:

- Auto indent: Komodo now does utf-8-safe manipulation of buffers to avoid corrupting multi-byte data. (Bug 69731)
- Debugger: Changes to Environment preferences now correctly appear in the debugger options environment. (Bug 46233)
- Debugger: Break-button enabled only when language supports it. (Bug 35000)
- Debugger: Correct Intel OS X remote debugging packages now available on website. (Bug 70674)
- Editor: Safer use of scintilla getTextRange() with unicode. (Bug 70693)
- Extensions: Installation of XPI from drag'n'drop URL. (Bug 68865)
- JavaScript fixes:
  - Codeintel: 'Go to definition' no longer fails for complex javascript. (Bug 70438)
  - Codeintel: Last object variable is now being ciled correctly. (Bug 69979)
  - Codeintel: Fixed exception thrown whilst scanning source files . (Bug 69725)
  - Codeintel: Better handling of jsdoc comments. (Bug 68727)
  - Codeintel: Update the included YUI API to version 2.2.2. (Bug 66019)
  - Debugger: Fixed problem of incorrectly showing startup page as Firefox starts up.
- Key bindings: Keybindings upgrade correctly. (Bug 68489)
- Macros: Added project name to macro URI so it's easier to tell which project the current macro being edited belongs to. (Bug 69028)
- Mapped URIs: Now go through the full preference chain properly. (Bug 69686)
- Perl: Debugger: Perl module LWP socket timing problem. (Bug 69900)
- Perl: Codeintel: Allow high-bit characters in variable names. (Bug 70166)
- PHP: Codeintel: Autocomplete now respects class access levels. (Bug 70423)
- PHP: Codeintel: Re-trigger calltips after completing a variable as a function argument. (Bug 70470)
- PHP: Codeintel: Function completions not working correctly when matches to a keyword. (Bug 70718)
- PHP: UDL: Single-line comments now end at "?>". (Bug 70630)
- Prefs: The selected tab/language in the fonts-and-colors tab is now remembered. (Bug 56937)
- Python fixes:
  - Fixed lexing in presence of decorators. (Bug 70645)
  - Style decorators in their own color. (Bug 70648)
  - Debugger: pydbgp now working with unknown locales. (Bug 70101)
  - Django: Added additional keywords. (Bug 69852)
- Rails: Debugger: Works with version 1.8.6 on Windows. (Bug 70418)
- Rails: Debugger: Nicer alert provided for Edit users. (Bug 70069)
- Rails: UDL: Handle YAML templates with the &<<* syntax. (Bug 70664)
- Remote files: Upgrade of servers works from 4.1 to 4.2. (Bug 70187)
- Remote files: Dialog now shows file/folder icons on MacOS. (Bug 69776)
- SCC: Perforce: Better handling when saving file that encounters a SCC edit error.
- Tcl: Tcl instrument_set handled correctly. (Bug 39102)
- Templates: New projects always end with a .kpz extension. (Bug 68996)
- UDL: Template-toolkit: Improved handling of comments inside [% ... %] tags. (Bug 70508)
- Vi emulation fixes:
  - Fixed check box becoming unchecked when setting up vi. (Bug 69623)
  - Fixed Increase Line Indent in visual mode. (Bug 66778)
  - Change/delete now working with find char "f" command. (Bug 70012)
  - Added ":split" command support (bug 70083)

### 4.2 Beta 1

- Upgraded Scintilla (Komodo's editor component) to the latest version.
- Add CSS autocomplete in HTML `style="..."` attributes. (Bug 66124)
- Komodo's documentation is now under a Creative Commons license to support translations contributed by users. (Note: we are also working towards localization of the Komodo UI.)
- Many small documentation improvements.
- Add ability to change cursor shape to block mode. (Bug 68407)

Bug fixes:

- Fixes and improvements to the Rails project template. (Bug 68407)
- Fixed bug causing a double warning icon in Editor tab for SVN file conflicts. (Bug 68534)
- Fixed bug causing two HTTP Inspector windows to be displayed. (Bug 70176)
- Fixed Vi emulation bug for commands with a number modifier. (Bug 66085)

## Known Issues

To view the status of outstanding Komodo issues, including those that have been fixed in this release, or to add comments or additional issues, please visit the Komodo Bug Database.

### Object Browser

- The Object Browser is currently being re-implemented using Komodo's new Code Intelligence backend and is not available in this release.

### Installation & Upgrade

- The auto-update from 4.2.0 to 4.2.1 will incorrectly indicate that the "Perl Dev Kit" and "Komodo DOM Viewer" extensions will not work and will be disabled. This is a false alarm. These extensions will continue to work after the update. (Bug 73060)
- When upgrading to a version of Komodo with a new application data directory (i.e. 4.0.1 to 4.0.3 or 4.0.3 to 4.1), the usernames and passwords for Remote Accounts are not imported. These must be re-entered for each Server in the Server Preferences panel after the upgrade.
- Windows Vista will prompt you to either 'Allow' or 'Deny' the installation. Click on 'Allow' and Komodo will install normally.
- Windows NT users may need to manually move their license file from `\WINNT\Profiles\[username]\ActiveState` to `\WINNT\Profiles\[username]\Application Data\ActiveState`
  (Bug 20203)
- If you upgraded your system from Win9x/WinME to WinNT/2K, ensure that your `ComSpec` environment variable is configured to `%SystemRoot%\system32\cmd.exe` (for example, `C:\system32\cmd.exe`). There was a bug in the Microsoft Windows installer that did not update the variable from its original value of `command.com`
  (Bug 9135)
- The Komodo installer requires up to 230 MB in your TMP directory (as indicated by the value of your 'TMP' environment variable) during installation, even if you plan to install Komodo to another drive. If you do not have the required space on this drive, manually set the 'TMP' environment variable to another directory with sufficient space. Ensure that you have enough space, temporarily, for installation. (Bug 7057)
- If you try to install Komodo on Windows and the MSI install fails with error 2355, your MSI file is corrupt. Please download Komodo again and re-run the MSI install. (Bug 7405)
- There are known issues regarding the installation of PHP on Windows Millennium systems; please refer to the PHP site for installation information.

### Startup

- The first time Komodo is run after installation, it must register a number of components with the operating system. This causes the first launch to be considerably slower than subsequent launches.

### Projects and Toolboxes

- Projects and toolboxes created in Alpha releases of Komodo 4.0 may display components in incorrect locations. Komodo 4.0 Beta fixes this bug and prevents this from happening in new projects. To fix a corrupted project or toolbox, move the components to their correct location and re-save. (Bug 53167)

### Editing

- Linux users may need to install the SCIM platform packages for non-ASCII text entry. See "Linux Software Prerequisites" in the Installation Guide for details. (Bug 70812)
- Autocompletion on the following Python Win32 modules is not yet available: dbc, perfmon, pywintypes, win2kras, dde, pythoncom, and the binary sub-modules of win32com.
- The line and column cursor coordinates in the status bar are not updated while the cursor is moving.
- The macro recorder will record events that it cannot handle, such as the opening of dialogs. The only dialog that can be opened via a macro is the Find dialog; other dialogs will cause the macro to stop.
- Languages that are read right to left and Asian languages are not supported. All Latin and Cyrillic languages are fully supported. (Bug 29702)
- eTrust Antivirus Realtime Monitor and Komodo on Windows 9x: When RealMon is set to monitor outgoing files (or both incoming and outgoing files), Komodo's syntax checking doesn't function. (Bug 7741)
- On slow networks, users may notice performance degradation when editing files on network machines. Performance can be improved by disabling the Komodo function that checks if files on disk have changed. Use the Editor Preferences to disable this feature. (Bug 18297)
- Interpolation shortcuts in snippets are not executed when the snippet is inserted in the Editor Pane via dragging and dropping.
- On Linux, GTK2 hard codes 'Ctrl'+'Shift' to use international input. Therefore, all key bindings involving 'Ctrl'+'Shift'+ (any valid hexadecimal character} do not work in Komodo. A workaround is to start Komodo with the command: `export GTK_IM_MODULE=xim; ./komodo'`. Otherwise, key bindings of this kind must be changed. (Bug 38205)
- When copying text that does not have Windows line endings into another application, which expects Windows line endings, the text may not retain the desired formatting. The text is often pasted as a single line. (Bug 36791)
- Code snippets that are 8-bit-encoded and contain high-bit characters may have the wrong encoding (or no encoding) when inserted from the Toolbox into a UTF-8 encoded file in the Editor Pane. (Bug 36769)
- When editing a code comment in Komodo you may use <Shift+Enter> to start a new line within the comment -- the comment prefix is added automatically. Komodo may fail to properly add the comment prefix if many new lines are added quickly with repeated <Shift+Enter> presses. (Bug 38658)

### Debugging

- Tcl 8.5: Tcl Beta releases contain only version-specific executables (e.g. `tclsh85.exe` and `wish85.exe`). Komodo does not automatically find these in the path. To use them, specify the executables manually in Edit|Preferences...|Languages|Tcl|Interpreters, or create non-versioned symlinks/shortcuts to the versioned executables.
- The Perl debugger uses `alarm()` internally. This can conflict with some Perl frameworks and modules (such as POE) which use `alarm()` as well. To work around this problem, add `alarm=0` to the `PERLDB_OPTS` environment variable (in the Environment tab of the Debugger Options) which stops the debugger from using `alarm()`. With this work-around in place, the Break Now button and menu item will not work in debugging sessions.
- Using the JavaScript debugger on files with mapped URIs can yield confusing results. Komodo will open the mapped source file rather than querying Firefox for the runtime JavaScript.
- Python debugging with IronPython does not currently work as there is no support for Python debugging hooks in IronPython.
- In PerlApp executables, it is now possible to step into loaded modules, but not to set breakpoints in them.
- The Komodo JavaScript Debugger is incompatible with the FireBug Firefox extension. FireBug must be manually disabled (Tools|Firebug|Disable Firebug) for the JavaScript debugger to work. (Bug 47208)
- PHP 5.0.0, 5.0.1 and 5.0.2 do not work with the debugger extension. Use PHP versions 4.3.10 or greater, or 5.0.3 or greater, including 5.1.
- If the debug listener (Debug|Listen for Debugger Connections) is off, multithreaded applications may not run or debug as expected. Only the main thread operates through the debugger. To debug multithreaded applications, turn on debug listening prior to debugging. (Debug listening is turned on by default.) (Bug 32776)
- PHP configurations that use Zend Extensions (such as PHP Accelerator) are not compatible with the Komodo PHP debugger. (Bug 21890)
- Due to the way the core Perl interpreter works, it is not possible to step over "require" statements. (Bug 18776)
- You cannot debug 'freestanding' executables created with the PDK in Komodo. Instead, build a 'dependant' executable, which requires a local install of ActivePerl.
- The variable watcher does not work when debugging `\\machine\d$\path\to\perl_script.pl`. It does work when opening the same file via a UNC path that does not include a '$' character. (Bug 19558)
- When debugging remote applications, Komodo fails if the remote process does not have valid stdout and stderr handles. GUI applications, such as those started with "wperl.exe" or "pythonw.exe", or those using the Pythonwin or wxPython frameworks, or those with certain embedded applications, can have invalid stdout and stderr handles. Until we resolve this issue, try to run and debug your remote program under perl.exe or python.exe.
- Python, XSLT and PHP debugging require TCP/IP to be installed and properly configured, even if you are debugging scripts locally. While TCP/IP is configured by default on most systems, early versions of Windows may require manual TCP/IP configuration.
- When debugging a GUI script in Komodo, adding a "watched variable" when not stopped at a breakpoint can cause Komodo to hang. You must manually terminate the script being debugged to stop Komodo from hanging. The problem occurs because the GUI script, while in its message loop, does not respond to Komodo's request for the variable value. (Bug 23516)
- If the Komodo debugger is configured to use a specific port, when Komodo is shut down, the port is sometimes not immediately released. If Komodo is restarted before the port is released by the operating system, a message is displayed advising that the system is unable to bind that port. As a workaround, we suggest configuring port 0 as the Komodo debugging port and using the debugger proxy for remote debugging. (Bug 32821)
- Breaking into a running Perl script can only occur while crossing sub boundaries in the Perl code, as that's currently the only chance the Perl debugger has to check to see if the IDE has sent the break command. (Bug 35611)
- When debugging Perl, if you set a breakpoint on the `while` statement, the debugger stops on the breakpoint only once, namely before the first pass through the loop. This is a limitation in the Perl interpreter. (Bug 34866)
- Komodo debugger uses TCP/IP networking for communications. On systems with firewalls installed, the debugger may fail if the firewall is not configured to allow Komodo to listen for connections. On Windows, you may see a "Windows Security Alert" dialog asking if you want to allow Komodo to listen for connections, you will need to unblock Komodo. (Bug 21684)
- The Perl debugger cannot trap fatal runtime errors. Users can accomplish this in their code by wrapping problematic code in an `eval` block, and then testing for an exception. (Bug 33855)
- Komodo does not provide proper source debugging in Python `exec` and `eval` statements. This is a limitation of Python's interpreter. (Bug 40336)
- When debugging PHP on a remote Linux machine from a local Windows machine, the debugging option "Try to find files on the local system when remote debugging" has no effect. This is due to differences in Unix and Win32 file paths. (Bug 39137)
- When debugging Python, Komodo does not permit you to set local variables in the interactive shell. However, you can edit those values from the program's variable viewers, such as the Watch and Locals panes on the Debug tab. (Bug 36794)
- When debugging PHP scripts on Komodo with CGI emulation, you may need to change the setting for `cgi.force_redirect` in the php.ini file. You may also need to set an environment variable in the Debugger Options dialog box: "REDIRECT_STATUS=200 OK". These settings vary depending on your system and the configuration of PHP. (Bug 35021)
- When Debugging PHP, the HTML pane of the Output tab does not refresh automatically. To refresh the contents of this pane, click the "Reload HTML view" button on the Output tab. (Bug 36999)
- Komodo supports full Unicode debugging with Perl 5.8. Although Perl 5.6 can be used for debugging programs with single-byte encodings (e.g. cp1251), it is recommended that programmers with multi-byte character sets upgrade to Perl 5.8.5 or better. (Bug 36760)
- When debugging Python, if you launch the debugger from a directory containing a module with the same name as one of the modules used by the debugger, the wrong file is used. For example, if you have a file named logging.py in the directory where the debugger is launched, the debugger will fail. (Bug 36783)
- When stepping through Perl files, the Komodo debugger displays the wrong print results in the Locals window of the Debug tab. This is because Perl provides only one iterator for each collection variable. The Komodo debugger must iterate through a hash or an array in order to display the values in Komodo. A workaround is to display the Watch pane instead of the Locals pane, and type the names of the expressions that you want to view. (Bug 33668)

### Interactive Shell

- Perl: Only pattern variables $1 .. $9 are preserved across each query. (Bug 34528)
- Python: The getpass package requires the use of a tty on unix systems. Komodo does not provide a tty in its interactive shell so getpass will fail with an exception. (Bug 34259)

### Source Code Control

- A bug in CVS will cause WinCVS and TortoiseCVS to detect file changes when a Komodo project has merely been opened. The problem is likely a bug in the cvshome.org executable or in the cvsnt.org executable, which are used by both WinCVS and TortoiseCVS. (Bug 21085)
- Komodo's integration with the Perforce commit/submit command cannot commit files that are not in the default changelist. These files must be submitted via an external interface (e.g. p4, P4Win). Note that any files checked out inside Komodo are in the default changelist, so this limitation should only apply to users who already use an external interface to their Perforce repository. (Bug 27070)
- If the Perforce connection cannot be established, checking the status of files in a Perforce repository will hang Komodo. (Bug 35058)
- If you are using CVS Source Code Control, note that the very first time you log in to a repository, cvs.exe fails to create the .cvspass file correctly and will return an error. Repeat the command to login a second time and correctly generate the file. This is a CVS bug. (Bug 20353)
- If you are using CVS Source Code Control on Windows 98 or Me, the environment variables `HOMEDRIVE` and `HOMEPATH` must be configured on your system. Typically, `HOMEDRIVE` is set to "c:", and `HOMEPATH` is set to "\".

### GUI Builder

- GUI Builder is no longer included with Komodo. The code has been returned to the open source project that it came from, SpecTcl. You can find more information about SpecTcl at:

  http://spectcl.sourceforge.net/

  Binaries for GUI Builder that support Komodo 3.x UI projects can be found here.

### Mac OS X

- If you have two drives with the same name, and you use the file open dialog in a mozilla application, the directory menu (top middle of dialog) may crash when clicked. To avoid this, rename one of the hard drives.
- New Custom Menus created in a Project or in the Toolbox will not appear until Komodo has been restared.
- Throughout the Komodo documentation there are references to key bindings that use the 'Cmd' key. This key may be better known to OS X users as the 'Command' key. (Bug 41959)
- Komodo will shut down and restart itself the first time it is run after installation. (Bug 40143)
- Display of text during editing ("painting") may sometimes be slow or pause momentarily.
- Certain UI elements stop working after changing key bindings. Restarting Komodo fixes this. (Bug 38683)
- When saving a file, Komodo does not set file information (type and creator) for the OS X Finder to know that Komodo created the file. (Bug 38745)
- Breakpoints cannot be removed when debugging XSLT scripts. (Bug 40072)
- PHP debugging will not work with the PHP build distributed with OS X because it does not load external modules. To use PHP debugging on OS X, build PHP from source or download a binary from http://www.entropy.ch/software/macosx/php
  (Bug 39901)
- Komodo is sometimes recognized as a web browser by some applications on OS X (e.g. Safari's "Default Web Browser" setting). Using Komodo as the default web browser is not recommended.
- Application menu items that have multi-key key bindings will not show their key bindings in a pop-up tool tip on OS X. This is a limitation in OS X.
- Context menus may not display unless you hold down the mouse button for a period of time. This is because the Komodo editor is implemented in Mozilla as a plugin, and it does not access the apropriate context menu event to handle this behaviour properly without interfering with other mouse events (for example, drag and drop). (Bug 41216)
- Due to a limitation in the Mozilla code base, key bindings for the Next File and Previous File options on the Window menu are not displayed next to the menu items. The key bindings are 'Cmd'+'PageDown' to view the next file and 'Cmd'+'PageUp' to view the previous file. (Bug 40716)

### Linux

- When closing any Komodo window that contains an editor component, a GLIB error entry will appear in the log files (or terminal if Komodo was started from one). This error can be safely ignored. A patch was submitted by the Mozilla group to the Gnome group that handles this error, and should be available in GTK 2.4 or higher. The patch can be viewed at http://bugzilla.gnome.org/show_bug.cgi?id=128546
  (Bug 33817)
- The Fonts and Colors pane in the Preferences dialog box displays the same list of fonts in both the Fixed and Proportional lists. There is no programmatic way to identify whether a font is proportional or not on GTK; therefore, users must know the properties of the individual fonts when modifying these values. (Bug 27206)
- If the GTK theme is changed while Komodo is running, Komodo will not change the menu/toolbar font colors, causing usability problems in extreme cases. (Bug 34508)
- Install Komodo into a directory path that only includes alphanumeric characters. Komodo is known to have trouble with paths that include spaces and some non-alphanumeric characters.
- Filenames or paths containing non-ASCII characters cannot be opened remotely.
- Key bindings defined in the window manager (such as KDE) take precedence over Komodo key bindings. In the case of conflicts, you must either change the Komodo key bindings or the window manager key bindings. (Bug 30926)
- You cannot move an existing Komodo installation to a new directory. You must uninstall Komodo from the existing location and reinstall it in the new location. (Bug 19478)
- When using the PHP Configuration Wizard, you must have write access to any directories you specify in the wizard. (Bug 37176)
- Red Hat Linux 9.0 is known to have threading library bugs in its glibc that may cause Komodo to hang in certain situations. The recommended solution is to upgrade to the latest glibc for Red Hat Linux 9.0. (Bug 24340)
- Using colon-separated include paths in the Perl shebang line causes a parse failure on some versions of Perl. Instead of using "/usr/bin/perl -cwT -I/path1:/path2 yourscript.pl", try using multiple include arguments such as "/usr/bin/perl -cwT -I/path1 -I/path2 yourscript.pl"
  (Bug 33524)
- Komodo may not start up correctly on some Linux systems if C++ compatibility libraries have not been installed. On Fedora and Red Hat systems, install the "compat-libstdc++" package. On SuSE, install the "compat" package. On Gentoo, as root, run `emerge lib-compat`. This is not thought to be a problem on Debian systems. (Bug 36244)
- Komodo will work on Debian/Ubuntu AMD64 with some manual configuration (some libraries were not properly ported to support 32-bit applications). (Bug 41368) Run Komodo from a shell script which sets certain environment variables:

      #!/bin/sh
      export GTK_PATH=/usr/lib32/gtk-2.0/
      export PANGO_RC_FILE=/etc/pango32/pangorc
      komodo

  The `pangorc` file should contain the following:

      [Pango]
      ModuleFiles=/etc/pango32/pango.modules
      [PangoX]
      AliasFiles=/etc/pango/pangox.aliases

  More information on running 32 bit Mozilla applications on AMD64 can be found here.

### Other

- A limitation in the parser used by the DOM Viewer causes HTML elements embedded in JavaScript strings to appear as element nodes of the current document. Placing the JavaScript in a CDATA section or a comment avoids this problem.
- Komodo inherits a Mozilla bug whereby certain video drivers on Windows cause Komodo to crash. If you experience this behavior, upgrade your video driver to the latest version. If the problem persists, reduce the color definition assigned to the driver (Control Panel|Display|Settings). (Bug 32746)
- Komodo inherits a Mozilla bug regarding display on dual-monitor systems where the secondary monitor is to the left of the primary monitor (causing negative coordinate results). The Komodo display occasionally fails to refresh; Komodo must be stopped and restarted to fix the display (Bug 26852)
- When using Komodo's Preview in Browser feature, users running Mozilla on Windows XP Pro, Windows 2000 Pro and Windows 98 may find that they cannot exit Komodo if Mozilla is still open. If this should occur, close all open browser windows before exiting Komodo. (Bug 26431)
- The Palm Desktop for Windows software makes exclusive use of the 'Ctrl'+'Shift'+'T' key combination, thus making this combination unavailable in Komodo. (Bug 27851)
- When using the PDK Build Standalone Application feature in Komodo with Perl 5.8.0 on a Linux installation where the environment is set to use UTF-8, you must add a module 'utf8' on the modules tab. This is the equivalent of 'perlapp --add utf8'. This does not affect Perl 5.6.x or future versions of Perl 5.8.1 or higher. (Bug 26898)
- On Windows NT, some interactive commands may not work properly when run from the Command Output tab of the Output Pane. You must run these commands in a separate shell. (Bug 23176)
- Running interactive commands (especially "command.com") on Win98/ME through Komodo's "Run Command" feature can cause Komodo to hang. It is recommended that Win98/ME Komodo users run only simple commands using the Run Command feature (Bug 25699)
- In file picker dialogs that display a list of files, when "All files" is specified, files that begin with a period are not displayed (Bug 18712)
- Perforce client version 2001.1 and previous for Windows is known to hang when used for Komodo's Perforce integration. Upgrading to the most recent version of Perforce is known to fix the problem. (Bug 19959)
- The Output tab cuts off lines at 250 characters. (Bug 20711)
- Macros will not record certain commands, including (but possibly not limited to) 'Ctrl'+'Shift'+'B'|'R'|'E'|'D' (toggle toolbars or button text), 'Ctrl'+'Shift'+'N' (new default file), and View as Language menu items.
- If you are using the Pop-Up Stopper ad-blocking program (Pop-Up Zapper on OS X), it will close the Rx Toolkit window immediately after it is opened. (Bug 21768)
- When you schedule a new file to be added using CVS, CVS will not permit you to remove the file from the repository using the "revert changes" command. (Bug 27192)
- Users of the Japanese version of Windows XP may experience difficulties in starting Komodo.
- The Open field in the Open/Find Toolbar does not automatically display a drop-down list of directories when an UNC path is typed. Currently, the list is only displayed when a the path includes a subdirectory. (Bug 29011)
- When creating a "diff" in Komodo (Tools|Compare Files), the line endings of the files are normalized to Unix style line endings. Lines in files that have different line endings are not displayed differently in the diff (unless other differences are present), but a warning is provided to the user in the 'diff' window, or the 'no difference' dialog. (Bug 32932)
- In Komodo's Rx Toolkit, the match offsets for unicode or high-bit data are incorrect. When matching, the program does not account for UTF-8 multibyte characters. (Bug 33287)
- When adding new key bindings via the Preferences dialog box, Komodo displays a message indicating that the key bindings will not take effect until Komodo is restarted. However, some changes do take effect immediately.(Bug 36710)
- "Find" macros do not work because incorrect code is recorded. (Bug 36332)
- If you rename a folder that was added to a custom menu, the name is changed in Komodo's Toolbox but not on the menu itself. A workaround is to move the renamed folder out and then back into the associated custom menu icon in the Toolbox. (Bug 36679)
- The Mozilla code base currently does not support the Windows Unicode binary. As a result, Komodo for Windows is unable to open files or paths that contain character sets that are not in the systems locale. (Bug 33304)
- A newly created custom menu is added to the Toolbox but is not immediately displayed alongside existing toolbars. Restarting Komodo causes the new toolbar to display. (Bug 40078)