# jstools changes from 3.6/3.0 to 4.0/4.0

(See also lib/jdoc/jedit-changes.jrt)

This documents changes between versions 3.6/3.0 and 4.0/4.0 of the jstools package. Changes after 4.0/4.0 are also documented, and Changes up through version 3.6/3.0 are documented too, albeit a little more haphazardly.

## Before version 4.0/4.0

before 1995.03.30

- wrote jnls.tcl
- started writing jnls.tcl document
- incorporated calls to `j:nls` in jstools libraries
- modified documents for them to mention it

1995.03.30

- finished incorporating `j:nls` into jstools libraries (error calls)
- changed `j:nls` to use `subst` if available, and emulate it otherwise
- documented that fact

1995.04.01

- wrote `j:nls:underline`, `j:nls:accelerator`, `j:nls:set_defaults`
- finished jnls.tcl library documentation
  (almost - needs a little reorganisation and a section on databases)
- began jcommand.tcl
  `j:cmd:register`
  `j:cmd:list`
  `j:cmd:menuentry`
  (to add: make accel display optional)
  `j:cmd:button`
  (needs work: size, and ability to show underline, accelerator)
  `j:cmd:bind`
- started documentation for jcommand.tcl

1995.04.02

- renamed `j:cmd:`... procedures to `j:command:`...
- documented
  `j:command:register`,
  `j:command:list`,
  `j:command:menuentries`,
  `j:command:button`,
  `j:command:buttonbar`,
  `j:command:bind`
- added `j:command:menuentry` alias for `j:command:menuentries`
- started jstools.tcl library
- registered `j:cmd:prompt_tcl` and `j:cmd:prompt_tcl` in `j:jstools_init`
- modified `jdoc` to use jnls.tcl and jcommand.tcl libraries (changed `jdoc` Done button to Quit)
- modified `jabbrevs` to use jnls.tcl and jcommand.tcl libraries.

1995.04.03

- modified `jmore` to use jnls.tcl
- BUG FIX: `jmore` now complains gracefully if you give it a directory name.
- modified jedit_cmds.tcl to register commands
- modified jedit_menus.tcl to use `j:command:menuentries`
- BUG FIX: fonts with spaces in name didn't work in `-font` option to `j:more`

1995.04.04

- split jmenu.tcl off from jcommand.tcl
- redid documentation to match
- wrote `j:menu:menubutton`, `j:menu:checkbuttons`, `j:menu:checkbuttons`
- documented the above
- more work in jedit_menus.tcl to use new libraries
- Tk4 BUG FIX: removed reference to tk_entryBackSpace
- stole code from Tk library to replace reliance on internals in `j:ek:see_insert`
- Tk4 BUG FIX: now programmatically trash all Entry and Text keybindings :-)

1995.04.05

- redid Filter menu in jedit to use command procedures - jedit_menus.tcl is done
  (changed Capitalise to Uppercase)
- added Filter command procedures
- wrote `jedit:guarantee_selection` and used in indentation cmds
- in `j:command:bind`, wrapped `bind` in a `catch` to deal with bad keysyms
- redid jedit_bindings.tcl to use `j:command:bind`
- made all punctuation that's handled specially checkpoint widget state
  (improves usefulness of checkpointing)
- added parenflash to Prefs menu
- added `j:nls:short`, modified `j:command:button`[`bar`] to use it
- made `jedit:mkbuttonbar` use `j:command:buttonbar`
- updated modes to use new button stuff: `code`, `richtext`, `note`, `tcl`, `exmh`, `mh`.

1995.04.06

- documented `j:nls:short` in jnls.tcl.jdoc; documented it's use by `j:command` jcommand.tcl.jdoc
- documented parenflash on `jedit` Prefs menu
- documented checkpointing on punctuation in `jedit`
- started updating jedit_prog.jdoc
- added reading of ~/.tk/jstools.ad, ~/.tk/jstoolsrc.tcl to `j:jstools_init`

1995.04.08

- added support for distinct accelerator string (`j:nls:accelerator`) and binding (`j:nls:binding`)
- documented above
- documented ~/.tk/jstools.ad, ~/.tk/app.ad, ~/.tk/jstoolsrc.tcl
- made `j:jstools_init` set `JSTOOLS_VERSION`, removed from boiler_header.tcl
- finished updating jedit_prog.jdoc
- updated jeditmodes/jdoc-mode.tcl for jnls usage
- checked following files for jnls usage:
  jedit_bindings.tcl
  jedit_checkpoint.tcl
  jedit_io.tcl
  (jedit_menus.tcl done)
  jedit_modes.tcl
  jedit_paren.tcl
  jedit_tags.tcl
  jedit_typing.tcl
  jedit_ui.tcl
  jedit_util.tcl
- started jtclutils.tcl with `j:default`

1995.04.09

- updated jdoc-mode.tcl, mail-mode.tcl
- added Escape to `j:cancel_button`, documented
- updated jedit_cmds.tcl for jnls usage
- updated jedit_prefs.tcl for jnls usage; changed strings and layout

1995.04.10

- added j:menu:docs
- updated jabbrevs to use it

1995.04.12

