| 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 | |
|---|
| 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 |
|---|
| 10 | version. |
|---|
| 11 | |
|---|
| 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. |
|---|
| 15 | |
|---|
| 16 | New 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 | |
|---|
| 50 | Bugs 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 | |
|---|
| 133 | Changes 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 | |
|---|
| 165 | Changes 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 | |
|---|
| 173 | New 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 | |
|---|
| 195 | Bugs 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 | |
|---|
| 263 | New 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 | |
|---|
| 302 | Bug 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 | |
|---|
| 329 | New 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 | |
|---|
| 379 | Bug 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 | |
|---|
| 403 | Details 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 | |
|---|
| 561 | New 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 | |
|---|
| 573 | Bug 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 | |
|---|
| 613 | New 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 | |
|---|
| 632 | Bug 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 | |
|---|
| 679 | New 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 | |
|---|
| 712 | Bug 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 |
|---|