Tue May 8 08:31:29 2018 UTC ()
Update to 4.6

Upstream changes:
JOE 4.6
Enhancements

Upgrade to Unicode 10.0.0. Add configure environment variable that allows you select Unicode 8.0.0, 9.0.0 or 10.0.0.

Install Gnome .desktop files for JOE. This allows you to use JOE in GUI "Open With" mouse actions.

Support strikeout and double-underline attributes for the few terminal emulators that support them. Use "stricken" and "dunderline" in the syntax files, or \s and \z in help screens and status line.

Bugs fixed

Fix bug where JOE would sometimes crash when editing shell scripts. This was due to an obscure bug in the syntax highlighter: 'reset' command (used for default state) was incorrectly messing with stack.

-highlighter_context was missing from many file types, which negated some improvements from the previous version.

Fixed signed char overflow with old style mouse events in large windows

Fix bug where path restart (//) was being applied to block filter command prompt. Strange things would happen if you had adjacent slashes in command arguments.

Allow ~ expansion but suppress path restart (//) in compiler error parsing.

Restore default handling of SIGPIPE and SIGINT for shell commands. This fixes an issue where SIGPIPE doesn't terminate a process as expected, for example by the head -n 10 in: ^K R !sh -c 'while :; do echo y; done' | head -n 10. This issue only occurred in read/write to !, JOE already did the right thing for shell windows and the filter region through shell command.

Improve screen update algorithm so that spaces at the ends of lines are always emitted. This allows them to be preserved when cutting text with the mouse from a terminal emulator window.

Improve efficiency of screen update algorithm: JOE had been resetting attributes such as background color before performing cursor motions (probably as work around for bugs in old terminal emulators). This made screen update slow when there were many attributes, as with syntax highlighting and color schemes. It was also repeatedly emitting ESC [ K.

Switch JOE to issue scrolling commands, even at high baud rates (before this, JOE issued scrolling commands only at 19200 and below because it used to be that simple screen refresh was faster than scrolling in terminal emulators. But this is no longer true with complex screens involving color schemes, unicode and highlighting).

Windows version

Fix file access checks. Inaccessible files due to ACL's weren't correctly detected. This was a regression in 4.5.

Check the correct (Windows) path in the home directory for color schemes. This was not re-implemented properly in 4.5.

JOE 4.5

Enhancements

New color scheme feature, which can be accessed with ^T S or by setting the -colors option.

24-bit color support can be enabled by setting the COLORTERM environment variable to truecolor or 24bit.

Several schemes included in-the-box:

gruvbox by Pavel Pertsev

ir_black by Todd Werth

molokai by Tomas Restrepo

solarized by Ethan Schoonover

wombat by Lars H. Nielsen

xoria by Dmitriy Y. Zotikov

zenburn by Jani Nurminen

The current line can be highlighted by pressing ^T U or by enabling the -hiline option.

The gutter containing line numbers has a dynamic size based on the length of the file, rather than a fixed size of 10.

Updated all language syntax files to use comment_todo and string/comment contexts where appropriate.

Now pass character which invoked a macro to each macro step and call. If a macro step happens to be the 'type' command, the character which invoked the macro will be typed in. For example, this macro will type three 'X's. Before this change you got three NULs.

type,type,type X

Bugs fixed

Fix exsave: (^K ^X) should close file when a block is present in the window, and the file is unmodified (regression from ^C change in 4.2).

Fix regex assertions: they were not working because the character before the search position was not being loaded.

For jmacs: ^Q^J now again inserts \n in the string replace prompt. This broke beginning with JOE 4.0.

Don't try to open files for writing to check file access. This behaves better on unionfs mounts.

Fix stray blocks created after find/replace.

Windows version

Fix inability to set indent step to 1 from menu.

Add support for math functions, fix engineering display.

Fix backslash escapes in find/replace.

Support italicized text.

JOE 4.4
Enhancements

Bugs fixed

Fix segfault due to buffer overrun. This happens if a line with many backslashes appears in the status line context display.

Fix jmacs: ^X ^F and ^X ^B were not working

Build fixes for Solaris

Improve php highlighter: allow numbers in substitution variable names

Unicode tweak: treat private use characters (Co) as printable

Dockerfile highlighter: Add Docker new commands from 1.12, mark bad strings in arrays

Fix loading external charmaps

Windows version

Fix crashing bug when using incremental search
JOE for Windows 4.3
Download

Bugs fixed

Fixed a missed merge that prevented some options menu items from being changed (tab width, tab char, etc).

Fixed bugs updating the title bar.

Minor memory leak/performance fix in subprocess communication.

(from newer version) Fix segfault due to buffer overrun. This happens if you a line with many backslashes appears in the status line context display.

JOE 4.3
Enhancements

Improve memory usage by shrinking buffer header size and highlighter state size.

Improve performance of status line context display (which shows the first line of the function that the cursor is currently in). This feature was making JOE very slow on extremely large files with auto indent enabled (typically JSON or XML data files). Now the syntax highlighter computes the context display (using a new syntax named context.jsf).

Add a mode 'title' to enable or disable the status line context display (previously autoindent mode was overloaded to do this).

Disable syntax highlighting and context display in very large files

Force more appropriate modes when we enter hex dump display: enable overtype, disable autoindent, wordwrap, ansi, picture.

Handle middle mouse button in "joe -mouse" mode (before it did nothing). It's treated as paste (copy region to mouse) as expected. (patch from Petr Olsak).

Bugs fixed

Do not kill region highlighting during incremental search (patch from Petr Olsak).

Negative numbers were not being recognized in blocks

PgUp/PgDn would try to scroll menu if the window above is a menu (it should do this only for completion menus associated with prompts)

Use 'LC_ALL=C sed' to get JOE to compile in OS X.

Forward direction delimiter matching where the delimiters do not begin with special characters (for example in Verilog "begin" / "end") was not working.

Get mouse to work in menus: this broke in 4.1

Character classes with ranges were not working for UTF-8 (as in \[a-z])

Apply spec highlighting to .spec files

Gracefully handle short terminals: fix segfaults which occur when trying to shrink terminal while many windows are on the screen or while turning on help with a short terminal. Fix similar bugs involving the skiptop option. JOE now works even if the terminal height is only one line.

JOE 4.2
New or improved syntax files for the following languages:

Dockerfile
Usability Enhancements

The top Google help searches for JOE include:

How do I save and exit? The startup copyright notice has been replaced with basic help for beginners: ^K Q to exit and ^K H for help.

How do I dismiss the region highlighting? The traditional way is to hit ^K B ^K K, but this is slightly non-obvious and has always been awkward. Now Ctrl-C will do it.

How do I close all files and exit? Now Ctrl-K Q does this. Previously ^K Q was the same as ^C: abort a single file.

Restyle the help screens:

Make it more obvious that there is more than one screen: put the help for help inline with the text instead of in the (seemingly invisible) header.

Mention Ctrl-Arrow region selection, status and goto matching delimiter commands on the first screen.

Remove time and "Ctrl-K H for help" message from status bar. Beginners often don't notice this help message, and it takes up valuable status bar space that power users want for the context display.

Add ^KH for help to search and replace prompts. Many JOE users do not know about this context sensitive help.

Provide aborthint and helphint options so that the ^C and ^K H hints can be customized depending on the rc file (so say ^G for abort in jmacs, for example).

Enable -noxon by default (disable ^S/^Q flow control). This allows us to bind ^Q to quote and ^S / ^R to incremental search.

Document ESC X (command prompt) in the help screens.

"joe --help" now prints all command line options.

Other Enhancements

Tags search now tries to find the tags file in parent directories if it does not exist in the current directory and if the TAGS environment variable was not set.

Built-in calculator can now print and accept numbers in binary, octal and engineering formats: dec 12_345 eng 12.345_0e3 bin 0b11_0000_0011_1001 oct 0o3_0071 hex 0x3039

Built-in calculator now prints and accepts separating underscores for clarity. For example, 4_294_967_296 instead of 4294967296.

Enhanced calculator statistics functions:

dev computes standard deviation with full population
samp computes standard deviation with sample of population
Linear regression analysis. Select a region of x and y values, then:
lr(x) provide estimate of y given x
rlr(y) provide estimate of x given y
Lr, lR, LR: log, exponential, power regression
Calculator region functions now assume the entire buffer if no region is set.

Tab completion now works at the calculator prompt (and in all prompts which allow numeric input, such as ^KL- go to line).

Make new regex engine (from JOE 4.1) more compatible with the classic engine. \y is now shorthand for \(\.\*\), so that it does what \* did in the old engine. Also:

\. no longer matches newline.
\* matches shortest match, not longest match.
Add -left and -right options to control the amount scrolling when the cursor moves past the left or right edge of the screen. When the baud rate is low these are automatically set to a large amount. Also, these now control the manual horizontal scrolling commands. When these are positive, they indicate number of columns. When they are negative, they indicate a fraction of the screen width (-2 is 1/2 the width).

Bugs fixed

Fix use after free bug which shows up as a crash in OpenBSD

Fix bug where indent step value was not shown on ^T menu

Fix bug where setting margin doesn't work on big-endian systems

Fix issue where highest valued Unicode character equivalent was not translating to its corresponding 8-bit character. Effect of this was that Delete key was not working in shell windows in ASCII character set.

Standard deviation calculator function was not producing correct results.

Allow koi8r and koi8-r for KOI8-R in joe_getcodeset (which is only used if there is no setlocale).

Guess_crlf forced UNIX line endings for new files even though crlf was set. Now crlf is left alone if guess_crlf can not determine the line ending.

If cursor was at end of a long line and you switched to hex dump display mode, then hex dump was scrolled. Now scroll offset is reset when you switch to hex display mode.


(wen)
diff -r1.38 -r1.39 pkgsrc/editors/joe/Makefile
diff -r1.10 -r1.11 pkgsrc/editors/joe/PLIST
diff -r1.22 -r1.23 pkgsrc/editors/joe/distinfo

cvs diff -r1.38 -r1.39 pkgsrc/editors/joe/Makefile (expand / switch to unified diff)

--- pkgsrc/editors/joe/Makefile 2015/10/19 09:15:54 1.38
+++ pkgsrc/editors/joe/Makefile 2018/05/08 08:31:29 1.39
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.38 2015/10/19 09:15:54 adam Exp $ 1# $NetBSD: Makefile,v 1.39 2018/05/08 08:31:29 wen Exp $
2 2
3DISTNAME= joe-4.1 3DISTNAME= joe-4.6
4CATEGORIES= editors 4CATEGORIES= editors
5MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=joe-editor/} 5MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=joe-editor/}
6 6
7MAINTAINER= adam@NetBSD.org 7MAINTAINER= adam@NetBSD.org
8HOMEPAGE= http://joe-editor.sourceforge.net/ 8HOMEPAGE= http://joe-editor.sourceforge.net/
9COMMENT= Joe's own editor 9COMMENT= Joe's own editor
10LICENSE= gnu-gpl-v1 10LICENSE= gnu-gpl-v1
11 11
12USE_TOOLS+= gmake 12USE_TOOLS+= gmake
13GNU_CONFIGURE= yes 13GNU_CONFIGURE= yes
14CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASEDIR} 14CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASEDIR}
15 15
16PKG_SYSCONFSUBDIR= joe 16PKG_SYSCONFSUBDIR= joe

