The current version is joe-2.8jupp1 for MS-DOS® compatible systems, and joe-3.1jupp14 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
- Wishlist
- 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 predecessor from DR DOS 3.41).
Features
Basic differences between joe and jupp are:
- obviously, another flavour, jupp, similar to jstar
- utf-8 support on non-locale-aware OSses
- 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-missing-field-initializers -Wno-cast-qual -Wno-strict-prototypes -Wno-missing-prototypes -Wno-missing-declarations -Wno-unused (gcc3) plus -Wno-pointer-sign (gcc4)
- improved options menu
- visibled spaces
- with --disable-getpwnam can be linked statically on (e)glibc
Neat tricks:
- 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 - Remove whitespace from EOL: ^K ]
- Hex Editor: ^O g
Documentation
We have a PDF manpage, HTML manpage, and you can use CVSweb to browse the source and documentation on-line.
Retrieval
Direct download
You can download jupp at least from one of the following mirrors:
- https://www.mirbsd.org/MirOS/dist/jupp/joe-3.1jupp14.cpio.gz
- http://pub.allbsd.org/MirOS/dist/jupp/joe-3.1jupp14.cpio.gz
- ↑ Unix │ DOS ↓
- https://www.mirbsd.org/MirOS/dist/jupp/joe-2.8jupp1.cpio.gz
- http://pub.allbsd.org/MirOS/dist/jupp/joe-2.8jupp1.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:
- RMD160 (joe-3.1jupp14.cpio.gz) = 4ea677840fd80d95f095478751e5c0648d2cf08d
- TIGER (joe-3.1jupp14.cpio.gz) = d6bb020431e4628aa51d668b3f9f23d3ed7f995f3473e935
- 1073870147 430009 /MirOS/dist/jupp/joe-3.1jupp14.cpio.gz
- MD5 (joe-3.1jupp14.cpio.gz) = ffb858edf23774e0cade5f035faaeae7
- ↑ Unix │ DOS ↓
- RMD160 (joe-2.8jupp1.cpio.gz) = fb79036bc8842354041b1b4c997b3a82580b2d9c
- 1183719912 211453 /MirOS/dist/jupp/joe-2.8jupp1.cpio.gz
- MD5 (joe-2.8jupp1.cpio.gz) = fb49832e003751044cff2c4482626502
- TIGER (joe-2.8jupp1.cpio.gz) = f11fa1ab34b345d8a6fc9ace714c1744a37b4442cff05627
Unpacking
Use a command like
$ tar xzf joe-3.1jupp14.cpio.gz # paxtar, bsdtar
$ gzip -dc joe-3.1jupp14.cpio.gz | cpio -mid # any cpio
$ pax -r -z <joe-3.1jupp14.cpio.gz # any POSIX® archiver
$ gzip -dc joe-3.1jupp14.cpio.gz | pax -r # on MS Windows®
to extract the distfile. The DOS version requires similar commands.
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 $ 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 Unicode 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), Debian (gcc4), Solaris 8 (gcc), Solaris 10 (SUNWcc -xO4 -xipo=2), …
Binaries
These pre-compiled binaries are currently available:
- jupp 3.x for Unix:
- JOE 3.1jupp14 for Windows® (cygwin stand-alone compiled;
comes with its own copy of cygwin1.dll and a setup.inf file for easy
installation), self-extracting LHarc archive, right-click on the inf
file and select _I_nstall. You may have to acknowledge a warning for
a missing digital signature. Edit C:\WINDOWS\SYSTEM32\JOE\JUPP32RC
to disable the syntax highlighting. Download and checksums:
- https://www.mirbsd.org/MirOS/dist/jupp/JWIN31E.EXE
- http://pub.allbsd.org/MirOS/dist/jupp/JWIN31E.EXE
- RMD160 (JWIN31E.EXE) = 3cb51d7094ea93bdc86d1795dbf53f9fdfba9885
- TIGER (JWIN31E.EXE) = 41e4e3d3a99093f5277515569e25552c46995162ddbbb6e2
- 2946426661 976016 /MirOS/dist/jupp/JWIN31E.EXE
- MD5 (JWIN31E.EXE) = db9545586a15d21cd71ad9d6acad607a
- JOE 3.1jupp11 for Windows® (cygwin stand-alone compiled;
comes with its own copy of cygwin1.dll and a setup.inf file for easy
installation), self-extracting LHarc archive, right-click on the inf
file and select _I_nstall. You may have to acknowledge a warning for
a missing digital signature. Download and checksums:
- https://www.mirbsd.org/MirOS/dist/jupp/JWIN31B.EXE
- http://pub.allbsd.org/MirOS/dist/jupp/JWIN31B.EXE
- RMD160 (JWIN31B.EXE) = f9eb9f6b3bd2a1bb5874e36d2dcc6dbdaabf75cc
- TIGER (JWIN31B.EXE) = 771461b752114978ed64f67c01e3ef22a9a9cdf76fda6b11
- 674256238 948176 /MirOS/dist/jupp/JWIN31B.EXE
- MD5 (JWIN31B.EXE) = b2d3f1044221fdea76f15621e94e1ae4
- 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.deb” repository. Called jupp, these do not conflict with an installed joe package from the distribution, which may be more recent (but lack jupprc and our bugfixes); the jupp mode is the only one published, but the other rc files are still included. The joe-jupp package contains the necessary symbolic links to use jupp’s other modes in favour of a separate joe package.
- JOE 3.1jupp14 for Windows® (cygwin stand-alone compiled;
comes with its own copy of cygwin1.dll and a setup.inf file for easy
installation), self-extracting LHarc archive, right-click on the inf
file and select _I_nstall. You may have to acknowledge a warning for
a missing digital signature. Edit C:\WINDOWS\SYSTEM32\JOE\JUPP32RC
to disable the syntax highlighting. Download and checksums:
- jupp 2.x for DOS:
- JOE 2.8jupp1 (released 20090718) 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 the DOS
version comes without the COPYING and other rc files. Download:
- https://www.mirbsd.org/MirOS/dist/jupp/JDOS281.EXE
- http://pub.allbsd.org/MirOS/dist/jupp/JDOS281.EXE
- RMD160 (JDOS281.EXE) = 22ac90c7a95f5286a7cf934a39ef8986bef8ac9b
- TIGER (JDOS281.EXE) = 865eca8722492422493f849546074cdbb16b8e7f18df071a
- 1316941124 105360 /MirOS/dist/jupp/JDOS281.EXE
- MD5 (JDOS281.EXE) = 382ff7d173fdb18553f96c6e5cdff2db
- JOE 2.8jupp1 (released 20090718) 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
- RMD160 (JxRC281.EXE) = c8b85b9edd1115ac4ac2e15042dd8d0a86618d20
- TIGER (JxRC281.EXE) = 6b88c72fa8750cd7cafb68182da3ebff429a68b42efe8ad0
- 2084697129 35728 /MirOS/dist/jupp/JxRC281.EXE
- MD5 (JxRC281.EXE) = 540870f1598ea3a4a9d4e688092f92f6
- JOE 2.8jupp1 (released 20090718) 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 the DOS
version comes without the COPYING and other rc files. 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.
Wishlist
It’d be cool if jupp could…
- look for ${0}rc in $(dirname $0)/ (somewhat superseded by the built-in minimal-jupprc now though…)
- soft line break: display as line-wrapped, but save no newlines
ChangeLog for Unix
[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 occurences 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 ressource 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
[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.
