Forked from
mcclim / clim-tos
292 commits behind the upstream repository.
RELNOTES.60 6.14 KiB
Release notes entries for the next release. -*- mode: text -*-
rfe4169: items 1-5
************* add new entries below this line *********************************
1. rfe3925. CLIM now works in a case-sensitive Lisp. CLIM now will
work in two flavours of Lisp: `traditional' ANSI Lisp -- standard
CL symbols are uppercase, the reader converts non-escaped symbols
to uppercase; `modern' Lisp -- standard CL symbols are lowercase,
and the reader does no case conversion. In the former case, all
exported CLIM symbols are uppercase as before; in the latter they
are lowercase.
2. spr21587. On Windows platforms, NOTIFY-USER now always raises the
dialog box it creates to the top of the window stack. Formerly it
could be buried behind other windows if the CLIM application frame
was itself buried.
3. bug8764. Lisp will not prompt you to be sure you want to exit Lisp
if CLIM timers have been used. Previously if exited Lisp it would
ask you to confirm that you wanted to do so if you'd ever used a
timer.
4. <norfe>. For Unix/Linux the CLIM debug fasls (clim-debug.fasl,
clim-debugwnn.fasl and clim-debuxm.fasl) are empty. The debugging
code is now included in the normal fasls and the empty files
included for backwards compatibility. In a future release they
will disappear.
5. <norfe>. CLIM has been changed so that, the standard frame
top-level loop defaultly rebinds *error-output* to itself, and not
to one of the frame panes. This is an incompatible change, which
was made to stop problems when Lisp messages (unrelated to the CLIM
application) were getting printed to CLIM panes. This is at best
annoying, and at worst can cause errors in incremental redisplay.
Rather than hard-wire this change, it is controlled by an argument
to make-application-frame / make-instance of
standard-application-frame:
(make-application-frame ... :non-frame-stream-names <name list>)
Will cause the default top-level loop to rebind the values of the
standard streams named in <name list> to themselves, not to CLIM
panes, even when there are suitable panes available. The default
case is as if you said:
(make-application-frame ... :non-frame-stream-names '(*error-output*))
And you can inhibit the new behaviour by saying:
(make-application-frame ... :non-frame-stream-names '())
or providing this as a default-initarg in a frame class definition.
Note that this behaviour is controlled in terms of stream *names*
not streams, and in fact it is more general than just
*error-output*. The names that make sense in the list are
*standard-output*, *standard-output*, *error-output*, *query-io*
and *pointer-documentation-output*.
The behaviour of the generic functions frame-standard-output,
frame-standard-input, frame-query-io, frame-error-output and
frame-pointer-documentation-output are altered by this change. If
the corresponding stream will be rebound to its old value in the
frame, the methods defined on standard-application-frame for these
generic functions will return nil rather than a stream.
5. rfe4072. On Unix, more of the scrollbar functionality defined in
the CLIM spec is now supported, and the values of scrollbars have
much finer quantisation, which allows scrolling panes with very
many lines accurately.
:scroll-to-bottom-callback [scroll-bar initarg]
-- specify a callback that is called on scroll to bottom. The
callback should be a function of one argument, the scrollbar
(scroll-bar-scroll-to-bottom-callback <scroll-bar>) [generic function]
-- return the callback called when scrolling to bottom, or NIL if
none is defined. This corresponds to the value of the
:scroll-to-bottom-callback initarg.
(scroll-to-bottom-callback <scroll-bar> <client> <gadget-id>
<value>) [generic function]
-- callback function called when the scrollbar scrolls to bottom.
Similar sets of initargs and functions exist for
...to-top... -- scroll to top
...down-line... -- scroll down single line
...up-line... -- scroll up single line
...down-page... -- scroll down page
...up-page... -- scroll up page.
Note the behaviour of these functions is that, for instance, the
default method on scroll-to-bottom-callback will call the value of
(scroll-bar-scroll-to-bottom-callback <scrollbar>) on the scrollbar
if it is non-NIL.
On Windows the names exist but the functions are not called.
6. bug9206, bug9207, bug9208.
On HP systems, creation of various motif widgets -- such as
dialog boxes resulting from calls to accepting-values -- can cause
errors because fontsets can not be created, with an immediately
preceding warning that the charset HP-ROMAN8 is missing when trying to
create the fontset. This should happen only when running CLIM in
an international Lisp, on an HP machine with the X display on a non-HP
machine.
The reason for this is that HP's default locales seem to specify that the
HP-ROMAN8 codeset must be available in X. For non-HP X servers it
typically is not available, and thus this error occurs.
There are two solutions (apart from displaying on an HP X server):
A. Run Lisp in a locale which does not require the HP-ROMAN8 codeset.
HP provide such several locales which have names like <x>.iso88591. So,
for instance, rather than using the C locale, you should be able to use
the C.iso88591 locale.
You can find out which locale you are in by issuing the `locale' shell
command.
You can list all available locales by issuing the `locale -a' command.
You can set the current locale for Lisp either by setting the LANG
environment variable before running Lisp:
Bourne shell:
LANG=C.iso88591; export LANG; mlisp
C shell:
setenv LANG C.iso88591; mlisp
or by running Lisp with the -locale switch:
mlisp -locale C.iso88591
B. Make the hp-roman8-encoded fonts available to the X server.
This could be done by running a funt server on the HP machine, or by
physically copying the fonts from the HP machine to the machine with
the X server. The details of how to do this are not covered here.