PageRenderTime 102ms CodeModel.GetById 93ms app.highlight 2ms RepoModel.GetById 3ms app.codeStats 0ms


Plain Text | 534 lines | 497 code | 37 blank | 0 comment | 0 complexity | 5b1709d369939d6efc398d927fff4b70 MD5 | raw file
  3* Version 4.0pre3
  5jEdit now requires Java 2 version 1.3 or later! Java 2 version 1.2 and
  6Java 1.1 can no longer be used to run jEdit.
  8+ New Features
 10- Two-stage save (where a file is first saved to #filename#save#, then
 11  renamed to the actual file name) can be disabled in the 'Loading and
 12  Saving' option pane
 13- -noplugins command line switch added
 14- Added option to have backups created on every save (default is to only
 15  create one backup for each file, until it is closed)
 16  (Ollie Rutherfurd)
 17- 'Extra word characters' setting added to Editing option pane
 18- 'Range Comment' and 'Line Comment' commands now behave correctly when,
 19  for example, inserting comments in inline JavaScript in an HTML file.
 20  - The new Buffer.getContextSensitiveProperty() method first checks the
 21    properties of the parser rule set at the specified offset; then the
 22    edit mode that contains that rule set; and finally, the edit mode of
 23    the buffer itself.
 24  - In mode files, you can now place a PROPS element inside a RULES
 25    element to define ruleset-specific properties. Currently, only the
 26    'commentStart', 'commentEnd' and 'lineComment' properties can be
 27    ruleset-specific.
 28- 'Search->Incremental Search for Word' command puts the word under the
 29  caret in the search bar
 30- 'Search->HyperSearch for Word' performs a HyperSearch for the word
 31  under the caret
 32- View->Folding submenu is now a top-level Folding menu. A few commands
 33  have been added:
 34  - Add Explicit Fold (C+e a): surrounds the selection with explicit
 35    fold markers ({{{ and }}})
 36  - Go to Previous/Next Fold (A+UP, A+DOWN): self-explanatory. Go to
 37    Previous/Next Marker, which were formely bound to A+UP/DOWN, are now
 38    bound to C+e , and C+e ..
 39  - Go to Parent Fold (C+e u): moves caret to fold with a higher level
 40    than the one containing the caret
 41  - Narrow to Fold (C+e n n): equivalent to invoking 'Select Fold', then
 42    'Narrow to Selection'
 43  - Narrow to Selection (C+e n s): this command is the same as before,
 44    but has a new shortcut
 45- ActionScript syntax highlighting (Ben Glazer)
 47+ Enhancements
 49- C+LEFT/C+RIGHT are now more intelligent. Tell me if you like the new
 50  behavior.
 51- If there are more buttons in a docking area than can fit, a popup menu
 52  button is shown; clicking it shows a popup listing all dockables in
 53  that area
 54- Added option to disable file system browser's tool bar
 55- I/O errors are now batched into a single dialog box
 56- New, smaller icons in file system browser (Dirk Moebius)
 57- New jEdit window icon (Phillip Richdale)
 58- First item in File->Current Directory menu (the directory path itself)
 59  is no longer a grayed out label; you can invoke it to view the
 60  directory in the file system browser
 61- First item in 'Paste Previous' dialog pre-selected when dialog shown
 62- Focus is returned to file list in 'Close All' dialog box after one of
 63  the buttons are clicked
 64- Recent Directories menu, Browse System/User Macros commands, and other
 65  commands that open directories in the file system browser now work a
 66  little better
 67- The list of open files is now saved by the autosave task
 68- Smoother incremental search
 69- When HOME is pressed while there is a selection, the caret is moved to
 70  the beginning of the first selected line. END moves the caret to the
 71  end of the last selected line.
 72- Search bar automatically selects its contents as soon as it gets focus
 73- The file system browser's 'Search in Directory' command no longer
 74  hangs the event dispatch thread until the directory hierarchy has been
 75  listed
 76- If an error occurs while loading one of the files involved in a
 77  multi-file search, the search will continue; previously it would have
 78  been aborted. Any errors will be listed in a dialog box after the
 79  search is complete.
 80- Commands in View->Splitting menu moved to top level of View menu
 81- Updated PL-SQL mode (Steve Snider)
 82- Updated MS-DOS batch mode (Mirco Bova)
 83- Files on read-only filesystems (such as the URL filesystem) now have
 84  the read-only flag set. Previously, only local files would have the
 85  read only flag set automatically.
 87+ Neutral
 89- Syntax highlighting can no longer be disabled -- too many features
 90  (bracket matching, commenting commands) rely on syntax info now
 92+ Bug Fixes
 94- JEditTextArea now uses type-safe buffer property accessors, so there
 95  shouldn't be any more ClassCastExceptions
 96- Fixed stack overflow if attempting to use URL filesystem (to open an
 97  http:// URL, for instance)
 98- Fixed stupid bug in installer that affected MacOS X installation
 99- File system browser's parent directory view could not be completely
100  hidden by dragging the split pane
101- Pressing the left arrow key in the file system browser didn't always
102  work
103- Bracket matching would sometimes show a status bar message even if the
104  bracket was visible
105- Fixed another minor bracket repaint problem that would occur if the
106  matched bracket was not visible and the text area lost focus
107- Select Line, Select Word, Select Paragraph actions were slightly
108  broken
109- Fixed minor undo modified flag clearing bug
110- Pressing the tab key with a one-line selection would insert a hard tab
111  even if soft tabs were enabled
112- Deprecated MiscUtilities.compareVersions() method was an instance
113  method, which made plugins that used it throw VerifyErrors on startup.
114  These plugins will now work again (but should eventually be updated to
115  call non-deprecated methods).
116- Fixed another search and replace bug triggered by the Tags plugin
117- When searching in multiple selections, HyperSearch would create one
118  tree node for each selection
119- InputHandler.readNextChar() didn't work with all characters
120- Floating positions would sometimes be updated incorrectly when text
121  was inserted
122- Fixed another file system browser 'Search in Directory'
123  NullPointerException
124- Buffer-local property parsing code was broken
125- Sometimes multi-line tokens would not be repainted correctly
126- Opening files whose path began with ~ (which was supposed to be
127  expanded to your home directory path) didn't work
128- Trying to do a directory search inside a directory which contained a
129  symlink loop would hang jEdit
130- The 'Auto Wrap' search option did not take effect in macros
131- Bug fix in MacOS plugin (Kris Kopicki)
132- Fixed problem with default position of table of contents in help, and
133  dockable window dividers
134- Default filename filter in file system browser skipped files with
135  single-character names. Now the default filter is *[^~#], which should
136  work properly
137- On JDK 1.4, closing a docking area didn't deselect the currently
138  selected button
140+ API Changes
142- VFS.reloadDirectory() method added; it is called before a directory is
143  reloaded by the file system browser
144- MiscUtilities.charsToXMLEscapes() method added
145- To take advantage of the new I/O error dialog box, virtual filesystem
146  implementations should call:
148  VFSManager.error(Component comp, String path, String messageProp,
149    Object[] args)
151  instead of
153  VFSManager.error(Component comp, String message, Object[] args)
155  The message is obtained from the property 'messageProp' (nothing is
156  prepended or appended to the property name).
158- New method: VFSBrowser.browseDirectory(View view, String path)
159- New method: MiscUtilities.listDirectory(String directory, String glob,
160    boolean recurse)
162* Version 4.0pre2
164+ New Features
166- MacOS plugin bundled (Kris Kopicki)
167  - jEdit exits cleanly when Command+Q is pressed
168  - Files created or associated with jEdit can now be opened from the
169    Finder by double-clicking on them, or dragging them to the jEdit
170    icon
171  - jEdit is assigned as the creator of new files
172- A few Alt-key shortcuts added for commonly-used commands so that you
173  don't have to move your fingers all over the keyboard:
174  - A+i, A+k: prev, next line
175  - A+j, A+l: prev, next character
176  - A+q, A+a: page up, page down
177  - A+z, A+x: home, end
178  - A+d: delete next character
179- A new View->Docking menu; contains commands for closing the left, top,
180  right and bottom docking areas (shortcuts: C+e 1,2,3,4)
181- Narrowing re-implemented. This feature was present in jEdit 3.2 but
182  was missing from 4.0pre1.
184+ Enhancements
186- Bracket matching improvements:
187  - If the highlighted bracket is off screen, the text of the matching
188    line is shown in the status bar. And here's the best part: if the
189    matching line cosists of only a bracket and whitespace, the
190    *previous* line is shown in the status bar instead
191  - Clicking the scope indicator in the gutter moves the caret between
192    the two matching brackets
193  - Control-clicking the scope indicator or a bracket in the text area
194    selects all text between the two matching brackets
195- File system browser improvements:
196  - Parent directories are now listed in a widget at the top of the
197    file system browser
198  - File->Recent Directories menu lists directories that were recently
199    visted in the file system browser
200  - File selection dialog boxes now have a status bar that shows the
201    number of pending I/O requests
202  - Middle mouse button click in file system browser now has the same
203    effect as double-clicking
204  - You can now enter relative paths in the file system browser's path
205    field
206  - 'More' menu split into 'Commands' and 'Plugins' menus
207  - 'Commands' menu and tool bar now have the same set of commands
208  - 'Favorites' menu added for quicker access to favorites
209  - If invoked while a file is selected, the 'Search in Directory'
210    command now sets the search file name filter to that file's
211    extension
212- Icons added to 'BeanShell Error' and 'Close All' dialog boxes
213- Updated PV-WAVE mode (Ed Stewart)
214- Updated Transact-SQL mode (Ollie Rutherfurd)
215- Updated Omnimark mode (Lionel Fiol)
216- Closing a docked window now returns focus to the text area
217- Memory indicator tooltip now shows used and total Java heap memory in
218  kilobytes
219- Option for search and replace to beep on auto wrap (Kenrick Drew)
220- Faster (in theory anyway) file loading as a side effect of some bug
221  fixes
222- Improved help viewer welcome screen
223- Updated QuickNotepad sample plugin for jEdit 4.0 API changes (John
224  Gellene)
225- 'Delete Line' now leaves the caret in the same column
226- '~' in buffer and directory path names is now automatically expanded
227  to the home directory
228- Improved undo
229- Pressing Tab while there is a selection will now only shift the line's
230  leading indent if the selection spans more than one line
231- If indent on tab is enabled, a line will only be indented if Tab is
232  pressed inside the leading whitespace of that line. Indent on tab is
233  now enabled by default
234- Bundled set of macros slimmed down somewhat. You can find more macros
235  at (John Gellene)
236- Text selection commands (Select Word, Select Line, and so on) are now
237  multiple selection aware
239+ Bug Fixes
241- Fixed a memory leak with the search and replace dialog box
242- Undo would be broken after a file was reloaded
243- Fixed exception thrown if a buffer contained definitions for integer
244  properties (tab size, maximum line length, ...)
245- Changing the gutter font didn't update the gutter width
246- Fixed broken scrolling behavior
247- Some files would open with only one line visible
248- MiscUtilities.compareStrings() would throw exceptions with strings
249  that contained embedded numbers larger than 2^31
250- Creating a new view or splitting the view didn't work
251- Tool bar tooltips were broken
252- With the Windows look and feel, file names were invisible in the file
253  system browser
254- In the help viewer, the top-level user's guide link was broken
255- BufferChangeAdapter didn't properly implement BufferChangeListener
256  interface (Maik Schreiber)
257- GUIUtilities.loadToolButton() no longer throws an exception with
258  invalid tool bar buttons
259- It was not possible to bind an action to a non-alphanumeric key
260  without any modifiers
261- The file system browser's notion of the current directory is not
262  changed until the directory is actually loaded successfully
263- Some directories could not be deleted from the favorites
264- It is no longer possible to add the same directory to the favorites
265  twice
266- File->Current Directory menu now shows 'No Files' if there are no
267  files in the current directory
268- Fixed a few bugs in the File System Browser->Colors option pane
269- Compound edits were rather buggy
270- 'Trailing EOL' setting did not work
271- Fixed possible MacOS X keyboard problems (again...)
272- Fixed a buffer corruption bug
273- 'Select Fold' command threw an exception of there were no folds in the
274  buffer
275- Fixed a few bracket matching bugs
276- Fixed cosmetic bug in search and replace code that was triggered by
277  the Tags plugin
278- Fixed minor repaint bug with multiple selections
280+ API Changes
282- New method in VFS class: _canonPath().
283- VFS.DirectoryEntry constructor accepting a 'color' parameter removed.
284  Instead, write a VFS.DirectoryEntry subclass that overrides the
285  getColor() method
286- MiscUtilities.constructPath(), .getFileName(), .getParentOfPath()
287  methods are now VFS-aware
288- Note that the behavior of correspondingly-named methods in the VFS
289  class has changed in a suttle manner, and they should no longer be
290  called directly. Use the MiscUtilities methods for all path
291  manipulation.
292- EditAction.getView() deprecated, call GUIUtilities.getView() instead
294* Version 4.0pre1
296+ New Features
298- New document model uses less memory, loads files faster, and has a
299  simpler API for developers. Also, finally, the file modification flag
300  is cleared when all edits up to a save are undone
301- New folding features:
302  - Three fold modes: none, indent, explicit. 'none' is the default now.
303    'indent' is the indent-based folding mode, that behaves the same as
304    indent-based folding in jEdit 3.1 and 3.2. 'explicit' parses the
305    buffer for {{{ and }}} and adds folds based on that.
306  - Change the fold mode by clicking the fold mode widget in the status
307    bar, or in the Buffer Options dialog box, or with the 'folding'
308    buffer-local property, or in the Global Options dialog box.
309  - Folds are now shown in the gutter as triangles, which is more
310    intuitive than filled/not-filled boxes
311  - View->Folding->Collapse All Folds command, equivalent to invoking
312    'Expand Folds With Level' and specifying a level of 1
313  - Different text areas editing the same buffer can now have different
314    folds collapsed and expanded. Previously, fold visibility was stored
315    at the buffer level
316- Utilities->Memory Status command to replace 'Show Free Memory' macro
317- General look and feel settings moved to 'Appearance' option pane
318- If you are using the Metal or Kunststoff L&F, the UI control font can
319  be changed in Utilities->Global Options->Appearance
320- 'Vertical Paste' macro (Andre Kaplan)
321- File listings in the file system browser are now colorized. Change the
322  colors in Utilities->Global Options->File System Browser
323- When a file is loaded, jEdit now remembers if it contained a trailing
324  newline, and if so, writes it out when saving the file. Previously, a
325  trailing newline would always be written, regardless of it being
326  present in the file on disk or not
327- The tab and enter key can now be used in shortcut assignments
328- Utilities->Evaluate for Selected Lines command evaluates specified
329  BeanShell expression for each selected line, replacing the contents of
330  that line with the return value of the expression
331- Macros.confirm() method added, for use in macros
332- BBj (Business Basic based on Java) syntax highlighting (Thomas Bock)
333- BibTeX syntax highlighting (Nils Krahnstoever)
334- Option added to sort recent file list by name
335- -nogui switch is back. If specified when jEdit is being run in
336  background mode, the initial view will not be opened
337- Edit->Invert Selection command added
338- The gutter now displays a scope indicator when the caret and matching
339  bracket are not on the same line
340- Ant is used instead of jmk to compile jEdit
342+ Neutral
344- Word wrap is disabled by default
346+ Enhancements
348- BeanShell 1.2b3 now included, instead of slightly patched 1.2b1
349- New splash screen and about box (Kris Kopicki)
350- HTML documentation is now generated using DocBook XSL 1.44 stylesheets
351- Option in activity log window to automatically scroll to bottom on
352  output (Dirk Moebius)
353- Status bar improvements:
354  - Tool tips for all controls
355  - Double-click on caret status shows the 'go to line' dialog box
356  - Instead of showing 'multi' in gray of multiple selection was
357    disabled, and in black if it was enabled, the display now
358    alternates between 'multi' and 'single'
359  - Same for the overwrite status; it now shows 'ins' or 'ovr'
360  - I/O progress display replaced with a Java heap memory indicator
361  - I/O status is now shown in the message area of the status bar
362- New color scheme
363- Pressing Tab while a selection is active shifts it right by one level
364  of indent
365- Pressing S+Tab shifts the selection right by one level of indent
366- If a selection ends at the beginning of a line, that line is no longer
367  considered to be part of the selection by line manipulation commands
368- Improved window docking feature:
369  - New, much simpler API for plugins
370  - 'Auto open' setting in Docking option pane removed, now jEdit
371    remembers which dockables were open automatically
372  - Docked windows are shown inside a custom control, not a tabbed pane
373  - ALL dockable windows set to dock in a certain area are shown in that
374    area, not just those currently 'open'. When a dockable is requested
375    for the first time, it is created and loaded
376  - Changes made in the Docking option pane now take effect immediately
377- In the Shortcuts option pane, each plugin's actions are shown in a
378  separate section. This solves the problem of plugin actions having
379  ambiguous names (for example, "Edit Settings"). This change is the
380  reason for the jEdit.addAction() method was dropped.
381- Macros.message(), Macros.error() and Macros.input() methods now accept
382  an arbitriary java.awt.Component, instead of a View, as the component
383  that will parent the dialog box. This will not break any macros since
384  BeanShell resolves methods at run-time.
385- jEdit now makes an effort to display popup menus on-screen. If you
386  want your plugin to do this, use the new GUIUtilities.showPopupMenu()
387  method.
388- Editing and saving a mode file, or mode catalog file within jEdit will
389  automatically reload that mode, or all edit modes
390- A few keyboard shortcuts added to file system browser:
391  ~ - goes to home directory
392  / - goes to file system roots list
393  - - goes to current buffer's directory
394- Improved Abbreviations option pane
395- Improved Styles option pane
396- Improved search and replace:
397  - It is now possible to do a HyperSearch in the current selection
398  - When a match is clicked on in the HyperSearch results window, the
399    match is now selected in the text area. Previously, the caret was
400    only moved to the line containing the match.
401  - Search in Selection radio button: when selected, the 'Replace All'
402    button does the same thing as the 'Replace' button
403  - If text is selected when the dialog box is being opened, this radio
404    button is selected automatically, unless only one line of text is
405    selected, in which case that text becomes the search string
406  - Because of the above, the 'Find Selection' command is no longer
407    necessary
408  - 'All buffers' and 'Directory' radio buttons now pre-select the
409    'HyperSearch' check box (it is still possible to do a normal search
410    over a set of buffers, by deselecting the check box)
411  - When doing a case-insensitive search and replace, the substituted
412    string's case is converted to the found match case, if the found
413    match is all lower case, all upper case, or title case
414  - gnu.regexp 1.1.4 now included
415- Multiple selections are now stored in the order they appear in the
416  buffer, not the order they were added
417- New MiscUtilities.compareStrings() method compares two strings,
418  treating numbers specially. So, for example, it will say that
419  "my file 10" comes after "my file 2", and that "2.9" comes before
420  "2.10"
421- MiscUtilities.StringCompare and StringICaseCompare classes use this
422  method by default
423- The buffer-local noWordSep property now has a default value of "_".
424  Previously, there was no default, but most modes specified a value of
425  "_".
426- jEdit now backs up files it saves to the settings directory to
427  $HOME/.jedit/settings-backups
428- Settings files are now saved to #filename#save#, then renamed to the
429  actual file name. This prevents settings from being lost if jEdit
430  crashes in the middle of saving them
431- PL/SQL mode updates (Steve Snider)
433+ Bug Fixes
435- 'Recent Files' menu behaved in a strange manner if there were no
436  recent files
437- Fixed a NullPointerException if the 'Narrow to Selection' command
438  was invoked with no selection
439- JCheckBoxList typo prevented it from working in the XML plugin
440- On MacOS, the option key, which is reported as ALT, can be used to
441  generate user input, but jEdit ignored Alt key strokes that were not
442  bound to shortcuts.
443- More JDK 1.4 key event bug workarounds
444- History text field border wasn't repainted after the model was changed
445- If two shortcuts were assigned to a command, the second wasn't shown
446  in the tool bar button tooltip
447- In syntax highlighting rule sets that enabled digit highlighting but
448  didn't have SEQ rules for '-' and '.', these two characters would be
449  highlighted with the digit syntax style, even if they were not part of
450  a numeric expression.
451- Pressing Home three times put the caret at the end of the last visible
452  line, not the start of the last visible line as intended
453- Entering a file name in the text field of the Open dialog box would
454  open that file name relative to jEdit's current working directory, not
455  the directory selected in the dialog box
456- 'Reload' command didn't preserve caret position very well if sections
457  of the buffer were folded
458- When running on Java 2 version 1.3 (and possibly others), the default
459  size of the help viewer was not set properly
460- Velocity mode had an incorrect file name glob
461- In the Search and Replace dialog box, 'Replace with:' and 'Auto wrap'
462  had the same Alt-key mnemonic
463- Regular expression bug fixes:
464  - Searching for a regular expression of $ or ^ by itself should work
465    now
466  - In regular expressions, ^ and $ not only matched newlines, but the
467    start and end of the substring to search.
468  - Fixed possible ArrayIndexOutOfBounds when searching for regular
469    expressions that start with \<
470  - The RESearchMatcher class converted \t to the tab character and \n
471    to the newline character, even if the replace string was a BeanShell
472    script, in which case a BeanShell execution error would occur.
473- In the help viewer, nodes in the tree were not selected as links were
474  followed
475- On Windows, it is now possible to rename a file such that the new name
476  only differs from the old in case
477- Sometimes, the most recently opened files would not be restored if the
478  -background command line switch was used
479- Sometimes, Untitled buffers would not be replaced when another file
480  was opened
481- Fixed slowdown when making changes to the last line of a buffer
483+ API Changes
485- New methods in jEdit class for accessing properties:
486  jEdit.getIntegerProperty(String name, int def);
487  jEdit.setIntegerProperty(String name, int value);
488  jEdit.getFontProperty(String name);
489  jEdit.getFontProperty(String name, Font def);
490  jEdit.setFontProperty(String name, Font value);
491  jEdit.getColorProperty(String name);
492  jEdit.getColorProperty(String name, Color def);
493  jEdit.setColorProperty(String name, Color value);
494- VariableGridLayout is now used to lay out tool bars, instead of
495  BoxLayout. This means it is no longer necessary to add a
496  Box.createGlue() to the tool bar to prevent it from being centered.
497- Removed these APIs, which have been deprecated since jEdit 2.6:
498  EditPlugin.createMenuItems(View,Vector,Vector) (override
499  createMenuItems(Vector) instead)
500  GUIUtilities.loadMenuItem(View,String) (use loadMenuItem(String)
501  instead)
502  GUIUtilities.loadToolBarIcon() (use loadIcon instead)
503  GUIUtilities.showFileDialog() (use showVFSFileDialog() instead)
504- Removed these APIs, which have been deprecated since jEdit 3.0:
505  jEdit.addAction()
506  EditAction.actionPerformed()
507  EditAction.isSelected(Component)
508  EditAction.getView(EventObject)
509  EditAction.getBuffer(EventObject)
510- CreateDockableWindow class deprecated. Write a dockables.xml file
511  instead of listening for this message.
512- DockableWindow interface deprecated. No need to implement it any more.
513- EditBus named list stuff deprecated. It was only being used for
514  dockables and ErrorList's error sources. To register dockables, use
515  the new dockables.xml API. To register error sources, use the relevant
516  APIs in the ErrorList plugin.
517- DockableWindowManager.getDockableWindow() method (that returns a
518  DockableWindow instance) has been deprecated in favor of the new
519  DockableWindowManager.getDockable() (which returns a JComponent
520  instance)
521- TextAreaHighlight.init() method removed. If it exists, it will be
522  called via reflection so that old plugins can continue to work, but
523  new plugins should pass a text area instance to the constructor of the
524  highlighter.
525- MiscUtilities.VersionCompare class and MiscUtilities.compareVersions()
526  method removed. Use compareStrings() instead
527- Buffer.markTokens() now returns instance of Buffer.TokenList class
528- New BufferUpdate message type: FOLD_HANDLER_CHANGED
529- Buffer.insertString() deprecated; call Buffer.insert() instead
530- Buffer.remove(), Buffer.getText() and Buffer.createPosition() no longer
531  throw BadLocationExceptions
532- Buffer.getDefaultRootElement() deprecated; call
533  Buffer.getLineStartOffset(), Buffer.getLineEndOffset(),
534  Buffer.getLineLength() and Buffer.getLineOfOffset() instead