The current version is joe-2.8jupp3 for MS-DOS® compatible systems, with a set of updated *rc files available for download below, and joe-3.1jupp41 for Unix/GNU compatible systems. This page is accessible under http://mirbsd.de/jupp canonically.
Table of Contents
- About JUPP
- Features
- Documentation
- Download source code
- Ready-to-use Binaries
- Compilation Instructions
- ChangeLog for jupp 3.x (Unix)
- ChangeLog for jupp 2.x (DOS)
About
This is the portable version of JOE’s Own Editor, which is currently
developed at sourceforge, licenced
under the GNU General Public License, Version 1, using autoconf/automake.
This version has been enhanced by several functions intended for programmers
or other professional users, and has a lot of bugs fixed. It is based upon
an older version of joe because these behave better overall.
jupp also does come with the editor flavours known from joe,
specifically, jmacs, joe, jpico, jstar,
and rjoe. Not all features of jupp are available for these
though (but all the bugfixes, and syntax highlighting is still enabled by
default for these, while it is not auto-enabled in jupp).
Kudos to Joe H. Allen for bringing me a better WordStar™-compatible editor than Intergalactic Digital Research, DR Editor R2.00, DR DOS 5 (and its antecessor from DR DOS 3.41).
jupp is experimentally tracked at Launchpad, too. But you can still, of course, send mails to the miros-discuss mailing list and ask on IRC (in #MirBSD, for example).
Features
Basic differences between joe and jupp are:
- obviously, another flavour, jupp, similar to jstar
- UTF-8 support on non-locale-aware OSses
- tons of bug and security fixes
- tab completion fixes
- code cleanup
- compiles with -Wall -Werror (on MirBSD), and __CRAZY=Yes (MirBSD) / -Wall -Wextra, with -Werror and -Wno-unused-parameter -Wno-strict-prototypes (gcc3) plus -Wno-pointer-sign (gcc4); more warning fixes in preparation
- improved options menu
- visibled spaces
- with --disable-getpwnam can be linked statically on (e)glibc
- CUA style keybindings in all flavours; -keymap cua in all flavours for which this makes sense, i.e. all except jmacs, jpico
- can be linked with e.g. dietlibc or klibc for rescue systems
- can be linked with µClibc on ARM for use on Android (by XVilka)
- relocatable Win32 build
Neat tricks:
- The notation “^X”, where X is a commercial at sign, an uppercase letter, square bracket, backslash, a(nother) caret or an underscore, means to press the Ctrl key and hold it down while hitting the second key, then release the Ctrl key again. Most key sequences in jupp use either the ^Xy (or ^X^Y or ^XY) style or the ^[. style — “^[” is Esc
- Help: ^J — navigate with Esc+. and back with Esc+, (there are several pages)
- The last reference card of the online help system contains an ascii(7) table / 8-bit character map
- Search for non-ASCII characters in jupp:
^Q f \ [ ^ tab \ n space - ~ ] return return - Jump to first occurrence of word “rtn” in the files:
jupp -mold 'ffirst,"\\<rtn\\>",rtn,"i",rtn' /etc/joe/*rc - Open diffs but with the diff not marked as modified buffer:
diff -up filea fileb | jupp -mold notmod -
diff -up fileb filea | jupp -mold notmod - fileb
Use %D/%F for filea and %f for fileb in mc - Remove whitespace from EOL and EOF: ^K ]
- Hex Editor: ^O g
- Jump to file offset: ^Q O
- Syntax highlighting: on/off ^O h — set syntax ^O y
- xterm: hold the Shift key pressed while moving to easily select text
- Hit Esc+p to enter the bracketed paste mode (automatic if your terminal is a recent xterm-xfree86)
- Math mode now supports 0x præfix for hexadecimal numbers; Esc+# inserts the last equation, Esc+= its result
- ^Q P after ^K R jumps to the end of the just inserted file
- ^K - opens a scratch buffer (ignores modifications upon exit)
- Quickly search for CVS/git conflict markers with ^Q =
- Freedroidz IDE: install nbc, then just hit ^K F in jupp while editing a *.nxc file; it’ll compile and upload to the brick
- Presentation mode: just write the slides as plain UTF-8 text, one slide per Unix file, sequential names (e.g. zero-padded numbers), load them with “jupp *” then hit F6 to fullscreen the first one, go forward with F8 and backward with F7, and use F9 to pipe the entire file through an external command (it reuses the last one as default)
Documentation
We have a PDF manpage, HTML manpage, and you can use CVSweb to browse the source and documentation on-line.
Note that the keybindings in the manual page reflect the joe frontend, not the jupp frontend.
The jupp package description of The MirPorts Framework may aid other packagers in divining one. jupprc is available in several flavours, one for JOE 2.8 (DOS), one for JOE 3.7-2 and 4.4-1/4.6-1 (Unix), although these lack the core code patches applied in proper Jupp.
Retrieval
Direct download
You can download jupp at least from one of the following mirrors:
- http://www.mirbsd.org/MirOS/dist/jupp/joe-3.1jupp41.tgz
- http://pub.allbsd.org/MirOS/dist/jupp/joe-3.1jupp41.tgz
- ↑ Unix │ DOS ↓
- http://www.mirbsd.org/MirOS/dist/jupp/joe-2.8jupp3.cpio.gz
- http://pub.allbsd.org/MirOS/dist/jupp/joe-2.8jupp3.cpio.gz
- All official distfiles are gzsig(1)d.
Please do not forget to check the received file’s integry using both gzsig(1) and one of the hashes below:
- SHA256 (joe-3.1jupp41.tgz) = 7bb8ea8af519befefff93ec3c9e32108d7f2b83216c9bc7b01aef5098861c82f
- RMD160 (joe-3.1jupp41.tgz) = f72959d8b322c3c9fe09cd784ba59d3f4418b468
- TIGER (joe-3.1jupp41.tgz) = 95df16a3a9e67221600c833ecd958af598bcb0aedd403b08
- 350232995 505002 /MirOS/dist/jupp/joe-3.1jupp41.tgz
- MD5 (joe-3.1jupp41.tgz) = d7b470142895fe0097915d134b8ea90e
- ↑ Unix │ DOS ↓
- RMD160 (joe-2.8jupp3.cpio.gz) = cd07c69dee589c3e64e1ee5ee08ae7f355095fba
- TIGER (joe-2.8jupp3.cpio.gz) = 31a0f51e6dc01d84fb09529e921124e5f1ba81f23bd5c1ac
- 3436662316 212886 /MirOS/dist/jupp/joe-2.8jupp3.cpio.gz
- MD5 (joe-2.8jupp3.cpio.gz) = dc122be2ca809a419c6e80e65a5705c4
Unpacking
Starting with jupp19, use a command like
$ tar -xzf joe-3.1jupp41.tgz # paxtar, bsdtar, GNU tar, …
$ gzip -dc joe-3.1jupp41.tgz | cpio -idm # any cpio
$ pax -r -z <joe-3.1jupp41.tgz # any POSIX® archiver
to extract the distfile. The DOS version requires similar commands,
although GNU tar will not be able to extract the .cpio.gz archive.
Both extract into a sub-directory jupp/ (not versioned).
Some browsers already extract the file during downloading; skip the decompression stage then.
Anonymous CVS
You can check out the sources with the following command:
$ env CVS_RSH=ssh cvs -d _anoncvs@anoncvs.mirbsd.org:/cvs co -PA jupp
$ env CVS_RSH=ssh cvs -d _anoncvs@anoncvs.mirbsd.org:/cvs co -Prjoe-2_8-msdos jupp
Installation
jupp for Unix uses GNU autotools, so a command line sequence like the following should be enough to build it:
$ CFLAGS='-O2 -fno-delete-null-pointer-checks -fwrapv -fno-strict-aliasing …' \ mksh configure [--prefix=/usr --sysconfdir=/etc] --disable-dependency-tracking \ [--disable-getpwnam] --disable-termidx $ make $ $SUDO make install
This works with both BSD and GNU make. The original joe 2.8 and jupp for DOS also are able to be built on MS-DOS or DR DOS, but do not use GNU autotools. I’d be interested if someone managed to do this with jupp 3.x for Unix, and if UTF-8 support and other things were working there. On Windows® you can use jupp for Unix with Cygwin or Interix/SFU/SUA.
This has been tested on: MirBSD/i386 (gcc3.4.6, pcc-20100407, SUNWcc 12.1), MirBSD/sparc, Minix 3 (i386) with cc (ACK), Debian (gcc4), Solaris 8 (gcc), Solaris 10 (SUNWcc -xO4 -xipo=2), Minix 3, …
If you want to link jupp for Unix against a nōn-standard C library such as dietlibc or klibc on Linux, use --disable-search-libs to prevent accidentally picking up (possibly shared) libraries linked against the system C library from the standard compiler/linker search path.
Use --disable-getpwnam whenever linking statically, or creating binaries for a rescue system — this omits code looking up ~foo/ to mean the user foo’s home directory, avoiding things like NSS or PAM on some OSes; on GNU libc it’s almost mandatory for static binaries.
Do specify CFLAGS — autoconf defaults to “-O2 -g” otherwise…
Binaries
These pre-compiled binaries are currently available:
- jupp 3.x for Unix:
- JOE 3.1jupp41 for Windows® is not yet published due to lack of time.
- JOE 3.1jupp40 for Windows® (cygwin32 stand-alone compiled; 80486;
PKzip archive (can be unpacked out of the box from Windows XP onwards,
or (on 16- and 32-bit systems only) with the shareware version of PKunzip for MS-DOS®);
comes with its own copy of cygwin1.dll (not installed system-wide);
easy installation: right-click on the INF file and select _I_nstall (this
even clears up previous installations into the system directory). If you
already have Cygwin, you can delete C:\PROGRA~1\jupp32\CYGWIN1.DLL.
(Installation from per-user mounted network shares will not succeed
on Windows 7; copy to a global location such as C:\TEMP
beforehand.) You may have to acknowledge a warning for a missing digital
signature. — Download and checksums:
- https://www.mirbsd.org/MirOS/dist/jupp/JWIN31ZF.ZIP
- http://pub.allbsd.org/MirOS/dist/jupp/JWIN31ZF.ZIP
- SHA256 (JWIN31ZF.ZIP) = 325850133d16e9263860f8bc6e2c979e1ca8fbc9997e22da0b7e6b6256c0ccb1
- RMD160 (JWIN31ZF.ZIP) = 2e59d8ec25748c95305e2d8e80aec8cfffe7e1f6
- TIGER (JWIN31ZF.ZIP) = 46f0876e737691ae168e7677f7a12a45c6609b82ba111610
- 854959764 959407 /MirOS/dist/jupp/JWIN31ZF.ZIP
- MD5 (JWIN31ZF.ZIP) = df199b63d858ca560610bc36042d886e
- (some older versions are available, but they didn’t install right)
- JOE 3.1jupp35 for Android (Debian sid/armel statically compiled with dietlibc 0.34~cvs20160606-7) tarball for extraction into the filesystem root (uses /system/etc and /system/xbin), with no warranties, is available in jupp’s contributed binaries.
- SRPMs and RPMs (various versions): Find there the subdirectory most closely matching your GNU/Linux distribution and proceed to the binaries. The SRPMs (source RPM in the */src/ subdirectories) should be all the same.
- Debian packages are available at The MirDebian “WTF” APT repository for etch/hardy/lenny and in Debian proper for squeeze-backports and wheezy onwards. Called jupp, these do not conflict but cooperate with an installed joe package from the distribution; the joe-jupp package contains the necessary symbolic links to use jupp’s other modes in favour of a separate joe package.
- jupp 2.x for DOS:
- JOE 2.8jupp3+ (snapshot 20181124) for MS-DOS® and Unix: bundle of
the *rc files, self-extracting LHarc archive. Download:
- https://www.mirbsd.org/MirOS/dist/jupp/JxRC281.EXE
- http://pub.allbsd.org/MirOS/dist/jupp/JxRC281.EXE
- SHA256 (JxRC281.EXE) = 7a02bc902f90775d4dd3d19220626a75d0aa115a2d18859fc6303b61268f6904
- RMD160 (JxRC281.EXE) = 09c49947baa52a1c7e31facc07a11794207e7ab9
- TIGER (JxRC281.EXE) = 29c8d47e3cdc9f38aa8a2392579adf43a30bfc5434d739bc
- 1022935916 42992 /MirOS/dist/jupp/JxRC281.EXE
- MD5 (JxRC281.EXE) = d0a15adfd5beda7718c1f25130e32895
- JOE 2.8jupp3 (released 20170809) for MS-DOS® (16-bit executable;
8086 or newer CPU), self-extracting LHarc archive — copy jupprc and
jupp.exe to a directory in the %PATH% to install. Note that 640 KiB
RAM are currently required in most cases, apparently. Download:
- http://www.mirbsd.org/MirOS/dist/jupp/JDOS283.EXE
- http://pub.allbsd.org/MirOS/dist/jupp/JDOS283.EXE
- SHA256 (JDOS283.EXE) = e2484d8628a84ffc9f7f1c9f7149be9e03f6262f7eef6935d836adef6631f3bd
- RMD160 (JDOS283.EXE) = 3f23f11b2afa667cd5617b024d8e614837ce1f94
- TIGER (JDOS283.EXE) = d76191398bbd96dc3d432c820378b3d19e74dd9b0b87375c
- 719652272 141632 /MirOS/dist/jupp/JDOS283.EXE
- MD5 (JDOS283.EXE) = e0730b66969968ed78a79e4469a9cb20
- Latest jupprc drop-in replacement for JOE 2.8jupp3: in CVSweb, direct download
- JOE 2.8jupp3+ (snapshot 20181124) for MS-DOS® and Unix: bundle of
the *rc files, self-extracting LHarc archive. Download:
This list may change in the future. Please note that jupp 2.8 almost (some minor fixes committed in the joe-2_8-msdos CVS branch) only differs from joe 2.8 by the presence of the new mode (i.e., the jupprc file), and that the new features and bugfixes started to appear in the jupp 3.x versions only. The jupprc-for-joe-3_7 CVS branch, again, is incompatible with the others; it has limited success bringing some jupp features to upstream JOE.
ChangeLog for Unix
[2022-09-28] Changes for joe-3.1jupp41:
- retroactively change jupp40 NEWS entry to reflect correct crash cause
- NUL-initialise a number of allocated items
- jupprc: fix bkwdc and fwrdc in the help screen
- format messages with more consistency
- gracefully handle -mnew/-mold argv macros quitting the editor
- autoconf --program-transform-name was never supported
- more retro compatibility — HP-UX 9 (m68k) c89(1)
- popen portability code: fix commands beginning with plus or dash
- update to UCD 15.0.0
[2020-10-30] Changes for joe-3.1jupp40:
- update UCD to fix new Hangul Jamo widths (D7B0‥D7FF)
- sh.jsf: update list of ksh “keywords” and sort it
- manpage: document indent chars for format/fmtblk (Debian #968926)
- HINTS: something | jupp -mold notmod -
- improve preformatted jupp32 manpage generation; tweak manpage
- do not delete a nōn-generated file on “make clean”
- fix crash on Ins/^V or ^O with standalone fortify-headers or on Mac OSX
- update SELinux client to current API
- fix some Coverity warnings
[2020-03-27] Changes for joe-3.1jupp39:
- Highlight HTML/XHTML and XML with content sniffing as well
- Improve shell highlighting substitution quoting handling
- Update autoconf to fix FTBFS on arm64, ppc64le and riscv64
- Fix SETUP.INF generation, make it run on Windows® 95, and remove old upgrade code; install to PROGRA~1 universally
- Work around a GCC on MIPS16 asm generation bug in IDSTRING
- Highlight more Tₑχ/LᴬTᴇΧ extensions
- Shrink built-in jupprc size by dropping specialist command ^KF
- Use more consistent header guards
- Update to UCD 13.0.0
- Major overhaul of charmap handling
- Massive dead parameter and code elimination and warning fixes
[2018-11-11] Changes for joe-3.1jupp38:
- fix issues pointed out by Coverity
- musl says to not use <sys/termios.h>
- fix opening files like +DESC
- update autoconf infrastructure
[2018-10-20] Changes for joe-3.1jupp37:
- fix syntax highlighting for Assembly and Java™: string termination
- unbreak reformat block when raw octets are present
- update to UCD 11.0.0
- improve line generation / screen output code wrt. UTF-8
- make UTF-8 decoding more robust
- fix Makefile.am EXTRA_DIST
- highlight .def and .dtx files as Tₑχ/LᴬTᴇΧ, .xsl (XSLT) as XML
- handle .bin files as binary (no CRLF, hex editing)
- improve shell grammar a little wrt. syntax highlighting
- fix occasionally stuck CUA marking (LP#1677671)
- do not lose the mark during some macros
- add icons distributors may wish to use
[2018-03-15] Changes for joe-3.1jupp36:
- fix too-wide prompt for ` (needs only 73 cols now)
- make ^QV/^QP after ^K] work
- fix Tₑχ/LᴬTᴇΧ highlighting on black-on-white terminals
- don’t forcibly disable -highlight for NXC files
- fix substitution of paths into generated files
[2018-02-14] Changes for joe-3.1jupp35:
- rearrange the jupprc help cards, adding missing items
- move isrch from ^[S to ^[T
- add/prefer ^QT for delbol
- move open from ^[b to ^]
- fix massive allocation miscalculation typo
- correct sizeof(a?b:c) where b=char[] misread as sizeof(pointer)
[2018-02-13] Changes for joe-3.1jupp33:
- Fix several issues pointed out by Coverity Scan
- Allow any char for {to,rv}match (goto next same in given direction)
- Fix regression: `` did no longer insert a sole `
- Improved file type recognition
- Render instruction to show online help as BLINKING BOLD to stand out
- Let screen scroll back to the left on ^QL, ^B, ^KD, while in hex mode
- Slightly safer saving of backup files, using fsync(2) if existent
- Add new command “sync”, to use with save in key macro if desired
- jupprc: add ^QV, ^[@, ^[! for better WordStar compatibility and move the previous ^[! to ^[' to match ^K'; fix eolmenu; replace bol with home for smarthome users; switch ^[? to show macros (matches WS), query moves to ^[/ (which was unused); ^U can abort menu and prompt (matches WS)
- Add WordStar documentation references (this and most prev. by crb3)
- Sync improvements across rc files
[2017-12-16] Changes for joe-3.1jupp32:
- Harmonise help rendering in jupprc (also for 2.8, 3.7, (NEW) 4.4)
- Update internationalisation data to Unicode 10.0.0 with bugfixes
- Don’t limit JOE_FILENAME
- Optionally be NOMMU-safe: use vfork(2), disable stuff needing fork(2)
- Let ^K] also remove whitespace at EOF
- Major code cleanup and a lot of warning fixes
- Improve syntax highlighting (conf, c, all dark blue-using ones)
- Don’t use sscanf(3) any more (dietlibc complains about bloat)
- Add way to disable use of the FPU (including Math), for klibc
- Make assume_color[sic!] actually work
- Recognise libncursesw for tgetflag(3); add --disable-terminfo
- Add a flag to disable SELinux even if found
- Modernise C features to C89 (prototypes!)
- Do not crash if inserting text from a macro after cursor moved
- With -DSMALL, use 8 KiB less .bss
- Do not write duplicate entries, e.g. into filename history
- Begin handling some pointer polymorphism more correctly
- Plug a few memory leaks
[2017-08-08] Changes for joe-3.1jupp31:
- Spelling and warning fixes from Lintian and Debian GCC
- Fix <bsd/string.h> usage issue on Haiku
- Make some signal handlers a bit more safe
- Remove unused Unicode categorisations (~15K in the binary)
- Update internationalisation data to Unicode 10.0.0
- Partial fix for redrawing lines with combining characters
- Quell stricter GCC 7 warnings
- Fall back to /dev/tty if stdin or stdout is not a tty(4)
- Add new command “abendjoe” to exit with errorlevel 1, cf. AbEnd
- Introduce “presentation mode”, F6 toggles zoom/fullscreen; F7/F8 go one file (“slide”) back/forth, F9 pipes the entire file (needs rectangle mode disabled) and offers previous command
- Fix some ctags operations segfaulting
[2017-01-11] Changes for joe-3.1jupp30:
- Fix spelling mistakes, some found by lintian (thanks!)
- Silence a GCC 6 warning about content of a comment (WTF‽)
- Fix segfault trying to fnext a block-restricted search when no block is active
- Make Freedroidz macro (^KF) more reliable, simpler, run parserr
- Apply several bugfixes and optimisations to the code
- Improve the jupp32 build script
- Fix a few places where allocated memory was not properly zero’d out
- Unbreak syntax highlighting for nōn-UTF8 locales (tty I/O charmaps)
- For systems without setlocale, remove optional @modifier part from LC_ALL/LC_CTYPE/LANG (if present) before testing for valid charmap
- Disable setlocale for old cygwin32; use the current codepage instead
- Add JOECHARMAP override for locale/codepage-detected I/O charmap
- Display codes 128–159 in the CharTable help card properly
- Avoid the Win32 console beeping on U+2022 • by making it non-printable (WTF)
- Improve some documentation façets
- Add -CYGhack command line option; use it in right-click menu (WTF²)
- Do not force use of /usr/local in configure on Solaris
- Use ~/.jupp/, not ~/.joe/, as basepath for user charmap/syntax files
[2016-10-30] Changes for joe-3.1jupp29:
- Document tab completion bugs, GPL library exceptions
- Update internationalisation data to Unicode 9.0.0
- Bind execmd in jstarrc to have it available in all flavours
- Fix some pathnames in the manpage
- Switch PDF manpage from A4 to PA4 paper size, allowing printing without scaling/cropping on both DIN ISO A4 and USA “letter” paper
- jupprc: ^Q= searches for merge conflict markers (CVS, git)
- Add syntax file for tex (LaTeX; *.cls *.sty *.tex)
- Make syntax highlighting code use UTF-8 by individual octets
- ^Q] now also works for ASCII quotation marks (jupp, jstar)
- ^Q[ is distinct from ^Q] when ambiguous (jupp, jstar)
- Unbreak tab-completing filenames with spaces
- Fix filenames with backslashes
- configure --enable-sysconfjoesubdir to also get the manual page
- Apply fixes from lintian, thank you!
- Only look in JOERC/termcap if its path does not include a delimiter
- Allow overriding the name of the built-in *jupprc (to *jupp32rc, so the jupp32 build can use the pristine source)
- Add win32 self-relocation, no hardcoded JOERC any more, optional (used in the jupp32 portable build but NOT for the Cygwin package!)
- Fix generating the manpage, now done by the Makefile
[2014-10-23] Changes for joe-3.1jupp28:
- Mention in comments that when enabling the -backpath option, its argument must not be quoted, nor followed by a comment; issue found by R. Hubbell
- Some mostly harmless code cleanup; fix speeds[] array access/sizing; reported by dcb (LP#1348559, LP#1348614)
- Fix size_t mixup
- Introduce ^KF (jupprc): compile and download NXC program to NXT brick, for Freedroidz, a project of Teckids e.V. sponsored by tarent solutions GmbH
- Better const-cleanliness of code
- Quell New File message for scratch buffers
- Fix URI in ChangeLog file
- Actually build with LFS on GNU/Linux
[2014-06-29] Changes for joe-3.1jupp27:
- Completely rewritten wctype and wctrans code to go with the completely rewritten wcwidth code from earlier. Accompanying update from Unicode 3.0.0 (and even there I’m sceptic) to Unicode 7.0.0…
- Minor fixes to C language syntax highlighting; use it for NXC too
- Fix compilation on SuSE Linux 1.0 (portability)
- Stop trying to match ed(1) diffs for highlighting (false positives)
- Fix a prototype mistake (Michael Tautschnig) and a missing joe macro
- Add cp437 encoding
[2013-11-07] Changes for joe-3.1jupp26:
- Syntax files are now both parsed and applied on bytes, not characters; matching on Unicode characters is possible using buffer/strings though
- Prevent segfault on ‘`…’ (out-of-bounds keymap array access)
- Fix m{,s}{old,new} operation when opening multiple files from cmdline
- Update “visible spaces” while typing and fix it for nōn-UTF8 files
- jupprc: No longer wordwrap *.{asc,doc,txt} by default
- Add five or six hooks (depending on whether CUA keymap exists) for modification to rc files (idea by Dominik George)
[2013-08-19] Changes for joe-3.1jupp25:
- Better colouring of diffs; better support for cvs(1) and git
- New wcwidth code; aligned with Unicode 6.2.0
- Several bugfixes related to crashes and other issues, e.g. LP#1198221
- Better handling of xterm(1) bracketed paste mode
- Sanitise handling of temporary files and honour $TMPDIR
[2013-01-05] Changes for joe-3.1jupp24:
- Bugfix for all *rc files: -guess_indent is a global option, not a per-file option; using it as the latter led to spurious whitespace mis-detection, remove them
- Treat *.asc and *.doc like *.txt
[2012-12-30] Changes for joe-3.1jupp23:
- Overhaul and harmonise syntax detection and editor defaults across all six *rc files (except jupp continues having no wordwrap by default and now disables guess_indent except in *.txt files); improve shell/mail wildcards; recognise a lot more diff files by pathname or content patterns
- Recognise more Python keywords in syntax highlighting (patch contributed by Eike Jesinghaus)
- Allow building against bionic libc (for Android)
- Securely make backup files using mkstemp(3) to avoid /tmp being exploited (security issue reported by Han Boetes)
- Print math results more precisely; if possible, as integer
- Permit hexadecimal input in math expressions (which include goto columns, lines and offsets, repeat counts, numeric options)
- Hook up GOTO “byte” offset command as ^QO, “col”umn as ^Q- and scratch (with præfix) as ^K- in jupprc
- ^KE no longer trashes buffers cloned by ^KO (therefore, ^K; does not need to split the screen before ctags(1) search any more)
- Address a clang-3.2 found bug and most scan-build warnings, though those mostly with pointless workarounds (and ignore some)
- Hook up new functionality in jupprc: ^[# inserts last math equation; ^[= its result
- Use ${SHELL:-${EXECSHELL:-/bin/sh}} for all commands using a shell, checking access to the binary with fallback to the next
- After ^KR, the current position is before the insertion, and ^QP jumps to after the insertion
- ^[p enters new bracketed paste mode in jupprc; enable xterm-xfree86 automatic paste mode in all rcs
[2012-09-02] Changes for joe-3.1jupp22:
- Fix ternary operator PHP syntax highlighting hiccup
- Fix C string percent handling syntax highlighting hiccup
- Use unlimited # of sync lines for Assembly, C, Java™, Perl, Python, Shell, Tcl highlighting, too
- Refresh wcwidth code from Unicode 6.1.0
- Check names of built-in files converted to lowercase, for Win9x
- Improve recognition of debdiffs and “bzr diff” output
- Sync built-in jupprc with full one
[2012-07-18] Changes for joe-3.1jupp21:
- Fix use of uninitialised memory
- Do not underflow attribute buffer in syntax highlighting code
- Use automake version fixing CVE-2012-3386
[2012-06-08] Changes for joe-3.1jupp20:
- Fix mistakes in the ctime replacement code for klibc
- Fix mistakes in the configure script
- Disable CR-LF mode upon entering hex edit mode
- Remove junk from files and improve comments
- Configure for Large File Support (on OSes that need it)
[2012-06-07] Changes for joe-3.1jupp19:
- Support ncurses tinfo split
- Use glibc specific get_current_dir_name if existent and PATH_MAX is undefined (as on Debian GNU/Hurd, for example) instead of a fallback value of 4096 with PATH_MAX-using code
- Build with dietlibc (wheezy) or klibc 2.0 now works: compatibility code added; supported by the official Debian package, as well
- Default syntax highlighting sync lines elevated to 120
- Ship ustar format distfiles, gzip(1) compressed, now; we assume if you want to compile jupp, you can compile or have tar(1).
[2011-10-04] Changes for joe-3.1jupp18:
- For waga
- Fix displaying ASCII tilde in non-UTF-8 encodings
- To not make backups is now the default for all flavours
- The jmacs flavour behaves a bit more like the jupp flavour (patch contributed by Johannes Langøy)
- In xterm(1), Shift-{Cur{Up,Down,Left,Right},{,Ctrl-}{Home,End}} now select text (idea contributed by Dmitry Geurkov)
- Fix bugs in *rc files; sync joerc and rjoerc with each other
- Unbreak passing -keymap on the command line
- New keymap “cua” (not jpico, jmacs) for GUI-like ^Z ^X ^C ^V
[2011-07-27] Changes for joe-3.1jupp17:
- For Johannes Langøy from Бања Лука
- Skip restoring the terminal after exiting jupp, so that the content of the last file edited is still visible for copy/pasting
- Improve syntax highlighting for shell
- Fix restoring context after losing sync for diff
- Improve diff detection in jupp
[2011-07-18] Changes for joe-3.1jupp16:
- Better match for Python files for *rc (except jupprc, which had this already)
- Improve jupprc file; split between three versions (2.8 for DOS, the packaged one for 3.1jupp and one for 3.7 without our patches)
- The jupprc file now has a character map (ASCII / 8-bit table)
- Clean up some compiler warnings; check for strlcpy/strlcat prototypes
[2011-07-02] Changes for joe-3.1jupp15:
- Update COPYING (refreshed from FSF master), strlfun.c (even more portable variant) from MirBSD base system; update various autotools helpers from MirBSD contrib section
- Refresh wcwidth(3) code from Unicode 6.0.0
- Provide better error messages when parsing syntax and rc files
- Ignore syntax keywords from diff.jsf that are not implemented yet
- Port to Minix 3 by user request on mailing list
- Display help hint (^J, ^KH, ^X^H) in initial status line
[2010-04-08] Changes for joe-3.1jupp14:
- Update diff syntax file from joe-current
- New option (L)ast in search-and-replace
- Backport some bugfixes from joe-current
- Let execmd cmd accept macros, not just commands
- Let macros cmd escape backslash correctly
- Flag --disable-getpwnam to link statically with eglibc
- Compiler warning cleanup
[2009-10-18] Changes for joe-3.1jupp12:
- Fix gcc warnings caught while porting to Debian sid, and others
- Use “\-” in the manual page to get dashes in groff’s UTF-8 mode
- login_tty(3) needs <utmp.h> on glibc systems; scan for it
- Add support for libbsd (Debian, fd.o)
- Unbreak SELinux support (still broken in joe-3.7 upstream! :þ)
- Fix `x## for 80‥FF in !UTF-8 mode
- Use the inverse/underlined U+FFFD for some more occurrences of undisplayable (control) characters and incomplete multibyte sequences; fix displaying these at end of line
- Ensure C0/C1 control characters are never sent to a UTF-8 terminal, even from non-UTF-8 documents
- Add built-in (minimal) jupprc file, for standalone EXEs
- Backport hex editing mode; improve it, use uppercase
- Implement `r## in UTF-8 mode (same as `x## in non-UTF-8 mode) and `u (interactive) in non-UTF-8 mode (same as `x in UTF-8 mode)
- Add new Makefile variable sysconfjoesubdir=/joe (to override the /joe in /etc/joe/jupprc for example)
- Update config.guess and config.sub
- Provide a real ANSI (cp1252) codepage
- Fix build on AIX with xlC, Solaris with SUNWcc
[2009-08-02] Changes for joe-3.1jupp11:
- Split into two separate lines of active development:
- JUPP for DOS (joe 2.8 plus some jupp patches and jupprc)
- JUPP for Unix (joe 3.1 with all jupp patches and a diverging, more featureful jupprc than joe-3.1jupp10 had)
- Use some joe 3.x features in jupprc: assume_color, guess_crlf, guess_indent, purify, smartbacks; some are disabled by default though (autoindent, smarthome, smarthome+indentfirst)
- Enable syntax highlighting by default in jupprc, by popular demand, even if I still loathe it personally, like Rob Pike
- Add language/syntax selection into jupprc, with Python settings adhering to the most common coding standards
- The termidx binary can now be disabled as a configure time option, it will not be compiled or installed; it isn't used normally anyway, especially not on modern Unix-like OSes
- The manual page symlinks are now installed automatically
[2008-08-25] Changes for joe-3.1jupp10:
- Build fixes (rcsid, symbol clashes) for Mac OSX iPhoneOS 2.0
- Make smartbacks work when autoindent is disabled
[2008-05-13] Changes for joe-3.1jupp9:
- Synchronise certain files with upstream: licence cleanup, gets rid of the advertising clause and mksh dependency in some helper files, fixes portability to e.g. Solaris
- Build fixes for AIX, gcc (thanks Adam "replaced" Hoka)
- Remove CR (DOS line endings) on ^K] as well in jupprc
[2007-02-18] Changes for joe-3.1jupp8:
- Bugfix (maybe) for backspace deleting more than it should when smart backspaces or auto-indent are off
- In UTF-8 mode, display illegal characters as reversed (inverse) underlined U+FFFD REPLACEMENT CHARACTER, one per octet (if these form a valid part of an invalid multibyte sequence, the first valid octets are not necessarily individually selectable)
- In UTF-8 mode, don't display the decimal ASCII value of a wide character; display the correct UCS-2 hex value (or <-2> for an invalid sequence or the 8-bit hex value of the octet for an invalid octet or invalid one-octet multibyte sequence) instead
- Upgrade to latest MirOS licence template
[2006-11-11] Changes for joe-3.1jupp7:
- Bugfix in bundled strlcat() implementation
- Bugfix (off-by-one array bounds) in from_uni()
- New option "vispace" to make spaces and tabs visible, like in Microsoft® Works®. Works best with Unicode.
- "noxon" and "baud" are now menu entries; these two and "keepup" have been moved to the top so they can be switched quickly if you're in an ssh situation
- Disable funny behaviour of keys in menus, fixes POLS
- Reduce memory usage a little
- In the options menu, if "return" is hit instead of entering a value, and it is not a string, it's handled sensitively: numbers keep their value, syntax gets unset, and encoding gets reset to the fdefault map.
- Nicely format the options menu (as columns); print values for the syntax and encoding options as well in the oversight, use ellipsis for strings which aren't displayed otherwise
- Spelling fixes in the options menu
- Honour internationalisation framework of MirOS #9-current and newer
[2006-10-18] Changes for joe-3.1jupp6:
Non-code (documentation) updates.
Regenerate externally fetched files and autotools stuff.
[2006-01-27] Changes for joe-3.1jupp5:
Documentation updates.
Regenerate externally fetched files and autotools stuff.
Fix help URI in jupprc.
[2005-08-26] Changes for joe-3.1jupp4:
Keyboard fixes and DEC VT320/VT420 support in jupprc.
Update of externally fetched subsystems. gzsig'd distfile.
[2005-02-12] Changes for joe-3.1jupp3:
Overhaul of jupprc, especially improving Linux and MS-DOS keybindings.
Several minor fixes. Conversion back to autoconf 2.59, automake 1.9.
[2004-11-11] Changes for joe-3.1jupp2:
Fix make install in mkinstalldirs for users who wish to install jupp,
but where the shell is not mksh but GNU bash.
[2004-11-10] Changes for joe-3.1jupp1:
Initial creation of joe-3.1 with a jupp resource file, fixed string
functions, unbreak the Tab key in search’n’replace windows; UTF-8
works on locale-less OSes such as OpenBSD; compiler warning cleanup
General information regarding changes:
Please see our CVSweb
for details.
ChangeLog for DOS
[2017-08-09] Changes for joe-2.8jupp3:
- Synchronise with joe-3.1jupp31 (jupprc, manpage)
- Ship complete binary packaging, not just jupprc
[2011-07-16] Changes for joe-2.8jupp2:
- Synchronise with joe-3.1jupp16 (jupprc, COPYING)
- The jupprc file now has a character map (ASCII / 8-bit table)
[2009-07-18] Changes for joe-2.8jupp1:
- Publish a version for Unix (ancient) and DOS, which is approximately en par with joe-3.1jupp10 for Unix (modern), considering its limited feature set
General information regarding changes:
Please see our CVSweb
for details.