cvs diff -r1.10 -r1.11 pkgsrc/editors/joe/PLIST (expand / switch to unified diff)

--- pkgsrc/editors/joe/PLIST 2015/10/19 09:15:54 1.10
+++ pkgsrc/editors/joe/PLIST 2018/05/08 08:31:29 1.11
@@ -1,77 +1,93 @@ @@ -1,77 +1,93 @@
1@comment $NetBSD: PLIST,v 1.10 2015/10/19 09:15:54 adam Exp $ 1@comment $NetBSD: PLIST,v 1.11 2018/05/08 08:31:29 wen Exp $
2bin/jmacs 2bin/jmacs
3bin/joe 3bin/joe
4bin/jpico 4bin/jpico
5bin/jstar 5bin/jstar
6bin/rjoe 6bin/rjoe
7man/man1/joe.1 7man/man1/joe.1
8man/ru/man1/joe.1 8man/ru/man1/joe.1
 9share/applications/jmacs.desktop
 10share/applications/joe.desktop
 11share/applications/jpico.desktop
 12share/applications/jstar.desktop
9share/doc/joe/ChangeLog 13share/doc/joe/ChangeLog
10share/doc/joe/NEWS.md 14share/doc/joe/NEWS.md
11share/doc/joe/README.md 15share/doc/joe/README.md
12share/doc/joe/README.old 16share/doc/joe/README.old
13share/doc/joe/hacking.md 17share/doc/joe/hacking.md
14share/doc/joe/man.md 18share/doc/joe/man.md
15share/examples/joe/ftyperc 19share/examples/joe/ftyperc
16share/examples/joe/jicerc.ru 20share/examples/joe/jicerc.ru
17share/examples/joe/jmacsrc 21share/examples/joe/jmacsrc
18share/examples/joe/joerc 22share/examples/joe/joerc
19share/examples/joe/joerc.zh_TW 23share/examples/joe/joerc.zh_TW
20share/examples/joe/jpicorc 24share/examples/joe/jpicorc
21share/examples/joe/jstarrc 25share/examples/joe/jstarrc
22share/examples/joe/rjoerc 26share/examples/joe/rjoerc
23share/examples/joe/shell.csh 27share/examples/joe/shell.csh
24share/examples/joe/shell.sh 28share/examples/joe/shell.sh
25share/joe/charmaps/klingon 29share/joe/charmaps/klingon
 30share/joe/colors/default.jcf
 31share/joe/colors/gruvbox.jcf
 32share/joe/colors/ir_black.jcf
 33share/joe/colors/molokai.jcf
 34share/joe/colors/solarized.jcf
 35share/joe/colors/wombat.jcf
 36share/joe/colors/xoria.jcf
 37share/joe/colors/zenburn-hc.jcf
 38share/joe/colors/zenburn.jcf
