Skip to content
Snippets Groups Projects
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.