root/foundation-apps/nedit-maxx/ReleaseNotes

Revision 11, 23.7 KB (checked in by emasson, 3 years ago)

initial import for the community edition

Line 
1          Release Notes for NEdit Version 5.4, November 2003
2
3
4$Id: ReleaseNotes,v 1.1 2008/07/18 19:14:55 emasson Exp $
5
6This file contains last minute notes to users about the release, which are not
7included in the documentation or README files included with the distribution
8kits.  It also contains change information, for users who are interested in
9what bugs have been fixed, and what features have been added in the current
10version.
11
12If you are upgrading NEdit from a version prior to 5.0, please see the notes in
13the README file which came with the (source or executable) distribution kit,
14about updating macros and font settings in your .nedit file.
15
16New Features in 5.4
17
18  - Calltips (SF patch #495286)
19
20  - Rangesets (SF patch #529298, #628933)
21
22  - Backlighting (SF patch #529298)
23
24  - Highlighting information macros (SF patch #529298)
25
26  - Full mouse wheel support for XFree86 (SF patch #715941)
27
28  - Look-behind matching for regular expressions (SF patch #530308)
29
30  - Regular expression and syntax highlighting speed-ups
31
32  - Flexible resource file location (SF patch #484674)
33    See the section "Upgrading from 5.3 to 5.4" of the README file for
34    more information.
35
36  - Color dialog (SF patch #595330)
37
38  - Option to auto-hide mouse pointer while typing
39
40  - Option to keep cursor away from top and bottom of the screen
41
42  - Check for real changes of externally modified files (SF patch #602426)
43
44  - Synchronized interaction between nc and nedit (SF patch #403647)
45
46  - Several smaller improvements on usability and speed
47
48  - Several smaller improvements to the macro language (SF patch #552760, ...)
49
50Bugs Fixed in 5.4
51
52  - Unconvential word boundary semantics for regular expressions have
53    been corrected (including affected syntax highlighting patterns).
54    See the section "Upgrading from 5.3 to 5.4" of the README file for
55    important information.
56   
57  - Config files didn't accept non-Unix file format (SF bug #411092)
58
59  - Removed regex search bugs (SF bug #429110, #515120)
60
61  - Smart-indent macros were unaffected by language mode renames (SF bug #439867)
62
63  - All dialogs have titles now (SF bug #480960)
64
65  - Giving long filenames at startup caused buffer overflows (SF bug #488412)
66
67  - Made sure that dialogs don't get wider than screen
68    (SF bug #488593, #489614, #713999)
69
70  - Workaround for Motif drag icon bug (SF bug #526981: Crash using btn2 on
71    help window buttons and SF bug #582469: 5.3 crash when selecting stats
72    line text).
73   
74  - Dragging a rectangular selection could delete characters (SF bug #557225)
75
76  - Show Matching Range bug (SF bug #559902)
77 
78  - Keyboard-based rectangular selections were forgotten if the selection ever
79    became zero-width.
80
81  - Workaround for KDE's FONTLIST bug (SF bug #561659)
82 
83  - Paths were still shown in current's window Windows menu after global option
84    was changed (SF bug #564782)
85
86  - Scrolling to searched or undone/redone section stopped short (SF bug #578551)
87
88  - Removed flicker in stats line due to bug prevention (SF bug #594838)
89
90  - Crash while dismissing a resized help window (SF bug #600175)
91
92  - Macro functions were evaluated in a wrong order (SF bug #602336, #628552)
93
94  - Syntax highlighting failures in LaTeX (SF bug #607072)
95
96  - Crash with wrong values for -tabs option (SF bug #608693)
97
98  - Macro shortcuts were sensitive to Lock and NumLock (SF bug #612558)
99
100  - Appending the terminating line break was not reflected in the buffer
101    (SF bug #617840)
102
103  - A new nc(1) hanged after a server was killed or crashed (SF bug #619231)
104
105  - Adds (short) list of deprecated macro functions (SF bug #619236)
106
107  - Removed hazardous command shortcut (SF bug #649442)
108
109  - Workaround for OpenMotif radio button bug (SF bug #678198: bug in
110    Replace in multiple files).
111   
112  - Typo in SCO makefile (SF bug #689808)
113
114  - Syntax highlighting routines assumed ASCII encoding (SF bug #700823)
115
116  - Crash when starting up in a UTF-8 locale (SF bug #703246, 621972)
117
118  - Crash while manipulating highlighting pattern (SF bug #705495)
119
120  - Removed flicker in stats line during macro execution (SF bug #713780)
121
122  - Close pane resize bug (SF bug #715767)
123 
124  - Macro function goto_line_number() only accepted one argument (SF bug #726325)
125
126  - Newline macro inserting a string caused a crash when triggered
127    through smart indent
128
129  - Help text foreground was hard-coded to black (SF bug #723096)
130 
131  - System default colors from CDE Style Manager were ignored (SF bug #544053)
132 
133Changes since 5.4RC1
134
135  - Panes didn't inherit the right colors (SF bug #780267)
136   
137  - Fixed Rangeset API usability issues and bugs.
138 
139  - Plain KP Enter now inserts a newline, not <CR> (SF bug #779439).
140 
141  - Enabled Motif version checking for xBSD.
142 
143  - SGI: compilation problem (SF bug #780841)
144 
145  - File modification issues (SF bug #782513, SF bug #784442)
146 
147  - Documentation updates.
148   
149  - Color dialog button resize problem.
150   
151  - undoModifiesSelection is no longer saved in .nedit/nedit.rc
152 
153  - Workaround for Lesstif's 'frozen windows' bug.
154 
155  - Fixed calltip parsing problem (SF bug #779681)
156 
157  - Macro language HL pattern updates.
158   
159  - nc -do ... no longer creates unwanted windows (SF bug #785738).
160
161  - Improved color resource migration.
162 
163  - File accessibility is now determined with access() (SF bug #782518)
164 
165Changes since 5.4RC2
166
167  - Nc crash fix on VMS.
168 
169  - Fixes in highlighting information inspection macros.
170 
171  - Nc -lm command line option fix.
172
173New Features in 5.3
174
175  This is mainly a bug fix release. The list of new features is therefore
176  limited:
177
178  - The built-in Help system was revamped. Most notably, a hyperlink
179    mechanism was added for following cross-references.
180
181  - Enhanced Exuberant ctags support (SF #491109).
182
183  - Line numbers are available in shell commands (SF #434451).
184
185  - Goto Line also accepts column numbers (SF #403435).
186 
187  - Automatic line-feed termination when saving is now optional (SF #503073).
188
189  - A customizable window title (SF #477875/#519092).
190 
191  - Optional syntax based parenthesis matching (iso. purely character based)
192    (SF #513976).
193
194
195Bugs Fixed in 5.3
196
197  - Find Definition incorrectly reads the X selection when not needed
198    (SF #520941).
199
200  - Background popup menu could lock up X-server when used with any of
201    the lock keys on.
202
203  - Very wide windows when starting NEdit under fvwm (SF #496526).
204
205  - Workaround for illegal key bindings installed by other Motif applications,
206    causing PageUp/PageDown and arrow keys to stop responding in NEdit
207    (SF #493421/#525903). This is not an NEdit bug, it just looks like one.
208   
209  - Fix for PageUp/PageDown keys not responding (SF #508961).
210 
211  - Crash when running X on 2nd screen (SF #478234, #500353).
212
213  - Line number display updating in continous wrap mode (SF #516920).
214
215  - Performance problem with X Resources highlight patterns (SF #481290).
216
217  - Menu fonts showing up as blocks (SF #434383)
218
219  - Lockup's in syntax highlighting (especially Perl) (SF #512961).
220
221  - Crash when using characters with ASCII code >= 128 in syntax
222    highlighting patterns.
223
224  - Crash when modifying tab distance in continous wrap mode (SF #510631).
225
226  - Crash when running NEdit in low-depth color modes.
227
228  - Continous wrap mode + variable width font display bugs.
229
230  - Potential scroll bar corruption in continuous wrap mode (SF #510765).
231
232  - Workaround for selection copy/paste problems with recent versions
233    of gnome-terminal.
234
235  - Jump to tags only referenced by line number.
236
237  - Composed characters in learned sequence (SF #480966).
238
239  - Missing titles in some dialogs (SF #480960).
240
241  - Macro language: continue statement outside loop crash (SF #495293).
242
243  - Rectangular overstrike past fixes (SF #487945).
244
245  - Hard-coded statistics line font (SF #487153).
246
247  - Open filenames starting with a dash (SF #485610).
248
249  - Crash when closing window of non-existing file while error dialog is up.
250
251  - Bad CapsLock grab on certain keyboard configurations (SF #482504).
252
253  - Replacements in rectangular selections could sometimes fail.
254 
255  - Various buffer overflow fixes.
256
257  - Multiple selection dialog does not pop up on first find (SF #473602).
258 
259  - Tag not found (SF #466742).
260 
261  - Files opened with -read command line option could not be unlocked.
262
263New Features in 5.2
264
265 - Added built-in patterns for CSS, XML, and regular expressions (Regex).
266   Many other pattern updates.
267
268 - Support for high- and true-color systems.  NEdit now will automatically
269   select the best visual from your X server.  This reduces the chance of
270   running out of colors.
271
272 - New features in the Find and Replace dialogs:
273
274   o Replacement across multiple windows in a session.
275   o Case sensitivity may be set independently of regular expressions.
276   o Add "Replace and Find" command, which saves keystrokes when doing
277     a large-scale find & replace.
278
279 - ClearCase version-extended pathnames.
280
281 - Many new macro subroutines and variables.
282
283 - Array support in macros.
284
285 - Range highlighting of matching delimiters.
286
287 - Undo and Redo highlights the text that has changed, when visible.
288
289 - Support for wheel mouse scrolling on servers that support it (XFree86).
290
291 - Improved accelerator key handling.
292
293 - Insert Control Code dialog accepts value in any valid C notation
294
295 - Optional beeping when search operations wrap.
296
297 - Additional default search styles.
298
299 - Optional displaying of path names in the window list menu.
300
301
302Bug Fixes in 5.2
303
304 - Fix a crash when entering an invalid line number in "Goto Line".
305
306 - Ignore the Caps-Lock key when invoking accelerators.
307
308 - Fix problems when running NEdit on 64-bit platforms like Alpha
309
310 - NEdit failed to open files if some directories above were not "readable"
311
312 - Fix potential crashes if some system calls fail
313
314 - When no colors are left, attempt to reuse the closest matching color.  This
315   allows NEdit's syntax highlighting to better coexist with Netscape, which
316   unfortuntely takes all available colors.
317
318 - "Overtype" mode is now bound to the Insert key, to be consistent with
319   Motif text fields.
320
321 - Accelerators now available in confirmation dialogs, and may be invoked
322   without the Alt key.
323
324 - Don't even try to open a directory for editing
325
326 - Fix a couple of memory corruption problems
327
328
329New Features in 5.1
330
331 - Significant extensions to the regular expression syntax.  See details
332   below.
333
334 - Incremental search, and optional search bar.
335
336 - New ctags code with full support for Exuberant Ctags, better
337   handling of tag collisions, multiple tag file support, on-demand
338   loading of tag files, and automatic reload of modified tag files.
339
340 - Optional display of line numbers along the left side of the text.
341
342 - NEdit can now read and write MS DOS format files.
343
344 - New built-in syntax highlighting patterns for Lex, PostScript, SQL,
345   Many syntax highlighting pattern improvements.
346
347 - Improved international character set input
348
349 - New macro subroutines: list_dialog, getenv, set_language_mode.
350
351 - Optional warnings about external modifications to files
352
353 - Clearcase awareness
354
355 - Session manager restart capability
356
357 - Default language mode "*" for user-defined menu items, allows
358   per-language variations on a common base
359
360 - Allow additional modifiers like Sun diamond key in user defined
361   accelerators
362
363 - Option to sort open previous menu.
364
365 - -geometry and -iconic command line arguments act per-window, and
366   can be specified via nc
367
368 - -geometry now specified in characters, rather than pixels
369
370 - -lm (language mode) command line option
371
372 - Save As dialog defaults to same file name
373
374 - Better default fonts for Linux systems
375
376 - .nedit file version mechanism to make future upgrades easier
377
378
379Bug Fixes in 5.1
380
381 - Crash on large amounts of data fed to shell command which does not
382   take input
383
384 - Delayed secondary windows when executable statements specified in
385   users .neditmacro file
386
387 - Many corrections to online help
388
389 - Many highlight patterns corrections
390
391 - Using window close box in file open/save dialogs leaves nedit server
392   unresponsive
393
394 - escape in macro dialogs can cause macro hang
395
396 - Lesstif-specific fixes: attachment warnings in font selector,
397   Work around replace dialog focus bug.
398
399 - NEdit no longer maintains original protection settings on files.  It
400   allows them to be changed externally.
401
402
403Details of Regular Expression Changes in 5.1
404
405  Bug Fixes
406
407    o Fixed bug that caused character classes with a character range not to
408      work properly if one of the range characters was an escaped character.
409
410  Improvements In Existing Features
411
412    o Increased maximum number of capturing parentheses from 40 to 50.
413
414    o Removed optimization that uses `must match' strings (it didn't work and
415      caused more problems than it solved.)
416
417    o Improved error messages.
418
419    o Improved Start-Of-Line and End-Of-Line detection by the `^', `$', and the
420      new `\B' (see below) anchors.  The Start-Of-Word and End-Of-Word anchors
421      `<' and `>' where not enhanced due to syntax color highlighting pattern
422      compatibility issues.
423
424    o Changed code to use "unsigned char" in most cases instead of "signed
425      char". Also, use of ANSI character functions (e.g. isdigit(), isspace())
426      were added wherever possible.  These changes should improve support for
427      locales other than "C", for example character sets with accented
428      characters.
429
430    o Added character escapes for:
431      -  \e   ASCII escape character (for environments that use the EBCDIC
432              character set, set the EBCDIC_CHARSET compiler symbol to get the
433              EBCDIC equivalent escape character.)
434
435      -  \-   minus sign
436      -  \{   left brace
437      -  \}   right brace
438
439    o Removed the `\"' escape since `"' is not a meta character.
440
441    o In order to support numeric escapes, use of `\0' as a synonym for `&'
442      in replacement strings was removed.  `\0' now signals the start of a
443      numeric (octal) escape sequence (see below.)
444
445    o Minor tweaks for improved performance.
446
447  Enhancements
448
449    o Octal and Hexadecimal Escapes
450
451      Octal and hexadecimal escapes begin with \0 and \x (or \X) respectively.
452      For example, \052 and \X2A both specify the `*' character.  Escapes for
453      null (\00 or \x0) are not valid and will generate an error message.
454
455    o Shortcut Escapes for Common Character Classes
456
457      \d  digits            0-9
458      \l  letters           a-z and A-Z
459      \s  whitespace        \t, \r, \v, \f, and space
460      \w  word characters   a-z, A-Z, 0-9, and underscore, `_'
461
462      `\D', `\L', `\S', and `\W' are the same as the lowercase versions except
463      that the resulting character class is negated.
464
465    o Anchors
466
467      The `\B' non-word boundary anchor has been added as the logical opposite
468      of `<' and `>' collectively.  This anchor ensures that the left and
469      right characters are either both delimiter characters or both
470      non-delimiter characters.
471
472    o Word Delimiter Escape Sequences
473
474      \y   Word delimiter character
475      \Y   Not a word delimiter character
476
477      The `\y' token matches any single character that is one of the characters
478      that NEdit recognizes as a word delimiter character, while the `\Y' token
479      matches any character that is NOT a word delimiter character.  Note:
480      these are not anchors and DO consume one character of input.
481
482
483    o Quantifiers
484
485      +  Minimal (lazy) Matching Quantifiers
486
487         *?   Match zero or more
488         +?   Match one at least one
489         ??   Match zero or one
490
491         These quantifiers match only what is absolutely necessary to achieve
492         a match.
493
494      +  Counting (or Brace) Quantifier
495
496         {min,max}  Match from `min' to `max' times the previous regular
497                    expression atom.
498
499         If `min' is omitted, it is assumed to be zero.  If `max' is omitted,
500         it is assumed to be infinity.  Whether specified or assumed, `min'
501         must be less than or equal to `max'.  If both are omitted, then the
502         construct is the same as `*'.   Note that `{,}' and `{}' are both
503         valid brace constructs.  A single number appearing without a comma,
504         e.g. `{3}' is short for the `{min,min}' construct, or to match
505         exactly `min' number of times.
506
507    o Non-Capturing Parentheses
508
509      Non-Capturing Parentheses are of the form `(?:<regex>)' and facilitate
510      grouping only and do not incur the overhead of normal capturing
511      parentheses.
512
513    o Positive Look-Ahead
514
515      Positive look-ahead constructs are of the form `(?=<regex>)' and
516      implement a zero width assertion of the enclosed regular expression. In
517      other words, a match of the regular expression contained in the positive
518      look-ahead construct is attempted.  If it succeeds, control is passed to
519      the next regular expression atom, but the text that was consumed by the
520      positive look-ahead is first unmatched (backtracked) to the place in the
521      text where the positive look-ahead was first encountered.
522
523    o Negative Look-Ahead
524
525      Negative look-ahead takes the form `(?!<regex>)' and is exactly the same
526      as positive look-ahead except that the enclosed regular expression must
527      NOT match.
528
529    o Case Sensitivity
530
531      (?i<regex>)   Case insensitive; `AbcD' and `aBCd' are equivalent.
532      (?I<regex>)   Case sensitive;   `AbcD' and `aBCd' are different.
533
534      Regular expressions are case sensitive by default, i.e `(?I<regex>)' is
535      assumed.  All regular expression meta characters respond appropriately to
536      case insensitivity including character classes and back-references.
537
538    o Matching Newlines
539
540      (?n<regex>)   `.', `[^...]', `\s', `\S' will match newlines
541      (?N<regex>)   `.', `[^...]', `\s', `\S' do not match newlines
542
543      `(?N<regex>)' is the default behavior.
544
545    o Comments
546
547      Comments are of the form `(?#<comment text>)' and can be inserted
548      anywhere and have no effect on the execution of the regular expression.
549
550    o Notes on New Parenthetical Constructs
551
552      Except for plain parentheses, none of the parenthetical constructs
553      capture text.  If that is desired, the construct must be wrapped with
554      capturing parentheses, e.g. `((?i<regex))'.
555
556      All parenthetical constructs can be nested as deeply as desired, except
557      for capturing parentheses which have a limit of 50 sets of parentheses,
558      regardless of nesting level.
559
560
561New Features in 5.0.2:
562
563 - Word-selection (double click) can be used to select ranges of delimiters
564
565 - New built-in macro variables: $line, $column, and $modified
566
567 - Smart-indent mode available for Python language
568
569 - Minor improvements in default pattern sets for NEdit Macros, X Resources,
570   and Sh/Ksh/Bash
571
572
573Bug Fixes in 5.0.2:
574
575 - -import did not work as advertised in 5.0.1.  When used, it re-set a
576   number of preferences back to default values.  Could also potentially
577   cause a crash.
578
579 - Macro -> Repeat crashes on some systems.
580
581 - Mouse state can get "stuck" on Alpha-based systems.
582
583 - Combination of auto-wrap, auto-indent, and unbreakable lines extending the
584   width of the window, caused nedit to unnecessarily insert blank lines.
585
586 - Incorrect case-insensitive comparison in character sets > 128 bits.
587
588 - in by-word drag-selection (double click then drag) when begun in the middle
589   of a whitespace selection, anchor would revert to original cursor position
590   rather than maintaining the entire whitespace block.
591
592 - Language mode names containing spaces could not be used in language
593   sensitive user-defined menu items.
594
595 - New windows did not always see existing learn/replay sequence, recorded
596   before the window was created.
597
598 - Possible crash in search_string and search_window macros, when used with
599   long search strings.
600
601 - Possible crash in get_selection("any") macro.
602
603 - Under Solaris, crashes on window opening, file dialog, and language mode
604   selection, when user-defined sub-menus were used.
605
606 - Filenames containing spaces could cause the .neditdb file to become
607   unreadable.
608
609 - Escape key could not be used to cancel file-selection dialogs when the
610   file list had keyboard focus (which it almost always does).
611
612
613New Features in 5.0.1:
614
615 - Repeat-over-range, and repeat-to-end capability for repeating last
616   command and learn/replay sequence.
617
618 - Import capability for loading macro/shell menu commands, highlight
619   patterns, and style sets created by other users.
620
621 - New macro language routines: string_to_clipboard, clipboard_to_string,
622   toupper, tolower, variables: $em_tab_dist.
623
624 - Additional default highlight patterns for sh and X resources.
625
626 - Sorted Open Previous menu.
627
628 - Numerous improvements to default highlighting patterns and smart indent
629   macros.
630
631
632Bug Fixes in 5.0.1:
633
634 - Various crashes on Motif 2.0 (Linux and FreeBSD) systems, usually
635   associated with opening files and changing language modes.  Usually,
636   but not necessarily, following changes to user-defined menu items.
637
638 - Background menu activation during drag operation could leave drag
639   unfinished, cause undo to malfunction, and eventually lead to a crash (which
640   was easy to trigger accidentally when the middle button is emulated with
641   mouse-chords on a two button mouse).
642
643 - X11R6 clients talking to X11R5 servers could crash on font dialog.
644
645 - Rapid repetition of long macros (such as binding to key and using keyboard
646   repeat) could cause crash.
647
648 - Several commands which put up dialogs were vulnerable to timing windows
649   where repeating the command could cause a crash.
650
651 - Calling macro close() routine could cause crash if used to close the window
652   in which the macro was executing.
653
654 - Using load_macro_file() as an "include" statement in macro files could
655   cause hang.
656
657 - Artifacts when using non-matching highlight fonts, and making certain types
658   of changes which change the fonts used to display other (not the line being
659   modified) lines in the file.
660
661 - Auto-newline wrap in overtype mode could duplicate part of wrapped text.
662
663 - Lower panes in split window mode allowed modification to read-only windows.
664
665 - Several minor dialog and window focus related problems for explicit (click
666   to focus) users.
667
668 - Paste Column ignored existing selection.
669
670 - After copying and re-naming language mode information, highlight patterns
671   and smart indent macros remained attached to the re-named pattern instead of
672   the original.
673
674 - Trailing newlines should not have been prohibited in Open Selected.
675
676 - Help for creating smart indent macros was missing.
677
678
679New Features in 5.0
680
681 - Completed macro extension language (Simple C/awk-like syntax, safe,
682   fully interruptable)
683
684 - Syntax highlighting.  Built-in patterns for C, C++, Java, Fortran, Pascal,
685   Ada, Perl, Python, Tcl, Awk, Csh, HTML, LaTeX, VHDL, Verilog, and more.
686
687 - Programmable Smart indent.  (Experimentally, at least.  There are only
688   macros for C and C++, and they may not fit everyone's programming style.)
689
690 - Language-sensitive preferences
691
692 - Continuous wrap mode (long line wrapping), in addition to existing
693   automatic-newline wrapping
694
695 - User-defined menus can be hierarchical and language-sensitive.
696
697 - Configurable right-button pop up menu
698
699 - Pan-scrolling
700
701 - Searchable on-line help
702
703 - Word boundary matching (<>) in regular expressions
704
705 - Repeat command
706
707 - More dialogs have up-arrow recall
708
709 - White-space selection via double-click
710
711
712Bug Fixes and Enhancements to Existing Features in 5.0
713
714 - No more limits on editing files containing ascii nul characters
715
716 - Fill Paragraph command handles leading indents
717
718 - Select to mark
719
720 - Better directory defaulting in Open Selected and shell commands
721
722 - Open Selected processes tilde (~) and wildcards
723
724 - Goto Mark centers scroll position better
725
726 - Multiple shell commands can be run simultaneously
727
728 - Shell command execution doesn't block server command processing
729
730 - Emulated-tab deletion treats auto-indent as emulated tabs
731
732 - Auto-wrapping of pasted text is optional (off by default)
733
734 - Notice that default preferences have changed and ask about saving
735   on exit
736
737 - Selections remain selected after shell command and filter execution
738
739 - Wrap margin and emulated tab distance preferences are properly
740   transferred to new panes in split window mode
Note: See TracBrowser for help on using the browser.