26share/joe/lang/de.po 39share/joe/lang/de.po
27share/joe/lang/fr.po 40share/joe/lang/fr.po
28share/joe/lang/ru.po 41share/joe/lang/ru.po
29share/joe/lang/uk.po 42share/joe/lang/uk.po
30share/joe/lang/zh.po 43share/joe/lang/zh_TW.po
31share/joe/syntax/4gl.jsf 44share/joe/syntax/4gl.jsf
32share/joe/syntax/ada.jsf 45share/joe/syntax/ada.jsf
33share/joe/syntax/ant.jsf 46share/joe/syntax/ant.jsf
34share/joe/syntax/asm.jsf 47share/joe/syntax/asm.jsf
35share/joe/syntax/avr.jsf 48share/joe/syntax/avr.jsf
36share/joe/syntax/awk.jsf 49share/joe/syntax/awk.jsf
37share/joe/syntax/batch.jsf 50share/joe/syntax/batch.jsf
38share/joe/syntax/c.jsf 51share/joe/syntax/c.jsf
39share/joe/syntax/clojure.jsf 52share/joe/syntax/clojure.jsf
40share/joe/syntax/cobol.jsf 53share/joe/syntax/cobol.jsf
41share/joe/syntax/coffee.jsf 54share/joe/syntax/coffee.jsf
42share/joe/syntax/comment_todo.jsf 55share/joe/syntax/comment_todo.jsf
43share/joe/syntax/conf.jsf 56share/joe/syntax/conf.jsf
 57share/joe/syntax/context.jsf
