[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
improved version of CLX available
- To: franz!zermatt.lcs.mit.edu!bug-clx, franz!sail.stanford.edu!cl-windows
- Subject: improved version of CLX available
- From: John Irwin <franz!sparky!jdi@ucbarpa.Berkeley.EDU>
- Date: Thu, 30 Mar 89 19:08:31 EST
An improved version of X11.R3 CLX is available via public ftp on:
ucbarpa (10.0.0.78, 128.32.130.11)
in ~ftp/pub/clx.tar.Z
This version of CLX is essentially Release 3 with all the reported
bugs fixed. There are also many enhancements specific to Franz
Allegro Common Lisp, including a large speedup and integration with
the Pitman condition system. All of the Allegro specific changes are #+excl
or #+allegro. This version (the April Fools Day CLX?) should be completely
compatible with the R3 version, minus the bugs and race conditions.
The complete list of changes is at the end of this message. One known
fix that didn't make it in was Judy Anderson's patch for Lucid 3.0. The
diff listings provided with that patch were from release 2.
(I would appreciate it if someone can provides diffs from R3)
-- John Irwin, jdi%franz.uucp@ucbarpa.berkeley.edu
------ the file NEWCHANGES ------
This file contains a full list of the differences between X11.R3 CLX and this
version. Effort was made to ensure that this version is completely compatible
with the R3 version; thus this version should compile and run on the same set
of Lisps as the R3 version. Some of the changes in this version are specific
to Allegro Common Lisp, but these changes are #+allegro or #+excl.
General changes, applicable to all ports:
----------------------------------------
LaMott's fix to unset display-waiting-reply-p correctly. My fix to
make sure it isn't unset before its time.
-- buffer.l: read-sequence-string
-- bufmac.l: reading-buffer-reply
reading-buffer-chunks
-- input.l: wait-for-reply
LaMott's unexporting of display-version-number, display-squish,
font-min-bounds, and font-max-bounds. Also removal of first two
from display defstruct. New exporting of char->card8 and card8->char.
Bad declaration in keycode->character fixed. Unused argument in
put-image removed.
-- clx.l: export list
display defstruct
-- dependent.l: export list
-- translate.l: keycode->character
-- image.l: put-image
Judy Anderson's fix to radians->int16 -- argument was declared as
float but sometimes the fixnum 0 was passed. Modified by me to
be more optimal on a greater number of CL implementations.
-- dependent.l :radians->int16
Error handling revamped by LaMott and me. New macro catching-errors
is like with-display, but also guarantees any server errors occuring
as a result of requests sent while inside the macro will be reported
in the current process. Report-error rewritten to discard or preserve
replies correctly. With-display rewritten to allow wait-for-event to
know when errors should be "forwarded" to another process which is
interested in them. Wait-for-event now forwards errors to process
waiting for a reply (if any).
-- display.l: export list
catching-errors (new function)
with-display
-- input.l: wait-for-event
report-error
LaMott's fix to make font accessors work correctly when font-min-char
is not 0
-- fonts.l: def-char-info-accessors
Bill Chile's fix to make draw-arcs terminate correctly.
-- graphics.l: draw-arcs
Fix to set display-dead before giving the server-disconnect error,
instead of after. (Since the error function probably won't return)
-- input.l: wait-for-event
Added new slots to normal-hints structure to make it more ICCCM
compliant. base-width, base-height, and win-gravity.
-- manager.l: export list
wm-size-hints defstruct
decode-wm-size-hints
encode-wm-size-hints
Send-event fixed to increment the buffer offset by the correct
amount. (It didn't work at all before)
-- requests.l: send-event
H. Kawabe's fix to print-resource, which didn't always print to
the correct stream. New initialize-resource-database function added.
(It isn't called or exported, just sample code.)
-- resource.l: print-resource
initialize-resource-database (new function)
Brain damaged code in keysym-shift-p caused the shift bit to be
inverted when a control character was input. LaMott says this is
the right behaviour for a lisp machine, but it isn't for a Lisp
that supports multicase, as Allegro does. I #+lispm'ed the offending
code.
-- translate.l: keysym-shift-p
Lamott's speed up of image functions copy-pixarray-row-1 and
read-bitmap-file. Fixed write-bitmap-file to work with images
with scanline pad != 32.
-- image.l: copy-pixarray-row-1
read-bitmap-file
write-bitmap-file
Put-image-z enhanced to be able to send image larger than the server
can accept in one shot. Write-bitmap-file optimized.
-- image.l: put-image-z
write-bitmap-file
Made debug files usable in mixed case lisps. Use warn if si:signal
is not available, etc. Note that lowercasification of trace.l was
a bit more zealous than necessary. (But was much easier than doing
the whole thing). Ash bug in trace fixed. New file proc-trace.l
added -- traces which process sends which request, etc
-- debug/debug.l
-- debug/describe.l
-- debug/trace.l
Franz specific changes, applicable to Allegro and Extended Common Lisps:
(note that all these changes are #+excl or #+allegro, so if you're not
using our product these changes are "commented" out)
-----------------------------------------------------------------------
Fix to make Allegro process-locks be created lazily. Holding-lock
also rewritten to be faster and smaller. Atomic-push and pop changed
to be "safe" in case CLX source is ever modified to use these functions
on a form. (Currently they're always used on a global)
-- dependent.l :#+excl make-process-lock
#+excl holding-lock
#+excl test-inside-event-listen (new function)
#+excl event-listen-error (function removed)
#+excl atomic-push
#+excl atomic-pop
Fix to make reading from the X socket work correcly on large
requests. Buffer-close-default declaration changed to not give
warning. C reading/writing code completely rewritten -- now only
requires select, not select and FIONREAD
-- dependent.l :#+excl buffer-read-default
#+excl buffer-close-default
-- excldep.c
CLX integrated with Allegro implemenation of Pitman condition system.
Moved request-error definition to after the request-error printer,
since Pitman wants it so.
-- dependent.l :#+excl x-error
#+excl x-cerror
#+excl x-error defstruct,
reporter-for-condition,
define-condition,
condition-print,
make-condition (all removed)
-- input.cl: #+excl request-error define-condition (moved)
Moved stuff out of defsystem into excldep, so defsystem doesn't
have to be catted into CLX.fasl.
-- excldefsys.l
-- excldep.l
-- exclMakefile
Very large speedup to type checking -- added compiler transform.
Copyright notice added to this file.
-- excldep.l