- added help menu to jedit
  (didn't update all modes, just Tcl)

1995.04.15

- documented `j:menu:docs` in jmenu.tcl documentation.
- played some with jbindtext.tcl, jbindentry.tcl; improved, but not fixed.

1995.04.17

- added prefixes to NLS [now LDB] keys for `jedit`, `jmore`.
  (`jabbrevs`, `jdoc` don't really need it.)
- kludged together a workaround for Tk4 binding mechanism in jbind{text,entry}.tcl.
  [obsoleted by production release of Tk4.0]
- removed `-relief flat` (or `sunken`) from various commands in lib, bin
- removed some `j:rule`s from `jedit`, jmore.tcl.
- axed `j:current_focus` (it didn't work, anyway)

1995.04.19

- changed `j:read_prefs` and `j:write_prefs` to generate/read Tcl code
  also add .tcl to filename
- (`jedit` still has problem of Done button not working...)

1995.04.20

- documented new jtclutils.tcl library
- documented changes to jprefs.tcl

1995.04.21

- updated modes to use `docs` preference
- updated modes to use jnls throughout
- axed the old `jhelp` application (it didn't work any more)
- fixed bug where Delete didn't delete selection at beginning of text (or ^D at end)
- fixed bug in fontpreference pane of `jedit` preferences panel (didn't work at all)
- fixed bug where `jedit` would die if you specified a nonexistent mode
- fixed arguable bugs where panels couldn't handle jnls strings with substitutions
  (added `uplevel`'s to perform substitutions in caller's context)
- fixed `jedit` bugs when user specified a directory or an unreadable file
- moved some `jedit` commands from Editor to File menu
- moved some `jdoc` commands from Doc Viewer to Document menu
- moved some `jabbrevs` commands from Abbrevs to File menu
- restarted work on `jnewbrowser`

1995.04.22

- changed jbind* code to match new Tk4.0b3 patch (bind tag order)
- fixed some bugs related to jedit special bindings (punctuation, etc.)
- fixed bug where check for directory/unreadable file was in the wrong place

1995.04.23

- removed Escape binding from `j:cancel_button` again (conflicts with Emacs keys)
- added `break` under Tk4 to `j:cancel_button` and `j:default_button`.

1995.05.06

- added new wrapper scripts, and documented:
  `jalert
  ` `jcolname
  ` `jcolrgb
  ` `jconfirm
  ` `jfs
  ` `jprompt`
- fixed bug in `j:prompt_colour_*` where user-specified prompt was being ignored because it wasn't found in nls database and there was a default given to the `j:nls` call`
  `

1995.07.19

- improved Tk4.0 compatibility of jpeople (mostly bindings)
- started jedit HTML mode

1995.07.24

- fixed bug where jprefs.tcl would fail when the directory it was writing to was a subdirectory of a directory that didn't exist (in practice, writing jedit modespecific preferences when ~/.tk doesn't exist)
- added Esc-space Emacs binding
- more work on jedit HTML mode

some changes lost here

- somewhere in here I fixed a bug where all jstools applications would fail if `USER` was undefined (e.g. under bash); now I'll use `LOGNAME` or the last element in `HOME`

1995.08.11

- more work (still undocumented) on HTML mode

1995.08.14

- updated copyright notice on all files (made less restrictive)

1995.08.19

- Tk4.0 compatibility changes to jpeople
- bug fix: `WM_DELETE_WINDOW` handler for jpeople didn't pass a window name`
  `

1995.08.19

- (re)added PS organiser page output to jpeople
- added `jpeople:` prefix to all jpeople procedures that didn't have it already
- commented out some nolongerused jpeople procedures
- integrated PostScript preamble (not yet sufficiently general) into jpeople script
- modified character encoding in jpeople PostScript preamble; made ISO accents nonspacing (yes, I know that violates the standard...)
- fixed several bugs with bindings not including `break` in Tk4, notably in jfs.tcl and the jdoc topicselection panel. No doubt more to be found.
- fixed bug where `j:tag:archive_text_widget` added a newline at the end of the text in Tk4
- fixed jpeople's Save As... command
- documented html mode
- added global preferences for Web browser and man page viewer
- created jviewers.tcl to use new preferences
- made jdoc_hypertext.tcl use new procedures from jviewers.tcl
- documented commands moved from misc. menu to File menu in jabbrevs, jdoc, and jedit

1995.08.22

- changed `break` to `continue` in `j:nls:set_defaults`; this fixed bug where if a key was repeated, the rest of the database wouldn't be read

1995.08.24

- changed jnls.tcl (and databases) to use period instead of underscore as separator (e.g. en.uk.cockney instead of en_uk_cockney) and documented change; I think this is the standard

1995.09.06

- overrode `<B1-Leave>` in jtextmouse.tcl to see if this fixes the problem with the selection becoming sticky
- commented out B3 bindings in jtextmouse.tcl - this lets gesturecut and paste from my .tk/jeditrc.tcl work again
- minor changes to html-mode.tcl - mostly adding underlined characters to HTML menu

1995.09.15

- added `-line` option to `jedit:jedit` in jedit_utils.tcl, documented
- added `+`linenumber commandline syntax to jedit command, documented
- changed `nls`/`NLS` to `ldb`/`LDB` throughout the code (including pathnames and documentation)
- changes to my ~/.tk/jeditrc.tcl implementing gesture commands and popups - this will eventually find its way into jedit and/or its own library (undocumented)
- fixed bug in `j:ldb:read_database_recursively` that prevented any but the mostspecific database from being read

1995.09.16

- worked on improving focus behaviour when various dialogue panels are closed

1995.09.24

- fixed bug with `jedit:pipe` and `jedit:text_regsub` when `sel.last` was at the end of the text (not quite sure why it was occurring, but I worked around it)
- added missing ``$w see insert`' in `j:text:replace`

1995.09.25

- fixed `j:emb:sel_word` for Tk4
- implemented TkMan support in jviewers.tcl (stole code from contrib/remote.tcl in distribution)

1995.09.26

- documented jedit Help menu
- fixed jedit unindent command for lines beginning with tabs
- updated jedit documentation; flagged everything that currently needs attention
- fixed Tk4 scrolling bugs in jmore.tcl (and hence jmore)
- added `-annotation` option to jmore.tcl (and documented)
- added special processing of .jrt files to jmore (and documented)

1995.09.29

- fixed (at least under 4.0) ergonomic bug in `j:fs` and `j:prompt` where end of a long pathname would be hidden after Tab
- fixed bug in j:fs where pressing Return after typing a full path (with initial slash) to a directory would return the directory rather than just `cd`'ing in the file selector
- kludgily made jtagconvert.tcl translate jdoc links, documented. (no interface to `J_PREFS(html,jdoc_prefix)` yet) (whole hypertext mechanism needs to be made more general; also, relative v. absolute links are a problem)

1995.10.01

- fixed joptionbutton.tcl Tk4 binding bug where original listbox bindings were getting called
- modified jtextmouse.tcl to use Tk4.0 mechanism for dragscrolling
- removed support for dragscrolling under Tk3 from jtextmouse.tcl
- added gesturecut, gesturepaste, two gesture menus to jedit, documented
- documented shell utilities in jstools main documentation
- removed mention of `jhelp` in jstools main documentation
- updated all documentation for version number
- updated all documentation and jabout.tcl for email address

1995.10.02

- fixed bug where jmore wouldn't exit when you closed the last `j:more` window if there was a `j:find` panel open
- added .jdoc support to jmore; documented
- documented jviewers.tcl

1995.10.03

- updated copyright notices in library file documentation

1995.10.05

- updated htmlmode documentation

1995.10.06

- updated jcommand.tcl documentation
- updated jmenu.tcl documentation

1995.10.09

- wrote jstools/ldb.jdoc
- updated jldb.tcl.jdoc
- updated all library documentation files for localisable parameters
- checked all library documentation files for flagged sections
- updated jtagconvert.tcl to handle `foo.jdoc#anchor` -> `foo.html#anchor`
- converted docs to HTML

1995.10.12

- fixed jbrowser listbox bindings for Tk4
- added catch to `focus -force`... in jmore.tcl (need to do other dialogue panels)

1995.10.13

- fixed some Tk4 binding and scrolling bugs in jbrowser
- added `-underline`s to jbrowser
- fixed address in about boxes
- made jcalendar create ~/Calendar if it doesn't exist; no longer tries to use ~/.xcal
- minor fixes to jmsgs
- some work on jlaunchpad

Released beta version 4.0/4.0b.
1995.10.29

- cleaned up jstools.jdoc a little
- fixed old references to jnls.tcl (now jldb.tcl)
- added language_codes.jdoc and country_codes.jdoc and made appropriate links
- removed (superfluous) TkMan checkbox from jdoc preference panel; Global Preferences let you choose a man page viewer

1995.11.01

- trimmed out Changes sections, removed Evolution heading from documentation (still need to merge old Changes sections into a single document or so)
- started `jrtgrep` tool (in `etc`, not yet `w-in-p`)
- started changing `calumet.org` to `aq.org`

1995.11.02

- turned this list into a jdoc document
- turned old changes sections from individual jdoc files into a separate document, made links

1995.11.03

- removed help-mode.tcl; it was broken, and there's no longer a jhelp to write documents for

1995.11.03

- fixed bug in `j:wm_client`; it was searching for the existence of a `hostname` command with full pathnames but calling it without, so if the command existed but wasn't in your path you'd get an error
- changes to jmore.tcl and jmore executable to work around problem with widget destruction in Tk3 (bug in my code - not `catch`ing `focus`ses, and I think also a bug in Tk3 to do with widget destruction - `exit 0` seems not to work during deletion of a widget, so I wrap it in an `after`)

1995.11.04

- `calumet` -> `aq` in jbr_cmds.tcl jdoc_cmds.tcl jedit_cmds.tcl and jtextmouse.tcl
- last few fixes to documentation (Tk compatibility section, `localisable', version numbers)
- added `j:about_donations` procedure, added Donations button to about boxes to list my favourite charities

1995.11.08

- updated jslibraries.jdoc; it hadn't listed all the libraries

Released version 4.0/4.0.
`
`