1 Release Notes for NEdit Version 5.5, October 2004
4 $Id: ReleaseNotes,v 1.35 2006/02/11 10:37:28 yooden Exp $
6 This file contains last minute notes to users about the release, which are not
7 included in the documentation or README files included with the distribution
8 kits. It also contains change information, for users who are interested in
9 what bugs have been fixed, and what features have been added in the current
12 If you are upgrading NEdit from a version prior to 5.0, please see the notes in
13 the README file which came with the (source or executable) distribution kit,
14 about updating macros and font settings in your .nedit file.
16 Bugs fixed in $NEXT_VERSION
18 - The text insertion cursor does no longer blink while typing
21 - The status bar reflects a changed keybinding in the shell command banner.
23 - There is now a pattern for highlighting nested command substitution in
24 shell scripts (SF patch #1010742).
26 - Duplicate display bugs SF#464967 and SF#1041077 are fixed.
28 - A typo in Ada's syntax highlighting patterns is fixed (SF bug #858874).
30 - The shell used to run programs from the shell_command() macro function
31 and from the Shell menu is now part of NEdit's normal settings, and no
32 longer in the X server's settings. It also defaults to the user's login
33 shell, not /bin/csh. This fixes SF#403738 and SF#880607.
35 - File history is now consistent across multiple sessions (SF bug #557032).
37 - If a macro file contains function definitions mixed with code segments
38 the code segments were excuted in the wrong order in certain cases. This
39 is fixed (SF bug #622291).
44 - The most important new feature is the introduction of window tabs
45 (SF patches #569287 and #893177).
47 - More efficient string search operations for the macro language.
49 - Auto-scrolling is now (partly) configurable through the preference menu.
51 - Find and Clear buttons for i-search bar (SF patch #891884).
53 - Faster user-defined menu creation (SF patch #891126).
55 - Open documents on current desktop (SF patch #963120)
57 - Superuser receives a warning when trying to overwrite a read-only file.
59 - Simplified global font resources.
61 - Macro language: added new $args[] array and removed 9 arguments limit
64 - Improved Latex & Python syntax highlighting patterns
68 - If underscore (_) is among the word delimiters for a language mode then
69 word boundary regexes will work as expected. (SF bug #1008656)
71 - Problem with writing history file on VMS (SF bug #933146).
73 - Race condition fix for running NEdit in -sync mode (SF bug #978104).
75 - Removed obsolete special window title treatment on SGI (SF bug #779454).
77 - Forbid the deletion of the "Plain" Text Drawing Style (SF patch #970491).
79 - File descriptor handling fix that allows shell commands to be invoked
82 - Crash on Solaris when dragging a calltip (SF bug #925951).
84 - Preference resource name mistakes (SF bug #884862).
86 - Don't delete incremental backup files when incremental backups are off
89 - Allow zero-length ranges to be added to range sets (SF bug #871209).
91 - Improved shell syntax highlighting patterns (SF bug #770855).
93 - Regular expression crash fix (SF bug #987102).
97 - Using exit() in macro no longer causes hang (SF bug #999021).
99 - Updated rangeset documentation (SF bug #1005442).
101 - Minor changes to the regular expression word boundary semantics
104 - Tabs keep reasonable sizes when things get crowded (SF bug #1005064).
106 - Many unnecessary file status checks are avoided.
108 - Warn On Exit also affects closing of window with multiple tabs
111 - "File Modified Externally" dialogs are only allowed for top tabs.
113 - Broken virtual key bindings workaround was restored (problems with
114 page-up and page-down).
116 - Preference file number was bumped.
118 - Dialogs' OK button layout fixes.
120 - Fix for SF bug #999820: spaces in dialog button mnemonics.
122 - Fix for SF bug #996786: problems with overtype mode
126 - Less confusing menu wording (SF bug #1023089).
128 - Shell command output is now sent to a new window or a new tab,
129 depending on the tabbed editing preference settings.
131 - Detaching/Moving non-top tab should not change top tab (SF bug #1020035).
133 - Opening new window from a tabbed window no longer diminishes size
138 - Calltips (SF patch #495286)
140 - Rangesets (SF patch #529298, #628933)
142 - Backlighting (SF patch #529298)
144 - Highlighting information macros (SF patch #529298)
146 - Full mouse wheel support for XFree86 (SF patch #715941)
148 - Look-behind matching for regular expressions (SF patch #530308)
150 - Regular expression and syntax highlighting speed-ups
152 - Flexible resource file location (SF patch #484674)
153 See the section "Upgrading from 5.3 to 5.4" of the README file for
156 - Color dialog (SF patch #595330)
158 - Option to auto-hide mouse pointer while typing
160 - Option to keep cursor away from top and bottom of the screen
162 - Check for real changes of externally modified files (SF patch #602426)
164 - Synchronized interaction between nc and nedit (SF patch #403647)
166 - Several smaller improvements on usability and speed
168 - Several smaller improvements to the macro language (SF patch #552760, ...)
172 - Unconvential word boundary semantics for regular expressions have
173 been corrected (including affected syntax highlighting patterns).
174 See the section "Upgrading from 5.3 to 5.4" of the README file for
175 important information.
177 - Config files didn't accept non-Unix file format (SF bug #411092)
179 - Removed regex search bugs (SF bug #429110, #515120)
181 - Smart-indent macros were unaffected by language mode renames (SF bug #439867)
183 - All dialogs have titles now (SF bug #480960)
185 - Giving long filenames at startup caused buffer overflows (SF bug #488412)
187 - Made sure that dialogs don't get wider than screen
188 (SF bug #488593, #489614, #713999)
190 - Workaround for Motif drag icon bug (SF bug #526981: Crash using btn2 on
191 help window buttons and SF bug #582469: 5.3 crash when selecting stats
194 - Dragging a rectangular selection could delete characters (SF bug #557225)
196 - Show Matching Range bug (SF bug #559902)
198 - Keyboard-based rectangular selections were forgotten if the selection ever
201 - Workaround for KDE's FONTLIST bug (SF bug #561659)
203 - Paths were still shown in current's window Windows menu after global option
204 was changed (SF bug #564782)
206 - Scrolling to searched or undone/redone section stopped short (SF bug #578551)
208 - Removed flicker in stats line due to bug prevention (SF bug #594838)
210 - Crash while dismissing a resized help window (SF bug #600175)
212 - Macro functions were evaluated in a wrong order (SF bug #602336, #628552)
214 - Syntax highlighting failures in LaTeX (SF bug #607072)
216 - Crash with wrong values for -tabs option (SF bug #608693)
218 - Macro shortcuts were sensitive to Lock and NumLock (SF bug #612558)
220 - Appending the terminating line break was not reflected in the buffer
223 - A new nc(1) hanged after a server was killed or crashed (SF bug #619231)
225 - Adds (short) list of deprecated macro functions (SF bug #619236)
227 - Removed hazardous command shortcut (SF bug #649442)
229 - Workaround for OpenMotif radio button bug (SF bug #678198: bug in
230 Replace in multiple files).
232 - Typo in SCO makefile (SF bug #689808)
234 - Syntax highlighting routines assumed ASCII encoding (SF bug #700823)
236 - Crash when starting up in a UTF-8 locale (SF bug #703246, 621972)
238 - Crash while manipulating highlighting pattern (SF bug #705495)
240 - Removed flicker in stats line during macro execution (SF bug #713780)
242 - Close pane resize bug (SF bug #715767)
244 - Macro function goto_line_number() only accepted one argument (SF bug #726325)
246 - Newline macro inserting a string caused a crash when triggered
249 - Help text foreground was hard-coded to black (SF bug #723096)
251 - System default colors from CDE Style Manager were ignored (SF bug #544053)
255 - Panes didn't inherit the right colors (SF bug #780267)
257 - Fixed Rangeset API usability issues and bugs.
259 - Plain KP Enter now inserts a newline, not <CR> (SF bug #779439).
261 - Enabled Motif version checking for xBSD.
263 - SGI: compilation problem (SF bug #780841)
265 - File modification issues (SF bug #782513, SF bug #784442)
267 - Documentation updates.
269 - Color dialog button resize problem.
271 - undoModifiesSelection is no longer saved in .nedit/nedit.rc
273 - Workaround for Lesstif's 'frozen windows' bug.
275 - Fixed calltip parsing problem (SF bug #779681)
277 - Macro language HL pattern updates.
279 - nc -do ... no longer creates unwanted windows (SF bug #785738).
281 - Improved color resource migration.
283 - File accessibility is now determined with access() (SF bug #782518)
287 - Nc crash fix on VMS.
289 - Fixes in highlighting information inspection macros.
291 - Nc -lm command line option fix.
295 This is mainly a bug fix release. The list of new features is therefore
298 - The built-in Help system was revamped. Most notably, a hyperlink
299 mechanism was added for following cross-references.
301 - Enhanced Exuberant ctags support (SF #491109).
303 - Line numbers are available in shell commands (SF #434451).
305 - Goto Line also accepts column numbers (SF #403435).
307 - Automatic line-feed termination when saving is now optional (SF #503073).
309 - A customizable window title (SF #477875/#519092).
311 - Optional syntax based parenthesis matching (iso. purely character based)
317 - Find Definition incorrectly reads the X selection when not needed
320 - Background popup menu could lock up X-server when used with any of
323 - Very wide windows when starting NEdit under fvwm (SF #496526).
325 - Workaround for illegal key bindings installed by other Motif applications,
326 causing PageUp/PageDown and arrow keys to stop responding in NEdit
327 (SF #493421/#525903). This is not an NEdit bug, it just looks like one.
329 - Fix for PageUp/PageDown keys not responding (SF #508961).
331 - Crash when running X on 2nd screen (SF #478234, #500353).
333 - Line number display updating in continous wrap mode (SF #516920).
335 - Performance problem with X Resources highlight patterns (SF #481290).
337 - Menu fonts showing up as blocks (SF #434383)
339 - Lockup's in syntax highlighting (especially Perl) (SF #512961).
341 - Crash when using characters with ASCII code >= 128 in syntax
342 highlighting patterns.
344 - Crash when modifying tab distance in continous wrap mode (SF #510631).
346 - Crash when running NEdit in low-depth color modes.
348 - Continous wrap mode + variable width font display bugs.
350 - Potential scroll bar corruption in continuous wrap mode (SF #510765).
352 - Workaround for selection copy/paste problems with recent versions
355 - Jump to tags only referenced by line number.
357 - Composed characters in learned sequence (SF #480966).
359 - Missing titles in some dialogs (SF #480960).
361 - Macro language: continue statement outside loop crash (SF #495293).
363 - Rectangular overstrike past fixes (SF #487945).
365 - Hard-coded statistics line font (SF #487153).
367 - Open filenames starting with a dash (SF #485610).
369 - Crash when closing window of non-existing file while error dialog is up.
371 - Bad CapsLock grab on certain keyboard configurations (SF #482504).
373 - Replacements in rectangular selections could sometimes fail.
375 - Various buffer overflow fixes.
377 - Multiple selection dialog does not pop up on first find (SF #473602).
379 - Tag not found (SF #466742).
381 - Files opened with -read command line option could not be unlocked.
385 - Added built-in patterns for CSS, XML, and regular expressions (Regex).
386 Many other pattern updates.
388 - Support for high- and true-color systems. NEdit now will automatically
389 select the best visual from your X server. This reduces the chance of
390 running out of colors.
392 - New features in the Find and Replace dialogs:
394 o Replacement across multiple windows in a session.
395 o Case sensitivity may be set independently of regular expressions.
396 o Add "Replace and Find" command, which saves keystrokes when doing
397 a large-scale find & replace.
399 - ClearCase version-extended pathnames.
401 - Many new macro subroutines and variables.
403 - Array support in macros.
405 - Range highlighting of matching delimiters.
407 - Undo and Redo highlights the text that has changed, when visible.
409 - Support for wheel mouse scrolling on servers that support it (XFree86).
411 - Improved accelerator key handling.
413 - Insert Control Code dialog accepts value in any valid C notation
415 - Optional beeping when search operations wrap.
417 - Additional default search styles.
419 - Optional displaying of path names in the window list menu.
424 - Fix a crash when entering an invalid line number in "Goto Line".
426 - Ignore the Caps-Lock key when invoking accelerators.
428 - Fix problems when running NEdit on 64-bit platforms like Alpha
430 - NEdit failed to open files if some directories above were not "readable"
432 - Fix potential crashes if some system calls fail
434 - When no colors are left, attempt to reuse the closest matching color. This
435 allows NEdit's syntax highlighting to better coexist with Netscape, which
436 unfortuntely takes all available colors.
438 - "Overtype" mode is now bound to the Insert key, to be consistent with
441 - Accelerators now available in confirmation dialogs, and may be invoked
444 - Don't even try to open a directory for editing
446 - Fix a couple of memory corruption problems
451 - Significant extensions to the regular expression syntax. See details
454 - Incremental search, and optional search bar.
456 - New ctags code with full support for Exuberant Ctags, better
457 handling of tag collisions, multiple tag file support, on-demand
458 loading of tag files, and automatic reload of modified tag files.
460 - Optional display of line numbers along the left side of the text.
462 - NEdit can now read and write MS DOS format files.
464 - New built-in syntax highlighting patterns for Lex, PostScript, SQL,
465 Many syntax highlighting pattern improvements.
467 - Improved international character set input
469 - New macro subroutines: list_dialog, getenv, set_language_mode.
471 - Optional warnings about external modifications to files
473 - Clearcase awareness
475 - Session manager restart capability
477 - Default language mode "*" for user-defined menu items, allows
478 per-language variations on a common base
480 - Allow additional modifiers like Sun diamond key in user defined
483 - Option to sort open previous menu.
485 - -geometry and -iconic command line arguments act per-window, and
486 can be specified via nc
488 - -geometry now specified in characters, rather than pixels
490 - -lm (language mode) command line option
492 - Save As dialog defaults to same file name
494 - Better default fonts for Linux systems
496 - .nedit file version mechanism to make future upgrades easier
501 - Crash on large amounts of data fed to shell command which does not
504 - Delayed secondary windows when executable statements specified in
505 users .neditmacro file
507 - Many corrections to online help
509 - Many highlight patterns corrections
511 - Using window close box in file open/save dialogs leaves nedit server
514 - escape in macro dialogs can cause macro hang
516 - Lesstif-specific fixes: attachment warnings in font selector,
517 Work around replace dialog focus bug.
519 - NEdit no longer maintains original protection settings on files. It
520 allows them to be changed externally.
523 Details of Regular Expression Changes in 5.1
527 o Fixed bug that caused character classes with a character range not to
528 work properly if one of the range characters was an escaped character.
530 Improvements In Existing Features
532 o Increased maximum number of capturing parentheses from 40 to 50.
534 o Removed optimization that uses `must match' strings (it didn't work and
535 caused more problems than it solved.)
537 o Improved error messages.
539 o Improved Start-Of-Line and End-Of-Line detection by the `^', `$', and the
540 new `\B' (see below) anchors. The Start-Of-Word and End-Of-Word anchors
541 `<' and `>' where not enhanced due to syntax color highlighting pattern
542 compatibility issues.
544 o Changed code to use "unsigned char" in most cases instead of "signed
545 char". Also, use of ANSI character functions (e.g. isdigit(), isspace())
546 were added wherever possible. These changes should improve support for
547 locales other than "C", for example character sets with accented
550 o Added character escapes for:
551 - \e ASCII escape character (for environments that use the EBCDIC
552 character set, set the EBCDIC_CHARSET compiler symbol to get the
553 EBCDIC equivalent escape character.)
559 o Removed the `\"' escape since `"' is not a meta character.
561 o In order to support numeric escapes, use of `\0' as a synonym for `&'
562 in replacement strings was removed. `\0' now signals the start of a
563 numeric (octal) escape sequence (see below.)
565 o Minor tweaks for improved performance.
569 o Octal and Hexadecimal Escapes
571 Octal and hexadecimal escapes begin with \0 and \x (or \X) respectively.
572 For example, \052 and \X2A both specify the `*' character. Escapes for
573 null (\00 or \x0) are not valid and will generate an error message.
575 o Shortcut Escapes for Common Character Classes
578 \l letters a-z and A-Z
579 \s whitespace \t, \r, \v, \f, and space
580 \w word characters a-z, A-Z, 0-9, and underscore, `_'
582 `\D', `\L', `\S', and `\W' are the same as the lowercase versions except
583 that the resulting character class is negated.
587 The `\B' non-word boundary anchor has been added as the logical opposite
588 of `<' and `>' collectively. This anchor ensures that the left and
589 right characters are either both delimiter characters or both
590 non-delimiter characters.
592 o Word Delimiter Escape Sequences
594 \y Word delimiter character
595 \Y Not a word delimiter character
597 The `\y' token matches any single character that is one of the characters
598 that NEdit recognizes as a word delimiter character, while the `\Y' token
599 matches any character that is NOT a word delimiter character. Note:
600 these are not anchors and DO consume one character of input.
605 + Minimal (lazy) Matching Quantifiers
607 *? Match zero or more
608 +? Match one at least one
611 These quantifiers match only what is absolutely necessary to achieve
614 + Counting (or Brace) Quantifier
616 {min,max} Match from `min' to `max' times the previous regular
619 If `min' is omitted, it is assumed to be zero. If `max' is omitted,
620 it is assumed to be infinity. Whether specified or assumed, `min'
621 must be less than or equal to `max'. If both are omitted, then the
622 construct is the same as `*'. Note that `{,}' and `{}' are both
623 valid brace constructs. A single number appearing without a comma,
624 e.g. `{3}' is short for the `{min,min}' construct, or to match
625 exactly `min' number of times.
627 o Non-Capturing Parentheses
629 Non-Capturing Parentheses are of the form `(?:<regex>)' and facilitate
630 grouping only and do not incur the overhead of normal capturing
633 o Positive Look-Ahead
635 Positive look-ahead constructs are of the form `(?=<regex>)' and
636 implement a zero width assertion of the enclosed regular expression. In
637 other words, a match of the regular expression contained in the positive
638 look-ahead construct is attempted. If it succeeds, control is passed to
639 the next regular expression atom, but the text that was consumed by the
640 positive look-ahead is first unmatched (backtracked) to the place in the
641 text where the positive look-ahead was first encountered.
643 o Negative Look-Ahead
645 Negative look-ahead takes the form `(?!<regex>)' and is exactly the same
646 as positive look-ahead except that the enclosed regular expression must
651 (?i<regex>) Case insensitive; `AbcD' and `aBCd' are equivalent.
652 (?I<regex>) Case sensitive; `AbcD' and `aBCd' are different.
654 Regular expressions are case sensitive by default, i.e `(?I<regex>)' is
655 assumed. All regular expression meta characters respond appropriately to
656 case insensitivity including character classes and back-references.
660 (?n<regex>) `.', `[^...]', `\s', `\S' will match newlines
661 (?N<regex>) `.', `[^...]', `\s', `\S' do not match newlines
663 `(?N<regex>)' is the default behavior.
667 Comments are of the form `(?#<comment text>)' and can be inserted
668 anywhere and have no effect on the execution of the regular expression.
670 o Notes on New Parenthetical Constructs
672 Except for plain parentheses, none of the parenthetical constructs
673 capture text. If that is desired, the construct must be wrapped with
674 capturing parentheses, e.g. `((?i<regex))'.
676 All parenthetical constructs can be nested as deeply as desired, except
677 for capturing parentheses which have a limit of 50 sets of parentheses,
678 regardless of nesting level.
681 New Features in 5.0.2:
683 - Word-selection (double click) can be used to select ranges of delimiters
685 - New built-in macro variables: $line, $column, and $modified
687 - Smart-indent mode available for Python language
689 - Minor improvements in default pattern sets for NEdit Macros, X Resources,
695 - -import did not work as advertised in 5.0.1. When used, it re-set a
696 number of preferences back to default values. Could also potentially
699 - Macro -> Repeat crashes on some systems.
701 - Mouse state can get "stuck" on Alpha-based systems.
703 - Combination of auto-wrap, auto-indent, and unbreakable lines extending the
704 width of the window, caused nedit to unnecessarily insert blank lines.
706 - Incorrect case-insensitive comparison in character sets > 128 bits.
708 - in by-word drag-selection (double click then drag) when begun in the middle
709 of a whitespace selection, anchor would revert to original cursor position
710 rather than maintaining the entire whitespace block.
712 - Language mode names containing spaces could not be used in language
713 sensitive user-defined menu items.
715 - New windows did not always see existing learn/replay sequence, recorded
716 before the window was created.
718 - Possible crash in search_string and search_window macros, when used with
721 - Possible crash in get_selection("any") macro.
723 - Under Solaris, crashes on window opening, file dialog, and language mode
724 selection, when user-defined sub-menus were used.
726 - Filenames containing spaces could cause the .neditdb file to become
729 - Escape key could not be used to cancel file-selection dialogs when the
730 file list had keyboard focus (which it almost always does).
733 New Features in 5.0.1:
735 - Repeat-over-range, and repeat-to-end capability for repeating last
736 command and learn/replay sequence.
738 - Import capability for loading macro/shell menu commands, highlight
739 patterns, and style sets created by other users.
741 - New macro language routines: string_to_clipboard, clipboard_to_string,
742 toupper, tolower, variables: $em_tab_dist.
744 - Additional default highlight patterns for sh and X resources.
746 - Sorted Open Previous menu.
748 - Numerous improvements to default highlighting patterns and smart indent
754 - Various crashes on Motif 2.0 (Linux and FreeBSD) systems, usually
755 associated with opening files and changing language modes. Usually,
756 but not necessarily, following changes to user-defined menu items.
758 - Background menu activation during drag operation could leave drag
759 unfinished, cause undo to malfunction, and eventually lead to a crash (which
760 was easy to trigger accidentally when the middle button is emulated with
761 mouse-chords on a two button mouse).
763 - X11R6 clients talking to X11R5 servers could crash on font dialog.
765 - Rapid repetition of long macros (such as binding to key and using keyboard
766 repeat) could cause crash.
768 - Several commands which put up dialogs were vulnerable to timing windows
769 where repeating the command could cause a crash.
771 - Calling macro close() routine could cause crash if used to close the window
772 in which the macro was executing.
774 - Using load_macro_file() as an "include" statement in macro files could
777 - Artifacts when using non-matching highlight fonts, and making certain types
778 of changes which change the fonts used to display other (not the line being
779 modified) lines in the file.
781 - Auto-newline wrap in overtype mode could duplicate part of wrapped text.
783 - Lower panes in split window mode allowed modification to read-only windows.
785 - Several minor dialog and window focus related problems for explicit (click
788 - Paste Column ignored existing selection.
790 - After copying and re-naming language mode information, highlight patterns
791 and smart indent macros remained attached to the re-named pattern instead of
794 - Trailing newlines should not have been prohibited in Open Selected.
796 - Help for creating smart indent macros was missing.
801 - Completed macro extension language (Simple C/awk-like syntax, safe,
804 - Syntax highlighting. Built-in patterns for C, C++, Java, Fortran, Pascal,
805 Ada, Perl, Python, Tcl, Awk, Csh, HTML, LaTeX, VHDL, Verilog, and more.
807 - Programmable Smart indent. (Experimentally, at least. There are only
808 macros for C and C++, and they may not fit everyone's programming style.)
810 - Language-sensitive preferences
812 - Continuous wrap mode (long line wrapping), in addition to existing
813 automatic-newline wrapping
815 - User-defined menus can be hierarchical and language-sensitive.
817 - Configurable right-button pop up menu
821 - Searchable on-line help
823 - Word boundary matching (<>) in regular expressions
827 - More dialogs have up-arrow recall
829 - White-space selection via double-click
832 Bug Fixes and Enhancements to Existing Features in 5.0
834 - No more limits on editing files containing ascii nul characters
836 - Fill Paragraph command handles leading indents
840 - Better directory defaulting in Open Selected and shell commands
842 - Open Selected processes tilde (~) and wildcards
844 - Goto Mark centers scroll position better
846 - Multiple shell commands can be run simultaneously
848 - Shell command execution doesn't block server command processing
850 - Emulated-tab deletion treats auto-indent as emulated tabs
852 - Auto-wrapping of pasted text is optional (off by default)
854 - Notice that default preferences have changed and ask about saving
857 - Selections remain selected after shell command and filter execution
859 - Wrap margin and emulated tab distance preferences are properly
860 transferred to new panes in split window mode