/[cmucl]/src/clx/CHANGES
ViewVC logotype

Contents of /src/clx/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Thu Nov 7 16:57:02 1991 UTC (22 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.1: +280 -1 lines
CLX R5 changes.
1 ram 1.2 R5 changes: (see below for details)
2 ram 1.1
3     o Numerous bug fixes
4    
5 ram 1.2 o Continued gradual conversion towards ANSI Common Lisp
6    
7     o Performance improvements to image code
8    
9 ram 1.1 o Multiprocess locking and error reporting made more robust
10    
11     o Event queue consing reduced
12    
13     o ICCCM support
14    
15 ram 1.2 Details of changes since R4:
16    
17 ram 1.1 R4.1 changes:
18    
19     o Fix reported bugs and to include the vendor-specific
20     bug-fixing and performance-improving patches that I recently received.
21    
22     o Code compiled with the R4 CLX will work with the R4.1X CLX, but code
23     compiled with the R4.1X CLX will NOT work with the R4 CLX. I made an effort
24     to ensure backward binary compatibility with R4 CLX so that old code doesn't
25     have to be recompiled to still work. It does have to be recompiled to fix
26     an event-queue bug, since the fix involved a change to the event-loop macro.
27    
28     R4.2 changes:
29    
30     o Atoms and visuals are now correctly maintained in a separate namespace from
31     windows, pixmaps, cursors, fonts, gcontexts, and colormaps.
32    
33     o I have made an attempt to make socket code work for kcl and ibcl. I have
34     akcl here, but not kcl and ibcl, so it's only guesswork that kcl and ibcl
35     works.
36    
37     o compile-clx and load-clx do more pathname merging to work around problems
38     in some lisp implementations. *default-pathname-defaults* is never bound
39     anymore.
40    
41     o Some ansi common lisp stuff. If you have :ansi-common-lisp on *features*,
42     CLX will:
43    
44     - Use the common-lisp package instead of the lisp package.
45    
46     - Use the common lisp condition system, being careful not to stomp on
47     define-condition and type-error.
48    
49     - Use declaim instead of proclaim.
50    
51     - Use the dynamic-extent declaration for rest args and closures.
52    
53     - Use print-unreadable-object.
54    
55     o Code compiled with the R4 and R4.1 CLX will work with the R4.2 CLX, provided
56     you don't have :ansi-common-lisp on your features list. Code compiled with
57     the R4.2 CLX will NOT work with the R4 CLX.
58 ram 1.2
59     R4.3 changes:
60    
61     o Changed the ansi-common-lisp feature to clx-ansi-common-lisp.
62    
63     o A new package.l file has been introduced. All the package operations that
64     were in the other files have been moved to package.l. Because of this,
65     the compile-clx and load-clx functions which are defined in the defsystem.l
66     file have been moved to the user package from the xlib package, since the xlib
67     package isn't defined when the defsystem.l file is loaded.
68    
69     o excldefsys.l has been merged into defsystem.l. You don't have to rename
70     excldefsys.l to defsystem.l anymore.
71    
72     o User-specified-size/position-p hints are now set correctly.
73     These hints were being ignored if the size-hints structure did not
74     define the corresponding geometry slots. But ICCCM declares these
75     slots to be obsolete.
76    
77     o (setf wm-command) has been changed to use PRIN1 inside the ANSI Common Lisp
78     form WITH-STANDARD-IO-SYNTAX (or the equivalent defined in dependent.l), with
79     elements of command separated by NULL characters. This enables
80     (with-standard-io-syntax (mapcar #'read-from-string (wm-command window)))
81     to recover a lisp command.
82    
83     o A typo in X-TYPE-ERROR has been fixed.
84    
85     o The WITH-GCONTEXT macro has been changed so that if you supply nil for a
86     property value, WITH-GCONTEXT is will leave the property unchanged. It used
87     to always change the property without regard for whether the supplied value
88     was nil. This change to how the macro expands, so user code has to be
89     recompiled for the change to take effect.
90    
91     o Since ANSI Common Lisp doesn't have CHAR-BIT, the implementation of
92     DEFAULT-KEYSYM-TRANSLATE is now implementation dependent in ANSI Common Lisp
93     implementations, with the default doing nothing to character objects. In
94     non-ANSI Common Lisps and lispms, it still uses CHAR-BIT. The definition of
95     DEFAULT-KEYSYM-TRANSLATE has been moved to dependent.l.
96    
97     o The image putting, getting, and copying code has been sped up a bit for lispm,
98     lcl3.0, and excl.
99    
100     o The lcl3.0 io code has been sped up a bit by using read-array instead of
101     fast-read-byte.
102    
103     o READ-RESOURCES now handles any lines that start with # and don't start with
104     #include as comments.
105    
106     R4.4 changes:
107    
108     o Fixed typo in DEFAULT-KEYSYM-TRANSLATE.
109    
110     o In events, CurrentTime (encoded as 0 in the protocol) decodes to NIL instead
111     of 0.
112    
113     o NIL now translates to and from the atom-id of 0.
114    
115     o A new variable *OUTPUT-BUFFER-SIZE* has been introduced, with value 8192.
116     Now, instead of the buffer creating code always creating output buffers of
117     length 8192 bytes, they create output buffers of length *OUTPUT-BUFFER-SIZE*
118     bytes.
119    
120     o GCONTEXT-CACHE-P, COLORMAP-PLIST and CURSOR-PLIST have been exported.
121    
122     o If CREATE-GCONTEXT is given a rect-seq as a clip-mask, then a
123     SetClipRectangles request must be sent to initialize the clip-mask. The logic
124     to do this is located in FORCE-GCONTEXT-CHANGES-INTERNAL, but this wasn't
125     being called because create-gcontext always forces local/server-state
126     timestamps equal. Same problem for dash lists. CREATE-GCONTEXT has been
127     fixed so that in these cases it makes the timestamps unequal so that
128     FORCE-GCONTEXT-CHANGES-INTERNAL is called.
129    
130     o ANGLEP type check sped up for excl. Arc drawing should be lots faster.
131    
132     o RATIONAL type definition for kcl now takes the correct optional args.
133    
134     o (SETF FONT-PATH) changed to return the value
135    
136     o Fixed typo in the hex parsing in READ-BITMAP-FILE
137    
138     o Made READ-RESOURCES more robust about weird resource files.
139    
140     o New variable *DEF-CLX-CLASS-USE-DEFCLASS*, which controls whether DEF-CLX-CLASS
141     uses DEFCLASS. If it is a list, it is interpreted by DEF-CLX-CLASS to be a list
142     of type names for which DEFCLASS should be used. If it is not a list, DEFCLASS
143     is always used. IF it is NIL, DEFCLASS is never used, since NIL is the empty
144     list. By default, it's T in Genera, NIL otherwise.
145    
146     o Fixed typo in DEFINE-CONDITION for #-(or lispm clx-ansi-common-lisp excl lcl3.0).
147    
148     o Fixed typo in MERGE-RESOURCES
149    
150     o In Lucid lisp, the functions aref-card8, aref-int8, aset-card8, aset-int8,
151     aref-card16, aref-int16, aref-card32, aref-int32, aref-card29, aset-card16,
152     aset-int16, aset-card32, aset-int32, and aset-card29 Have been fixed so that
153     they can be used inline with the development compiler.
154    
155     o The default value of the BYTE-LSB-FIRST-P argument to CREATE-IMAGE has been
156     changed from always T to T on LSBFirst machines and NIL on MSBFirst machines.
157    
158     o The order of the color values returned by ALLOC-COLOR when a color name is supplied
159     as an argument is fixed so that the screen color correctly is returned as the second
160     value and the exact color is correctly returned as the third value. The order was
161     backwards.
162    
163     o The internal WITH-BUFFER-INPUT and WITH-BUFFER-OUTPUT macros have been
164     changed to wrap macrolet around body only when necessary. This simplifies the
165     compiler's job for non lisp machines.
166    
167     o All uses of DEFINE-CONDITION have been changed to include a slots argument,
168     even if that argument is NIL -- the argument is not optional.
169    
170     o DEFINE-CONDITION is no longer exported from the XLIB package.
171    
172     o New functionality has been added to make-pixmap and make-window. They may
173     now take a :PIXMAP or :WINDOW argument (respectively). If non-NIL (default is
174     nil), they will use that argument as the pixmap or window object to be set.
175     Otherwise they will create a new pixmap/window object. This whole schmeel is
176     necessary because creation of window and pixmap objects in CLX doesn't go
177     through the CLOS initialize-instance mechanism.
178    
179     o The DESCRIBE-WINDOW debug utility has been fixed to not use strange
180     lisp machine format codes.
181    
182     o Numerous Allegro specific changes in support of Allegro CL version 4.0.
183    
184     R4.5 changes:
185    
186     o Fixed READ-VECTOR-CARD8 and WRITE-VECTOR-CARD8 to work with arbitrary vectors.
187    
188     o Changed COMPILE-CLX and LOAD-CLX to use the verbose mode of COMPILE-FILE and LOAD.
189    
190     o Added a conditional for HPUX to COMPILE-CLX.
191    
192     o Changed DISPLAY-CONNECT to save the default colormap ID in the ID database.
193    
194     o Added new keyword arguments :PROGRAM-SPECIFIED-POSITION-P and :PROGRAM-SPECIFIED-SIZE-P
195     to SET-WM-PROPERTIES and corresponsing slots in the WM-SIZE-HINTS structure.
196     These control the appropriate flags in the size hints. The old way of controlling these
197     flags, with the :X, :Y, :WIDTH, and :HEIGHT arguments, is now obsolete due to changes
198     in the ICCCM.
199    
200     o Removed bogus declarations from the SETF expander for WM-NAME.
201    
202     o Defined a proper SETF function for CUT-BUFFER when in ANSI Lisp.
203    
204     o Fix the encoding of the revert-to argument to SET-INPUT-FOCUS.
205    
206     o Fix a fencepost error in STORE-COLORS.
207    
208     o Fix TEXT-EXTENTS and TEXT-WIDTH to handle font changes properly.
209    
210     o Fix TEXT-EXTENTS-LOCAL to handle negative ascents and descents properly.
211    
212     o Fix DRAW-IMAGE-GLYPHS to not try to write more than 255 glyphs.
213    
214     o Added conditionalizations for Minima, a new operating system under development at Symbolics.
215    
216     o Some gratuitous changes in the Symbolics-specific code.
217    
218     o Removed *EVENT-LOOP-VERSION* and support for pre-R4.1 compiled code.
219    
220     o In Lucid, fixed HOLDING-LOCK to clean up on timeout.
221    
222     o Gcontexts and fonts without associated displays now print correctly.
223    
224     Requests that send "strings" of two byte font indices can *not* assume that
225     the two byte objects are being written on two byte boundaries. The simplest
226     fix was just to modify the write-*-card16 functions to use a new macro that
227     writes one half of the object at a time. The only undesirable affect of
228     this is that CLIENT-MESSAGE and CHANGE-PROPERTY are slightly slower for
229     card16 data than they were before.
230     NEW macro
231     -- write-card16-by-bytes bufmac.l
232     CHANGED functions:
233     -- write-list-card16 buffer.l
234     -- write-list-card16-with-transform ""
235     -- write-simple-array-card16 ""
236     -- write-simple-array-card16-with-transform ""
237     -- write-vector-card16 ""
238     -- write-vector-card16-with-transform ""
239    
240     Print functions changed to use write-string instead of princ where
241     possible. This allows for much cleaner printing when *print-circle* is
242     true -- princ is required to use *print-circle*, even for strings!
243     Write-string is, of course, not so burdened.
244     -- print-color clx.l
245     -- print-display ""
246     -- print-drawable ""
247     -- print-visual-info ""
248     -- print-colormap ""
249     -- print-cursor ""
250     -- print-gcontext ""
251     -- print-screen ""
252     -- print-font ""
253     -- print-resource-database resource.l
254     -- print-image image.l
255    
256     Changes to display tracing: In a multiprocessing system is it very helpful
257     to know what process wrote or read certain requests. Thus I have modified
258     the format of the trace-history list. It is now an alist of: ((id .
259     more-info) . byte-vector). (more-info is a list returned by the
260     trace-more-info function). Also added the ability to suspend and resume
261     tracing without destroying the trace history. Renamed 'display-trace' to
262     'show-trace' to avoid confusion. (Having both 'trace-display and
263     'display-trace wasn't such a hot idea).
264     -- lots-o-stuff debug/trace.l
265    
266     Image-glyph functions had a different argument order than non-image glyph
267     functions. Image-glyph functions changed to be compatible with others.
268     Declarations in draw-glyphs* functions were wrong.
269     -- draw-image-glyphs text.l
270     -- draw-image-glyphs8 text.l
271     -- draw-image-glyphs16 text.l
272     -- draw-glyphs8 text.l
273     -- draw-glyphs16 text.l
274    
275     Quote #.'ed arrays to accomodate CLTL1 lisps
276     -- empty-data constants image.l
277    
278     Set-input-focus fix wasn't finished
279     -- set-input-focus requests.l
280    
281     Standardized strange integer type specifier in keysym macro
282     -- keysym translate.l
283    
284     ===============================================================================
285     Franz specific changes, applicable to Allegro and Extended Common Lisps:
286     (note that all these changes are #+excl or #+allegro, so if you're not
287     using our product these changes are "commented" out)
288     -----------------------------------------------------------------------
289     Atom-cache hash table type changed to #'equal. Resource-id-map has table
290     type changed to #'equal.
291     NEW macro
292     -- atom-cache-map-test depdefs.l
293     CHANGED def-clx-class
294     -- display clx.l
295     CHANGED macro
296     -- resource-id-map-test depdefs.l
297    
298     Don't bother to import require, provide, since we're using the CLTL1
299     package. Also put the requires and provides inside eval-when to make the
300     compiler happy. Don't redefine typep, instead push our customizations onto
301     the typep handling list.
302     -- toplevel forms excldep.l
303    
304     Old code removed from file
305     -- removed some cmacros exclcmac.l
306    
307     Allegro >=4.0 now does support with-standard-io-syntax and
308     print-unreadable-object.
309     -- with-standard-io-syntax{,-function} dependent.l
310     -- print-unreadable-object{,-function} depdefs.l
311    
312     Conditionalizations in Makefile cleaned up.
313     -- exclMakefile
314    
315     Descriptive comment added to holding-lock
316     -- holding-lock dependent.l
317    
318     Added typep transformers for all CLX types.
319     -- excldep.cl
320    
321     R5.0 changes:
322    
323     o Changed occurrances STRING-CHAR to BASE-CHAR.
324    
325     o Fixed some type declarations to use type NULL instead of NIL.
326    
327     o Various fixes to vendor-specific code.
328    
329     o Detect attempts to use images an incorrect depth.
330    

  ViewVC Help
Powered by ViewVC 1.1.5