44share/joe/syntax/csh.jsf 58share/joe/syntax/csh.jsf
45share/joe/syntax/csharp.jsf 59share/joe/syntax/csharp.jsf
46share/joe/syntax/css.jsf 60share/joe/syntax/css.jsf
47share/joe/syntax/d.jsf 61share/joe/syntax/d.jsf
48share/joe/syntax/debian.jsf 62share/joe/syntax/debian.jsf
49share/joe/syntax/diff.jsf 63share/joe/syntax/diff.jsf
 64share/joe/syntax/dockerfile.jsf
50share/joe/syntax/elixir.jsf 65share/joe/syntax/elixir.jsf
51share/joe/syntax/erb.jsf 66share/joe/syntax/erb.jsf
52share/joe/syntax/erlang.jsf 67share/joe/syntax/erlang.jsf
53share/joe/syntax/filename.jsf 68share/joe/syntax/filename.jsf
54share/joe/syntax/fortran.jsf 69share/joe/syntax/fortran.jsf
55share/joe/syntax/git-commit.jsf 70share/joe/syntax/git-commit.jsf
56share/joe/syntax/go.jsf 71share/joe/syntax/go.jsf
57share/joe/syntax/groovy.jsf 72share/joe/syntax/groovy.jsf
58share/joe/syntax/haml.jsf 73share/joe/syntax/haml.jsf
59share/joe/syntax/haskell.jsf 74share/joe/syntax/haskell.jsf
60share/joe/syntax/html.jsf 75share/joe/syntax/html.jsf
61share/joe/syntax/htmlerb.jsf 76share/joe/syntax/htmlerb.jsf
62share/joe/syntax/ini.jsf 77share/joe/syntax/ini.jsf
63share/joe/syntax/iptables.jsf 78share/joe/syntax/iptables.jsf
64share/joe/syntax/java.jsf 79share/joe/syntax/java.jsf
 80share/joe/syntax/jcf.jsf
