JOE 3.4 Released!

New for JOE 3.4:

- Paragraph reformatter and word wrap now handle '*' and '-' bullet lists.

- Better internationalization (i18n):

JOE now uses gettext(), so that internal messages can be translated to the local language. The /etc/joe directory now has a lang subdirectory for the .po files.

Internationalized joerc files are now possible. If LANG is en_GB, JOE tries successively to load joerc.en_GB, joerc.en and joerc.

- Multi-file search and replace:

There are two new search and replace options:

'a': the search covers all loaded buffers. So you can say:

joe *.c
and then ^KF foo <return>
ra <return>
bar <return>
to replace all instances of foo in all .c files.

'e': the search covers all files in the error list.

You can use grep-find to create a list of files:

ESC g
grep -n foo f*.c
^KF foo <return>
re
bar <return>

You can also use 'ls' and 'find' instead of grep to create the file list.

- JOE now restores cursor position in previously visited files.

- Build and grep window work more like Turbo-C: the messages window is forced onto the screen when you hit ^[ = and ^[ -.

- Syntax highlighter definition files (.jsf files) can now have subroutines. This eases highlighter reuse: for example, Mason and PHP can share the HTML highlighter.

- I've changed the way JOE handles '-' and redirected input:

joe < file A shell process is started which 'cat's the file into the first buffer.

tail -f log | joe A shell process is started which 'cat's the output from 'tail -f' (watch a log file) into the first buffer.

joe - JOE does not try to read from stdin, but when the file is saved, it writes to stdout.

echo "hi" | joe - | mail fred
"hi" ends up in first buffer. When you save, mail is sent.

- Many bugs have been fixed. I've tried to address every issue in the bug tracker. Hopefully I didn't create too many new ones :-)

- You can now define which characters can indent paragraphs. Also the default list has been reduced so that formatting of TeX/LaTeX files works better.

- Highlighting now uses less CPU time and always parses from the beginning of the file (the number of sync lines option is deprecated). Here is a CPU usage comparison for scrolling forwards and backwards through a 35K line C file:

JOE .58
JED .57
NEDIT 3.26
VIM 7.33
EMACS 11.98

- JOE now matches Thomas Dickey's implementation of my xterm patch (but configure xterm with --paste64).

- File selection menu/completion-list is now above the prompt (which is more like bash). Also it is transposed, so that it is sorted by columns instead of rows.

- "Bufed" (prompt for a buffer to edit), works like other file prompt commands: it's a real prompt with history and completion.

- Automatic horizontal left scroll jumps by 5-10 columns.

- New syntax files: troff, Haskell, Cadance SKILL, REXX, LUA, RUBY. Many of the existing syntax files have been improved.

Posted by Joe Allen 2006-05-30