~mirabilos/jupp/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
$MirOS: contrib/code/jupp/NEWS,v 1.141 2021/03/16 22:37:34 tg Exp $
-------------------------------------------------------------------

jupp-current

- …

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 on musl-libc and Mac OSX
- update SELinux client to current API
- fix some Coverity warnings

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

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

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

JOE 3.1jupp36

- fix too-wide prompt for ` command (needs only 73 columns 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

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)

JOE 3.1jupp33

- Fix several issues pointed out by Coverity Scan
  * dead code
  * use-after-free (minor)
  * uninitialised variables (no relevance)
  * TOCTOU in DEADJOE writing (major)
  * nil pointer deref (no to minor relevance)
  * infinite loop (indeed, but no practical relevance)
  * failure to restore non-local value (minor, unpractical)
  * memory leaks (minor)
  * fd leaks (minor)
  * some Coverity boilerplate
- Constify and clean up code further
- Allow *any* char for {to,rv}match (goto next same in given direction)
- Fix regression: `` did no longer insert a sole ` (etc.)
- Improved shebang and diff recognition of syntax highlighting file types
- Render instruction to show online help as BLINKING BOLD so it stands 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”
- (crb3) Add ^QV to jupprc; add WordStar documentation references;
  (tg) Rename ^[! to ^[' to match ^K'; (crb3) Add ^[@ and ^[!
- jupprc: 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)
- Sync improvements across rc files
- Remove obsolete GNU autoconf check

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(), disable stuff needing fork()
- 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

JOE 3.1jupp31

- 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

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 • 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

JOE 3.1jupp29

- Update internationalisation data to Unicode 9.0.0
- Bind execmd in jstarrc, so all flavours bind it
- Fix paths in joe(1) manpage
- 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

JOE 3.1jupp28

- Document to not quote the argument to -backpath nor append a comment
- Remove unused code, redundant checks
- Replace illegible code with better and more standards-conforming one
- Access fix for the serial line speed array
- 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

JOE 3.1jupp27

- Update complete internationalisation code and data 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)
- Add cp437 encoding

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 for modification to rc files (Natureshadow’s idea)

JOE 3.1jupp25

- Better colouring of diffs; better support for CVS and git
- New wcwidth code; aligned with Unicode 6.2.0
- Prevent accidentally freeing an environment string
- On SIGWINCH, resize menu to avoid using stale columns information
- msg command with empty argument now clears message buffer
- New "nop" command
- Permit changing keymap for prompt windows
- Fix CUA keymap paste mode
- Handle xterm bracketed paste for prompt windows
- In prompt windows (paste or regular), ^L is now nop (screen refresh)
- Honour TMPDIR environment variable (before TEMP)
- Sanitise handling of temporary files, somewhat
- Fix subprocess (pipe) corruption of data (LP#1198221)

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 (and make *.{asc,doc}=txt)

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), thanks Han Boetes
- Print math results more precisely; if possible, as integer
- Permit hexadecimal input in math expressions
- Hook up GOTO “byte” offset command as ^QO, “col”umn as ^Q- and
  scratch+præfix as ^K- in jupprc
- ^KE no longer trashes buffers cloned by ^KO and ^K; needs not split
- jupp: ^[# inserts last math equation; ^[= its result
- Use ${SHELL:-${EXECSHELL:-/bin/sh}} for all shells and check access
- After ^KR, the current position is before and ^QP after the insertion
- ^[p and xterm-xfree86 paste mode (automatic in the latter)

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 (a bit of CUA was added)

JOE 3.1jupp21

- Fix use of uninitialised memory
- Do not underflow attribute buffer in syntax highlighting code
- Use automake version fixing CVE-2012-3386

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

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
- Default syntax highlighting sync lines elevated to 120

JOE 3.1jupp18

- 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, 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

JOE 3.1jupp17

- Skip restoring the terminal after exiting jupp
- Improve syntax highlighting for shell
- Fix restoring context after losing sync for diff
- Improve diff detection

JOE 3.1jupp16

- Better match for Python files for *rc (except jupprc, which had it already)
- Improve jupprc file; split between three versions (2.8/DOS 3.7/*nix 3.1jupp)
- The jupprc file now has a character map (ASCII / 8-bit table)
- Clean up some compiler warnings; check for strlcpy/strlcat prototypes

JOE 3.1jupp15

- Update COPYING file from MirOS master (refreshed from FSF master)
- Refresh wcwidth code from Unicode 6.0.0
  XXX maybe use MirBSD libc code for {to,is}wc* too, extended beyond BMP
- Better error messages when parsing syntax and rc files
- Ignore syntax keywords from joe-3.7 diff.jsf that are not yet implemented
- Update strlfun.c with an even more portable variant from MirBSD/kern
- Port to Minix 3 by request of Alby <alb348@gmail.com>
- Display help hint in initial status line (unless -nonotice)

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

JOE 3.1jupp12

- Fix compiler warnings
- Fix the manpage wrt. UTF-8 hyphen/dash/minus
- Add missing headers on some platforms
- Add support for Debian libbsd
- Add way to disable warnings wrt. Anil Madhavapeddy's bounds checker
- Unbreak SELinux support
- 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 !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 !UTF-8 mode)
  and `u (interactive) in !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

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 by a configure option
- Manual page symbolic links are installed alongside the manpages

JOE 3.1jupp10

- Build fixes for Darwin
- Fix: smartbacks could not be used without autoindent

JOE 3.1jupp9

- Build fixes for AIX, gcc (thanks Adam "replaced" Hoka), any OEs
  without mksh installed
- Synchronise external files with upstream, licence cleanup
- Remove CR (DOS line endings) on ^K] as well in jupprc

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

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

JOE 3.1jupp6

- No code changes, only documentation and upstream sync

JOE 3.1jupp4

- Keyboard fixes in "jupprc"

- Add "ESC q" as alias for "^Q" in "jupprc"

- Update some files from upstream

JOE 3.1jupp3

- Fixed using new GNU Autotools

- Updated "jupprc"

JOE 3.1jupp2

- Fixed string functions

- Added "jupp" flavour

- No tab completion in search and replace ask windows

- UTF-8 works on LOCALE-less OSses (various BSDs)

JOE 3.1

- Regex and incremental search (jmacs ^S) now work for UTF-8

- More and improved syntax highlighting files, including Mason

- Use ^T E to set character set of file (hit <tab> <tab> at the
  prompt for a list of available character sets).

- Can install custom "i18n" style byte oriented character set
  definition files.

- No longer depends on iconv() (easier to compile)

- Fix bug where right arrow was not doing right thing on last line

- Fix UTF-8 codes between 0x10000 - 0x1FFFF

- Now prints <XXXX> for unicode control characters

- Improved smart home, indent, etc.

- TAB completion is now more "bash"-like

- When multiple files are given on command line, they end up in
  same order on the screen in JOE (before they were shuffled).

- Menu size is now variable (40% of window size or smaller if
  it's not filled).

- Added -icase option for case insensitive search by default.

- Added -wrap option, which makes searches wrap

- Added status line sequence %x: shows current context (function
  name if you're editing C).

- Added tab completion at search prompts and ESC-Enter for tab
  completion within text windows.

- Warn if file changed on save.

- Added Ctrl-space block selection method

- Added Ctrl-arrow key block selection method

- ^K E asks if you want to load original version of the file

- jmacs bugs fixes: upperase word, transpose words, ^X ^C is
  more emacs-like., ^X k and ^X ^V more like emacs.

- Much improved compile system ^[ c

- Much improved jpico

- aspell support.

JOE 3.0 (23 APR 2004)
- UTF-8
- Syntax highlighting
- Fixed ^C and ^D in shell windows
- Auto detect CR-LF (MS-DOS) files
- Fixed (or improved, anyway) shell windows for Cygwin
- During search & replace, the scroll found text on to screen
- File selection window is now 4 lines instead of 1
- David Phillips "smart home" key.
- Enhanced ^K , and ^K .
- Enhanced overtype mode
- Added picture drawing mode (can hit right arrow at ends of lines)
- Auto detect preferred indentation character TAB or SPACE

Overview of changes in JOE 2.9.8 (5 May 2003)
- fixed signal handling
- return of the context help
- fixed segfault when moving rectangular block
- code clean up
- killed deadlock when reformatting paragraph
- fixed skiptop handling
- SECURITY: drop suid and sgid bits when creating backup files
- fixed segfaults in isalpha()-like functions

Overview of changes in JOE 2.9.8-pre1 (14 Dec 2001)
- BUGFIX: don't exchange start and end point of the block in some cases
- defaulting to turn off -asis (locales take care of this; if joe doesn't
  print characters with 8th bit set properly, check if you have properly
  installed and set locales or simply turn on -asis option in joerc)
- fix to make joe compilable on *BSD
- fix to make joe compilable on systems without siginterrupt()
- added "support" for End key
- code cleanup: warnings removal (some still remaining, working on it)

Overview of changes in JOE 2.9.7 (7 Nov 2001)
- BUGFIX: always save (even not-modified) file
- BUGFIX: solve problem with freezing after saving unmodified file
- small documentation update

Overview of Changes in JOE 2.9.7-pre3 (29 Oct 2001)
- BUGFIX: wordwrap bug fixed (again and I'm sure forever)
- BUGFIX: don't change window when setting mark in multiwindow mode
- BUGFIX: use automake-1.5 to make joe compile on irix-6.5 with non-GNU make
- continuing code clean up: this code adds strict prototypes which raises
  a lot of warnings (they seem harmless) - we're working on their removal

Overview of Changes in JOE 2.9.7-pre2 (10 Oct 2001)
- use automake and autoconf for configuration system (for now versions
  automake-1.4-p4 and autoconf-2.52)
- a lot of warnings of compiler were removed
- SECURITY:: use mkstemp() for temporary files if available
- code clean up

Overview of Changes in JOE 2.9.7pre1 (19 Jul 2001)
- help system was slightly modified
- a lot of warnings of compiler were removed
- BUGFIX:: problem with freezing when save was solved (at least partially)
- BUGFIX:: undo after save of file (again same patch)
- FEATURE:: suffix of backup copy from SIMPLE_BACKUP_SUFFIX environment
  variable

Overview of Changes in JOE 2.9.7pre0 (02 Jul 2001)
- major BUGFIX:: wordwrap problem
- BUGFIX:: indentation
??* JOE can be compiled on Windows platform again
??* BUGFIX:: problem with ${sysconfdir}/joerc was solved

Overview of Changes in JOE 2.9.6 (13 Apr 2001)

- BUGFIX:: resizing window
- JOE can be compiled on Windows platform again
* BUGFIX:: problem with ${sysconfdir}/joerc was solved
- BUGFIX:: security patch for sprintf
- BUGFIX:: partially solved problem on Solaris with SegFault
- BUGFIX:: patch joe-2.8-security (slightly changed)
- BUGFIX:: patch joe-2.8-port
- BUGFIX:: patch joe-2.8-mips
- BUGFIX:: patch joe-2.8-vsmk
- BUGFIX:: patch joe2.8-time
- *rc files where moved from $(prefix)/lib to $(prefix)/etc or $sysconfdir
- Makefile.in (and Makefile) was rewritten
   - special prefix for package (more in Makefile.in)
   - use of system independent 'mkinstalldirs'
   - rc files are not rewritten
- TEST FEATURE:: added autoconf support
		program can be installed by ./configure; make; make install
- BUGFIX (v2.9.4):: go to previous word problem solved
- JOE can be compiled without locale.h again
- BUGFIX:: patch joe2.8-axphack.patch
- BUGFIX:: patch joe2.8-resize2.patch
- BUGFIX:: fixed problem with :include in rc files
- BUGFIX (v2.9.5):: portability problem with is_blank on nonGNU systems

Overview of Changes in JOE 2.9.5 (28 Mar 2001)

- new BUG:: can't be compiled on non-GNU systems (is_blank()) fixed in v2.9.6
- BUGFIX:: Fixed problem with resizing.
- SECURITY:: .[joe|rjoe|jpico|..]rc in actual directory is ignored
             because in this file can be defined which program run.

Overview of Changes in JOE 2.9.4 (27 Mar 2001)

- new BUG:: go to previous word; goes one character before this word
            fixed in v2.9.6
- FEATURE:: locale (LC_CTYPE) is accepted when skipping/deleting/... words

Overview of Changes in JOE 2.9  (22 Mar 2001)

- version 2.8 with patches from RedHat/Suse

Overview of Changes in JOE 2.8

- Fixed problem with TERMPATH string
- Added stupid two-letter names to termcap file
- Improved jmacs help and command set
- Improved README file

Overview of Changes in JOE 2.7

- putenv() was not portable
- utime was not portable
- special utime handling for NeXT
- forgot to \\ the \s in the default termcap entry
- changed some key defaults in jpicorc
- add IXOFF in termio/termios list
- left margin limit was incorrect
- allow '.' and '/' in file names for error parsing
- Needed ptem.h and stream.h for SCO_UNIX window size structure (?)
- wordwrap no longer propogates indent prefix
- paragraph format was broken for tab indented paragraphs
- pipe through shell now goes through stderr too
- added '-crlf' option
- looks for termcap file in JOERC/termcap

Overview of Changes in JOE 2.6

- Fixed stupid bug in termcap.c which prevented terminfo from working
- ESC h was missing from jpicorc
- Changes suggested by Dan Nelson:
   - backup files now attempt to have same permissions and times as original
   - Stat command now ands chars with 255 (don't know why this worked on my system
     without this...)
   - Maybe change shell invocation name- have to check this more

Overview of Changes in JOE 2.5

- No longer use ^[ O, ^[ A, ^[ B, ^[ C, or ^[ D for anything because they
  interfere with arrow keys.
- Couldn't create new files because of bug in readonly setting
- fwrdc/bkwdc were crashing the editor except when called from wordstar
- 'tr' command was not called in a portable way in jmacs
- 'tr' was causing problems with the spell-check macros as well
- filter region was not working: had to add 'query' in ^[ | macro
- Changed incremental search so that whatever key the command is bound to
  can be used to repeat the search (used to only be able to use ^S)

Overview of Changes in JOE 2.4

- Closing message was incorrect when exit macros (macros where the last
  command is abortbuf) were used.
- SuperPico rc file added
- Write block now writes the entire file if no block is set
- Added pico kill function for pico emulation
  (tried to do this with 'psh,markk,blkdel' where blkdel deletes lines if
   no block is set, but it didn't group the deletes right in the yank
   buffer)
- Filter block would leave the marks set
- Fixed ^@ in joe mode
- Fixed help screen glitches in wordstar mode
- If joe can't make a backup file it now prompts for you to save anyway
- Eliminated IDLEOUT compile option.  Now is the user gives - on the
  command line, joe uses /dev/tty.
- Added %o %O %a %A %X and %R status line messages
- Starts out in read only mode if loaded file can not be written to
- If joe can't find the termcap/terminfo entry, it instead uses the default
- termcap routines are now included even if you use terminfo.  If your
  terminal can't be found in the terminfo database, it will look in
  the termcap database too.
- The JOETERM environment variable can be used to bypass the TERM
  environment variable setting.

Overview of Changes in JOE 2.3

- Search & Replace bugs fixed
   - replace would mess up the end mark of a marked block
   - a search would trash ^KB if only ^KB was set
   - regex problem with \*
- Was using TCSANOW in posix driver.  Should have been using TCSADRAIN
- Format paragraph now correctly formats quoted news articles
- Attempted fix for SCO
- Fix for coherent
- Fix for old IRIX/SGI
- Fixed bug where if you used search & replace in a macro, and exiting the
  search & replace loop with right arrow key, then when you played the macro
  you got an extra ^[ in the input queue
- Added file hooks
- Added function to insert current keyboard macro into current file
- Added range checks to numeric option settings
- Restricted joe rc file added
- Added ':def' feature for rc files

Overview of Changes in JOE 2.2

- First attempt at MS-DOS version of joe
   - Direct screen write
   - Modifications for dos file/drive names
   - Use TEMP variable to figure out where to store temporary file
   - Smaller virtual memory page size
   - Backslashes in file name problem
   - CR before an LF looks like an LF
- Backward search ignore-case was not working
- Scalable window height was not working fully
- Spaces in file-names gave a problem with backup file creation
- TILDE option is not available in all versions of BSD
- Allow : as seperate for termcap filename list
- Next error / Prev. error was not tracking right
- tabs not displayed right in nxterr/prverr messages
- Block moves where the cursor was to the right of the block was broken

Overview of Changes in JOE 2.1

- rc file wasn't giving correct error messages for missing options
- the '-nobackups' options was mispelled: '- nobackups'
- editor was crashing because of problem in undo
- update bypass in utype has a problem when wordwrapping and scrolling