65share/joe/syntax/joerc.jsf 81share/joe/syntax/joerc.jsf
66share/joe/syntax/js.jsf 82share/joe/syntax/js.jsf
67share/joe/syntax/jsf.jsf 83share/joe/syntax/jsf.jsf
68share/joe/syntax/jsf_check.jsf 84share/joe/syntax/jsf_check.jsf
69share/joe/syntax/json.jsf 85share/joe/syntax/json.jsf
70share/joe/syntax/lisp.jsf 86share/joe/syntax/lisp.jsf
71share/joe/syntax/lua.jsf 87share/joe/syntax/lua.jsf
72share/joe/syntax/m4.jsf 88share/joe/syntax/m4.jsf
73share/joe/syntax/mail.jsf 89share/joe/syntax/mail.jsf
74share/joe/syntax/mason.jsf 90share/joe/syntax/mason.jsf
75share/joe/syntax/matlab.jsf 91share/joe/syntax/matlab.jsf
76share/joe/syntax/md.jsf 92share/joe/syntax/md.jsf
77share/joe/syntax/ocaml.jsf 93share/joe/syntax/ocaml.jsf

cvs diff -r1.22 -r1.23 pkgsrc/editors/joe/distinfo (expand / switch to unified diff)

--- pkgsrc/editors/joe/distinfo 2015/11/04 17:41:18 1.22
+++ pkgsrc/editors/joe/distinfo 2018/05/08 08:31:29 1.23
@@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
1$NetBSD: distinfo,v 1.22 2015/11/04 17:41:18 agc Exp $ 1$NetBSD: distinfo,v 1.23 2018/05/08 08:31:29 wen Exp $
2 2
3SHA1 (joe-4.1.tar.gz) = 18004847c9c8863872d81f0bc1242dd35c0a5826 3SHA1 (joe-4.6.tar.gz) = da7712333f676cfb5ae9f3565fd2225c5a2185ca
4RMD160 (joe-4.1.tar.gz) = 74b91bb7c644114331930491d8646fe784bd1db3 4RMD160 (joe-4.6.tar.gz) = cd5a8eff82b7e8043f1a5fdbc875ec37b4de5f5a
5SHA512 (joe-4.1.tar.gz) = f6fd9d87c94a4f47586d7a81cccbfd6bfdace2357e3c579f5abfb54117dd95cadcd1783e281874868da6f0a8853327fff5bb3876f86a031f45afb13db45f7377 5SHA512 (joe-4.6.tar.gz) = 3dd64a994fb3d352a12bf027ef16d57d14ac2577fd63fb6b6e25cae46052befaa7c15dc029bff2f8c3275df90f0343bd46313601055d97277ea4540e109fbe82
6Size (joe-4.1.tar.gz) = 1292957 bytes 6Size (joe-4.6.tar.gz) = 1895046 bytes
7SHA1 (patch-aa) = fa3b48b82c37d8eb0623b0a4f8d527eb80fe1a5b 7SHA1 (patch-aa) = fa3b48b82c37d8eb0623b0a4f8d527eb80fe1a5b
8SHA1 (patch-ab) = c892db0e7675b25103dbb21762abe69b104f8be3 8SHA1 (patch-ab) = c892db0e7675b25103dbb21762abe69b104f8be3