Upstream changes:
JOE 4.0
JOE now has pop-up shell windows with full terminal emulation and shell commands
that can control the editor. Hit F1 - F4 to bring up a shell window.
See Pop-up shell feature for a full description.
The status command (^K SPACE) can now be customized using the same syntax
as the status bar. Look for smsg and zmsg in joerc to see how to do this.
parserr (the error parser) will parse only the highlighted block if it's set. Before it always parsed the entire buffer.
Now there is a per-buffer concept of current directory. This was added to
make the pop-up shell windows work better, but it's useful in general.
At file prompts you can begin a new anchored path without having to delete
the old one. It means that ~jhallen/foo//etc/passwd is translated to /etc/passwd.
Prompt windows are now highighted to indicate which parts of the path are
being dropped. There is a syntax file for this: filename.jsf
The error parser now ignores ANSI sequences (some versions of grep
color their results, now JOE can still parse it).
Temporary messages are now dismissed by keyboard input only. Before, they
could also be dismissed by shell input.
Tags search now supports multiple matches. ^K ; can be configured to
either provide a menu of the matches or to cycle through them.
Tags search will now match on the member name part of member functions
('fred' will match 'myclass::fred').
Tags search will prepend the path to the tags file file name in the tags
file. This is important when JOE finds the tags file via the TAGS
environment variable.
Remove ` as quote character from incremental search.
Clean up documentation, convert much of it to Markdown.
JOE 3.8
Search JOE image for :include files referenced by the joerc file.
Include ftyperc file in the JOE image.
Change default indent from 2 to 4. Add quick menu to change to common
indent values: ^T = (1, 2, 4, or 8). Switch to + and - for definitively
setting or clearing options so that 0 and 1 can be use for quick select.
Added option to suppress DEADJOE file
Jump to matching delimiter (Ctrl-G) has been improved. It can now use the
syntax files to parse the document in order to identify strings and
comments which should be skipped during the matching delimiter search.
(patch by Charles Tabony).
When 'notite' mode is enabled, JOE now emits linefeeds to preserve the
screen contents in the terminal emulator's scrollback buffer. This can be
suppressed with a new flag: nolinefeeds.
JOE now starts up quiet (prints no extra messages when starting).
Messages are collected in a startup log (view with ESC x showlog).
There is a new flag 'noexmsg' which, when set, makes JOE quiet when it shuts
down (suppresses "File not changed so no update needed" message).
Use 80th column if terminal has xn capability (patch by pts and Egmont
Koblinger).
Support italic text (on some terminal emulators) with "\l" (patch by
Egmont Koblinger)
Support bracketed paste (patch by Egmont Koblinger)
Fix line number in syntax highlighter error output
Prevent infinite loops caused by buggy syntax definitions.
New and improved syntax definitions for:
Ant: contributed by Christian Nicolai
Batch files: contributed by John Jordan
C#: contributed by John Jordan
Debian apt sources.list: contributed by Christian Nicolai
Elixir: contributed by Andrew Lisin
Erlang: contributed by Christian Nicolai, Jonas Rosling, Andrew Lisin
git-commit messages: contributed by Christian Nicolai
Go: contributed by Matthias S. Benkmann
HAML: contributed by Christian Nicolai
INI: contributed by Christian Nicolai
iptables: contributed by Christian Nicolai
Javascript: contributed by Rebecca Turner, Christian Nicolai
json: contributed by Rebecca Turner
Markdown: contributed by Christian Nicolai, Jonas Rosling
Powershell: contributed by Oskar Liljeblad
Prolog: contributed by Christian Nicolai
Puppet: contributed by Christian Nicolai, Eric Eisenhart
Sieve: contributed by Christian Nicolai
YAML: contributed by Christian Nicolai
(from github.com/cmur2/joe-syntax)
Syntax definition fixes for: C, Python, Java, Lua, sh, Ruby, PHP, TeX,
CSS, and XML
Save/restore utf-8 and crlf modes when changing in/out of hex edit for
better display
Fix autocomplete for paths containing spaces
Accept mouse events beyond column 208 (patch by Egmont Kobligner)
Adjust guess_indent behavior based on user feedback
Fix infinite loop in search and replace
Add a new command 'timer' which executes a macro every n seconds. I use
this for periodically injecting a command into a shell window for
overnight testing of some device.
Convert double to long long (if we have it) when printing hexadecimal.
Fix bug where undo was acting strangly in shell windows.
Fix crash when hitting -----------.. wordwrap bug.
Check for math functions
Use joerc if fancyjoerc not there.
fix segfault from -orphan
fix window size detection bug: can't take out types.h
from tty.c
update status line immediately on resize.
va_copy fix.
don't smartbackspace when smartbacks is off.