source: trunk/ccl/ChangeLog @ 7313

Last change on this file since 7313 was 7313, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 793.7 KB
Line 
12007-09-27 19:10  gb
2
3        * level-0/X86/x86-misc.lisp: When unlocking a read-write lock on
4        x86-64, clear the owner field before incrementing the value field
5        if the value field is currently -1.  (The PPC was already doing so;
6        doing it in the order that x86-64 had been doing it caused the lock
7        to become free, and zeroing the owner after the incf could cause
8        the lock to be locked for writing with no owner set ...
9
102007-09-26 14:11  gb
11
12        * level-1/linux-files.lisp: run-program and run-external-process
13        take an additional "env" parameter, a list of pairs. For each pair
14        the environment variable (string (car pair)) is set to (cdr pair)
15        in the external program's environment before it is exec'd.
16
172007-09-26 14:10  gb
18
19        * level-1/l1-unicode.lisp: Allow CCL::DECODE-STRING-FROM-OCTETS to
20        work on non-simple vectors
21
222007-09-26 13:10  gb
23
24        * level-1/l1-unicode.lisp: Fix vector-decode-function for :US-ASCII
25        encoding
26
272007-09-25 22:11  gb
28
29        * level-1/l1-clos-boot.lisp, objc-bridge/bridge.lisp,
30        objc-bridge/objc-clos.lisp, objc-bridge/objc-runtime.lisp: Try to
31        be more paranoid about null pointers (even if they have their type
32        asserted.)
33       
34        ENCODE-OBJC-TYPE: try to get record field types right (being
35        careful about recursion); need to do this to help NSInvocation deal
36        with record types on some platforms that'll remain nameless.
37
382007-09-25 22:10  gb
39
40        * cocoa-ide/hemlock/: README, TODO, doc/scribe-converter/NOTES,
41        doc/scribe-converter/README, maint/publish, src/bindings.lisp,
42        src/buffer.lisp, src/charmacs.lisp, src/command.lisp,
43        src/comments.lisp, src/completion.lisp, src/cursor.lisp,
44        src/defsyn.lisp, src/doccoms.lisp, src/echo.lisp,
45        src/echocoms.lisp, src/edit-defs.lisp, src/filecoms.lisp,
46        src/files.lisp, src/fill.lisp, src/font.lisp, src/htext1.lisp,
47        src/htext2.lisp, src/htext3.lisp, src/htext4.lisp, src/icom.lisp,
48        src/indent.lisp, src/interp.lisp, src/kbdmac.lisp,
49        src/key-event.lisp, src/keysym-defs.lisp, src/killcoms.lisp,
50        src/line.lisp, src/linimage.lisp, src/lispmode.lisp,
51        src/macros.lisp, src/main.lisp, src/morecoms.lisp,
52        src/package.lisp, src/pop-up-stream.lisp, src/register.lisp,
53        src/ring.lisp, src/rompsite.lisp, src/search1.lisp,
54        src/search2.lisp, src/searchcoms.lisp, src/srccom.lisp,
55        src/streams.lisp, src/struct.lisp, src/syntax.lisp, src/table.lisp,
56        src/text.lisp, src/undo.lisp, src/vars.lisp,
57        src/archive/abbrev.lisp, src/archive/auto-save.lisp,
58        src/archive/bit-display.lisp, src/archive/bit-screen.lisp,
59        src/archive/bufed.lisp, src/archive/debug.lisp,
60        src/archive/dired.lisp, src/archive/diredcoms.lisp,
61        src/archive/display.lisp, src/archive/dylan.lisp,
62        src/archive/eval-server.lisp, src/archive/group.lisp,
63        src/archive/highlight.lisp, src/archive/hunk-draw.lisp,
64        src/archive/input.lisp, src/archive/lisp-lib.lisp,
65        src/archive/lispbuf.lisp, src/archive/lispeval.lisp,
66        src/archive/mh.lisp, src/archive/netnews.lisp,
67        src/archive/overwrite.lisp, src/archive/pascal.lisp,
68        src/archive/rcs.lisp, src/archive/screen.lisp,
69        src/archive/scribe.lisp, src/archive/shell.lisp,
70        src/archive/spell-aug.lisp, src/archive/spell-corr.lisp,
71        src/archive/spell-rt.lisp, src/archive/spellcoms.lisp,
72        src/archive/srccom.lisp, src/archive/ts-buf.lisp,
73        src/archive/ts-stream.lisp, src/archive/unixcoms.lisp,
74        src/archive/window.lisp, src/archive/winimage.lisp,
75        src/archive/xcoms.lisp, src/spell/spellcoms.lisp,
76        src/tty/termcap.lisp, src/tty/tty-disp-rt.lisp,
77        src/tty/tty-display.lisp, src/tty/tty-screen.lisp,
78        src/wire/remote.lisp, src/wire/wire.lisp, unused/bit-stream.lisp,
79        unused/clx-ext.lisp, unused/ed-integrity.lisp, unused/gosmacs.lisp,
80        unused/hemcom.lisp, unused/hi-integrity.lisp, unused/keytran.lisp,
81        unused/keytrandefs.lisp, unused/spell-build.lisp,
82        unused/struct-ed.lisp, unused/tty-stream.lisp,
83        website/index.html.in: ignore property set
84
852007-09-25 13:10  gb
86
87        * cocoa-ide/cocoa-utils.lisp: Add function windows that returns an
88        ordered list of the windows that are open.
89
902007-09-25 00:11  gb
91
92        * lisp-kernel/x86-spentry64.s: In .SPdestructuring_bind, don't
93        assume that a "movzbl" sets the flags.  (It doesn't, and this meant
94        that there was a 50-50 chance of required arguments not being
95        processed correctly.)
96
972007-09-25 00:10  gb
98
99        * compiler/X86/x862.lisp: Reserve lcells when reserving outgoing
100        frame, in case it matters someday.
101
1022007-09-24 06:10  gb
103
104        * lisp-kernel/x86-exceptions.c: Missing #ifdef DARWIN in
105        arbstack_signal_handler; not used on Darwin.
106
1072007-09-23 21:11  gb
108
109        * lisp-kernel/: lisp-debug.c, lisp-exceptions.h, x86-exceptions.c,
110        x86-exceptions.h: Don't use sigaltstack on any x86-64 platform:
111        even if it works, it makes it harder to deal with exceptions in
112        foreign code (we've often gotten segfaults from running out of
113        space on the alt stack, the mechanism isn't reentrant, etc.)
114       
115        Try to report cases where the kernel debugger is entered due to an
116        exception in foreign code.  Todo: make it less tempting to use (L)
117        in that case, maybe try to make backtrace find saved_rbp from tcr
118        on x86-64, etc.
119
1202007-09-23 21:10  gb
121
122        * level-1/l1-application.lisp: APPLICATION-VERSION-STRING (which
123        probably was used to support "get info", back in the day) is just
124        LISP-IMPLEMENTATION-VERSION.
125
1262007-09-23 09:12  gb
127
128        * xdump/xfasload.lisp: Handle saving svn revision as string or
129        fixnum.
130
1312007-09-23 09:11  gb
132
133        * lib/misc.lisp: Try to use "svnversion" to get svn version info in
134        LOCAL-SVN-REVISION.
135
1362007-09-22 23:13  gb
137
138        * xdump/xfasload.lisp: Set *openmcl-svn-revision* to the value of
139        (LOCAL-SVN-REVISION) when writing the bootstrapping image; this
140        will show up in the Welcome banner and LISP-IMPLEMENTATION-VERSION.
141          May want to tweak this some more, but it may make it easier to
142        determine what you're running relative to what's in SVN/CVS.
143
1442007-09-22 23:12  gb
145
146        * level-1/version.lisp: Replace *OPENMCL-SUFFIX* (the thing which
147        had the date in it) with *OPENMCL-SVN-REVISION*, which is defvar'ed
148        to NIL here.  (It may be set early in the cold load or via the
149        xloader.)
150
1512007-09-22 23:11  gb
152
153        * lib/pathnames.lisp: Treat NIL and :UNSPECIFIC name/type
154        components in the pattern consistently in %FILE*=.
155
1562007-09-22 23:10  gb
157
158        * lib/misc.lisp: LOCAL-SVN-REVISION tries to determine the (local)
159        svn revision, by looking for a .svnrev file (used in the svn->cvs
160        synching process) or by parsing "svn info" output.
161
1622007-09-21 12:10  gb
163
164        * cocoa-ide/cocoa-editor.lisp: Rename "cache" to "mirror" in
165        hemlock-text-storage.  This clarifies the purpose of the slot and
166        avoids confusion with buffer caches, which are completely
167        different.
168
1692007-09-20 21:10  gb
170
171        * level-1/linux-files.lisp: Make the pipe streams created by
172        RUN-PROGRAM be basic streams
173
1742007-09-19 15:10  gb
175
176        * lib/macros.lisp: Prevent unused gensym warnings in
177        with-accessors.  Same fix that Gary Palter did to with-slots.
178
1792007-09-19 02:11  gb
180
181        * lib/backtrace-lds.lisp: FRAME-REQUIRED-ARGS: try to make better.
182        This is only used by SLIME; it was once used for frame restarting.
183        Try to make the result reasonable in the SLIME case.
184
1852007-09-19 02:10  gb
186
187        * lib/arglist.lisp: ARGLIST-FROM-MAP: don't be afraid to say
188        &LEXPR.  ARG-NAMES-FROM-MAP: &rest in map before &keys now.
189
1902007-09-18 21:10  gb
191
192        * lib/macros.lisp: In WITH-SLOTS, if there are bindings, declare
193        the gensym'ed instance symbol IGNORABLE just in case none of the
194        symbol macros are actuall used.
195
1962007-09-18 05:10  gb
197
198        * level-0/l0-numbers.lisp: Typo in constant again.
199
2002007-09-17 21:10  gb
201
202        * level-1/sysutils.lisp: Return all three values from
203        CCL::PRINT-DEFERRED-WARNINGS
204
2052007-09-17 06:10  gb
206
207        * level-0/l0-numbers.lisp: Simply clearing the top bit of the
208        intermediate result from %NEXT-RANDOM-PAIR had the effect of using
209        doing (mod result (expt 2 31)), not (mod result (1- (expt 2 31))).
210        Do a real MOD to obtain the next item in the series and update the
211        state with that value.  (This means that the high bit of the high
212        half of the result is always clear; or in the sign bit from the low
213        half.)
214
2152007-09-16 18:10  gb
216
217        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
218        ...
219
2202007-09-16 17:10  gb
221
222        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
223        before key arg(s), so assign it an address before processing &key
224        initforms.
225
2262007-09-15 17:10  gb
227
228        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
229        -LENGTH* when printing break messages.
230
2312007-09-13 20:10  gb
232
233        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
234        :element-type to ccl:run-program to allow for binary streams
235
2362007-09-13 06:55  gb
237
238        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
239        src/elisp/README, src/spell/README: Restore some README files,
240        which had somehow gotten lost in translation.
241
2422007-09-13 06:54  gb
243
244        *
245        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
246        ib/: classes.nib, info.nib, keyedobjects.nib: not used
247
2482007-09-13 06:52  gb
249
250        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
251        for certain kinds of MULTIPLE-VALUE-CALL differently; in
252        particular, note the effect of pushing such a label on stack depth.
253
2542007-09-13 06:50  gb
255
256        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
257        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
258        containing directory exists in cvs.
259
2602007-09-06 14:10  gb
261
262        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
263        write-info-plist
264
2652007-09-04 23:11  gb
266
267        * cocoa-ide/cocoa-editor.lisp: New! Improved!
268       
269        The code which arranges for editing changes to be processed in the
270        main thread now does so via an NSInvocation (ObjC's notion of a
271        closure, sort of); the methods which run in the main thread handle
272        the job of synchronizing the underlying the Hemlock string and the
273        "real" NSMutableAttributedString as well as informing the text
274        system of pending editing changes via
275        #/edited:range:changeInLength:.  The code which processes deletions
276        does the change processing before modifying the string (other
277        methods do it after the change); this seems to be necessary to
278        avoid some things that could cause ticket:50.  (I'm not sure if
279        this fixes ticket:50, but it does seem to fix a reproducible case.)
280       
281        The #/replaceCharactersInRange:withString: method on
282        hemlock-text-storage (which handles buffer changes originating from
283        non-Hemlock sources) is careful to use a :right-inserting temporary
284        mark when modifying the buffer, to help ensure that
285        insertions/deletions take place at the correct absolute position.
286        (This may at least partially address bugs related to things getting
287        confused/out-of-bounds errors when doing lots of cutting and
288        pasting, though it's hard to know without reproducible cases.)
289       
290        The macros NSSTRING-ENCODING-TO-NSINTEGER and
291        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
292        least one of them wasn't.)
293       
294        The handling of text encoding for editor documents has changed in a
295        few ways.  If "automatic" encoding is used in an "Open ..." dialog
296        and is successfully able to infer a text file's encoding, the
297        encoding that was inferred becomes the document's encoding (used in
298        subsequent "save" operations.)  On some OSX versions, the automatic
299        detection mechanism can only recognize UTF-16 files that contain a
300        leading BOM (and the editor's code for dealing with the automatic
301        mechanism didn't expect this to ever work.)  On other systems, the
302        automatic mechanism can return something correct (I've seen UTF-8)
303        but possibly suboptimal.
304       
305        The Open... dialog now defaults to something derived from the
306        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
307        "automatic" is a little unpredictable, the new default is probably
308        better.
309       
310        The NSDocument mechanism for creating backup files (with names of
311        the form "name~.ext") is not used; when backup files are created,
312        we try to copy the original to a file whose name conforms to the
313        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
314        seem to work better when the Emacs scheme is used (though I suppose
315        some people might prefer the NSDocument scheme and we could make
316        this a preference.)
317
3182007-09-04 22:11  gb
319
320        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
321        creating a Listener, since (a) that method's deprecated in favor of
322        #/setFileURL: and (b) a newly-created Listener doesn't really have
323        an associated filename, and so shouldn't get the icon and popup in
324        its titlebar.
325       
326        Do arrange that (unless/until a listener document is saved to a
327        file) its window title is based on the underlying Hemlock buffer's
328        name.  (If one ever attempts to save a listener document, the
329        proposed file name is the internal NSDocument name; we might or
330        might not want to change that.)
331
3322007-09-04 22:10  gb
333
334        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
335        *MODELINE-FONT-NAME*, -SIZE*.
336
3372007-09-04 19:13  gb
338
339        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
340        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
341        which was supposed to allow us to track the high end of a range of
342        pages that'd been written to and not freed (so we'd zero them
343        lazily when they were reallocated.)  Such a scheme would really
344        need to track both ends of such a range, and the old scheme wound
345        up being overly zealous and often zeroed pages that were already
346        zeroed.  Zero the range between the old free pointer and the new
347        one after each GC, instead.
348       
349        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
350        carefully.
351
3522007-09-04 19:12  gb
353
354        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
355        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
356
3572007-09-04 19:11  gb
358
359        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
360        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
361        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
362        this in the PPC backends.
363       
364        (This needs testing ...)
365
3662007-09-04 19:10  gb
367
368        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
369        :single-float callback results have been coerced to :double-float
370        on x8664.
371
3722007-09-03 18:10  gb
373
374        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
375        selection or the symbol around point, regardless of global parsing
376        state (Ticket:95).  While in there, make meta-. with a numarg
377        prompt for symbol to look up.
378
3792007-08-30 20:10  gb
380
381        * level-1/l1-error-system.lisp: Add a restart for unbound
382        variable/undefined function errors -- if there is a unique
383        bound/fbound symbol of the same name in another package, offer to
384        use it instead.
385
3862007-08-30 19:10  gb
387
388        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
389        inaccesible files; it might return an exit status of 2 if it finds
390        such files, so treat that as "success" for now (ticket:98).
391
3922007-08-30 18:11  gb
393
394        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
395        Variable command output (ticket:97).
396
3972007-08-30 18:10  gb
398
399        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
400        VARIABLE-VALUE to access buffer's package (ticket:82).
401
4022007-08-30 15:11  gb
403
404        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
405        code to copy user-supplied nibfiles into a saved application bundle
406
4072007-08-30 14:10  gb
408
409        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
410        all callers of current-point-for-deletion handle the nil return
411        value case.  This fixes ticket:85
412
4132007-08-29 20:11  gb
414
415        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
416        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
417        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
418        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
419        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
420        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
421        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
422        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
423        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
424        hemlock/src/fill.lisp, hemlock/src/font.lisp,
425        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
426        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
427        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
428        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
429        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
430        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
431        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
432        hemlock/src/macros.lisp, hemlock/src/main.lisp,
433        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
434        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
435        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
436        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
437        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
438        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
439        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
440        hemlock/src/text.lisp, hemlock/src/undo.lisp,
441        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
442        hemlock/src/archive/auto-save.lisp,
443        hemlock/src/archive/bit-display.lisp,
444        hemlock/src/archive/bit-screen.lisp,
445        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
446        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
447        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
448        hemlock/src/archive/eval-server.lisp,
449        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
450        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
451        hemlock/src/archive/lisp-lib.lisp,
452        hemlock/src/archive/lispbuf.lisp,
453        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
454        hemlock/src/archive/netnews.lisp,
455        hemlock/src/archive/overwrite.lisp,
456        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
457        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
458        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
459        hemlock/src/archive/spell-corr.lisp,
460        hemlock/src/archive/spell-rt.lisp,
461        hemlock/src/archive/spellcoms.lisp,
462        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
463        hemlock/src/archive/ts-stream.lisp,
464        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
465        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
466        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
467        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
468        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
469        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
470        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
471        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
472        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
473        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
474        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
475        hemlock/website/index.html.in: umm, load cocoa-grep where it will
476        work...
477
4782007-08-29 20:10  gb
479
480        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
481
4822007-08-29 13:11  gb
483
484        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
485
4862007-08-29 12:12  gb
487
488        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
489        arg (simple case), move point to the location of the temporary mark
490        after calling the indent function.
491
4922007-08-29 12:11  gb
493
494        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
495        returns 2 values: the "column" (with tabs expanded) of the first
496        non-whitespace character on the line and that character's position.
497         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
498        position if no changes are necessary.
499
5002007-08-29 12:10  gb
501
502        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
503        method, make an NS-MUTABLE-STRING even if the string from the
504        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
505        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
506         mutable.) For ticket:84.
507
5082007-08-28 23:10  gb
509
510        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
511        hi::scroll-window actually scroll, not just move insertion point
512        around.  Fixes ticket:88.
513
5142007-08-26 13:11  gb
515
516        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
517        keyword argument to build-application: main-nib-name; names the
518        nigfile that is to be the main nib of the built application
519
5202007-08-26 12:10  gb
521
522        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
523        application bulder to trunk
524
5252007-08-25 02:13  gb
526
527        * cocoa-ide/cocoa-listener.lisp:
528        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
529        #\^d after sending the string.  (This is just a workaround for
530        ticket:82; the trailing #\^d is just treated as whitespace and
531        terminates calls to READ.  We really want some way of recognizing
532        "end of selection" and treating that like a transient EOF in some
533        cases.)
534
5352007-08-25 02:12  gb
536
537        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
538        #/openDocumentWithContentsOfURL:display:error:, since calling
539        #/openDocumentWithContentsOfURL:display: complains that
540        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
541        Cocoa.  (Note that we'd been calling
542        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
543        implementation without incident.)
544
5452007-08-25 02:11  gb
546
547        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
548        notes buffer modification.
549
5502007-08-25 02:10  gb
551
552        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
553        modification.
554
5552007-08-23 17:17  gb
556
557        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
558        method.
559
5602007-08-23 17:16  gb
561
562        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
563        #/editingInProgress method.  Add some more (conditionalized) debug
564        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
565        command thread as well as in Cocoa thread.  Make sure that Hemlock
566        command thread has bindings of command-processing data structures,
567        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
568        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
569        only set by isearch when it exits.
570
5712007-08-23 17:15  gb
572
573        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
574        font name and size; initially, Monaco 9.  (Not yet changeable
575        through preferences panel.) Adjust outline view's row height based
576        on font height.  Set the data cell to "non-editable" (could have
577        done this in IB).  Provide handlers for some menu commands
578        (continue, restarts, exitBreak); no need to validate menu items for
579        them (those commands should be available whenever backtrace dialog
580        is active.)
581
5822007-08-23 17:14  gb
583
584        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
585        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
586
5872007-08-23 17:13  gb
588
589        * cocoa-ide/hemlock/src/package.lisp: Export
590        RECURSIVE-GET-KEY-EVENT.
591
5922007-08-23 17:12  gb
593
594        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
595        read symbol for arglist.  (Should probably be more careful
596        elsewhere, too.)
597
5982007-08-23 17:11  gb
599
600        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
601        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
602        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
603
6042007-08-23 17:10  gb
605
606        * cocoa-ide/hemlock/src/echo.lisp: Don't call
607        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
608        still be pending on the echo area (how ?), and
609        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
610        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
611
6122007-08-23 16:11  gb
613
614        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
615        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
616        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
617        events in some modal loop in a command.  (The idea is that toplevel
618        editing commands inhibit redisplay in the main buffer while they're
619        active; commands which recursively process key events and which may
620        make changes to that buffer should allow redisplay while they're
621        waiting in RECURSIVE-GET-KEY-EVENT.)
622
6232007-08-23 16:10  gb
624
625        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
626        revert.
627
6282007-08-18 19:11  gb
629
630        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
631        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
632        race conditions where two threads try to update a distpatch table
633        index with different {wrapper, combined-method} pairs at the same
634        time.  (As it's written, if the store-conditional fails because a
635        slot that we thought was free is now in use, we simply don't cache
636        the pair and get a cache miss the next time; that may or may not be
637        more work than repeating the whole process would be.)
638       
639        The store-conditional is used on attempt to update the
640        combined-method slot in the pair; the wrapper slot is only updated
641        if the store-conditional succeeds.  Code which probes the wrapper
642        slots shouldn't be confused by a half-updated pair (should never
643        see a non-null wrapper slot and a null combined-method slot.)
644
6452007-08-18 17:11  gb
646
647        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
648        %DECODE-TYPE.
649
6502007-08-18 16:10  gb
651
652        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
653        determine if selection highlighting can be used, since
654        #_class_respondsToSelector requires ObjC-2.0)
655
6562007-08-16 08:22  gb
657
658        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
659        extended selection highlighting if it's supported.
660       
661        Clear the shift bit from key events associated with standard-chars.
662
6632007-08-16 08:20  gb
664
665        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
666        bound to movement commands run different commands.
667       
668        Left-mouse has the :mouse-exit logical attribute.
669
6702007-08-16 08:19  gb
671
672        * cocoa-ide/hemlock/src/buffer.lisp:
673        CURRENT-POINT-COLLAPSING-SELECTION and
674        CURRENT-POINT-EXTENDING-SELECTION replace
675        CURRENT-POINT-FOR-MOVEMENT.
676
6772007-08-16 08:18  gb
678
679        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
680        translation.
681       
682        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
683        selection highlighting under Leopard.
684
6852007-08-16 08:16  gb
686
687        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
688        "shifted" and "unshifted" variants.
689
6902007-08-16 08:15  gb
691
692        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
693        attribute.
694
6952007-08-16 08:14  gb
696
697        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
698        bit for standard-char (and upper-case.) This means that
699        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
700        (in which the shift modifier isn't explicitly set) and that
701        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
702        modifier is set in the latter.)
703
7042007-08-16 08:13  gb
705
706        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
707        the buffer if the line's already indented properly.
708       
709        Movement commands come in two variants: those that collapse and
710        those that extend the selection.
711
7122007-08-16 08:12  gb
713
714        * cocoa-ide/hemlock/src/package.lisp: Export
715        CURRENT-POINT-EXTENDING-SELECTION and
716        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
717        CURRENT-POINT-FOR-MOVEMENT.
718
7192007-08-16 08:10  gb
720
721        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
722        empatically (under Leopard) after successful (non incremental)
723        search.
724       
725        Incremental search also hilites the selection, but doesn't yet
726        manage the selection on failure.
727
7282007-08-16 07:10  gb
729
730        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
731        by invoking #/activateHemlockView on main thread; call
732        deactivate-hemlock-view on the peer.
733       
734        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
735        but I'm fairly sure that this stuff needs to happen on the main
736        thread.
737
7382007-08-09 16:10  gb
739
740        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
741        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
742
7432007-08-07 15:10  gb
744
745        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
746        beginning of buffer and end of buffer.  It's Mac standard, and I
747        use it a lot.  Home was bound to "Help".
748       
749        Make clicking the mouse while incremental searching exit instead of
750        abort, leaving the insertion point where you click instead of where
751        the isearch was started.
752
7532007-08-06 23:10  gb
754
755        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
756        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
757        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
758        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
759        hemlock key event, set the hemlock shift bit if the the Cocoa shift
760        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
761        bit cleared and the keysym downcased (if necessary).  Leave
762        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
763        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
764        deactivates the region ("collapses the selection") if the shift bit
765        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
766        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
767        hopefully all) movement commands, to address ticket:36 .  Define a
768        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
769        to it to address ticket:44 .
770
7712007-08-06 19:10  gb
772
773        * objc-bridge/objc-support.lisp: careful with db stuff
774
7752007-08-04 13:12  gb
776
777        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
778        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
779         (Should maybe do this on mousedown in the echo area, too.) Some
780        indentation changes.
781
7822007-08-04 12:14  gb
783
784        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
785        :abort key event.
786
7872007-08-04 12:13  gb
788
789        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
790        title for show lossage command.
791
7922007-08-04 12:12  gb
793
794        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
795        left mouse down, so that we can use #k"leftdown".
796
7972007-08-04 12:11  gb
798
799        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
800
8012007-08-03 15:10  gb
802
803        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
804
8052007-08-03 10:10  gb
806
807        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
808        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
809
8102007-08-03 09:10  gb
811
812        * level-0/l0-array.lisp: Define list-to-vector.
813
8142007-08-02 07:16  gb
815
816        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
817        #/changeFont:; use targeted messages.  Ensure that font panel picks
818        up the right font.
819
8202007-08-02 07:16  gb
821
822        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
823        default.
824
8252007-08-02 07:15  gb
826
827        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
828        view, echo area) unselectable when activating via Hemlock command.
829        Text views don't use font panel by default; enable/disable font
830        panel when setting text color.
831
8322007-08-02 07:14  gb
833
834        * cocoa-ide/.cvsignore: New.
835
8362007-08-02 07:13  gb
837
838        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
839        CREATE-INTERFACES.
840
8412007-08-02 07:12  gb
842
843        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
844
8452007-08-02 07:11  gb
846
847        * library/parse-ffi.lisp: Don't be verbose about explict struct
848        returns.
849
8502007-08-02 07:10  gb
851
852        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
853        anymore.
854
8552007-07-31 19:10  gb
856
857        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
858        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
859
8602007-07-31 07:12  gb
861
862        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
863        to #o644 (not #o666); make sure that it's actually used when
864        creating the image (even if not prepending a kernel to the image.)
865
8662007-07-31 07:11  gb
867
868        * level-1/l1-application.lisp: When processing --version option,
869        don't write to *terminal-io* (which doesn't exist yet.)
870
8712007-07-22 23:50  gb
872
873        * release-notes.txt: Add more stuff.
874
8752007-07-22 23:11  gb
876
877        * level-1/version.lisp: Bump.
878
8792007-07-22 23:10  gb
880
881        * release-notes.txt: Update for 1.1-pre-070722.
882
8832007-07-22 21:11  gb
884
885        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
886
8872007-07-22 21:10  gb
888
889        * cocoa-ide/README: New file.
890
8912007-07-22 18:51  gb
892
893        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
894        package.
895
8962007-07-22 18:50  gb
897
898        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
899
9002007-07-22 18:49  gb
901
902        * level-1/version.lisp: Bump.
903
9042007-07-22 18:48  gb
905
906        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
907        Allocate callback trampolines via mmap on ppc, too.
908
9092007-07-22 18:47  gb
910
911        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
912        RUN-PROGRAM to merge-pathnames.
913
9142007-07-22 18:46  gb
915
916        * level-1/l1-utils.lisp: Don't define BEEP.
917
9182007-07-22 18:46  gb
919
920        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
921        was counting chars (nchars) twice.
922
9232007-07-22 18:45  gb
924
925        * level-1/l1-streams.lisp: selection-stream changes.
926
9272007-07-22 18:44  gb
928
929        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
930        about restarts in backtrace context.
931
9322007-07-22 18:43  gb
933
934        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
935        can be overridden.
936
9372007-07-22 18:42  gb
938
939        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
940        *MODULE-SEARCH-PATH*.
941
9422007-07-22 18:41  gb
943
944        * level-1/l1-format.lisp: Handling of * format directive when
945        dealing with circularity screws up other things that expect
946        *FORMAT-ARGUMENTS* to share structure with
947        *FORMAT-ORIGINAL-ARGUMENTS*.
948
9492007-07-22 18:40  gb
950
951        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
952        ENSURE-DIRECTORY-NAMESTRING.
953
9542007-07-22 18:40  gb
955
956        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
957        interactive break.
958
9592007-07-22 18:39  gb
960
961        * level-1/l1-error-system.lisp: Stream error context stuff.
962
9632007-07-22 18:38  gb
964
965        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
966        (e.g., as NSExceptions.)
967
9682007-07-22 18:37  gb
969
970        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
971        CLASS-SLOT-INITARGS.
972
9732007-07-22 18:36  gb
974
975        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
976        allocation stuff (which uses mmap to ensure that the callback is in
977        executable memory) here, since it'll be needed on ppc64 leopard, at
978        least.
979
9802007-07-22 18:35  gb
981
982        * level-1/l1-application.lisp: Argument handling and interactive
983        stream initialization happens in a :before method on
984        (toplevel-function application).
985
9862007-07-22 18:34  gb
987
988        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
989        special args/locals, too.
990
9912007-07-22 18:33  gb
992
993        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
994        for backtrace/inspect someday.
995
9962007-07-22 18:33  gb
997
998        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
999
10002007-07-22 18:32  gb
1001
1002        * lib/macros.lisp: Callbacks that try to do magic foreign error
1003        stuff use HANDLER-BIND, not HANDLER-CASE.
1004       
1005        Other callback-changes to reduce incidental consing sometimes.
1006
10072007-07-22 18:31  gb
1008
1009        * lib/backtrace.lisp: %show-args-and-locals,
1010        %stack-frames-in-context: changes for new backtrace presentation.
1011
10122007-07-22 18:30  gb
1013
1014        * lib/compile-ccl.lisp: Remove some duplicate definitions.
1015
10162007-07-22 18:29  gb
1017
1018        * lib/describe.lisp: Some (signigicant) stack-frame changes.
1019
10202007-07-22 18:28  gb
1021
1022        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
1023
10242007-07-22 18:27  gb
1025
1026        * lib/arglist.lisp: Provide -some- arglist info for special
1027        operators.  ARG-NAMES-FROM-MAP.
1028
10292007-07-22 18:27  gb
1030
1031        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
1032
10332007-07-22 18:26  gb
1034
1035        * lib/source-files.lisp: Comment formatting.
1036
10372007-07-22 18:25  gb
1038
1039        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
1040        to provide context.
1041
10422007-07-22 18:24  gb
1043
1044        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
1045        get confused by null register values, etc.
1046
10472007-07-22 18:23  gb
1048
1049        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
1050        not ppc32/ppc64.
1051
10522007-07-22 18:22  gb
1053
1054        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
1055        64-bit key-scrambling stuff.
1056
10572007-07-22 18:21  gb
1058
1059        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
1060
10612007-07-22 18:21  gb
1062
1063        * level-0/l0-utils.lisp: s32->u32, u32->s32.
1064
10652007-07-22 18:20  gb
1066
1067        * level-0/l0-error.lisp: foreign exception error stuff.
1068
10692007-07-22 18:19  gb
1070
1071        * level-1/l1-sockets.lisp: Sockets created with :format :binary
1072        don't have element-type of character, though this crap is all
1073        pretty nebulous.
1074
10752007-07-22 18:18  gb
1076
1077        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
1078
10792007-07-22 18:17  gb
1080
1081        * library/pty.lisp: set-pty-raw.
1082
10832007-07-22 18:16  gb
1084
1085        * library/hemlock.lisp: Moved elsewhere.
1086
10872007-07-22 18:15  gb
1088
1089        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
1090        frames.
1091
10922007-07-22 18:14  gb
1093
1094        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
1095
10962007-07-22 18:14  gb
1097
1098        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
1099        exception bit on interrupt.
1100
11012007-07-22 18:13  gb
1102
1103        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
1104        tcr flag bits, including new one for foreign exceptions.
1105
11062007-07-22 18:12  gb
1107
1108        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
1109
11102007-07-22 18:11  gb
1111
1112        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
1113        exceptions.
1114
11152007-07-22 18:10  gb
1116
1117        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
1118        stack for pthread.  Foreign exception callbacks: put some 0s on the
1119        stack for callback.
1120
11212007-07-22 18:09  gb
1122
1123        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
1124
11252007-07-22 18:08  gb
1126
1127        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
1128        ensure_stack_limit(): if stack size is constrained by limits, don't
1129        exceed those limits.
1130
11312007-07-22 18:08  gb
1132
1133        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
1134
11352007-07-22 18:07  gb
1136
1137        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
1138
11392007-07-22 18:06  gb
1140
1141        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
1142
11432007-07-22 18:03  gb
1144
1145        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
1146        OpenMCL.app/Contents/MacOS/dppccl,
1147        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
1148        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1149        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1150        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1151        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
1152        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
1153        ib,
1154        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
1155        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
1156        cts.nib,
1157        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
1158        lasses.nib,
1159        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
1160        nfo.nib,
1161        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
1162        eyedobjects.nib,
1163        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
1164        nib,
1165        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
1166        ,
1167        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
1168        ects.nib,
1169        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
1170        .nib,
1171        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
1172        b,
1173        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
1174        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1175        OpenMCL.app/Contents/Resources/Help/index.html,
1176        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
1177        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
1178        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
1179        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
1180        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
1181        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
1182        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
1183        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
1184        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1185        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1186        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1187        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
1188        rings,
1189        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1190        /classes.nib,
1191        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1192        /info.nib,
1193        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1194        /keyedobjects.nib,
1195        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1196        ctor.nib/classes.nib,
1197        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1198        ctor.nib/info.nib,
1199        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1200        ctor.nib/keyedobjects.nib,
1201        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1202        b/classes.nib,
1203        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1204        b/info.nib,
1205        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1206        b/keyedobjects.nib,
1207        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1208        ib/classes.nib,
1209        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1210        ib/info.nib,
1211        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1212        ib/keyedobjects.nib,
1213        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1214        ib/classes.nib,
1215        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1216        ib/info.nib,
1217        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1218        ib/keyedobjects.nib,
1219        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1220        nib/classes.nib,
1221        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1222        nib/info.nib,
1223        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1224        nib/keyedobjects.nib,
1225        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1226        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1227        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1228        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1229        cocoa-ide/hemlock/hemlock11.cursor,
1230        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1231        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1232        cocoa-ide/hemlock/doc/.cvsignore,
1233        cocoa-ide/hemlock/doc/cim/.cvsignore,
1234        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1235        cocoa-ide/hemlock/doc/cim/cim.mss,
1236        cocoa-ide/hemlock/doc/misc/.cvsignore,
1237        cocoa-ide/hemlock/doc/misc/compilation.order,
1238        cocoa-ide/hemlock/doc/misc/hemlock.log,
1239        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1240        cocoa-ide/hemlock/doc/misc/notes.txt,
1241        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1242        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1243        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1244        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1245        cocoa-ide/hemlock/doc/user/.cvsignore,
1246        cocoa-ide/hemlock/doc/user/commands.mss,
1247        cocoa-ide/hemlock/doc/user/intro.mss,
1248        cocoa-ide/hemlock/doc/user/lisp.mss,
1249        cocoa-ide/hemlock/doc/user/mail.mss,
1250        cocoa-ide/hemlock/doc/user/netnews.mss,
1251        cocoa-ide/hemlock/doc/user/special-modes.mss,
1252        cocoa-ide/hemlock/doc/user/user.mss,
1253        cocoa-ide/hemlock/maint/.cvsignore,
1254        cocoa-ide/hemlock/maint/publish,
1255        cocoa-ide/hemlock/resources/.cvsignore,
1256        cocoa-ide/hemlock/resources/XKeysymDB,
1257        cocoa-ide/hemlock/resources/mh-scan,
1258        cocoa-ide/hemlock/resources/spell-dictionary.text,
1259        cocoa-ide/hemlock/src/.cvsignore,
1260        cocoa-ide/hemlock/src/bindings-gb.lisp,
1261        cocoa-ide/hemlock/src/bindings.lisp,
1262        cocoa-ide/hemlock/src/buffer.lisp,
1263        cocoa-ide/hemlock/src/charmacs.lisp,
1264        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1265        cocoa-ide/hemlock/src/command.lisp,
1266        cocoa-ide/hemlock/src/comments.lisp,
1267        cocoa-ide/hemlock/src/completion.lisp,
1268        cocoa-ide/hemlock/src/cursor.lisp,
1269        cocoa-ide/hemlock/src/decls.lisp,
1270        cocoa-ide/hemlock/src/defsyn.lisp,
1271        cocoa-ide/hemlock/src/doccoms.lisp,
1272        cocoa-ide/hemlock/src/echo.lisp,
1273        cocoa-ide/hemlock/src/echocoms.lisp,
1274        cocoa-ide/hemlock/src/edit-defs.lisp,
1275        cocoa-ide/hemlock/src/filecoms.lisp,
1276        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1277        cocoa-ide/hemlock/src/font.lisp,
1278        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1279        cocoa-ide/hemlock/src/htext1.lisp,
1280        cocoa-ide/hemlock/src/htext2.lisp,
1281        cocoa-ide/hemlock/src/htext3.lisp,
1282        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1283        cocoa-ide/hemlock/src/indent.lisp,
1284        cocoa-ide/hemlock/src/interp.lisp,
1285        cocoa-ide/hemlock/src/kbdmac.lisp,
1286        cocoa-ide/hemlock/src/key-event.lisp,
1287        cocoa-ide/hemlock/src/keysym-defs.lisp,
1288        cocoa-ide/hemlock/src/killcoms.lisp,
1289        cocoa-ide/hemlock/src/line.lisp,
1290        cocoa-ide/hemlock/src/linimage.lisp,
1291        cocoa-ide/hemlock/src/lispdep.lisp,
1292        cocoa-ide/hemlock/src/lispmode.lisp,
1293        cocoa-ide/hemlock/src/listener.lisp,
1294        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1295        cocoa-ide/hemlock/src/modeline.lisp,
1296        cocoa-ide/hemlock/src/morecoms.lisp,
1297        cocoa-ide/hemlock/src/package.lisp,
1298        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1299        cocoa-ide/hemlock/src/register.lisp,
1300        cocoa-ide/hemlock/src/ring.lisp,
1301        cocoa-ide/hemlock/src/rompsite.lisp,
1302        cocoa-ide/hemlock/src/search1.lisp,
1303        cocoa-ide/hemlock/src/search2.lisp,
1304        cocoa-ide/hemlock/src/searchcoms.lisp,
1305        cocoa-ide/hemlock/src/srccom.lisp,
1306        cocoa-ide/hemlock/src/streams.lisp,
1307        cocoa-ide/hemlock/src/struct.lisp,
1308        cocoa-ide/hemlock/src/syntax.lisp,
1309        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1310        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1311        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1312        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1313        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1314        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1315        cocoa-ide/hemlock/src/archive/bufed.lisp,
1316        cocoa-ide/hemlock/src/archive/debug.lisp,
1317        cocoa-ide/hemlock/src/archive/dired.lisp,
1318        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1319        cocoa-ide/hemlock/src/archive/display.lisp,
1320        cocoa-ide/hemlock/src/archive/dylan.lisp,
1321        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1322        cocoa-ide/hemlock/src/archive/group.lisp,
1323        cocoa-ide/hemlock/src/archive/highlight.lisp,
1324        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1325        cocoa-ide/hemlock/src/archive/input.lisp,
1326        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1327        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1328        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1329        cocoa-ide/hemlock/src/archive/mh.lisp,
1330        cocoa-ide/hemlock/src/archive/netnews.lisp,
1331        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1332        cocoa-ide/hemlock/src/archive/pascal.lisp,
1333        cocoa-ide/hemlock/src/archive/rcs.lisp,
1334        cocoa-ide/hemlock/src/archive/screen.lisp,
1335        cocoa-ide/hemlock/src/archive/scribe.lisp,
1336        cocoa-ide/hemlock/src/archive/shell.lisp,
1337        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1338        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1339        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1340        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1341        cocoa-ide/hemlock/src/archive/srccom.lisp,
1342        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1343        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1344        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1345        cocoa-ide/hemlock/src/archive/window.lisp,
1346        cocoa-ide/hemlock/src/archive/winimage.lisp,
1347        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1348        cocoa-ide/hemlock/src/elisp/.cvsignore,
1349        cocoa-ide/hemlock/src/elisp/base.lisp,
1350        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1351        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1352        cocoa-ide/hemlock/src/elisp/compile.lisp,
1353        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1354        cocoa-ide/hemlock/src/elisp/implementation-needed,
1355        cocoa-ide/hemlock/src/elisp/internals.lisp,
1356        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1357        cocoa-ide/hemlock/src/elisp/packages.lisp,
1358        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1359        cocoa-ide/hemlock/src/spell/.cvsignore,
1360        cocoa-ide/hemlock/src/spell/build.lisp,
1361        cocoa-ide/hemlock/src/spell/classes.lisp,
1362        cocoa-ide/hemlock/src/spell/constants.lisp,
1363        cocoa-ide/hemlock/src/spell/correlate.lisp,
1364        cocoa-ide/hemlock/src/spell/flags.lisp,
1365        cocoa-ide/hemlock/src/spell/hashing.lisp,
1366        cocoa-ide/hemlock/src/spell/io.lisp,
1367        cocoa-ide/hemlock/src/spell/package.lisp,
1368        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1369        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1370        cocoa-ide/hemlock/src/spell/spell.asd,
1371        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1372        cocoa-ide/hemlock/src/tty/.cvsignore,
1373        cocoa-ide/hemlock/src/tty/termcap.lisp,
1374        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1375        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1376        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1377        cocoa-ide/hemlock/src/wire/.cvsignore,
1378        cocoa-ide/hemlock/src/wire/Notes,
1379        cocoa-ide/hemlock/src/wire/package.lisp,
1380        cocoa-ide/hemlock/src/wire/port.lisp,
1381        cocoa-ide/hemlock/src/wire/remote.lisp,
1382        cocoa-ide/hemlock/src/wire/wire.lisp,
1383        cocoa-ide/hemlock/unused/.cvsignore,
1384        cocoa-ide/hemlock/unused/bit-stream.lisp,
1385        cocoa-ide/hemlock/unused/clx-ext.lisp,
1386        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1387        cocoa-ide/hemlock/unused/gosmacs.lisp,
1388        cocoa-ide/hemlock/unused/hacks.lisp,
1389        cocoa-ide/hemlock/unused/hemcom.lisp,
1390        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1391        cocoa-ide/hemlock/unused/keytran.lisp,
1392        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1393        cocoa-ide/hemlock/unused/spell-build.lisp,
1394        cocoa-ide/hemlock/unused/struct-ed.lisp,
1395        cocoa-ide/hemlock/unused/tty-stream.lisp,
1396        cocoa-ide/hemlock/website/.cvsignore,
1397        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1398        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1399        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1400        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1401        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1402        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1403        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1404        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1405        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1406        examples/objc-clos.lisp, examples/objc-package.lisp,
1407        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1408        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1409        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1410        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1411        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1412        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1413        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1414        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1415        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1416        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1417        hemlock/doc/misc/perq-hemlock.log,
1418        hemlock/doc/misc/things-to-do.txt,
1419        hemlock/doc/scribe-converter/.cvsignore,
1420        hemlock/doc/scribe-converter/NOTES,
1421        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1422        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1423        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1424        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1425        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1426        hemlock/maint/publish, hemlock/resources/.cvsignore,
1427        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1428        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1429        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1430        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1431        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1432        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1433        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1434        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1435        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1436        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1437        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1438        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1439        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1440        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1441        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1442        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1443        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1444        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1445        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1446        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1447        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1448        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1449        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1450        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1451        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1452        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1453        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1454        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1455        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1456        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1457        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1458        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1459        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1460        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1461        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1462        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1463        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1464        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1465        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1466        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1467        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1468        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1469        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1470        hemlock/src/table.lisp, hemlock/src/text.lisp,
1471        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1472        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1473        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1474        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1475        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1476        hemlock/src/elisp/base.lisp,
1477        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1478        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1479        hemlock/src/elisp/hemlock-shims.lisp,
1480        hemlock/src/elisp/implementation-needed,
1481        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1482        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1483        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1484        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1485        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1486        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1487        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1488        hemlock/src/spell/spell-aug.lisp,
1489        hemlock/src/spell/spell-dictionary.text,
1490        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1491        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1492        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1493        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1494        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1495        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1496        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1497        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1498        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1499        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1500        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1501        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1502        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1503        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1504        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1505        objc-bridge/fake-cfbundle-path.lisp,
1506        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1507        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1508        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1509        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1510        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1511        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1512        things moved from "examples" to one of these directories,
1513        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1514        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1515        "ide-1.0" branch for details.
1516
15172007-06-15 19:10  gb
1518
1519        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1520
15212007-06-15 14:10  gb
1522
1523        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1524        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1525        (shouldn't get here if we're catching that upstream, but ...)
1526
15272007-06-01 08:34  gb
1528
1529        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1530        caught most places.
1531
15322007-06-01 08:33  gb
1533
1534        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1535        if it can't find the package, accepts a stream argument in order to
1536        signal that type of error.  (Note that this has never been
1537        recoverable in general, especially in the case where the input
1538        stream is *terminal-io* or shares its input stream.)
1539
15402007-06-01 08:32  gb
1541
1542        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1543        reporting themselves.
1544
15452007-06-01 08:31  gb
1546
1547        * level-1/l1-error-system.lisp: Define and use
1548        STREAM-ERROR-CONTEXT.
1549
15502007-06-01 08:30  gb
1551
1552        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1553        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1554        probably have been caught earlier.
1555
15562007-06-01 08:29  gb
1557
1558        * level-1/l1-streams.lisp: Try to provide some context -
1559        "surrounding characters" - for reader/stream errors on character
1560        input streams.
1561
15622007-06-01 08:28  gb
1563
1564        * level-1/l1-unicode.lisp: Get number of args right in call to
1565        STRING-ENCODED-LENGTH-IN-BYTES from
1566        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1567
15682007-06-01 08:28  gb
1569
1570        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1571        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1572        order.  Both functions are usually open-coded (and the inlined
1573        versions seem to be OK), but the ObjC bridge funcalls these
1574        functions when getting/setting foreign slots of the appropriate
1575        type.
1576
15772007-06-01 08:27  gb
1578
1579        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1580        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1581        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1582
15832007-06-01 08:26  gb
1584
1585        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1586        all of it" case in %CSTR-POINTER; deal with all other cases in
1587        %CSTR-SEGMENT-POINTER.
1588
15892007-06-01 08:25  gb
1590
1591        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1592        under return address, exception callback frame (xcf) on stack.
1593       
1594        handle-udf-call: don't try to fix up the stack if we try to
1595        continue; let kernel deal with this after the callback.
1596
15972007-06-01 08:24  gb
1598
1599        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1600        return address on the top of the stack when this is entered
1601        (#-of-arguments traps).  Put it in the right place when building
1602        the frame.
1603       
1604        create_exception_callback_frame: look for tra on top of lisp stack,
1605        not in register (usually.)
1606       
1607        handle_error(): if we return after calling out for int #xc7 (call
1608        to undefined function), fix up the stack and other registers so
1609        that we can return the value(s) returned by the lisp-side handler.
1610        (It's hard for the lisp-side handler to do the stack manipulation,
1611        because of the xcf on the stack and because of the need to deal
1612        with the return address on the stack.)
1613
16142007-06-01 08:23  gb
1615
1616        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1617        lea/jmp: push ra0 on stack before trap, for the benefit of
1618        create_exception_callback_frame().
1619
16202007-06-01 08:22  gb
1621
1622        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1623
16242007-06-01 08:22  gb
1625
1626        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1627        write a BOM here.
1628
16292007-06-01 08:21  gb
1630
1631        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1632        since the switch to the new tra scheme.
1633
16342007-06-01 08:19  gb
1635
1636        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1637        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1638
16392007-05-12 18:27  gb
1640
1641        * release-notes.txt: Update for 070512.
1642
16432007-05-12 18:27  gb
1644
1645        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1646
16472007-05-12 18:26  gb
1648
1649        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1650
16512007-05-12 18:25  gb
1652
1653        * level-1/version.lisp: Bump.
1654
16552007-05-12 18:24  gb
1656
1657        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1658        heap by more than what we need if GC is obviously disabled.
1659
16602007-05-12 18:23  gb
1661
1662        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1663        suppress overflow checking in some cases.
1664
16652007-05-12 18:22  gb
1666
1667        * compiler/X86/x862.lisp: Fix indentation.
1668
16692007-05-12 18:22  gb
1670
1671        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1672        beyond segment if GC (obviously) disabled.
1673
16742007-05-12 18:21  gb
1675
1676        * level-1/l1-streams.lisp: Fix typo.
1677
16782007-05-12 18:20  gb
1679
1680        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1681        separate character encode/decode limits.
1682
16832007-05-12 18:19  gb
1684
1685        * level-1/l1-unicode.lisp: Start to bootstrap separate
1686        encode/decode limits.
1687
16882007-05-12 18:18  gb
1689
1690        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1691        nonsense when referencing mxcsr in debug_show_fpu().
1692
16932007-05-12 18:17  gb
1694
1695        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1696        earlier.  Sheesh.
1697
16982007-05-12 18:17  gb
1699
1700        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1701
17022007-05-12 18:16  gb
1703
1704        * level-1/version.lisp: Bump, for now.
1705
17062007-05-12 18:15  gb
1707
1708        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1709        ABI version.
1710
17112007-05-12 18:14  gb
1712
1713        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1714        new TRA interpretation.
1715
17162007-05-12 18:13  gb
1717
1718        * lisp-kernel/x86-spjump64.s: nmkunwind.
1719
17202007-05-12 18:12  gb
1721
1722        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1723        nMake_Catch handles return addresses on stack.  repret, for use
1724        when a one-byte ret instruction is a branch target or is preceded
1725        by a conditional branch.
1726
17272007-05-12 18:11  gb
1728
1729        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1730        exception contexts.
1731
17322007-05-12 18:11  gb
1733
1734        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1735        exception context; new TRA handling.
1736
17372007-05-12 18:10  gb
1738
1739        * lisp-kernel/x86-exceptions.c: New tra handling.
1740        new_heap_segment: try to avoid requesting too much when user sets
1741        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1742        down to fault handler, don't call out to lisp on faults in foreign
1743        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1744
17452007-05-12 18:08  gb
1746
1747        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1748        assignments.
1749
17502007-05-12 18:07  gb
1751
1752        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1753        sequence.
1754
17552007-05-12 18:06  gb
1756
1757        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1758
17592007-05-12 18:05  gb
1760
1761        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1762        that're branch targets or that follow conditional branches.
1763
17642007-05-12 18:04  gb
1765
1766        * lisp-kernel/thread_manager.c: Conditionalize for
1767        USE_MACH_EXCEPTION_LOCK.
1768
17692007-05-12 18:03  gb
1770
1771        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1772
17732007-05-12 18:02  gb
1774
1775        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1776        explicit blr.
1777
17782007-05-12 18:01  gb
1779
1780        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1781         Gee, I hope that works.
1782
17832007-05-12 18:00  gb
1784
1785        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1786
17872007-05-12 17:59  gb
1788
1789        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1790        using the mechanism.
1791
17922007-05-12 17:59  gb
1793
1794        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1795        extend with (possibly very large) lisp_heap_gc_threshold, try
1796        smaller values.
1797       
1798        Pass "old_valence" to exception handlers; don't call out to lisp on
1799        memory faults from foreign code.
1800
18012007-05-12 17:58  gb
1802
1803        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1804
18052007-05-12 17:57  gb
1806
1807        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1808        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1809        be correct/necessary.
1810
18112007-05-12 17:56  gb
1812
1813        * lisp-kernel/lisp-debug.c: lisp register display changes for
1814        x86-64.  Get FPU display working on x86-64.
1815
18162007-05-12 17:55  gb
1817
1818        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1819        calling-sequence change.
1820
18212007-05-12 17:54  gb
1822
1823        * lisp-kernel/image.h: New ABI version.
1824
18252007-05-12 17:54  gb
1826
1827        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1828        could; if only I could ...
1829
18302007-05-12 17:53  gb
1831
1832        * lib/x8664env.lisp: More imm temps! (one more ...).
1833
18342007-05-12 17:52  gb
1835
1836        * lib/nfcomp.lisp: Bump current fasl version.
1837
18382007-05-12 17:51  gb
1839
1840        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1841        in cross-compiled code.
1842
18432007-05-12 17:50  gb
1844
1845        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1846        interface dir, because of cross-compilation issues.
1847
18482007-05-12 17:49  gb
1849
1850        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1851        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1852
18532007-05-12 17:49  gb
1854
1855        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1856        transition.
1857
18582007-05-12 17:48  gb
1859
1860        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1861
18622007-05-12 17:47  gb
1863
1864        * lib/encapsulate.lisp: Add a comment.
1865
18662007-05-12 17:46  gb
1867
1868        * library/hash-cons.lisp: Very small lap change.
1869
18702007-05-12 17:45  gb
1871
1872        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1873        %FIXNUM-SET-MACPTR elsewhere.
1874
18752007-05-12 17:44  gb
1876
1877        * level-1/linux-files.lisp: File-mapped vectors.
1878
18792007-05-12 17:43  gb
1880
1881        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1882        :new-version if pathname-version of filename is :NEWEST.
1883
18842007-05-12 17:43  gb
1885
1886        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1887        with a CONDITION object.
1888
18892007-05-12 17:42  gb
1890
1891        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1892
18932007-05-12 17:41  gb
1894
1895        * level-1/l1-pathnames.lisp: If there's no host component in a
1896        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1897
18982007-05-12 17:40  gb
1899
1900        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1901        listener stack sizes now static.
1902
19032007-05-12 17:39  gb
1904
1905        * level-1/l1-files.lisp: Pathname arcana.
1906
19072007-05-12 17:38  gb
1908
1909        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1910        SIGINT.
1911
19122007-05-12 17:38  gb
1913
1914        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1915        changes.
1916
19172007-05-12 17:37  gb
1918
1919        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1920       
1921        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1922
19232007-05-12 17:36  gb
1924
1925        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1926
19272007-05-12 17:35  gb
1928
1929        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1930        here.
1931
19322007-05-12 17:34  gb
1933
1934        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1935
19362007-05-12 17:33  gb
1937
1938        * level-0/X86/x86-utils.lisp: New calling sequence.
1939
19402007-05-12 17:32  gb
1941
1942        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1943        EQL.
1944
19452007-05-12 17:32  gb
1946
1947        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1948        be careful with %rcx (now %imm2) in shift instructions.
1949
19502007-05-12 17:30  gb
1951
1952        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1953        sequence.
1954
19552007-05-12 17:29  gb
1956
1957        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1958        new-calling-sequence changes.
1959
19602007-05-12 17:27  gb
1961
1962        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1963        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1964        %temp2, and no need to be so careful with it.
1965
19662007-05-12 17:26  gb
1967
1968        * compiler/vinsn.lisp: global label-valued temporaries.
1969
19702007-05-12 17:25  gb
1971
1972        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1973
19742007-05-12 17:24  gb
1975
1976        * compiler/nx0.lisp: Try to do a little type inference for more
1977        flavors of AREF.
1978
19792007-05-12 17:23  gb
1980
1981        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1982        afunc (or equivalent) as a non-nil second value.
1983
19842007-05-12 17:22  gb
1985
1986        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1987        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1988        less nasty.
1989
19902007-05-12 17:21  gb
1991
1992        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1993        calling sequence, new tra/talign scheme.
1994
19952007-05-12 17:21  gb
1996
1997        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1998        rip)).
1999
20002007-05-12 17:20  gb
2001
2002        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
2003        rip-relative label refs.
2004
20052007-05-12 17:19  gb
2006
2007        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
2008        support :talign directive in vinsn templates.
2009
20102007-05-12 17:18  gb
2011
2012        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
2013        is a register ...
2014
20152007-05-12 17:17  gb
2016
2017        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
2018        for most things, except calls to subprims that manipulate the
2019        stack.
2020
20212007-05-12 17:16  gb
2022
2023        * compiler/X86/X8664/x8664-backend.lisp: Try to make
2024        cross-compilation with x86-64 targets a little easier, by using a
2025        cross-ftd interface directory.
2026
20272007-05-12 17:16  gb
2028
2029        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
2030        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
2031        scheme.
2032
20332007-05-12 17:15  gb
2034
2035        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
2036        unwind-protect uses nmkunwind (more happens out-of-line.)
2037
20382007-05-12 17:14  gb
2039
2040        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
2041
20422007-05-12 17:13  gb
2043
2044        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
2045
20462007-05-12 17:12  gb
2047
2048        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
2049
20502007-05-12 17:11  gb
2051
2052        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
2053        %GET-KERNEL-GLOBAL-PTR actually work.
2054
20552007-05-07 19:10  gb
2056
2057        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
2058        returns a CONS, signal the right flavor of TYPE-ERROR if it
2059        doesn't.
2060
20612007-05-05 18:10  gb
2062
2063        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
2064        the hash table, it tries to enable the GC before doing so.
2065
20662007-05-04 22:10  gb
2067
2068        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
2069        finds in the environment, not just non-nil.
2070
20712007-05-01 18:10  gb
2072
2073        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
2074        computation for GC-VERBOSE entry.
2075
20762007-05-01 06:11  gb
2077
2078        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
2079        utf-16 variants.
2080       
2081        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
2082        function.
2083
20842007-05-01 06:10  gb
2085
2086        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
2087        darwin ppc64 thread state structure, just like Apple does.  Can I
2088        blame them for getting this wrong, please ?
2089       
2090        Use the right argument names in ppc64 cmain callback; can't blame
2091        Apple.
2092
20932007-04-30 23:12  gb
2094
2095        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
2096        on Darwin, and should probably be removed completely.  Now that
2097        it's explicitly extern, don't try to reference it at runtime on
2098        linuxppc.
2099
21002007-04-30 23:11  gb
2101
2102        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
2103        referenced at runtime and explicitly extern, so make sure that it's
2104        initialized on all platforms.
2105
21062007-04-30 23:10  gb
2107
2108        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
2109        oxymoron - is specific to Darwin.
2110
21112007-04-21 00:10  gb
2112
2113        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
2114        directory after translating logical pathnames; it's generally
2115        meaningless to do PROBE-FILE on the directory component of a
2116        logical pathname.
2117
21182007-04-19 15:10  gb
2119
2120        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
2121        if it conflicts with an immediate temporary (we'll need all the imm
2122        temps we have on x86-64.)
2123
21242007-04-17 20:10  gb
2125
2126        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
2127        version of recent aset2/aset3 register-conflict changes.
2128
21292007-04-16 15:10  gb
2130
2131        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
2132        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
2133
21342007-04-16 14:11  gb
2135
2136        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
2137        :signed-doublewod.
2138
21392007-04-16 13:10  gb
2140
2141        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
2142        Memory-fault errors on PPC, too.
2143
21442007-04-16 04:34  gb
2145
2146        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
2147        renaming nonsense.
2148
21492007-04-16 02:12  gb
2150
2151        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
2152
21532007-04-16 02:11  gb
2154
2155        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
2156
21572007-04-16 02:10  gb
2158
2159        * level-1/l1-error-system.lisp: Change wording of
2160        INVALID-MEMORY-ACCESS error message, a little.
2161
21622007-04-16 01:13  gb
2163
2164        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
2165        memory faults.
2166
21672007-04-16 01:12  gb
2168
2169        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
2170        now.
2171
21722007-04-16 01:11  gb
2173
2174        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
2175        INVALID-MEMORY-ACCESS condition.
2176
21772007-04-16 01:10  gb
2178
2179        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
2180
21812007-04-15 19:11  gb
2182
2183        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
2184        aset2/aset3 changes.
2185
21862007-04-15 19:10  gb
2187
2188        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
2189        it's an imm-reg; we need another imm-reg to do some index
2190        calculations.
2191
21922007-04-14 18:10  gb
2193
2194        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
2195        unscramble what it means for an interrupt to be pending on x86-64.
2196
21972007-04-14 00:13  gb
2198
2199        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
2200        generated when it is in ... unmentionable OS releases.
2201
22022007-04-14 00:11  gb
2203
2204        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
2205        work around laughable Apple ld64 gibberish.
2206
22072007-04-12 02:11  gb
2208
2209        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
2210        two-dimensional arrays: need to target specific registers if array
2211        has element type T.
2212
22132007-04-12 02:10  gb
2214
2215        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2216        appropriate, not :x86-64 twice.
2217
22182007-04-11 05:10  gb
2219
2220        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2221        for bivalent streams.
2222       
2223        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2224        maintain the element-type separately, just look in ioblock.
2225        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2226
22272007-04-10 22:10  gb
2228
2229        * lisp-kernel/x86-spentry64.s: Branch at
2230        C(egc_store_node_conditional_success_test) should bracnch
2231        backwards, not forwards.  (This was leading to spurious
2232        "<something> is not a proper list" errors, because the next label
2233        named "0" is in middle of the the _SPprogvsage code that tests for
2234        a proper list.)
2235
22362007-04-10 00:11  gb
2237
2238        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2239        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2240        RLET or equivalent to avoid making GCable pointers for ObjC
2241        dispatch function args; trust the compiler to do that for us.
2242
22432007-04-10 00:10  gb
2244
2245        * examples/bridge.lisp: If any method defined on a message passes a
2246        structure by value, install a compiler macro on the dispatch
2247        function.
2248       
2249        In that compiler, look for apparent calls to know structure
2250        constructors; replace those with calls to the corresponding
2251        initialization function, and stack-allocate a structure instance
2252        around the call.  (Suggested by Kevin Reid, and something that
2253        SEND/SLET did - sort of - that the new approach didn't.)
2254       
2255        Keep track of info about common foreign structs (initializer,
2256        constructor, etc.) to make doing stuff like this easier.
2257
22582007-04-09 16:10  gb
2259
2260        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2261        the result of sending the init message is a null pointer, return a
2262        null pointer.
2263
22642007-04-09 00:10  gb
2265
2266        * release-notes.txt: Update for 070408.
2267       
2268        (Yes, it's 070409 here already ...)
2269
22702007-04-08 15:12  gb
2271
2272        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2273
22742007-04-08 15:10  gb
2275
2276        * xdump/faslenv.lisp: Bump min fasl version.
2277
22782007-04-08 14:11  gb
2279
2280        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2281        jump table, to work around (still more) Apple ld64 nonsense.
2282
22832007-04-08 13:14  gb
2284
2285        * lib/nfcomp.lisp: Bump current fasl version.
2286
22872007-04-08 13:13  gb
2288
2289        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2290
22912007-04-08 13:12  gb
2292
2293        * xdump/faslenv.lisp: Bump max fasl version.
2294
22952007-04-08 13:11  gb
2296
2297        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2298        people who try to build this kernel on an x86 mac will take longer
2299        to realize that that's usually a bad idea.
2300
23012007-04-08 12:09  gb
2302
2303        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2304        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2305        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2306        cocoa-window.lisp, cocoa.lisp:
2307        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2308       
2309        Some changes in font, nsstring stuff to avoid using deprecated
2310        featurs.
2311
23122007-04-08 12:07  gb
2313
2314        * examples/: webkit.lisp, addressbook.lisp:
2315        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2316       
2317        Use OBJC:LOAD-FRAMEWORK.
2318
23192007-04-08 12:06  gb
2320
2321        * examples/tiny.lisp:
2322        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2323
23242007-04-08 12:05  gb
2325
2326        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2327        rubix.lisp:
2328        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2329       
2330        Handle CGFLOAT issues in mouse event handlers.
2331
23322007-04-08 12:04  gb
2333
2334        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2335       
2336        Define "foreign struct classes" for several common structure types
2337        (rectangle, point, size); generate inlined accessors for their
2338        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2339        macros.
2340       
2341        #/ reader macro: reads a string containing "constituent" characters
2342        (including #\:), preserving case.  Does a little bit of
2343        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2344        package.
2345       
2346        Try to deal with cases where foreign type info may be parsed or
2347        unparsed.
2348       
2349        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2350         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2351        message info, tries to determine ambiguity, calls signature
2352        function (possibly after trying to resolve ambiguity.)
2353       
2354        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2355        calling a signature function that knows how to dispatch to SUPER
2356        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2357       
2358        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2359        OBJC-DISPATCH-FUNCTION.
2360       
2361        Handle PROTOCOLs differently in ambiguous SEND.
2362
23632007-04-08 12:04  gb
2364
2365        * examples/objc-runtime.lisp: Compile message send functions per
2366        signature.  Handle vararg message sends, partly at runtime.  INIT
2367        messages just have their signature info precomputed.  Defining a
2368        named OBJC-CLASS makes the class name a static variable whose value
2369        is the class (and likewise for the metaclass.)
2370        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2371        OBJC:DEFMETHOD and support for it.
2372
23732007-04-08 12:03  gb
2374
2375        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2376         Avoid some deprecated C-string stuff (but wimp out and assume
2377        ASCII.) Keep track of objc-class-count, provide
2378        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2379        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2380        etc. elsewhere.
2381
23822007-04-08 12:02  gb
2383
2384        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2385        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2386        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2387        about as lightweight as MAKE-OBJC-INSTANCE.)
2388
23892007-04-08 12:01  gb
2390
2391        * examples/name-translation.lisp:
2392        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2393        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2394
23952007-04-08 12:00  gb
2396
2397        * examples/objc-package.lisp: New file; export more stuff.  Import
2398        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2399        pseudo-GFs.
2400
24012007-04-08 11:59  gb
2402
2403        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2404        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2405        Intern integer types up to 64 bits.
2406
24072007-04-08 11:59  gb
2408
2409        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2410        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2411        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2412        COPY-RECORD.
2413
24142007-04-08 11:58  gb
2415
2416        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2417        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2418        missing brackets.
2419
24202007-04-08 11:57  gb
2421
2422        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2423        not Darwin.  In Darwin, evactuate off of the lisp stack while
2424        interrupts are still disabled.
2425
24262007-04-08 11:56  gb
2427
2428        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2429        (where Apple hasn't yet invented the notion that it needs to be
2430        thread-specific.)
2431
24322007-04-08 11:55  gb
2433
2434        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2435        destroying TCR.
2436
24372007-04-08 11:54  gb
2438
2439        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2440        worked around an old Darwin bug.
2441
24422007-04-08 11:53  gb
2443
2444        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2445
24462007-04-08 11:52  gb
2447
2448        * lisp-kernel/image.c: Don't nuke null pointers.
2449
24502007-04-08 11:52  gb
2451
2452        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2453
24542007-04-08 11:51  gb
2455
2456        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2457        of macptr.domain, macptr.type.
2458
24592007-04-08 11:50  gb
2460
2461        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2462
24632007-04-08 11:49  gb
2464
2465        * library/lispequ.lisp: add pkg.intern-hook to package.
2466
24672007-04-08 11:48  gb
2468
2469        * lib/describe.lisp: Start trying to conditionalize some of the
2470        stack-frame inspector stuff.
2471
24722007-04-08 11:48  gb
2473
2474        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2475        64-bit word components, with FP fields passed in registers.  This
2476        requires some special handling ("hybrid" parameters) in the
2477        compiler and %FF-CALL.
2478
24792007-04-08 11:47  gb
2480
2481        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2482        endianness.
2483
24842007-04-08 11:46  gb
2485
2486        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2487
24882007-04-08 11:45  gb
2489
2490        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2491        in %SOURCE-FILES-LIKE-EM.
2492
24932007-04-08 11:44  gb
2494
2495        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2496
24972007-04-08 11:43  gb
2498
2499        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2500        MAKE-XREF-ENTRY.
2501
25022007-04-08 11:43  gb
2503
2504        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2505
25062007-04-08 11:42  gb
2507
2508        * level-1/version.lisp: Bump; new snapshots tomorrow.
2509
25102007-04-08 11:41  gb
2511
2512        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2513
25142007-04-08 11:40  gb
2515
2516        * level-1/linux-files.lisp: Very long timeout for
2517        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2518        if we have to wait at all.
2519       
2520        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2521       
2522        Make PIPE code slightly easier to read.
2523
25242007-04-08 11:39  gb
2525
2526        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2527
25282007-04-08 11:38  gb
2529
2530        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2531        CHARACTER-ENCODING, use it to determine number/sequence of octets
2532        used to encode NUL.
2533
25342007-04-08 11:38  gb
2535
2536        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2537       
2538        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2539        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2540        so that echoing looks more natural.
2541
25422007-04-08 11:37  gb
2543
2544        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2545        object.
2546
25472007-04-08 11:36  gb
2548
2549        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2550        changes manually and most of the effects were cosmetic.
2551        TOPLEVEL-PRINT takes an output stream arg.
2552
25532007-04-08 11:35  gb
2554
2555        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2556
25572007-04-08 11:34  gb
2558
2559        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2560        interrupt is obviously pending.
2561
25622007-04-08 11:33  gb
2563
2564        * level-1/l1-io.lisp: Change pointer printing.
2565
25662007-04-08 11:33  gb
2567
2568        * level-1/l1-init.lisp: +NULL-PTR+.
2569
25702007-04-08 11:31  gb
2571
2572        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2573        preferred name for DEFGLOBAL.
2574
25752007-04-08 11:30  gb
2576
2577        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2578        for DEFGLOBAL.
2579       
2580        Mechanism for associating a (built-in) class with a foreign type
2581        ordinal.
2582
25832007-04-08 11:29  gb
2584
2585        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2586        for DEFGLOBAL.
2587       
2588        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2589        likely the global value of some symbol.)
2590
25912007-04-08 11:28  gb
2592
2593        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2594        DEFGLOBAL.
2595       
2596        Standard CL streams now bound per-thread.
2597       
2598        Install standard foreign types here, not every time that
2599        FOREIGN-TYPES is loaded.
2600       
2601        Canonicalize foreign type ordinals as soon as we can.  (This is
2602        part of a scheme to give foreign types "ordinals' that can be used
2603        to assert pointer types; we need some of those ordinal numbers to
2604        be pre-assigned, since we can't reference foreign types early in
2605        the cold load.)
2606
26072007-04-08 11:27  gb
2608
2609        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2610        DEFGLOBAL.  GCABLE-PTR-P.
2611
26122007-04-07 21:25  gb
2613
2614        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2615         Handle maintenance of auto-export packages differently.
2616        $fasl-timm just needs an :int, not a :long.
2617
26182007-04-07 21:24  gb
2619
2620        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2621        "functional", not random symbol guts.
2622
26232007-04-07 21:23  gb
2624
2625        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2626        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2627        interrupts are re-enabled.
2628
26292007-04-07 21:22  gb
2630
2631        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2632
26332007-04-07 21:20  gb
2634
2635        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2636        %PTR-STORE-FIXNUM-CONDITIONAL.
2637
26382007-04-07 21:19  gb
2639
2640        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2641        in DarwinPPC64 #'%FF-CALL.
2642
26432007-04-07 21:19  gb
2644
2645        * compiler/optimizers.lisp: When trying to infer result type of
2646        MAKE-ARRAY call, unquote quoted type specifier.
2647       
2648        Strength-reduce FLOAT when second argument is of known type.
2649
26502007-04-07 21:18  gb
2651
2652        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2653
26542007-04-07 21:17  gb
2655
2656        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2657        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2658        Parse %short-float, %double-float when no "result" arg; can at
2659        least try to constant-fold late and/or do some cases if we have
2660        more type info.
2661
26622007-04-07 21:16  gb
2663
2664        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2665        be bound" error message.
2666
26672007-04-07 21:15  gb
2668
2669        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2670        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2671
26722007-04-07 21:14  gb
2673
2674        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2675        remaning GPR/FPR counts even if arg is "simple" and passes straight
2676        through to %FF-CALL.
2677
26782007-04-07 21:13  gb
2679
2680        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2681        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2682        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2683        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2684        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2685
26862007-04-07 21:12  gb
2687
2688        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2689        for Darwin structure-passing ABI.
2690
26912007-04-07 21:10  gb
2692
2693        * OpenMCL.app/Contents/Resources/English.lproj/:
2694        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2695        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2696        OpenmclInspector.nib/keyedobjects.nib,
2697        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2698        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2699        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2700        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2701        representation, not binary.
2702
27032007-04-06 22:10  gb
2704
2705        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2706        (RLIMIT_AS) current resource limit to max limit, since some distros
2707        limit it.
2708
27092007-04-03 03:11  gb
2710
2711        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2712        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2713
27142007-04-02 22:10  gb
2715
2716        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2717        arg in utf-16 encode, missing #x in little-endian bom-marker
2718        definition.)
2719
27202007-03-14 23:10  gb
2721
2722        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2723
27242007-03-14 05:11  gb
2725
2726        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2727        generate-callback-bindings.
2728
27292007-03-13 06:10  gb
2730
2731        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2732
27332007-03-13 03:58  gb
2734
2735        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2736
27372007-03-12 05:11  gb
2738
2739        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2740        little.
2741
27422007-03-12 05:10  gb
2743
2744        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2745        %EXTERNAL-CALL-EXPANDER.
2746
27472007-03-12 05:09  gb
2748
2749        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2750        encapsulation, and a lock.
2751
27522007-03-12 05:08  gb
2753
2754        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2755        thread-local.
2756
27572007-03-12 02:25  gb
2758
2759        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2760        deal with variations in Mach behavior: "exception" may be
2761        EXC_BAD_ACCESS when an illegal instruction causes a "general
2762        protection fault".
2763
27642007-03-09 15:56  gb
2765
2766        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2767        NIL ...)
2768
27692007-03-09 00:01  gb
2770
2771        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2772
27732007-03-09 00:00  gb
2774
2775        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2776        *OPEN-FILE-STREAMS*.
2777
27782007-03-09 00:00  gb
2779
2780        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2781        open-file-streams.
2782
27832007-03-08 23:59  gb
2784
2785        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2786        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2787
27882007-03-08 23:58  gb
2789
2790        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2791        associated with it.
2792
27932007-03-08 23:57  gb
2794
2795        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2796
27972007-03-08 23:47  gb
2798
2799        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2800        hash-table, it fills the hash-table vector with "free" markers.
2801        (There may already be lots of "deleted" markers in the table.)
2802
28032007-03-08 22:26  gb
2804
2805        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2806
28072007-03-08 22:24  gb
2808
2809        * lib/numbers.lisp: printing random-state: don't shift seeds.
2810
28112007-03-08 22:24  gb
2812
2813        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2814
28152007-03-08 22:24  gb
2816
2817        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2818
28192007-03-08 22:23  gb
2820
2821        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2822
28232007-03-08 22:23  gb
2824
2825        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2826        %next-random-pair.
2827
28282007-03-08 22:22  gb
2829
2830        * level-0/l0-numbers.lisp: And, while we're at it: do the
2831        next-random-seed permutation in %next-random-pair, which accepts
2832        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2833        in lisp on 64-bit platforms.
2834
28352007-03-08 22:20  gb
2836
2837        * level-0/l0-numbers.lisp: Don't shift random seeds.
2838
28392007-03-08 03:30  gb
2840
2841        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2842        rather than >= #x80, because of the new way that
2843        uuo-error-slot-unbound is encoded.
2844
28452007-03-08 03:28  gb
2846
2847        * compiler/X86/x86-disassemble.lisp: Recognize
2848        uuo-error-slot-unbound.
2849
28502007-03-08 03:28  gb
2851
2852        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2853        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2854
28552007-03-07 08:29  gb
2856
2857        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2858
28592007-03-07 07:45  gb
2860
2861        * level-1/linux-files.lisp: For #+linux-target, try to use
2862        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2863        if that fails.  (CPU-COUNT is called early in the cold load, before
2864        we can make the file-stream necessary to do the parsing.)
2865
28662007-03-07 07:33  gb
2867
2868        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2869        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2870
28712007-03-07 07:25  gb
2872
2873        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2874        el-bizarro syscall mask, pass the magic number 0x1e as a second
2875        arg, just in case.
2876
28772007-03-07 07:24  gb
2878
2879        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2880        before accessing *OPEN-FILE-STREAMS*.
2881
28822007-03-07 07:23  gb
2883
2884        * level-1/l1-readloop.lisp: Add comment about
2885        *OPEN-FILE-STREAMS-LOCK*.
2886
28872007-03-07 07:23  gb
2888
2889        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2890
28912007-03-07 07:21  gb
2892
2893        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2894        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2895
28962007-03-07 07:05  gb
2897
2898        * xdump/heap-image.lisp: Bump current image version.
2899
29002007-03-07 07:02  gb
2901
2902        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2903        "calls" want an argument in ecx.  Set that arg to 0 for now.
2904
29052007-03-07 07:01  gb
2906
2907        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2908        "real" locks; those updates can be simplified.
2909       
2910        lock_recursive_lock: no (ignored) timeout arg.
2911
29122007-03-07 06:59  gb
2913
2914        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2915        support the old one.
2916
29172007-03-07 06:59  gb
2918
2919        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2920        prototype.  Change declaration of LOCK macro: no null timespec
2921        required.  RECURSIVE_LOCKs have spinlock fields.
2922
29232007-03-07 06:56  gb
2924
2925        * level-1/version.lisp: bump, indicate work-in-progress development
2926        version.
2927
29282007-03-07 06:56  gb
2929
2930        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2931        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2932        rather than something lower-level.
2933
29342007-03-07 06:53  gb
2935
2936        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2937        to obtain them before yielding.
2938
29392007-03-07 06:52  gb
2940
2941        * level-0/l0-io.lisp: Move YIELD elsewhere.
2942
29432007-03-07 06:51  gb
2944
2945        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2946        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2947        layout.
2948
29492007-03-02 05:10  gb
2950
2951        * level-1/l1-application.lisp: Toplevel function: initial-listener
2952        class is 'TTY-LISTENER.
2953
29542007-03-02 05:09  gb
2955
2956        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2957        message.
2958
29592007-03-02 05:09  gb
2960
2961        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2962       
2963        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2964        For TTY-LISTENER, call QUIT.
2965
29662007-03-02 05:08  gb
2967
2968        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2969        EXIT-INTERACTIVE-PROCESS instead.
2970       
2971        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2972
29732007-03-02 05:06  gb
2974
2975        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2976
29772007-03-02 05:06  gb
2978
2979        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2980        of null pointers into body.
2981
29822007-03-02 05:05  gb
2983
2984        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2985        consus-interruptus.
2986
29872007-03-02 05:05  gb
2988
2989        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2990        <constant> if constant is of type <type>.)
2991       
2992        Do we need an ignore-errors here ? Or does <type> need to be
2993        defined ?
2994
29952007-03-02 05:03  gb
2996
2997        * compiler/X86/x862.lisp: Do the / * thing.
2998
29992007-03-02 05:02  gb
3000
3001        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
3002        :call attribute.
3003
30042007-03-01 04:04  gb
3005
3006        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
3007        new binding frame
3008
30092007-02-28 07:04  gb
3010
3011        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
3012        rather than %rbp; trust callback_for_interrupt() to preserve it.
3013
30142007-02-28 07:03  gb
3015
3016        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
3017        callback_for_interrupt().
3018
30192007-02-28 05:18  gb
3020
3021        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
3022        counts) that may wind up on the vstack.
3023       
3024        Since those tiny things might be tagged as headers, walk the vstack
3025        with new "headerless" functions that ignore headers.
3026
30272007-02-28 05:16  gb
3028
3029        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
3030        before the alloc trap and interrupting, back out of the
3031        modification to save_allocptr (and allocptr register) and set
3032        *interrupt_displacement.
3033
30342007-02-23 10:13  gb
3035
3036        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
3037        only makes sense for cases where we have to guess; a bitfield
3038        that's 8 bits wide still has an alignment of 1.
3039       
3040        Factor in the alignment of the containing int when bitfields are
3041        involved.
3042       
3043        When parsing a record type, set the "bits" slot of each field.
3044        (Not too many things look at that slot, but we want the effect of
3045        loading a record from the database to match the effect of parsing a
3046        definition as exactly as possible, and to be able to use EQUALP to
3047        compare the results.)
3048
30492007-02-23 10:06  gb
3050
3051        * lib/db-io.lisp: Some extra fields in
3052        objc-message-info/objc-method-info structures.
3053       
3054        When calculating overall alignment of a structure, treat bitfields
3055        as if they were :unsigned-int (since there's a "containing"
3056        unsigned int that affects alignment.  N.B: this should be imposed
3057        for anything that has an alignment of 1, not just a size of 1.)
3058       
3059        When loading integer types, try to use the precomputed types rather
3060        than consing a new one.  This (a) reduces consing a little (b) is
3061        more likely to get the alignment correct.  For (b), we really need
3062        to distinguish between bitfields and addressable integers.
3063
30642007-02-23 09:30  gb
3065
3066        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
3067
30682007-02-22 02:33  gb
3069
3070        * level-0/l0-misc.lisp: Tweak ROOM output a little.
3071
30722007-02-22 02:28  gb
3073
3074        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
3075        heap size right ...).
3076
30772007-02-22 02:27  gb
3078
3079        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
3080        traditional (sysv) style of hash maps, if it understands that
3081        option.
3082
30832007-02-21 06:01  gb
3084
3085        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
3086        has been consed since last GC.  (There are some fenceposts there.)
3087       
3088        verbose GC herald tries to indicate how much is allocated in the
3089        area being GCed.
3090
30912007-02-21 05:58  gb
3092
3093        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
3094        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
3095
30962007-02-21 05:57  gb
3097
3098        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
3099        uuo-gc-trap.
3100
31012007-02-19 04:50  gb
3102
3103        * lib/foreign-types.lisp: Use keywords more consistently.
3104       
3105        (Note: there seems to be a bug which is keeping the cdb data
3106        structures from getting defined correctly at load time; the
3107        workaround is to compile foreign-types.lisp - which defines them -
3108        in the same session as and before db-io - which uses them - is
3109        compiled.)
3110
31112007-02-19 04:48  gb
3112
3113        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
3114        error.
3115
31162007-02-19 04:42  gb
3117
3118        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
3119        the error function.
3120
31212007-02-19 04:40  gb
3122
3123        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
3124        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
3125
31262007-02-19 04:40  gb
3127
3128        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
3129        FUNCALLABLE-STANDARD-OBJECT.
3130       
3131        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
3132        creating a GF.
3133
31342007-02-19 04:36  gb
3135
3136        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
3137        funcallable-stanard-objects better.
3138
31392007-02-19 04:34  gb
3140
3141        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
3142        CCL, OPENMCL-MOP.
3143
31442007-02-19 02:09  gb
3145
3146        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
3147        FUNCALLABLE-STANDARD-CLASS.
3148
31492007-02-19 02:07  gb
3150
3151        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
3152        error message.
3153
31542007-02-15 02:46  gb
3155
3156        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
3157        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
3158
31592007-02-15 02:45  gb
3160
3161        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
3162        methods yet.
3163
31642007-02-14 02:39  gb
3165
3166        * release-notes.txt: Fix a typo.
3167
31682007-02-14 02:35  gb
3169
3170        * release-notes.txt: Update for 070214 snapshots.
3171
31722007-02-13 23:36  gb
3173
3174        * level-1/version.lisp: Bump.
3175
31762007-02-13 23:36  gb
3177
3178        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
3179        image-abi-version.
3180
31812007-02-13 23:29  gb
3182
3183        * xdump/faslenv.lisp: Finish bumping fasl version.
3184
31852007-02-13 23:15  gb
3186
3187        * lib/nfcomp.lisp: Bump current fasl version.
3188
31892007-02-13 23:02  gb
3190
3191        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
3192
31932007-02-13 22:45  gb
3194
3195        * xdump/faslenv.lisp: Start bumping fasl-version.
3196
31972007-02-13 22:41  gb
3198
3199        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
3200        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
3201
32022007-02-13 21:16  gb
3203
3204        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
3205        that contain incompatible definitions of some math library stuff
3206        ("log" either has to do with logarithms or logging ...).
3207
32082007-02-13 18:42  gb
3209
3210        * lib/misc.lisp: Change the way that TIME is reported by default:
3211        mention the number of available CPU cores, don't assume that
3212        there's that much of a relationship between CPU time and wall-clock
3213        time.
3214
32152007-02-13 18:41  gb
3216
3217        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3218        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3219        when :execute, too.
3220
32212007-02-13 18:35  gb
3222
3223        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3224        offset arg is required.
3225
32262007-02-13 18:12  gb
3227
3228        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3229        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3230
32312007-02-13 18:10  gb
3232
3233        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3234        cons.)
3235
32362007-02-13 18:10  gb
3237
3238        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3239        are more/other float-size issues deeper down in the code.
3240
32412007-02-13 18:09  gb
3242
3243        * examples/objc-support.lisp: Fixup the x86-64 error-return
3244        callback trampiline code (was missing a byte of machine code.)
3245
32462007-02-13 18:08  gb
3247
3248        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3249        jmp-buf to safe/sane values.
3250
32512007-02-13 18:07  gb
3252
3253        * examples/cocoa-window.lisp: Don't change-class
3254        *cocoa-event-process* until we start to run the event loop.
3255       
3256        Don't do _deallocHardCore: explicitly.
3257
32582007-02-13 17:35  gb
3259
3260        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3261        DOUBLE-FLOAT aliases just one gpr.
3262
32632007-02-13 17:34  gb
3264
3265        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3266
32672007-02-13 17:34  gb
3268
3269        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3270        32-bit ints, not "long".
3271
32722007-02-13 17:33  gb
3273
3274        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3275        for each scalar, not each arg.
3276       
3277        Fix some backquoting/indentation.
3278
32792007-02-13 17:31  gb
3280
3281        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3282
32832007-02-12 16:23  gb
3284
3285        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3286
32872007-02-11 20:22  gb
3288
3289        * examples/bridge.lisp: method-typestring needs to be
3290        conditionalized.  How has this been working ?
3291
32922007-02-11 20:22  gb
3293
3294        * examples/cocoa-editor.lisp: remove some debugging code.
3295
32962007-02-11 20:21  gb
3297
3298        * examples/objc-runtime.lisp: %mlist-containing is
3299        #-apple-objc-2.0.
3300
33012007-02-11 20:21  gb
3302
3303        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3304
33052007-02-11 05:35  gb
3306
3307        * level-1/version.lisp: Bump.
3308
33092007-02-11 05:28  gb
3310
3311        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3312        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3313        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3314        an optional argument; default to the Tiger SDK.
3315
33162007-02-11 05:26  gb
3317
3318        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3319        an errror.
3320
33212007-02-11 05:26  gb
3322
3323        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3324        Leopard renaming.  Suffer.
3325
33262007-02-11 05:25  gb
3327
3328        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3329        an existing process (so that the listener process appears to be
3330        "persistent".)
3331
33322007-02-11 05:24  gb
3333
3334        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3335        make the initial-listener object persistent acrosss
3336        SAVE-APPLICATION.
3337
33382007-02-11 00:01  gb
3339
3340        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3341       
3342        Handle callback-error-returns on x86-64.
3343
33442007-02-11 00:00  gb
3345
3346        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3347        use %ptr<, to hide word-size differences.
3348       
3349        __NSConstantStringClassReference isn't what it used to be, so look
3350        up NSConstantStringClass the hard way.
3351       
3352        Handle ns-exception/lisp-error stuff on x86-64.
3353       
3354        Do arg/result coercions differently.  Does any code depend on
3355        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3356        MACPTRs).
3357       
3358        Use the new FFI interface for message-sends, callbacks to try to
3359        hide platform-specific ABI issues.
3360       
3361        The _deallocate-hook mechanism - which never really worked -
3362        probably can't work on Objc-2.0.
3363
33642007-02-10 23:54  gb
3365
3366        * examples/bridge.lisp: Make structure return-type explicit in
3367        objc-message-send calls in send/stret and variants.
3368
33692007-02-10 22:34  gb
3370
3371        * examples/cocoa-window.lisp: Some indentation changes and slight
3372        reorganization of the code; shouldn't be any functional/semantic
3373        changes.
3374
33752007-02-10 22:30  gb
3376
3377        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3378        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3379        appropriate; other changes for 64-bit platforms, Objc-2.0.
3380
33812007-02-10 22:28  gb
3382
3383        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3384        CG-FLOATs when appropriate.
3385
33862007-02-10 22:28  gb
3387
3388        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3389
33902007-02-10 22:28  gb
3391
3392        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3393
33942007-02-10 22:27  gb
3395
3396        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3397        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3398        ignore-errors when trying to parse the last arglist form as a
3399        foreign type.
3400
34012007-02-10 22:26  gb
3402
3403        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3404        expansion ...
3405
34062007-02-10 22:26  gb
3407
3408        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3409        use %rdx and %r11 to hold target address.
3410
34112007-02-10 22:23  gb
3412
3413        * library/pty.lisp: Unicode stuff when accessing control char
3414        array; conditionalize for #+darwin-target, not just
3415        #+darwinppc-target.
3416
34172007-02-10 22:22  gb
3418
3419        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3420        ppc-specific; the comment dated from the days of 68K MCL.)
3421
34222007-02-10 22:21  gb
3423
3424        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3425        return 32 bits at a time, to avoid consing little bignums.
3426
34272007-02-10 22:15  gb
3428
3429        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3430
34312007-02-10 22:15  gb
3432
3433        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3434        count, not total byte count.
3435       
3436        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3437        the PPC case, as well.)
3438
34392007-02-10 22:11  gb
3440
3441        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3442        "zero-extend-s8" vinsn, but there does need to be a
3443        "zero-extend-u8".
3444
34452007-02-10 05:38  gb
3446
3447        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3448        #'VALUES.
3449
34502007-02-10 05:38  gb
3451
3452        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3453        ARGLIST can say -something- about lap functions that don't take a
3454        fixed number of arguments.
3455
34562007-02-07 02:54  gb
3457
3458        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3459        "e".
3460
34612007-02-02 02:32  gb
3462
3463        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3464        objc-support.lisp: Start to integrate with FFI changes.  No more
3465        %SEND, process and precompile "init" messages when interfaces are
3466        accessed.  (Note: should try to handle varargs init messages, even
3467        if we have to call %FF-CALL at runtime.)
3468
34692007-02-02 02:31  gb
3470
3471        * examples/: addressbook.lisp, webkit.lisp: Change the
3472        initialization code a bit.
3473
34742007-02-02 02:27  gb
3475
3476        * lib/foreign-types.lisp: Try to fix another case involving
3477        "auxiliary types".
3478       
3479        I think that the concept of auxiliary types might make sense in a
3480        context like:
3481       
3482        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3483        (:struct :bar (:x :int) (:y :int)))))
3484       
3485        In that case, :struct :bar is local to the definition.  In the
3486        similar case:
3487       
3488        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3489        (:struct :bar))))
3490       
3491        :BAR is presumably defined (globally) elsewhere.
3492
34932007-02-02 02:17  gb
3494
3495        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3496         (Setting "SDK=" will hopefully work with older version of xcode.)
3497
34982007-02-02 02:15  gb
3499
3500        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3501
35022007-01-31 23:26  gb
3503
3504        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3505        argument in ppc2-poweropen-foreign-args.
3506
35072007-01-31 22:47  gb
3508
3509        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3510        components from registers.
3511
35122007-01-31 22:45  gb
3513
3514        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3515        brackets are returned verbatim, not downcased.
3516
35172007-01-31 22:44  gb
3518
3519        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3520        accepts :registers.
3521
35222007-01-31 16:36  gb
3523
3524        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3525        New (and, so far, useless) files.
3526
35272007-01-31 16:35  gb
3528
3529        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3530        seems to be 32-bit only.
3531
35322007-01-31 16:34  gb
3533
3534        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3535
35362007-01-31 16:34  gb
3537
3538        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3539
35402007-01-31 16:33  gb
3541
3542        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3543        missing cdb file: dog bytes man; missing parent directory is more
3544        newsworthy.
3545
35462007-01-31 15:38  gb
3547
3548        * library/chud-metering.lisp: Tweak a little, so that it might work
3549        on darwinppc64 (and on darwinx8664 when purify does something
3550        there.)
3551
35522007-01-31 15:06  gb
3553
3554        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3555
35562007-01-31 02:49  gb
3557
3558        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3559
35602007-01-30 22:53  gb
3561
3562        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3563        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3564        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3565        gl/.cvsignore: new files.
3566
35672007-01-30 22:21  gb
3568
3569        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3570        new files.
3571
35722007-01-30 21:58  gb
3573
3574        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3575
35762007-01-30 21:58  gb
3577
3578        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3579        file
3580
35812007-01-30 21:49  gb
3582
3583        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3584        fun!
3585
35862007-01-30 21:40  gb
3587
3588        * library/openmcl-gtk-support.lisp: Conditionalize out the
3589        event-polling task.
3590
35912007-01-30 21:36  gb
3592
3593        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3594        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3595        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3596
35972007-01-30 21:35  gb
3598
3599        * headers/gl/C/populate.sh: process glu.h
3600
36012007-01-30 17:47  gb
3602
3603        * library/parse-ffi.lisp: Always encode explicit structure-typed
3604        function return values.
3605       
3606        Note when we see one, for now.
3607
36082007-01-30 17:45  gb
3609
3610        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3611        leading argument to be paired with a structure-typed return-type.
3612
36132007-01-30 17:43  gb
3614
3615        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3616        the first-arg hack.
3617
36182007-01-30 17:42  gb
3619
3620        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3621        support the old version.
3622       
3623        Don't check the :struct-by-value flag when encoding function
3624        args/results.  (That decision's made above our pay grade now.)
3625       
3626        When reading a :struct/:union definition, try to update an existing
3627        defintion rather than consing up a new one (this matters if the
3628        record is anonymous.)
3629
36302007-01-30 17:39  gb
3631
3632        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3633        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3634        correctly.
3635       
3636        Fix c_socket for #+linuxppc.
3637
36382007-01-30 08:20  gb
3639
3640        * level-1/version.lisp: Bump.
3641
36422007-01-30 08:20  gb
3643
3644        * lib/compile-ccl.lisp: Use make -j to build kernel.
3645
36462007-01-30 07:02  gb
3647
3648        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3649        xmm0/xmm1.
3650
36512007-01-30 07:01  gb
3652
3653        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3654        day's work turned into 2 weeks, somehow.)
3655
36562007-01-30 07:00  gb
3657
3658        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3659        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3660        stuff for x8664 (all platfroms appear to use the same ABI.)
3661
36622007-01-30 03:26  gb
3663
3664        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3665        displacement in %ATOMIC-INCF-NODE.
3666
36672007-01-29 07:27  gb
3668
3669        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3670
36712007-01-29 07:27  gb
3672
3673        * lib/ffi-darwinppc64.lisp: new callback stuff.
3674
36752007-01-29 07:27  gb
3676
3677        * lib/ffi-darwinppc32.lisp: typos-r-us.
3678
36792007-01-29 04:37  gb
3680
3681        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3682
36832007-01-29 04:37  gb
3684
3685        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3686
36872007-01-29 04:36  gb
3688
3689        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3690
36912007-01-29 04:36  gb
3692
3693        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3694
36952007-01-29 04:36  gb
3696
3697        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3698        stuff here.
3699
37002007-01-29 02:33  gb
3701
3702        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3703
37042007-01-28 21:47  gb
3705
3706        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3707        a bit more, change the API, get things working ... still a moving
3708        target.
3709
37102007-01-28 21:46  gb
3711
3712        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3713        (Other platforms still need more bootstrapping.)
3714
37152007-01-28 21:44  gb
3716
3717        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3718        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3719
37202007-01-28 03:21  gb
3721
3722        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3723        dynamic-extent, other decls separately.
3724
37252007-01-28 03:20  gb
3726
3727        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3728        use the new (ftd-based) scheme.
3729
37302007-01-28 01:43  gb
3731
3732        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3733        code's getting replaced, but fix 'em anyway.)
3734
37352007-01-28 01:42  gb
3736
3737        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3738        translated pathname and mention the fact that this might indicate a
3739        problem with "ccl:"'s logical translations.
3740
37412007-01-25 04:37  gb
3742
3743        * lib/foreign-types.lisp: Never fully understood the concept
3744        "auxiliary" foreign types, but try to canonicalize intermediate
3745        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3746        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3747        likely to return T (e.g., something registered in the FTD.
3748       
3749        It seems clear that this is the right thing when the structure
3750        reference is in global scope; I'm not sure what it'd mean for that
3751        not to be the case.
3752
37532007-01-25 04:32  gb
3754
3755        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3756        callback.
3757
37582007-01-24 23:41  gb
3759
3760        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3761        may not even compile.
3762
37632007-01-24 02:39  gb
3764
3765        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3766        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3767        for new FTD functions.
3768
37692007-01-24 02:28  gb
3770
3771        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3772        defstruct.
3773
37742007-01-23 15:28  gb
3775
3776        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3777        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3778        Return FPRs in the same place.  (Will need to re-work all of this
3779        for platform-dependent structure stuff.)
3780
37812007-01-23 15:26  gb
3782
3783        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3784        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3785        the lisp side.)
3786
37872007-01-23 15:21  gb
3788
3789        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3790        c_reg_save for saved fp args (f1-f13).
3791
37922007-01-23 15:14  gb
3793
3794        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3795        ftd hook.
3796
37972007-01-23 07:19  gb
3798
3799        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3800        (CLASS-OF non-simple-string).
3801
38022007-01-23 07:02  gb
3803
3804        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3805        array case, needed new string definition.
3806
38072007-01-23 07:01  gb
3808
3809        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3810        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3811        compiler/X86/X8664/x8664-backend.
3812
38132007-01-23 06:59  gb
3814
3815        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3816        stuff here.
3817
38182007-01-21 08:32  gb
3819
3820        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3821        "-returning-").
3822       
3823        Typecheck the :registers arg.
3824
38252007-01-21 08:32  gb
3826
3827        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3828
38292007-01-21 08:31  gb
3830
3831        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3832        stack-block.
3833
38342007-01-21 08:31  gb
3835
3836        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3837        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3838        instead.
3839
38402007-01-21 06:46  gb
3841
3842        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3843        space for 13 float registers, not 31.
3844
38452007-01-21 06:45  gb
3846
3847        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3848        x86-64.
3849
38502007-01-21 06:38  gb
3851
3852        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3853        register return without typos.
3854
38552007-01-21 06:15  gb
3856
3857        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3858        register return.
3859
38602007-01-21 06:14  gb
3861
3862        * compiler/nx1.lisp: Don't assume that passing a structure by value
3863        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3864        platform that doesn't support the convention.)
3865
38662007-01-21 06:12  gb
3867
3868        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3869        replaces .SPunused-4.
3870
38712007-01-21 06:10  gb
3872
3873        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3874        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3875        (replaces .SPunused_4).
3876
38772007-01-21 00:05  gb
3878
3879        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3880        argument/result coercion functions in os::expand-ff-call.
3881
38822007-01-20 23:53  gb
3883
3884        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3885        results when expanding an ff-call.
3886
38872007-01-20 23:52  gb
3888
3889        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3890        foreign args, results.
3891
38922007-01-20 22:31  gb
3893
3894        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3895        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3896        are to each other.  I'd guess that they're pretty close, and that
3897        x86-64 Darwin is random.)
3898
38992007-01-20 21:55  gb
3900
3901        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3902
39032007-01-20 19:34  gb
3904
3905        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3906
39072007-01-20 19:25  gb
3908
3909        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3910        right os::ff-call-expander.
3911
39122007-01-20 19:24  gb
3913
3914        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3915
39162007-01-20 19:24  gb
3917
3918        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3919        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3920        OS.
3921
39222007-01-20 19:23  gb
3923
3924        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3925        probably several more.
3926
39272007-01-20 19:22  gb
3928
3929        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3930
39312007-01-20 19:21  gb
3932
3933        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3934        extended to handle coercions at the Cocoa level, and probably needs
3935        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3936        installed by #_).
3937
39382007-01-20 19:18  gb
3939
3940        * lib/db-io.lisp: Encode, decode union types in arglists.
3941
39422007-01-20 19:17  gb
3943
3944        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3945        os::expand-ff-call.
3946       
3947        Canonicalize the :void type a bit better.
3948
39492007-01-20 19:16  gb
3950
3951        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3952
39532007-01-18 23:15  gb
3954
3955        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3956
39572007-01-18 23:15  gb
3958
3959        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3960
39612007-01-18 23:15  gb
3962
3963        * lib/systems.lisp: Add the new ffi-backend sources.
3964
39652007-01-18 23:14  gb
3966
3967        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3968        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3969        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3970        files.
3971
39722007-01-18 04:35  gb
3973
3974        * level-1/version.lisp: Bump.
3975
39762007-01-18 04:17  gb
3977
3978        * examples/bridge.lisp: Some word-size conditionalization.  Will
3979        need more work to handle struct return/asssignment correctly on all
3980        platforms.
3981
39822007-01-18 04:15  gb
3983
3984        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3985        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3986
39872007-01-18 04:13  gb
3988
3989        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3990        type casts, etc.
3991
39922007-01-18 04:12  gb
3993
3994        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3995        deprecated NSFont stuff.
3996
39972007-01-18 04:11  gb
3998
3999        * examples/objc-clos.lisp: Handle ivars, class
4000        creation/initialization differently for ObjC 2.0.
4001
40022007-01-18 04:10  gb
4003
4004        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
4005
40062007-01-18 04:09  gb
4007
4008        * examples/objc-support.lisp: Note which protocols are actually
4009        used when walking classes.  (There doesn't seem to be a good way of
4010        finding a Protocol object pre-objc-2.0, and we may need to test
4011        protocol compliance to disambiguate message sends in some cases.)
4012
40132007-01-18 04:07  gb
4014
4015        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
4016        necessarily darwinppc).
4017
40182007-01-18 04:06  gb
4019
4020        * examples/addressbook.lisp: Conditionalize for darwin (not
4021        necessarily darwinppc).  May want to conditionalize for bundle
4022        executable name, as well.
4023
40242007-01-18 04:05  gb
4025
4026        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
4027        to sketch out structure return code (structures are often
4028        "returned" by returning field values in registers pn DarwinPPC64.)
4029
40302007-01-18 04:04  gb
4031
4032        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
4033        attributes for structure args/results.
4034
40352007-01-18 04:03  gb
4036
4037        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
4038         (Will need this for other platforms, too.)
4039
40402007-01-18 04:01  gb
4041
4042        * lib/macros.lisp: Arch-specific macro interface for
4043        WITH-FFCALL-RESULTS.
4044
40452007-01-18 04:00  gb
4046
4047        * lib/db-io.lisp: Handle the case of an encoded structure type as a
4048        return value.
4049
40502007-01-18 04:00  gb
4051
4052        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
4053        .SPpoweropen_ffcall_return_registers.
4054
40552007-01-18 03:59  gb
4056
4057        * library/parse-ffi.lisp: At least optionally, make structure
4058        return explicit (expecting it to be handled by higher-level code.)
4059
40602007-01-18 03:58  gb
4061
4062        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
4063        try to type-expand :registers <exp> form in EXTERNAL-CALL.
4064
40652007-01-18 03:55  gb
4066
4067        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
4068        may hold OS thread context.
4069
40702007-01-18 03:54  gb
4071
4072        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
4073        in ftd.
4074
40752007-01-18 03:53  gb
4076
4077        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
4078        macro.
4079
40802007-01-18 03:52  gb
4081
4082        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
4083        all possible result regs.  (Maybe poweropen syscall, too.)
4084
40852007-01-18 03:51  gb
4086
4087        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
4088        .SPpoweropen-ff-call-return-registers.
4089
40902007-01-18 03:50  gb
4091
4092        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
4093        supported, backend will return all (potential) result registers in
4094        buffer at <exp>.
4095
40962007-01-16 02:01  gb
4097
4098        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
4099        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
4100        functions make less sense for character streams/strings than they
4101        used to.)
4102
41032007-01-16 01:39  gb
4104
4105        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
4106        defaults to :BIVALENT
4107
41082007-01-16 01:37  gb
4109
4110        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
4111
41122007-01-11 23:58  gb
4113
4114        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
4115        into (* (/ constant1 constant2) exp).  Not very general, but makes
4116        some foreign address arithmetic better.
4117
41182007-01-11 23:56  gb
4119
4120        * lib/macros.lisp: Simple PAREF: (paref pointer
4121        foreign-pointer-or-array-type index) does simple arithmetic for
4122        you.
4123
41242007-01-11 23:54  gb
4125
4126        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
4127
41282007-01-10 15:50  gb
4129
4130        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
4131        double->heap vinsn.
4132
41332007-01-09 11:33  gb
4134
4135        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
4136        cleanup and multiple values are being thrown, be sure to set
4137        tcr.xframe from the target catch frame.  This is necessary on
4138        general principles (GC safety), and especially necessary if the
4139        cleanup form does a non-local exit.
4140
41412007-01-08 22:12  gb
4142
4143        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
4144        Revive some of the old GNUstep support; add partial ObjC 2.0
4145        support (for 64-bit targets only, so far.)
4146
41472007-01-08 22:11  gb
4148
4149        * examples/cocoa.lisp: Conditionalize for darwin-target, not
4150        darwinppc-target.
4151
41522007-01-08 22:10  gb
4153
4154        * examples/cocoa-listener.lisp: Disable background layout in the
4155        listener; the whole two-thread scheme probably isn't viable, but
4156        doing this seems to suppress a timing-related symptom.
4157
41582007-01-08 22:09  gb
4159
4160        * examples/cocoa-editor.lisp: Document-begin-editing,
4161        document-end-editing: both seem to have been conditionalized
4162        backwards.
4163
41642007-01-05 16:22  gb
4165
4166        * level-0/l0-numbers.lisp: Fix another typo ...
4167
41682007-01-05 16:16  gb
4169
4170        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
4171
41722007-01-05 15:27  gb
4173
4174        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
4175        PPC32.
4176
41772007-01-05 06:20  gb
4178
4179        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
4180        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
4181        result (with the right arg) does obtain a link map.
4182       
4183        Revive shared libraries on FreeBSD, but don't do the strange
4184        Linux-specific re-opening there.  (It seems like it's possible to
4185        #_dlopen something that already has a loaded link map - like the
4186        FreeBSD dynamic linker - or something.)
4187
41882007-01-04 05:46  gb
4189
4190        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
4191        :WILD-INFERIORS.
4192
41932007-01-04 05:45  gb
4194
4195        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
4196        (which may use %gs instead of %fs for tls).
4197
41982007-01-04 05:44  gb
4199
4200        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
4201
42022007-01-04 05:44  gb
4203
4204        * level-0/l0-numbers.lisp:
4205        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
4206        accurately represented in float, do so.
4207
42082007-01-03 03:35  gb
4209
4210        * lib/sequences.lisp: Fix a few type errors, check for explicit
4211        vector-type length earlier.
4212
42132007-01-03 03:31  gb
4214
4215        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4216        preserved :WILD, don't map it to "*".
4217
42182007-01-03 03:30  gb
4219
4220        * lib/pathnames.lisp: More whack-a-mole with pathnames
4221        (specifically, preserving :WILD as name/type value and dealing with
4222        the consequences of doing so.)
4223
42242007-01-03 03:27  gb
4225
4226        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4227
42282007-01-02 09:57  gb
4229
4230        * lib/macros.lisp: Keep fixing CTYPECASE.
4231
42322007-01-02 09:57  gb
4233
4234        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4235        BASIC-CHARACTER-INPUT-STREAM returns both values.
4236       
4237        "Composite" (two-way, concatenated, etc) streams need a close
4238        protocol.
4239
42402007-01-02 07:00  gb
4241
4242        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4243        (new) version slot, as does practically everything else.
4244
42452007-01-02 06:59  gb
4246
4247        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4248        accurately coerced to floats when comparing fixnums and floats; do
4249        the logical equvalent of calling RATIONAL on the float instead.
4250
42512007-01-01 23:41  gb
4252
4253        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4254        version into returned namestring for physical pathnames.
4255
42562006-12-31 10:15  gb
4257
4258        * release-notes.txt: Update.
4259
42602006-12-31 09:13  gb
4261
4262        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4263        version.
4264
42652006-12-31 08:57  gb
4266
4267        * xdump/faslenv.lisp: Bump fasl-min-vers.
4268
42692006-12-31 08:49  gb
4270
4271        * lib/nfcomp.lisp: Bump current fasl version.
4272
42732006-12-31 08:33  gb
4274
4275        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4276        Tweak the executable start address.
4277
42782006-12-31 02:44  gb
4279
4280        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4281        ensure that there's nothing interesting in the first few pages of
4282        the address space (and ensure that those pages are mapped.)
4283
42842006-12-31 02:43  gb
4285
4286        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4287        on x86-64 (ld64 does some floating-point arithmetic, fails to
4288        account for roundoff error, and claims that 0x1000 isn't a power of
4289        2.) If you can't say anything good about a linker, it's best not to
4290        say anything at all.
4291       
4292        We can force the first segment to be mapped at 0x1000, and can
4293        waste a few pages to ensure that all low-memory pages that the lisp
4294        wants are mapped.
4295
42962006-12-31 02:33  gb
4297
4298        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4299        defensive.
4300
43012006-12-31 02:32  gb
4302
4303        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4304
43052006-12-31 02:29  gb
4306
4307        * xdump/faslenv.lisp: Bump $fasl-vers.
4308
43092006-12-31 02:28  gb
4310
4311        * level-1/version.lisp: Bump; remove "Beta" designation.
4312
43132006-12-29 20:13  gb
4314
4315        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4316        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4317        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4318        up a page on x86-64 as well.
4319
43202006-12-29 16:09  gb
4321
4322        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4323        .orged.
4324
43252006-12-29 15:32  gb
4326
4327        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4328        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4329        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4330        (including NIL) now one page higher on ppc32, as well.
4331
43322006-12-29 02:38  gb
4333
4334        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4335
43362006-12-29 01:38  gb
4337
4338        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4339        ppc64::reservation-discharge) up a page.
4340
43412006-12-29 01:37  gb
4342
4343        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4344        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4345
43462006-12-29 01:36  gb
4347
4348        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4349        backend.  ppc64 wants it one page higher than it has been, to avoid
4350        letting unmapped pages get claimed by the dynamic linker on Darwin.
4351
43522006-12-29 01:35  gb
4353
4354        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4355        that the image starts at #x1000 and aligned section data for the
4356        text section starts on the next page.
4357
43582006-12-29 01:33  gb
4359
4360        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4361        the aligned text section data starts.
4362
43632006-12-29 01:32  gb
4364
4365        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4366        etc a page higher.
4367
43682006-12-29 01:32  gb
4369
4370        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4371        already where it should be.
4372
43732006-12-29 01:32  gb
4374
4375        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4376        page higher.
4377
43782006-12-29 01:30  gb
4379
4380        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4381
43822006-12-22 01:40  gb
4383
4384        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4385
43862006-12-22 01:39  gb
4387
4388        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4389        PPC32/Darwin.
4390       
4391        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4392        test and use dlfcn functions if at least Tiger.
4393       
4394        (The old dyld functions are deprecated under Leopard, and there's
4395        reason to believe that they don't work correctly on at least ppc64/
4396        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4397        a 64-bit .dylib seems to lead to memory corruption rather than
4398        returning NSObjectFileImageInappropriateFile.
4399       
4400        The old functions work better than the dlfcn functions on pre-Tiger
4401        systems.)
4402
44032006-12-19 01:24  gb
4404
4405        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4406        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4407        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4408        producing a pathane with a non-null VERSION component, as it
4409        arguably should have been all along.
4410
44112006-12-18 13:22  gb
4412
4413        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4414        types into concrete vector types.
4415
44162006-12-18 13:04  gb
4417
4418        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4419        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4420        failing to do this leads to many test failures.)
4421
44222006-12-18 13:03  gb
4423
4424        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4425
44262006-12-18 12:57  gb
4427
4428        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4429        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4430        failing to do this leads to many test failures.)
4431
44322006-12-18 12:54  gb
4433
4434        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4435
44362006-12-16 05:28  gb
4437
4438        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4439        instructions have a minor opcode in frb and only have one source
4440        operand.
4441
44422006-12-16 05:27  gb
4443
4444        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4445        SQRT, note that there's only one operand and that it's in frb.
4446
44472006-12-16 05:25  gb
4448
4449        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4450        instructions, notably fsqrt/fqrts, which are optional and not
4451        implemented on some PPC machines.
4452
44532006-12-16 05:24  gb
4454
4455        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4456
44572006-12-14 19:47  gb
4458
4459        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4460
44612006-12-14 16:43  gb
4462
4463        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4464        double-float arithmetic vinsns should say :double-float, not
4465        :single-float.  (I suspect cut-and-paste, frankly.)
4466
44672006-12-14 16:25  gb
4468
4469        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4470        initial-thread.
4471
44722006-12-14 16:24  gb
4473
4474        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4475        error.
4476
44772006-12-14 16:14  gb
4478
4479        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4480        physical pathnames. (Yes, this is kind of silly.)
4481
44822006-12-14 16:01  gb
4483
4484        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4485        signal errors for (e.g.) failed memory allocation.
4486
44872006-12-14 16:00  gb
4488
4489        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4490        fails, signal a lisp error (what a concept.)
4491
44922006-12-14 15:51  gb
4493
4494        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4495       
4496        Might be worth revisiting this.
4497
44982006-12-14 15:50  gb
4499
4500        * lisp-kernel/x86-exceptions.c: Go back to using the
4501        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4502        from a fake context may not be reliable.
4503       
4504        When handling an interrupt with a partially created temp stack
4505        frame, do the right thing.  (That basically means reset the frame
4506        before calling out and recreating it if we return from the
4507        callout.)
4508       
4509        Handle SIGQUIT on the altstack, to provide a way of forcibly
4510        terminating threads that's a bit more GC-safe than doing it via
4511        #_pthread_cancel.
4512       
4513        Note the tcr of the gc thread on gc entry; if an exception happens
4514        in that thread, print a message and sleep for 60 seconds.
4515       
4516        Note that there's still a race condition here: if thread A gets an
4517        exception and thread B gets the mach_exception_lock (to GC) before
4518        the exception thread can handle the message, we deadlock (thread A
4519        would be suspended in the kernel and can't respond to a suspend
4520        signal.)  We can tell that this has happened and make a good guess
4521        as to why it happened, but dealing with it will require some
4522        thought.  (If we've already issued a suspend signal and eventually
4523        raise the suspended thread's resume semaphore, it'll suspend and
4524        resume once the mach exception thread makes it runnable.  Who
4525        cleans up its exception context in that case ?  Does it matter ?)
4526
45272006-12-14 15:19  gb
4528
4529        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4530        have all signals unmasked.
4531       
4532        If a tcr is dead, ensure that its stack areas are empty.
4533       
4534        Try to run shutdown_thread_tcr as a pthread cleanup action,
4535        hopefully before Mach clobbers the thread's signal mask.
4536
45372006-12-14 15:16  gb
4538
4539        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4540        TCR_AREA_LOCK.
4541
45422006-12-14 15:15  gb
4543
4544        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4545        hasn't existed in years.
4546
45472006-12-14 15:14  gb
4548
4549        * level-1/version.lisp: Bump.
4550
45512006-12-14 15:14  gb
4552
4553        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4554        termination semaphore.
4555
45562006-12-14 15:13  gb
4557
4558        * level-1/l1-processes.lisp: PROCESS objects are created with a
4559        termination semaphore.
4560
45612006-12-14 15:12  gb
4562
4563        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4564        TERMINATION-SEMAPHORE.
4565       
4566        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4567        target thread to transition from running lisp code to running
4568        foreign code without advertising that fact. Send a SIGQUIT instead,
4569        and trust the SIGQUIT handler to manage that transition.  Don't try
4570        to kill the initial thread.
4571
45722006-12-09 09:52  gb
4573
4574        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4575        their CLEAR-OUTPUT methods.
4576       
4577        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4578        their displaced-index-offsets.)
4579
45802006-12-09 09:49  gb
4581
4582        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4583        threads on x86-64.  (The PPC never got around to enabling them.)
4584
45852006-12-09 09:47  gb
4586
4587        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4588        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4589        the result of its evaluation.
4590       
4591        Some fixes in CTYPECASE handling, which hopefully didn't break
4592        anything else.
4593
45942006-12-09 09:36  gb
4595
4596        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4597        1d) index register is set - even if the index is a constant - if we
4598        think that the store needs EGC memoization.
4599       
4600        (Note that the test case that exposed this involved storing
4601        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4602        64-bit platforms.)
4603       
4604        In aref2, don't worry about reserving unscaled index registers when
4605        targeting the 1d index; the unscaled index registers aren't live
4606        after, could be NULL if the index is a constant, and any overlap
4607        between one of them and the 1d index should be handled in the
4608        vinsn(s).
4609
46102006-12-09 09:30  gb
4611
4612        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4613        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4614        class-translations.
4615
46162006-12-09 09:27  gb
4617
4618        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4619        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4620        don't segfault taking its CAR without checking.)
4621
46222006-12-06 18:48  gb
4623
4624        * level-0/X86/x86-float.lisp: x86-64 version of
4625        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4626        in %imm1 (which is undefined here ...)
4627
46282006-12-06 17:05  gb
4629
4630        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4631        right symbol for the named block.
4632       
4633        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4634        (SETF NAME).
4635
46362006-12-05 22:44  gb
4637
4638        * release-notes.txt: Update for 061205.
4639
46402006-12-05 20:31  gb
4641
4642        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4643        from putting a linkedit segment in the wrong place and making
4644        32-bit memory unmappable.
4645
46462006-12-05 20:30  gb
4647
4648        * level-1/version.lisp: Bump.
4649
46502006-12-05 20:29  gb
4651
4652        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4653
46542006-12-05 18:53  gb
4655
4656        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4657        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4658        doc string for *ALTERNATE-LINE-TERMINATOR*.
4659
46602006-12-04 15:13  gb
4661
4662        * level-1/version.lisp: Append a patchlevel to the version string,
4663        at least until new tarballs can be built.
4664
46652006-12-04 15:12  gb
4666
4667        * level-1/l1-streams.lisp: If stream element type upgrades to
4668        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4669        element-type.)
4670
46712006-12-04 13:02  gb
4672
4673        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4674        called): don't bother to shift by 0 bits.  Do shift the initial U
4675        if non-zero trailing 0 BITS (was testing for non-zero trailing
4676        DIGITS.)
4677
46782006-12-04 12:52  gb
4679
4680        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4681        element-types; do some upgrading to support some more element types
4682        (BIT -> (UNSIGNED-BYTE 8)).
4683       
4684        Maybe support arbitrarily large integer types someday soon.  Maybe
4685        not.
4686
46872006-12-04 12:48  gb
4688
4689        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4690        types (compiler stuff, mostly).
4691
46922006-12-04 12:46  gb
4693
4694        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4695        shift count of 32 (and returns 0 in that case.)
4696
46972006-12-04 12:46  gb
4698
4699        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4700        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4701        in case.)
4702
47032006-12-04 12:43  gb
4704
4705        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4706        GCD-2 ...
4707
47082006-12-04 09:26  gb
4709
4710        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4711        for STRING-INPUT-STREAMs.
4712
47132006-12-04 09:24  gb
4714
4715        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4716        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4717        shift by 0 bits.
4718
47192006-12-04 09:21  gb
4720
4721        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4722        doing %SLOT-UNBOUND-TRAP.
4723
47242006-12-04 09:21  gb
4725
4726        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4727        STREAMs, returns NIL.  STREAM-POSITION method for
4728        STRING-INPUT-STREAMs.
4729
47302006-12-04 09:19  gb
4731
4732        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4733        containing heap image.
4734
47352006-12-03 07:41  gb
4736
4737        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4738        STRING-OUTPUT-STREAMs are no-ops.
4739       
4740        Need an ioblock-based character-read-vector function for
4741        string-input-streams.
4742
47432006-12-03 07:37  gb
4744
4745        * lib/describe.lisp: Minimal DESCRIBE support for
4746        CCL::BASIC-STREAM.
4747
47482006-12-03 07:36  gb
4749
4750        * lib/macros.lisp: If :element-type is supplied in
4751        WITH-OUTPUT-TO-STRING, don't quote it.
4752
47532006-12-03 05:11  gb
4754
4755        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4756        isn't necessarily 16.
4757
47582006-12-03 05:10  gb
4759
4760        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4761        isn't necessarily 16.
4762       
4763        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4764        %slot-unbound-trap.
4765
47662006-12-03 05:09  gb
4767
4768        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4769        avoid some NO-NEXT-METHODs.
4770
47712006-12-03 02:42  gb
4772
4773        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4774        bit better.
4775
47762006-12-03 02:41  gb
4777
4778        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4779        bit.
4780
47812006-12-03 02:28  gb
4782
4783        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4784        clearing the low byte of the header, shifting it right, and
4785        comparing the index to that.  (It's not reliable to shift the index
4786        left.)
4787
47882006-12-03 02:26  gb
4789
4790        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4791        write BOM, leave that up to higher-level code.
4792       
4793        Start to write some higher-level code.
4794
47952006-12-03 02:23  gb
4796
4797        * level-1/l1-sysio.lisp: Fix some indentation.
4798
47992006-12-03 02:21  gb
4800
4801        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4802        the header word right (after clearing its low byte) and compare the
4803        index to that.  (Shifting the index left - d'oh - obviously fails
4804        for indices of large magnitude.)
4805
48062006-11-29 21:07  gb
4807
4808        * lib/db-io.lisp: Indentation change.
4809       
4810        Add CDB-ENUMERATE-KEYS.
4811
48122006-11-29 18:37  gb
4813
4814        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4815        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4816        LISTP first.  (I hope ...).  Do so.
4817
48182006-11-28 18:42  gb
4819
4820        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4821
48222006-11-28 16:14  gb
4823
4824        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4825
48262006-11-28 16:12  gb
4827
4828        * examples/objc-runtime.lisp: Wrap a (primitive)
4829        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4830        NSThread.
4831
48322006-11-28 16:09  gb
4833
4834        * examples/cocoa-listener.lisp: Don't claim that a callback
4835        parameter is ignored; use IGNORABLE instead.
4836
48372006-11-21 01:28  gb
4838
4839        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4840        conditionalization.
4841
48422006-11-21 00:55  gb
4843
4844        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4845        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4846       
4847        Basic file-socket streams.
4848
48492006-11-10 05:08  gb
4850
4851        * release-notes.txt: Update.
4852
48532006-11-10 04:28  gb
4854
4855        * lisp-kernel/image.h: Bump min image version.
4856
48572006-11-10 04:19  gb
4858
4859        * xdump/heap-image.lisp: bump current image version.
4860
48612006-11-10 04:19  gb
4862
4863        * lisp-kernel/image.h: bump current, max image version.
4864
48652006-11-10 04:10  gb
4866
4867        * xdump/faslenv.lisp: Bump min fasl version.
4868
48692006-11-10 03:56  gb
4870
4871        * lib/nfcomp.lisp: bump current fasl version.
4872
48732006-11-10 03:47  gb
4874
4875        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4876        #_exit
4877
48782006-11-10 03:46  gb
4879
4880        * compiler/X86/x862.lisp: TYPE typo.
4881
48822006-11-10 03:32  gb
4883
4884        * xdump/faslenv.lisp: Bump max fasl version.
4885
48862006-11-10 03:25  gb
4887
4888        * level-1/version.lisp: Bump.  New snapshots today!
4889
48902006-11-09 16:26  gb
4891
4892        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4893       
4894        PREPARE-TO-QUIT kill stragglers without waiting as long.
4895
48962006-11-09 15:50  gb
4897
4898        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4899       
4900        Try to run lisp code after #_exit via lazarus(); this is for some
4901        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4902       
4903        The environment in which The Undead code runs is a little funky,
4904        especially on PPC.  There might be GC implications (cstack will
4905        contain call history as of the point when #_exit called atexit
4906        handlers, vstack & tstack are emptied in lazarus()).  We should
4907        barely run any code in this environment, but we will GC a time or
4908        two ...
4909
49102006-11-09 15:45  gb
4911
4912        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4913
49142006-11-09 15:43  gb
4915
4916        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4917        protocol.
4918
49192006-11-09 15:42  gb
4920
4921        * examples/cocoa-listener.lisp: :set-document-edited for listener
4922        "documents" is a no-op.
4923
49242006-11-09 15:39  gb
4925
4926        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4927        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4928
49292006-11-09 12:50  gb
4930
4931        * compiler/X86/x862.lisp: Always check that array-ctype's
4932        dimensions are a list before taking their length.
4933
49342006-11-09 12:13  gb
4935
4936        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4937        right thing ...
4938
49392006-11-09 10:08  gb
4940
4941        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4942        Three-arg aref/(setf aref) for x8664.
4943
49442006-11-09 05:37  gb
4945
4946        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4947        errors.
4948
49492006-11-09 05:37  gb
4950
4951        * compiler/nxenv.lisp: Operators for 3d array access.
4952
49532006-11-09 05:36  gb
4954
4955        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4956        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4957        array types.
4958
49592006-11-08 12:50  gb
4960
4961        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4962        Leopard nonsense: define the stack context struct separately, make
4963        the ucontext stack field an instance of it.  (Not -sure- if that
4964        was necessary, but :poweropen-target was accidentally on *FEATURES*
4965        and foreign struct layout was using read-time condtionalization to
4966        decide whether or not to use brain-dead structure-alignment rules
4967        leftover from AIX/PowerOpen.
4968
49692006-11-08 12:46  gb
4970
4971        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4972
49732006-11-08 12:40  gb
4974
4975        * compiler/optimizers.lisp: Try to infer/insert the array type when
4976        compiler-macroexpanding MAKE-ARRAY calls.
4977
49782006-11-08 12:39  gb
4979
4980        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4981        :poweropen-alignment rules.
4982
49832006-11-08 12:38  gb
4984
4985        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4986        to poweropen structure layout rules should be an attribute of the
4987        FTD, not done via read-time conditionalization.
4988
49892006-11-08 05:15  gb
4990
4991        * level-1/version.lisp: Bump.
4992
49932006-11-08 05:15  gb
4994
4995        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4996       
4997        TODO: get rid of "bivalent" streams, but allow switching some
4998        streams (sockets) between "character mode" and "binary mode".
4999
50002006-11-08 02:39  gb
5001
5002        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
5003
50042006-11-07 21:10  gb
5005
5006        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
5007        ASET->%ASET3.
5008
50092006-11-07 20:40  gb
5010
5011        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
5012
50132006-11-07 20:39  gb
5014
5015        * level-0/X86/x86-array.lisp: %aref3, %aset3.
5016
50172006-11-07 20:38  gb
5018
5019        * level-0/l0-array.lisp: Use %aref2,%aref3.
5020
50212006-11-07 20:37  gb
5022
5023        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
5024        vector-store vinsns.
5025
50262006-11-07 20:37  gb
5027
5028        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
5029
50302006-11-07 10:28  gb
5031
5032        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
5033        .SPaset3.
5034
50352006-11-07 10:27  gb
5036
5037        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
5038
50392006-11-07 10:26  gb
5040
5041        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
5042        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
5043
50442006-11-07 10:26  gb
5045
5046        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
5047        mullw/mulld.
5048
50492006-11-07 04:12  gb
5050
5051        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
5052
50532006-11-06 22:07  gb
5054
5055        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
5056        :fixnum-vector case.
5057
50582006-11-06 22:04  gb
5059
5060        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
5061        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
5062        known/declared.
5063
50642006-11-06 22:02  gb
5065
5066        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5067        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
5068        versions, but it helps not to have to remember which are
5069        implemented and which aren't.)
5070
50712006-11-06 22:01  gb
5072
5073        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
5074
50752006-11-06 22:00  gb
5076
5077        * compiler/nx1.lisp: New %ASET2 handling.
5078
50792006-11-06 21:59  gb
5080
5081        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
5082        never assigned to.
5083
50842006-11-05 22:09  gb
5085
5086        * level-1/x86-trap-support.lisp: Try to work around
5087        incompatibilites in Tiger/Leopard headers.
5088
50892006-11-05 22:08  gb
5090
5091        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
5092        the foreign function may not exist.
5093
50942006-11-05 20:41  gb
5095
5096        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
5097
50982006-11-05 07:55  gb
5099
5100        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
5101        x86-64, as well.
5102
51032006-11-05 07:52  gb
5104
5105        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
5106
51072006-11-05 07:50  gb
5108
5109        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
5110        .SPaset2.
5111
51122006-11-05 07:48  gb
5113
5114        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
5115        testing simple-array-ness, add the (possibly 0) displacement from
5116        the header before handling the simple aref of the data vector.
5117
51182006-11-05 07:47  gb
5119
5120        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
5121        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
5122
51232006-11-05 07:46  gb
5124
5125        * level-1/version.lisp: Bump; new binaries soon.
5126
51272006-11-05 07:46  gb
5128
5129        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
5130        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
5131        4G seconds after an EINTR on Leopard.
5132
51332006-11-05 07:44  gb
5134
5135        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
5136        if any non-fixnum bits would be set in the result.  (Should
5137        probably make this true on all platforms; for PPC64, it's important
5138        for foreign function addresses that're ... suboptimally aligned.)
5139
51402006-11-05 07:42  gb
5141
5142        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
5143        %NANOSLEEP's second (by reference) argument contains garbage after
5144        an EINTR.  (The L word, again.)
5145
51462006-11-05 07:41  gb
5147
5148        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
5149        into the kernel.
5150
51512006-11-05 07:40  gb
5152
5153        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
5154        ppc64 functions whose addresses are not 0 mod 8, so (a) make
5155        MACPTR->FIXNUM return NIL if an address isn't representable as a
5156        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
5157        can't return a fixnum on PPC (really just affects PPC64.)
5158
51592006-11-05 07:37  gb
5160
5161        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
5162
51632006-11-05 07:36  gb
5164
5165        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5166        2d aref support/changes.
5167
51682006-11-05 07:36  gb
5169
5170        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
5171        x8664 wrt 2d aref.  Stll a ways to go.
5172
51732006-11-05 07:35  gb
5174
5175        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
5176
51772006-11-04 00:05  gb
5178
5179        * level-1/version.lisp: Bump.
5180
51812006-11-03 23:10  gb
5182
5183        * level-1/ppc-error-signal.lisp: fix parens.
5184
51852006-11-03 23:09  gb
5186
5187        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
5188        gvector types contains :struct, not :structure.
5189
51902006-11-03 23:08  gb
5191
5192        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
5193        subprim.
5194       
5195        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
5196        in the builtin functions table.
5197
51982006-11-03 15:19  gb
5199
5200        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
5201
52022006-11-03 15:18  gb
5203
5204        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
5205
52062006-11-03 15:17  gb
5207
5208        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
5209        type-error UUOs.
5210
52112006-11-03 15:16  gb
5212
5213        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5214
52152006-11-03 15:16  gb
5216
5217        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5218        (array-header) layout.
5219
52202006-11-03 13:46  gb
5221
5222        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5223        returns its argument if all members are SPECIALIZERS.
5224       
5225        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5226        arguments, for the benefit of people who haven't read the MOP spec
5227        or who don't realize that the MOP defines some things differently
5228        from CLHS.
5229
52302006-11-03 13:38  gb
5231
5232        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5233        to refer to primitive structure type.
5234       
5235        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5236
52372006-11-03 13:37  gb
5238
5239        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5240        :STRUCTURE) is on target-gvector-types.
5241
52422006-11-03 12:53  gb
5243
5244        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5245
52462006-11-03 12:52  gb
5247
5248        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5249         More to come ...
5250
52512006-11-03 12:52  gb
5252
5253        * lisp-kernel/x86-constants64.s: Define array-header layout.
5254
52552006-11-03 12:51  gb
5256
5257        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5258        encodings, new type-error constants.
5259
52602006-11-03 12:50  gb
5261
5262        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5263        traps.
5264
52652006-11-03 12:49  gb
5266
5267        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5268        constant-redefinition CERRORs.
5269
52702006-11-03 12:48  gb
5271
5272        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5273
52742006-11-03 12:47  gb
5275
5276        * level-0/l0-pred.lisp: array--header -> array-header.
5277
52782006-11-03 12:47  gb
5279
5280        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5281        add/change some 2d array stuff.
5282
52832006-11-03 12:43  gb
5284
5285        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5286        subprims; seem to be much (>5x) faster than the lisp/lap versions
5287        (though we can generally be faster still when we know the
5288        element-type and/or know whether the array is simple or explicitly
5289        displaced.)
5290
52912006-11-03 12:41  gb
5292
5293        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5294        related changes.
5295       
5296        Split the code which handles bounds/type-checking in vref out from
5297        the code which actually does the reference, so that the latter can
5298        be used in multidimensional cases.
5299       
5300        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5301        general case.)
5302
53032006-11-03 12:38  gb
5304
5305        * compiler/nx1.lisp: Change handling of 2d-aref.
5306
53072006-11-03 12:37  gb
5308
5309        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5310        general-aref2.  More changes to come (and this may affect
5311        compilation on PPC until some PPC compiler changes are
5312        made/checked-in.)
5313
53142006-11-03 12:35  gb
5315
5316        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5317        the range 128-255, rather than 64-127; more are defined.
5318
53192006-11-02 09:43  gb
5320
5321        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5322
53232006-11-02 09:37  gb
5324
5325        * compiler/arch.lisp: New error constants; work in progress ...
5326
53272006-11-01 11:40  gb
5328
5329        * lisp-kernel/errors.s: Some new constants; more to check in later.
5330
53312006-10-31 03:39  gb
5332
5333        * level-0/l0-io.lisp: You must be reading the OLD rule book
5334        (Leopard and #$EINTR).
5335
53362006-10-31 03:21  gb
5337
5338        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5339        the tcr.  Initialize "addr" before testing it ...
5340
53412006-10-31 03:21  gb
5342
5343        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5344        the tcr.
5345
53462006-10-30 20:40  gb
5347
5348        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5349        expands into something more useful.
5350
53512006-10-30 20:39  gb
5352
5353        * lisp-kernel/ppc-spentry.s: Fix ppc32
5354        misc_ref_double_float_vector.
5355
53562006-10-30 00:24  gb
5357
5358        * level-0/l0-bignum64.lisp: Enable the destructive version of
5359        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5360        provide/fix supporting functions.  Seems to work on ppc64; needs
5361        testing on x8664.
5362
53632006-10-27 17:49  gb
5364
5365        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5366
53672006-10-25 20:36  gb
5368
5369        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5370        variants): always clear the untyi-char.
5371       
5372        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5373        needs an argument.
5374       
5375        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5376        bivalent streams.
5377       
5378        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5379
53802006-10-24 12:35  gb
5381
5382        * level-1/version.lisp: Bump.
5383
53842006-10-24 01:29  gb
5385
5386        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5387        _SPdestbind1 (still used in inlining, sometimes.)
5388
53892006-10-24 01:05  gb
5390
5391        * release-notes.txt: Change the date, add/change some content.
5392
53932006-10-24 01:05  gb
5394
5395        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5396        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5397
53982006-10-24 00:56  gb
5399
5400        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5401        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5402
54032006-10-24 00:55  gb
5404
5405        * level-1/l1-streams.lisp: When recycling
5406        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5407        (Failure to do this can screw up the pretty-printer, among other
5408        things.)
5409
54102006-10-24 00:52  gb
5411
5412        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5413        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5414
54152006-10-23 17:03  gb
5416
5417        * release-notes.txt: Updated; almost ready to go (still a
5418        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5419
54202006-10-23 16:43  gb
5421
5422        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5423        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5424
54252006-10-23 16:42  gb
5426
5427        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5428        STREAM-EXTERNAL-FORMAT) methods.
5429
54302006-10-23 16:41  gb
5431
5432        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5433        stuff.
5434
54352006-10-23 08:27  gb
5436
5437        * level-1/version.lisp: Bump; binaries today, honest.
5438
54392006-10-23 08:27  gb
5440
5441        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5442
54432006-10-23 08:26  gb
5444
5445        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5446        macros were checking for the presence of an input lock ...
5447
54482006-10-23 05:40  gb
5449
5450        * level-1/l1-streams.lisp: Optimize write-string on string streams
5451        a little.
5452
54532006-10-23 05:26  gb
5454
5455        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5456        which evaluates the string form twice; don't do whatever was being
5457        done to default the element type of the string stream.
5458
54592006-10-23 05:24  gb
5460
5461        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5462        keyword/subtype checking if element-type not provided.  (Could also
5463        skip it if it's explicit and obviously OK.)
5464
54652006-10-23 05:22  gb
5466
5467        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5468        "current" allocation if nothing's reserved.
5469
54702006-10-23 05:19  gb
5471
5472        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5473        update_bytes_allocated (sign of "disp").
5474
54752006-10-22 08:02  gb
5476
5477        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5478        form like a PROGN if there are no other forms.
5479
54802006-10-22 08:01  gb
5481
5482        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5483        ioblock functions.
5484       
5485        New string-stream implementation.  Better ...
5486
54872006-10-22 07:59  gb
5488
5489        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5490        before the stream closes.
5491
54922006-10-22 07:59  gb
5493
5494        * lib/pprint.lisp: Don't assume that string output stream strings
5495        have a fill-pointer; use STREAM-POSITION instead.
5496
54972006-10-22 07:57  gb
5498
5499        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5500        functions, after all.
5501       
5502        Go through (new) ioblock-unread-char-function.
5503
55042006-10-22 07:55  gb
5505
5506        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5507        x/s
5508
55092006-10-21 18:46  gb
5510
5511        * level-1/l1-streams.lisp: Typo.
5512
55132006-10-21 18:41  gb
5514
5515        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5516        fields in pseudo sigcontexts.
5517
55182006-10-21 18:40  gb
5519
5520        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5521        twice, etc.)
5522
55232006-10-21 18:35  gb
5524
5525        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5526        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5527        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5528        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5529        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5530
55312006-10-21 16:45  gb
5532
5533        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5534        encodings!
5535
55362006-10-19 13:48  gb
5537
5538        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5539        arg_z - in %safe-get-ptr.
5540
55412006-10-19 13:22  gb
5542
5543        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5544        optional, use #\Sub char-code as replaement char.
5545
55462006-10-19 13:21  gb
5547
5548        * examples/objc-runtime.lisp: Missing close paren.
5549
55502006-10-19 13:19  gb
5551
5552        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5553        strings to/from foreign memory.
5554
55552006-10-19 13:18  gb
5556
5557        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5558
55592006-10-18 08:04  gb
5560
5561        * level-1/version.lisp: Bump.  Binaries later today ?
5562
55632006-10-18 07:38  gb
5564
5565        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5566        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5567        class becomes (or ceases to be) a properly named class.
5568       
5569        The pre-bootstrapping version handles simpler cases of that; use
5570        ALIAS-CLASS to register some early class names as type names.
5571
55722006-10-18 07:36  gb
5573
5574        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5575        system, since only symbols which name properly-named classes are
5576        type specifiers.  Changing the name of a class can either introduce
5577        or remove a properly-named class.
5578       
5579        Classes that have the kernel-p attribute shouldn't have their names
5580        changed casually.
5581
55822006-10-18 07:33  gb
5583
5584        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5585        MAKE-SOCKET, pass it down to whatever function actually creates a
5586        stream socket.
5587
55882006-10-18 02:12  gb
5589
5590        * compiler/X86/x862.lisp: Allow closed-over addresses in
5591        conditional-form, NOT.
5592
55932006-10-18 01:43  gb
5594
5595        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5596        safe_ref_addres.
5597
55982006-10-18 01:43  gb
5599
5600        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5601
56022006-10-18 01:41  gb
5603
5604        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5605        addresses/vcells to nil.
5606
56072006-10-18 01:41  gb
5608
5609        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5610        addresses to NIL.
5611       
5612        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5613        level inline.
5614
56152006-10-18 01:39  gb
5616
5617        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5618        for a few months now.  The disassembler is always the last to know.
5619
56202006-10-17 19:15  gb
5621
5622        * compiler/PPC/PPC32/ppc32-arch.lisp,
5623        compiler/PPC/PPC64/ppc64-arch.lisp,
5624        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5625        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5626        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5627        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5628        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5629        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5630       
5631        Handle memory faults to safe-ref-addres on PPC (so far).
5632       
5633        Try using SAFE-GET-PTR in objc runtime (untested).
5634
56352006-10-17 17:34  gb
5636
5637        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5638        type in acode.
5639
56402006-10-17 14:02  gb
5641
5642        * level-1/l1-unicode.lisp: BOM-ENCODING.
5643
56442006-10-17 14:02  gb
5645
5646        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5647        something.
5648       
5649        Clear the pending-bom flag when seeking.
5650
56512006-10-17 14:01  gb
5652
5653        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5654        ioblock-based character streams.
5655
56562006-10-17 13:45  gb
5657
5658        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5659        *interrupt-level* inline.
5660
56612006-10-17 13:44  gb
5662
5663        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5664        immmediate operand (xuuo).
5665
56662006-10-17 13:39  gb
5667
5668        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5669        when necessary.
5670
56712006-10-17 13:39  gb
5672
5673        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5674        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5675
56762006-10-15 17:51  gb
5677
5678        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5679       
5680        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5681
56822006-10-15 17:51  gb
5683
5684        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5685
56862006-10-15 17:50  gb
5687
5688        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5689
56902006-10-14 07:41  gb
5691
5692        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5693        ENSURING-NODE-TARGET.
5694       
5695        Inline the fixnum case of two-arg numeric comparisons.
5696
56972006-10-14 07:39  gb
5698
5699        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5700        INLINE-SUB2 support.
5701
57022006-10-14 06:30  gb
5703
5704        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5705        generated DEFSTRUCT accessors.
5706
57072006-10-14 06:27  gb
5708
5709        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5710       
5711        Do the fixnum case of two-argument subtraction inline.
5712       
5713        Inline the fixnum case of two-argument numeric comparisons.
5714       
5715        STRUCT-REF avoids typechecking when reckless.
5716
57172006-10-14 06:21  gb
5718
5719        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5720        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5721
57222006-10-14 06:20  gb
5723
5724        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5725        little differently.
5726       
5727        Add xchg-registers.
5728
57292006-10-13 04:54  gb
5730
5731        * compiler/nx1.lisp: Use new NUMCMP operator.
5732
57332006-10-13 04:53  gb
5734
5735        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5736        in effect at call time, not those in effect at definition time.
5737
57382006-10-13 04:50  gb
5739
5740        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5741        inlining issues.
5742
57432006-10-13 04:30  gb
5744
5745        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5746
57472006-10-12 19:46  gb
5748
5749        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5750        "--" is seen.
5751
57522006-10-12 19:45  gb
5753
5754        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5755        newline translation differenly (at the character I/O level, not the
5756        buffer level).
5757       
5758        All character encoding/decoding functions operate on octets, not
5759        necessarily code units.  (The stream encode/decode functions are an
5760        exception; serialization and byte ordering are handled by the
5761        stream.)
5762
57632006-10-09 16:34  gb
5764
5765        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5766        encode a character in (implicit) iso-8859-1.
5767
57682006-10-09 16:33  gb
5769
5770        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5771        a replacement character.
5772
57732006-10-09 16:31  gb
5774
5775        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5776        write/read something, even if it's a replacement character of some
5777        sort.
5778
57792006-10-09 15:19  gb
5780
5781        * level-1/l1-streams.lisp: More stuff about line termination.  When
5782        will this end ?
5783
57842006-10-09 15:19  gb
5785
5786        * lib/chars.lisp: Use a hashtable to map characters to their names.
5787         (Maybe a sparse vector ?).
5788
57892006-10-09 15:18  gb
5790
5791        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5792        their names.  (Maybe a sparse vector ?).
5793       
5794        Define #\Sub and #\Replacement_Character.
5795
57962006-10-08 21:17  gb
5797
5798        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5799        NEW-BACKTRACE for a while now.
5800
58012006-10-08 21:16  gb
5802
5803        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5804        Panther happy.
5805
58062006-10-08 20:30  gb
5807
5808        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5809
58102006-10-08 20:30  gb
5811
5812        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5813        pathname, before it's too late ...
5814
58152006-10-08 20:29  gb
5816
5817        * level-1/l1-unicode.lisp: ASCII, some other changes.
5818
58192006-10-08 20:29  gb
5820
5821        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5822        :line-termination option to MAKE-FD-STREAM.
5823
58242006-10-08 20:28  gb
5825
5826        * level-1/l1-streams.lisp: Yet another line-termination translation
5827        scheme; hopefully, the last for a while. (More tedium before it's
5828        actually installed.)
5829
58302006-10-08 20:27  gb
5831
5832        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5833        #\Paragraph_separator.
5834
58352006-10-07 20:35  gb
5836
5837        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5838
58392006-10-07 20:34  gb
5840
5841        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5842        kernel debugger if interactive streams aren't initialized yet.
5843        (We'd probably get there sooner or later in that case; try to get
5844        there sooner.)
5845
58462006-10-07 20:33  gb
5847
5848        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5849        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5850        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5851        method.)
5852
58532006-10-07 20:32  gb
5854
5855        * level-1/l1-application.lisp: Handle the (new)
5856        -K/--terminal-encoding command-line argument.
5857
58582006-10-07 11:14  gb
5859
5860        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5861        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5862        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5863
58642006-10-07 11:13  gb
5865
5866        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5867        entered when --batch is in effect.
5868
58692006-10-07 11:12  gb
5870
5871        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5872        PROCESS-EXIT-APPLICATION.
5873
58742006-10-07 11:11  gb
5875
5876        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5877        *stdout* here.
5878
58792006-10-06 04:49  gb
5880
5881        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5882        TRANSLATE slot to IO-BUFFER.
5883
58842006-10-06 04:40  gb
5885
5886        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5887
58882006-10-06 04:39  gb
5889
5890        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5891
58922006-10-06 04:38  gb
5893
5894        * level-1/version.lisp: Bump.
5895
58962006-10-06 04:38  gb
5897
5898        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5899        replacement character.
5900
59012006-10-05 14:46  gb
5902
5903        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5904
59052006-10-05 14:46  gb
5906
5907        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5908
59092006-10-05 14:46  gb
5910
5911        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5912        C-like value (all exceptions masked) before doing a callback.  (Not
5913        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5914        value, where most exceptions were unmasked, and this caused FP
5915        exceptions when calling out to foreign code with the "lispy"
5916        tcr.foreign_mxcsr in effect.)
5917       
5918        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5919        the spurious SIGTRAPs, but might be the right idea (and might save
5920        a context switch or two.)
5921       
5922        Mach exception stuff initializes rflags to exception rflags when
5923        arranging to resume thread at handler.  Leaving them uninitialized
5924        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5925        set.
5926
59272006-10-05 06:09  gb
5928
5929        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5930
59312006-10-05 06:09  gb
5932
5933        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5934        #\U+xxxx syntax.
5935
59362006-10-05 06:08  gb
5937
5938        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5939
59402006-10-05 06:07  gb
5941
5942        * level-1/l1-sysio.lisp: Try to get
5943        line-termination/external-format stuff working.
5944
59452006-10-05 05:35  gb
5946
5947        * level-1/l1-streams.lisp: Assume that character data is always
5948        encoded as one or more 8-bit octets.
5949
59502006-10-05 04:59  gb
5951
5952        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5953        just before we make the first one.
5954
59552006-10-02 08:13  gb
5956
5957        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5958        handlers, so we need to make handlers do a sigreturn after
5959        switching off the signal stack, etc.
5960
59612006-10-02 08:11  gb
5962
5963        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5964        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5965        handling for cleanup of tcr pending exception and since we can't
5966        easily restore the signal mask.)
5967       
5968        (Up until this point, SIGRETURN has been a nop on Darwin.)
5969
59702006-10-02 04:59  gb
5971
5972        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5973        earlier.
5974
59752006-10-02 04:47  gb
5976
5977        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5978        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5979        systems <= 10.4).
5980
59812006-10-02 02:46  gb
5982
5983        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5984        Try to make x86-64 version compile under 10.4 again; see if this
5985        breaks post-10.4 compilation.
5986
59872006-10-02 02:33  gb
5988
5989        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5990        x86-exceptions.h: Change things so that they compile for x86-64 on
5991        systems later than 10.4.  Almost certainly break 10.4 compilation
5992        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5993        hours on crap like this, just let me know!)
5994
59952006-09-27 20:33  gb
5996
5997        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5998
59992006-09-27 20:33  gb
6000
6001        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
6002
60032006-09-27 05:46  gb
6004
6005        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
6006        BASIC-STREAM classes a class prototype.
6007
60082006-09-27 05:45  gb
6009
6010        * level-1/l1-streams.lisp: Some changes to FD-STREAM
6011        initialization, to make it easier to use MAKE-FD-STREAM to open
6012        (seekable) FILE-STREAMs.
6013
60142006-09-27 05:41  gb
6015
6016        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
6017        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
6018
60192006-09-27 05:39  gb
6020
6021        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
6022        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
6023        division-by-zero, but that should be masked when in foreign code.)
6024        Don't reload the lisp mxcsr until other registers have been popped,
6025        to make debugging easier in case it's the act of reloading the
6026        mxcsr that causes the spurious trap.)
6027
60282006-09-27 05:36  gb
6029
6030        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
6031
60322006-09-27 05:35  gb
6033
6034        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
6035        was parenthesized in such a way as to not return the error value on
6036        error.
6037
60382006-09-27 05:34  gb
6039
6040        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
6041        passing context into the kernel makes it too difficult to debug/get
6042        backtrace, etc.)
6043
60442006-09-27 05:33  gb
6045
6046        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
6047        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
6048
60492006-09-27 05:05  gb
6050
6051        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
6052        (mostly for BUILT-IN-CLASSes).
6053
60542006-09-26 20:49  gb
6055
6056        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
6057        a BASIC-P argument.
6058
60592006-09-26 20:47  gb
6060
6061        * level-1/l1-streams.lisp: More changes.  Imagine that.
6062
60632006-09-26 20:46  gb
6064
6065        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
6066        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
6067
60682006-09-26 20:43  gb
6069
6070        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
6071        take/return strings, not chars.
6072       
6073        Some bom stuff.
6074
60752006-09-24 20:14  gb
6076
6077        * lib/chars.lisp: Check for assumptions about character size.
6078        Remove some %i-isms (fixnum arithmetic), make assertions about type
6079        of char-code.
6080
60812006-09-24 20:12  gb
6082
6083        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
6084        CHKBOUNDS function.  Simpler STRING-START-END.
6085
60862006-09-24 20:11  gb
6087
6088        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
6089        Probably belongs elsewhere; some encodings may not make it at all
6090        possible.
6091
60922006-09-24 20:07  gb
6093
6094        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6095        Load-character-constant: accept :u32const on PPC32, PPC64, too.
6096
60972006-09-24 20:00  gb
6098
6099        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
6100        line-termination slot from ioblock and corresponding arg from
6101        functions which initialize it.
6102
61032006-09-24 19:59  gb
6104
6105        * level-1/l1-sysio.lisp: Input-filter, output-filter in
6106        file-ioblock.
6107
61082006-09-24 19:58  gb
6109
6110        * level-1/l1-unicode.lisp: Buffer translation functions don't
6111        belong here; start thinking about BOM.
6112
61132006-09-24 19:57  gb
6114
6115        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6116        it's been a :u32const for the last few weeks ...
6117
61182006-09-24 04:29  gb
6119
6120        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
6121        the code is within its bounds.
6122
61232006-09-24 04:27  gb
6124
6125        * level-1/l1-reader.lisp: Lots more character names.  Maintain
6126        mappings in a vector and a hash table, rather than in an alist.
6127
61282006-09-24 04:26  gb
6129
6130        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
6131        character constant fasl encoding ($fasl-char).
6132
61332006-09-23 05:31  gb
6134
6135        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
6136        sure which are the most important.)
6137
61382006-09-23 05:29  gb
6139
6140        * level-1/l1-sysio.lisp: Start to separate
6141        line-termination/external-format stuff.
6142
61432006-09-23 05:28  gb
6144
6145        * level-1/l1-streams.lisp: Lots-o-changes.
6146
61472006-09-23 05:28  gb
6148
6149        * level-1/l1-boot-2.lisp: Make initial interactive streams use
6150        UTF-8 (mostly for debugging utf-8 ...)
6151
61522006-09-21 04:07  gb
6153
6154        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
6155        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
6156        clobbered r11, sometimes didn't.)
6157
61582006-09-21 04:05  gb
6159
6160        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
6161
61622006-09-21 04:05  gb
6163
6164        * lisp-kernel/x86-exceptions.c: Save and restore errno in
6165        callback_for_interrupt.
6166
61672006-09-21 04:04  gb
6168
6169        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
6170        x86-64 ucontext/mcontext on Darwin.
6171
61722006-09-21 04:02  gb
6173
6174        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
6175        flavors.
6176       
6177        Add a type decl in %nanosleep.
6178
61792006-09-21 04:01  gb
6180
6181        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
6182        vinsns.
6183
61842006-09-21 04:01  gb
6185
6186        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
6187        values.  (Probably only matters in a few cases, like the Darwin
6188        x86-64 version of #_nanosleep, which returns a non-sign-extended
6189        "int" value if the sleep is interruted.)
6190
61912006-09-20 06:34  gb
6192
6193        * level-1/version.lisp: Bump.
6194
61952006-09-20 04:24  gb
6196
6197        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6198        slight improvements in signed-byte boxing, typechecking.
6199
62002006-09-20 04:22  gb
6201
6202        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
6203
62042006-09-20 04:21  gb
6205
6206        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
6207
62082006-09-20 04:21  gb
6209
6210        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
6211
62122006-09-20 04:20  gb
6213
6214        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6215        versions.  Need a "logical" UTF-16, which deals with byte-order
6216        marks and a means of installing a concrete encoding.  Needs
6217        testing.
6218
62192006-09-20 04:15  gb
6220
6221        * level-1/l1-streams.lisp: Numerous changes.
6222
62232006-09-20 04:15  gb
6224
6225        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6226
62272006-09-20 04:14  gb
6228
6229        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6230        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6231
62322006-09-20 04:12  gb
6233
6234        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6235        8,16,32,64
6236
62372006-09-19 01:38  gb
6238
6239        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6240        vinsns for REQUIRE-[US][8,16,32,64]
6241
62422006-09-19 01:37  gb
6243
6244        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6245        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6246        64).
6247
62482006-09-19 01:36  gb
6249
6250        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6251
62522006-09-19 01:36  gb
6253
6254        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6255        operators.
6256
62572006-09-19 01:34  gb
6258
6259        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6260        require-[us][8,16,32,64] when possible.
6261
62622006-09-19 01:34  gb
6263
6264        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6265
62662006-09-19 01:33  gb
6267
6268        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6269
62702006-09-19 01:15  gb
6271
6272        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6273        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6274
62752006-09-19 00:36  gb
6276
6277        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6278
62792006-09-18 21:42  gb
6280
6281        * lib/macros.lisp: Macros for locking the input/output locks of an
6282        ioblock, assuming that it exists.
6283
62842006-09-17 00:45  gb
6285
6286        * level-1/l1-streams.lisp: more changes
6287
62882006-09-13 06:52  gb
6289
6290        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6291        WRITE-STRING, TERPRI.
6292
62932006-09-13 06:08  gb
6294
6295        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6296
62972006-09-13 06:07  gb
6298
6299        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6300        named encoding isn't defined.
6301       
6302        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6303
63042006-09-13 06:06  gb
6305
6306        * level-1/l1-streams.lisp: More functions in the ioblock, some
6307        support for 8-bit encodings (like utf-8).  Not finished, but
6308        getting hard to bootstrap; need to check in and build on all
6309        platforms before it gets even harder.
6310
63112006-09-12 05:34  gb
6312
6313        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6314        %copy-ivector-to-pointer) in BUG.
6315
63162006-09-12 05:31  gb
6317
6318        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6319        altstack_signal_handler is entered in foreign code.  (Maybe want to
6320        signal a lisp error in some cases, but this is currently fatal and
6321        we might as well die earlier than with a stack overflow.)
6322
63232006-09-12 05:29  gb
6324
6325        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6326        direction right on FreeBSD.  (Much better than randomly scribbling
6327        on memory in the GC, as the FreeBSD port has been doing for months
6328        now ...)
6329
63302006-09-11 21:31  gb
6331
6332        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6333        intersection.
6334
63352006-09-11 21:21  gb
6336
6337        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6338
63392006-09-11 20:10  gb
6340
6341        * level-1/l1-unicode.lisp: Character encodings contain a
6342        LITERAL-CHAR-CODE-LIMIT field.
6343
63442006-09-11 20:09  gb
6345
6346        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6347        functionality for encoded streams.
6348
63492006-09-11 20:08  gb
6350
6351        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6352
63532006-09-09 04:39  gb
6354
6355        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6356        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6357
63582006-09-09 04:21  gb
6359
6360        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6361        reasonable for ^c syntax; don't do MOD for octal.
6362
63632006-09-09 04:21  gb
6364
6365        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6366        agains boxed Unicode limit
6367
63682006-09-09 03:56  gb
6369
6370        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6371        x8664 functions, hash tables.  (PPC versions should handle hash
6372        table key movement.)
6373
63742006-09-08 22:47  gb
6375
6376        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6377        #x100.
6378
63792006-09-08 22:38  gb
6380
6381        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6382        FIXNUM->CHAR: return NIL for surrogate pairs.
6383
63842006-09-08 22:33  gb
6385
6386        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6387
63882006-09-08 22:31  gb
6389
6390        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6391        sanity-check fn/lr).
6392
63932006-09-08 18:55  gb
6394
6395        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6396        necessarily want arbitrary expressions to be compiled unsafely; do
6397        want to avoid a little type-checking sometimes.)
6398
63992006-09-08 18:52  gb
6400
6401        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6402        for values in the surrogate-pairs range.  (There are other things
6403        that it could plausibly return NIL for.)
6404
64052006-09-08 18:51  gb
6406
6407        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6408        now, just purify strings.
6409
64102006-09-08 18:48  gb
6411
6412        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6413        8), which is still useful (and exactly what it used to do.)
6414
64152006-09-08 18:47  gb
6416
6417        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6418
64192006-09-08 18:44  gb
6420
6421        * level-1/level-1.lisp: Load l1-unicode.
6422
64232006-09-08 18:44  gb
6424
6425        * level-1/l1-unicode.lisp: New file.
6426
64272006-09-07 03:50  gb
6428
6429        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6430
64312006-09-07 03:44  gb
6432
6433        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6434        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6435        attribute of the backend (may need more pure space on x86-64.)
6436
64372006-09-07 03:43  gb
6438
6439        * lisp-kernel/image.h: Bump abi version.
6440
64412006-09-07 03:43  gb
6442
6443        * level-1/version.lisp: Bump.
6444
64452006-09-07 02:58  gb
6446
6447        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6448        seems to mask synchronous signals.  Unmask them in signal handlers.
6449
64502006-09-07 02:57  gb
6451
6452        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6453        signal mask.
6454
64552006-09-07 02:56  gb
6456
6457        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6458        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6459        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6460        (char are 32 bits wide on all platforms now.)
6461
64622006-09-07 00:40  gb
6463
6464        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6465        SIGNUM_FOR_PROCESS_INTERRUPT.
6466
64672006-09-07 00:12  gb
6468
6469        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6470        box_fixnum_no_flags.
6471
64722006-09-07 00:12  gb
6473
6474        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6475        vice imul).
6476
64772006-09-06 21:18  gb
6478
6479        * compiler/X86/X8664/x8664-arch.lisp: Need
6480        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6481
64822006-09-06 18:37  gb
6483
6484        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6485        strings.
6486
64872006-09-06 18:36  gb
6488
6489        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6490        typecodes.
6491
64922006-09-06 18:36  gb
6493
6494        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6495        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6496
64972006-09-06 18:35  gb
6498
6499        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6500        contains entry for 32-bit BASE-CHAR.
6501
65022006-09-06 18:35  gb
6503
6504        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6505        extracting typecodes.
6506
65072006-09-06 18:34  gb
6508
6509        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6510        32-bit-chars.
6511
65122006-09-06 18:33  gb
6513
6514        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6515        :rcontext pseudo-register name until the target backend is in
6516        place.
6517
65182006-09-06 16:39  gb
6519
6520        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6521        stuff for x8664.
6522
65232006-09-06 16:39  gb
6524
6525        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6526        don't mix!
6527
65282006-09-06 16:38  gb
6529
6530        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6531
65322006-09-06 16:38  gb
6533
6534        * level-1/linux-files.lisp: process input/output: don't assume
6535        8-bit strings.
6536
65372006-09-06 14:42  gb
6538
6539        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6540        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6541        (since that creates confustion when cross-compiling from a
6542        non-poweropen host.)
6543
65442006-09-06 00:08  gb
6545
6546        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6547        8-bit char stuff.
6548
65492006-09-06 00:08  gb
6550
6551        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6552        here.
6553
65542006-09-05 22:49  gb
6555
6556        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6557        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6558
65592006-09-05 22:42  gb
6560
6561        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6562        of a non-simple string, understand char width issues.
6563
65642006-09-05 22:41  gb
6565
6566        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6567
65682006-09-05 22:40  gb
6569
6570        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6571        string type.
6572
65732006-09-05 22:39  gb
6574
6575        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6576
65772006-09-05 22:38  gb
6578
6579        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6580
65812006-09-05 09:13  gb
6582
6583        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6584        32-bit chars, too.
6585
65862006-09-05 09:01  gb
6587
6588        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6589        defaults to 32-bit chars.
6590
65912006-09-05 05:18  gb
6592
6593        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6594
65952006-09-05 05:18  gb
6596
6597        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6598        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6599
66002006-09-05 05:17  gb
6601
6602        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6603        for char size.
6604
66052006-09-05 05:16  gb
6606
6607        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6608        strings.
6609
66102006-09-05 05:15  gb
6611
6612        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6613        lisp_char_code; this may be more portable.
6614
66152006-09-05 05:14  gb
6616
6617        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6618
66192006-09-05 05:13  gb
6620
6621        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6622        8-bit char/strings.
6623
66242006-09-05 05:13  gb
6625
6626        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6627        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6628        the coding system in use.)
6629
66302006-09-05 05:09  gb
6631
6632        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6633        assume 8-bit strings.
6634
66352006-09-05 05:08  gb
6636
6637        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6638
66392006-09-05 05:07  gb
6640
6641        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6642        when #-target-8-bit-chars.
6643
66442006-09-05 05:06  gb
6645
6646        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6647        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6648
66492006-09-05 05:05  gb
6650
6651        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6652        :SIMPLE-STRING case with constant index.
6653
66542006-09-04 17:44  gb
6655
6656        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6657        "unsigned char", and cross fingers.
6658
66592006-09-04 17:38  gb
6660
6661        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6662        lisp_char_code type, use it when printing lisp string in the kernel
6663        debugger.
6664
66652006-09-04 17:28  gb
6666
6667        * level-1/version.lisp: Bump.
6668
66692006-09-04 17:18  gb
6670
6671        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6672        conditionalized backwards in PPC64 %INIT-MISC.
6673
66742006-09-04 17:05  gb
6675
6676        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6677        from the target arch (for bootstrapping.)
6678
66792006-09-04 17:04  gb
6680
6681        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6682        type of rdtab.ttab.
6683       
6684        Don't treat (code-char #xca) as whitespace; do treat (code-char
6685        #xa0) as whitespace.  (The former happens to be how the latter was
6686        encoded in MacRoman.)
6687       
6688        Handle U+<hex> syntax in NAME-CHAR.
6689
66902006-09-04 16:16  gb
6691
6692        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6693        and the char code with #xff to get the low byte.
6694
66952006-09-04 16:15  gb
6696
6697        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6698        and the char code with #xff or 255., not with #x255.  (Cause lots
6699        of wackiness, mostly in readtable initialization.)
6700
67012006-09-04 16:12  gb
6702
6703        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6704        u8->char (which is no more) in %CHAR-CODE.
6705
67062006-09-04 06:04  gb
6707
6708        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6709        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6710
67112006-09-04 06:03  gb
6712
6713        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6714        assertion.
6715
67162006-09-04 03:44  gb
6717
6718        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6719
67202006-09-04 03:43  gb
6721
6722        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6723        crf case of UNBOX-BASE-CHAR.
6724
67252006-09-04 02:30  gb
6726
6727        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6728        error.
6729
67302006-09-04 02:29  gb
6731
6732        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6733        size.
6734
67352006-09-04 02:26  gb
6736
6737        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6738        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6739        CHAR_SIZE_32.
6740
67412006-09-04 02:24  gb
6742
6743        * compiler/PPC/PPC32/ppc32-arch.lisp,
6744        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6745        compiler/PPC/PPC64/ppc64-arch.lisp,
6746        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6747        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6748
67492006-09-04 02:23  gb
6750
6751        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6752        32-bit characters.
6753
67542006-09-04 02:22  gb
6755
6756        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6757
67582006-09-03 16:03  gb
6759
6760        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6761        conditionalize new string types.
6762
67632006-09-03 16:03  gb
6764
6765        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6766        string element size.
6767
67682006-09-03 16:02  gb
6769
6770        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6771        level-0/l0-pred.lisp: Sketch out new string types (read-time
6772        conditionalized.)
6773
67742006-09-03 15:02  gb
6775
6776        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6777        bootstrapping.
6778
67792006-09-03 14:20  gb
6780
6781        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6782
67832006-09-03 13:22  gb
6784
6785        * compiler/: X86/X8664/x8664-backend.lisp,
6786        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6787        :target-8-bit-chars on target features.
6788
67892006-09-03 13:21  gb
6790
6791        * level-0/l0-int.lisp: Some comments/indentation.
6792
67932006-09-03 13:01  gb
6794
6795        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6796        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6797
67982006-09-02 11:24  gb
6799
6800        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6801
68022006-09-02 11:15  gb
6803
6804        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6805        a hex digit.
6806
68072006-09-02 11:11  gb
6808
6809        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6810        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6811       
6812        Don't do the whole msg_server here; just do the exc_server thing.
6813       
6814        Fix a couple of Mach exception-handling bugs; at least one more may
6815        remain.
6816
68172006-09-02 11:07  gb
6818
6819        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6820        pseudo_sigreturn.
6821       
6822        Still get spurious SIGTRAPs.
6823
68242006-09-02 11:06  gb
6825
6826        * lisp-kernel/thread_manager.c: Define some things in terms of
6827        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6828       
6829        sem_wait_forever() does repeated timed waits, since I thought that
6830        Darwin was having trouble interrpting things that waited
6831        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6832
68332006-09-02 11:03  gb
6834
6835        * lisp-kernel/Threads.h: Define some things in terms of
6836        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6837        2006, Darwin still doesn't implement enough POSIX semaphore
6838        functionality to make it possible to avoid the use of Mach
6839        semaphores.
6840
68412006-09-02 11:01  gb
6842
6843        * lib/db-io.lisp:
6844        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6845        involved.
6846
68472006-09-02 11:01  gb
6848
6849        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6850        aren't bogus objects.
6851
68522006-09-02 11:00  gb
6853
6854        * level-1/l1-streams.lisp: Try to avoid things like
6855        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6856
68572006-09-02 10:59  gb
6858
6859        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6860        FORCE-OUTPUT.
6861
68622006-09-02 10:57  gb
6863
6864        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6865        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6866       
6867        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6868        chars.
6869       
6870        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6871
68722006-09-02 10:55  gb
6873
6874        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6875        don't assume 8-bit chars.
6876
68772006-08-28 17:35  gb
6878
6879        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6880        misc_set_single_float_vector.
6881
68822006-08-28 17:01  gb
6883
6884        * xdump/faslenv.lisp: Bump max fasl version.
6885
68862006-08-28 16:48  gb
6887
6888        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6889
68902006-08-28 16:33  gb
6891
6892        * xdump/faslenv.lisp: Bump (max) fasl version.
6893
68942006-08-28 16:30  gb
6895
6896        * xdump/xfasload.lisp: xloader was missing a few new ops.
6897
68982006-08-28 05:34  gb
6899
6900        * xdump/xfasload.lisp: New string stuff here, too.
6901
69022006-08-28 05:28  gb
6903
6904        * level-0/nfasload.lisp: New string stuff.
6905
69062006-08-28 04:57  gb
6907
6908        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6909        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6910
69112006-08-28 04:57  gb
6912
6913        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6914        STREAM-READ-CHAR, since it may be faster in some cases.
6915
69162006-08-28 04:56  gb
6917
6918        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6919        (don't assume ioblock-based stream.)
6920
69212006-08-28 04:55  gb
6922
6923        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6924
69252006-08-28 04:55  gb
6926
6927        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6928         (Maybe not even cosmetic.)
6929
69302006-08-28 04:54  gb
6931
6932        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6933        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6934
69352006-08-28 04:53  gb
6936
6937        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6938
69392006-08-28 04:52  gb
6940
6941        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6942        ?  For how long will limit be 2^8 ?
6943
69442006-08-28 04:51  gb
6945
6946        * level-0/nfasload.lisp: More fasl ops.
6947
69482006-08-28 04:51  gb
6949
6950        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6951        u8-vref stuff.
6952
69532006-08-28 04:50  gb
6954
6955        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6956        not be the best way to do this.
6957
69582006-08-26 13:58  gb
6959
6960        * release-notes.txt: Updated.
6961
69622006-08-26 13:50  gb
6963
6964        * release-notes.txt: Updated.
6965
69662006-08-26 13:50  gb
6967
6968        * darwin-x86-headers64/libc/.cvsignore: Added.
6969
69702006-08-26 03:17  gb
6971
6972        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6973
69742006-08-26 03:12  gb
6975
6976        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6977        problems as always, but avoids problems with Darwin x86-64 ld64
6978        segfaulting for unknown reasons.
6979
69802006-08-26 03:11  gb
6981
6982        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6983        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6984        that we can't just return to after switching off of the alt stack.)
6985
69862006-08-26 03:08  gb
6987
6988        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6989        deciding whether or not to signal overflow.
6990
69912006-08-26 03:08  gb
6992
6993        * level-1/x86-trap-support.lisp: Need an indirection to access
6994        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6995        mcontext64.ss.
6996
69972006-08-26 03:06  gb
6998
6999        * level-1/x86-error-signal.lisp: Add a declaration, to make this
7000        easier to step through.
7001
70022006-08-26 03:05  gb
7003
7004        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
7005        in case.
7006
70072006-08-25 20:35  gb
7008
7009        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
7010        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
7011        REMOVE-AUTO-FLUSH-STREAM.
7012       
7013        Export them, too.
7014
70152006-08-25 20:22  gb
7016
7017        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
7018        STREAM-READ-LINE.
7019
70202006-08-25 20:22  gb
7021
7022        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
7023        most once but doesn't have to be the last clause.
7024
70252006-08-25 20:21  gb
7026
7027        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
7028        INPUT-STREAM.
7029       
7030        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
7031
70322006-08-25 20:19  gb
7033
7034        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
7035        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
7036        so unlock those streams with extreme prejudice before closing them.
7037
70382006-08-25 20:18  gb
7039
7040        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
7041        code that assumed that interfered with handling of relative logical
7042        pathnames.
7043
70442006-08-25 20:17  gb
7045
7046        * level-1/l1-events.lisp: Rename EVENT-POLL to
7047        AUTO-FLUSH-INTERACTIVE-STREAMS.
7048       
7049        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
7050        stream (doing nothing if it's not :SHARING :LOCK; unconditional
7051        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
7052       
7053        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
7054       
7055        REMOVE-AUTOFLUSH-STREAM.
7056
70572006-08-25 20:13  gb
7058
7059        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
7060        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
7061
70622006-08-23 22:59  gb
7063
7064        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
7065        SIGFPE.
7066       
7067        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
7068
70692006-08-23 22:58  gb
7070
7071        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
7072        pretty casual about causing spurious exceptions, so ignore them.
7073
70742006-08-23 22:57  gb
7075
7076        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
7077        version, with different signals to be ignored by gdb.
7078
70792006-08-23 22:56  gb
7080
7081        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
7082        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
7083        Use int $0 instead.
7084
70852006-08-23 22:55  gb
7086
7087        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
7088        support; may need more work.
7089
70902006-08-22 02:08  gb
7091
7092        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
7093        for printing integers), since it seems to need access to pthread
7094        data (and calling print_lisp_object() from GDB might fail if %gs is
7095        pointing at the lisp TCR.)
7096
70972006-08-22 02:06  gb
7098
7099        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
7100        earlier in _SPffcall, before entering foreign context.  (Need to
7101        check PPC version(s) as well.)
7102       
7103        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
7104        between foreign code and lisp.
7105
71062006-08-22 02:04  gb
7107
7108        * lisp-kernel/x86-macros.s: Fix a typo.
7109
71102006-08-22 02:04  gb
7111
7112        * lisp-kernel/x86-exceptions.h: Define a few more things ...
7113
71142006-08-22 02:03  gb
7115
7116        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
7117        exception handling code.
7118       
7119        Do the DARWIN_GS_HACK things to overload %gs.
7120
71212006-08-22 02:02  gb
7122
7123        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
7124        for DarwinX8664.
7125
71262006-08-22 02:01  gb
7127
7128        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
7129        should really have tested WORD_SIZE.
7130       
7131        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
7132        not be necessary.)
7133       
7134        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
7135
71362006-08-22 01:59  gb
7137
7138        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
7139        x8664.
7140       
7141        Some PPC64 conditionalizations should really have tested WORD_SIZE.
7142
71432006-08-22 01:58  gb
7144
7145        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
7146        FreeBSDX664, DarwinX8664.
7147
71482006-08-22 01:57  gb
7149
7150        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
7151        lower seg1addr.
7152       
7153        Something in the (m4-generated) symbolic info in some .s files is
7154        screwy and causes ld64 to segfault; it's currently necesssary to
7155        use "strip -S" on the assembler-generated .o files.
7156
71572006-08-22 01:55  gb
7158
7159        * scripts/openmcl64: Untested changes for Darwinx8664.
7160
71612006-08-22 01:54  gb
7162
7163        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
7164        xload-backend-info (compiler target is :darwinx8664, not
7165        :linuxx8664).
7166
71672006-08-22 01:53  gb
7168
7169        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
7170        cross-compiling to x86 from x86.
7171
71722006-08-22 01:52  gb
7173
7174        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
7175        (not :DARWINPPC-TARGET).
7176
71772006-08-22 01:50  gb
7178
7179        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
7180
71812006-08-22 01:50  gb
7182
7183        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
7184
71852006-08-22 01:49  gb
7186
7187        * level-1/version.lisp: Bump.
7188
71892006-08-22 01:49  gb
7190
7191        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
7192        BASIC-STREAMs.
7193
71942006-08-22 01:48  gb
7195
7196        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
7197        DARWIN-TARGET, not DARWINPPC-TARGET.
7198
71992006-08-22 01:47  gb
7200
7201        * level-0/l0-init.lisp: DarwinX8664 *features*.
7202
72032006-08-22 01:47  gb
7204
7205        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
7206        really want to be DARWIN-TARGET.
7207
72082006-08-22 01:46  gb
7209
7210        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
7211        DarwinX8664.
7212
72132006-08-22 01:45  gb
7214
7215        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7216        compiling natively.
7217       
7218        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7219
72202006-08-22 01:44  gb
7221
7222        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7223        is defined, even on x86.  Use it if not compiling natively on x86.
7224
72252006-08-20 23:59  gb
7226
7227        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7228
72292006-08-20 23:58  gb
7230
7231        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7232
72332006-08-20 23:58  gb
7234
7235        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7236        prototypes for DARWIN_GS_HACK %gs segment switching.
7237
72382006-08-20 23:57  gb
7239
7240        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7241        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7242       
7243        This isn't so bad, but doing it around every ff-call might be.
7244
72452006-08-20 23:56  gb
7246
7247        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7248
72492006-08-20 23:53  gb
7250
7251        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7252
72532006-08-20 23:51  gb
7254
7255        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7256
72572006-08-20 23:51  gb
7258
7259        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7260        also temporary.
7261
72622006-08-20 23:50  gb
7263
7264        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7265        mcontext64 in x8664 Darwin is temporary.
7266
72672006-08-20 20:35  gb
7268
7269        * library/darwinx664-syscalls.lisp: typo
7270
72712006-08-20 20:35  gb
7272
7273        * library/darwinx8664-syscalls.lisp: spell name right
7274
72752006-08-20 17:10  gb
7276
7277        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7278
72792006-08-20 17:10  gb
7280
7281        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7282        (do other things still use read-time conditionals ?)
7283
72842006-08-20 17:09  gb
7285
7286        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7287        setup syscall mask.
7288
72892006-08-20 17:08  gb
7290
7291        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7292        well.
7293
72942006-08-20 17:06  gb
7295
7296        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7297        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7298        word-size issues.)
7299
73002006-08-20 17:03  gb
7301
7302        * library/darwinppc-syscalls.lisp: Mask for PPC.
7303
73042006-08-20 17:02  gb
7305
7306        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7307        level-1/linux-files.lisp: Syscall conditionalization.
7308
73092006-08-20 17:01  gb
7310
7311        * level-1/l1-streams.lisp: Syscall conditionalization.
7312       
7313        SELECTION-INPUT-STREAM created with :sharing :lock.
7314
73152006-08-20 17:00  gb
7316
7317        * examples/objc-runtime.lisp: Fencepost in
7318        POINTER-IN-CFSTRING-SECTION-P.
7319
73202006-08-20 16:16  gb
7321
7322        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7323
73242006-08-18 09:50  gb
7325
7326        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7327        x8664.  Should do this on PPC as well, and should probably offer
7328        some backward-compatible behavior for reader.
7329
73302006-08-18 09:47  gb
7331
7332        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7333        backend a little.
7334       
7335        Explicily define lisp-context-register slot in each backend (%gs
7336        for those imolementations that follow the standard ABI, %fs for
7337        Darwin.)
7338
73392006-08-18 09:44  gb
7340
7341        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7342        necessary.
7343
73442006-08-18 09:43  gb
7345
7346        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7347        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7348        slot.
7349
73502006-08-18 09:42  gb
7351
7352        * compiler/backend.lisp: Backend now has a lisp-context-register
7353        slot.
7354
73552006-08-18 09:42  gb
7356
7357        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7358
73592006-08-18 09:40  gb
7360
7361        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7362        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7363        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7364        and play like the other children.
7365
73662006-08-18 09:29  gb
7367
7368        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7369        code from the PPC version and tweak it a little; needs more work.
7370
73712006-08-18 09:27  gb
7372
7373        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7374        conditionalization.
7375
73762006-08-18 09:25  gb
7377
7378        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7379       
7380        Generate an equate for HAVE_TLS.
7381
73822006-08-18 09:23  gb
7383
7384        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7385
73862006-08-18 09:19  gb
7387
7388        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7389        absolute jumps, prefers slower ones.
7390       
7391        Move lock prefixes to their own lines, to satisfy you-know-who.
7392       
7393        If we don't have thread-local-storage (TLS), it's hard to avoid the
7394        get_tcr() call on each calback.
7395
73962006-08-18 09:13  gb
7397
7398        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7399        that we HAVE_TLS.
7400
74012006-08-17 10:41  phil
7402
7403        * examples/FFI/:
7404        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7405        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7406        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7407        Using-basic-calls-and-types/Readme.rtf,
7408        Using-basic-calls-and-types/typetest-compile.sh,
7409        Using-basic-calls-and-types/typetest.c,
7410        Using-basic-calls-and-types/typetest.lisp: Initial version
7411
74122006-08-17 10:40  phil
7413
7414        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7415        [no log message]
7416
74172006-08-08 13:07  gb
7418
7419        * lisp-kernel/darwinx8664/Makefile: New file.
7420
74212006-08-08 13:07  gb
7422
7423        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7424
74252006-08-08 13:06  gb
7426
7427        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7428
74292006-08-08 13:05  gb
7430
7431        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7432        instructions on the same line as the locked instruction.  (Maybe
7433        there's a better way to do this, than just pretending that lock is
7434        a standalone instruction, but that lock instruction does seem to be
7435        treated as a prefix.)
7436
74372006-08-08 13:03  gb
7438
7439        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7440        dlfcn) on Darwin.
7441
74422006-08-08 13:02  gb
7443
7444        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7445        doesn't define mcontext64, but lots of other things reference it.
7446        #define it here for now, but that'll likely break when the headers
7447        are fixed.
7448
74492006-08-08 12:58  gb
7450
7451        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7452
74532006-08-08 12:58  gb
7454
7455        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7456        x8664/Darwin.
7457
74582006-07-29 08:41  gb
7459
7460        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7461         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7462        needs READ/WRITE- SEQUENCE support.
7463
74642006-07-29 07:39  gb
7465
7466        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7467        lock.  TODO: evaluate whether resources are worthwhile;  used for
7468        string-output-stream allocation and DELETE-DUPLICATES.
7469
74702006-07-29 06:27  gb
7471
7472        * library/lispequ.lisp: Resources aren't thread-private, need
7473        locks.
7474
74752006-07-29 06:26  gb
7476
7477        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7478        BASIC-STREAMs.
7479
74802006-07-29 06:26  gb
7481
7482        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7483        default.
7484
74852006-07-29 06:25  gb
7486
7487        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7488        been used in 10 or 12 years.
7489
74902006-07-29 03:40  gb
7491
7492        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7493
74942006-07-29 03:40  gb
7495
7496        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7497        for now.
7498
74992006-07-29 03:39  gb
7500
7501        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7502        makes one more slot in BASIC-FILE-STREAM.
7503
75042006-07-28 04:17  gb
7505
7506        * level-1/version.lisp: Bump.
7507
75082006-07-28 04:15  gb
7509
7510        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7511        in IOBLOCK.
7512
75132006-07-28 01:17  gb
7514
7515        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7516
75172006-07-28 01:16  gb
7518
7519        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7520
75212006-07-28 00:58  gb
7522
7523        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7524        output.
7525       
7526        (SLIME probably faces the same issue; should probably do something
7527        in the auto-flush case.  Of course, it's hard to know just what to
7528        do in that case. or at least what to do safely in that case.)
7529
75302006-07-28 00:49  gb
7531
7532        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7533        FUNDAMENTAL-FILE-STREAM.
7534
75352006-07-28 00:49  gb
7536
7537        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7538
75392006-07-28 00:48  gb
7540
7541        * library/lispequ.lisp: Need an explicit
7542        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7543
75442006-07-28 00:47  gb
7545
7546        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7547
75482006-07-25 03:48  gb
7549
7550        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7551
75522006-07-24 04:55  gb
7553
7554        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7555        BASIC-STREAMs.
7556
75572006-07-24 04:55  gb
7558
7559        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7560        appear.
7561
75622006-07-24 04:51  gb
7563
7564        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7565
75662006-07-24 02:43  gb
7567
7568        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7569        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7570        implementation of it (and BASIC-FILE-STREAM soon will be.)
7571
75722006-07-23 03:05  gb
7573
7574        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7575
75762006-07-23 03:03  gb
7577
7578        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7579        and is inlined.
7580       
7581        Some bug fixes; STREAM class no longer has slots.
7582       
7583        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7584        variants; fix read-byte botch (should vector according to
7585        element-type.)
7586
75872006-07-23 02:54  gb
7588
7589        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7590        STREAM-IOBLOCK now takes 2 required args.
7591
75922006-07-23 02:54  gb
7593
7594        * level-1/version.lisp: Bump.
7595
75962006-07-23 02:53  gb
7597
7598        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7599        like.
7600
76012006-07-23 02:53  gb
7602
7603        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7604       
7605        Likewise WITH-EAGAIN.
7606
76072006-07-23 01:12  gb
7608
7609        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7610        l1-sockets.lisp: Fix a few botches.
7611       
7612        :private arg to stream creation primitives replaced with :sharing,
7613        which can have values:
7614       
7615         :private (the default; stream can only be accessed by the creating
7616        thread)
7617         :lock  (the old, often slow, default); most accesses to stream
7618        involve locking
7619         :nil or :external (stream code doesn't enforce exclusion).
7620
76212006-07-22 23:57  gb
7622
7623        * level-1/l1-streams.lisp: Bootstrapping stuff.
7624       
7625        Move along, nothing to see here.
7626
76272006-07-20 03:43  gb
7628
7629        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7630        l1-sysio.lisp: First (rough) cut at making streams "private"
7631        (effectively always locked by the "owning" thread) to reduce some
7632        locking overhead.  More to come, some of which will be a little
7633        tricky to bootstrap.
7634
76352006-07-20 01:09  gb
7636
7637        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7638        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7639        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7640
76412006-07-20 01:09  gb
7642
7643        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7644
76452006-07-20 01:08  gb
7646
7647        * level-1/version.lisp: Bump.
7648
76492006-07-20 01:07  gb
7650
7651        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7652         A little tricky to bootstrap.
7653
76542006-07-20 01:05  gb
7655
7656        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7657        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7658        (istruct-based) lisp-thread accessors.
7659
76602006-07-20 01:02  gb
7661
7662        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7663        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7664        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7665        BASIC-STREAM.
7666
76672006-07-15 15:02  gb
7668
7669        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7670        IMPOSSIBLE-NUMBER condition :REPORT method.
7671
76722006-07-15 15:00  gb
7673
7674        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7675        simple vector operations unless we're sure that the vector is a
7676        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7677        leaping into the simple-typed-vector case when the element-type was
7678        known but the vector wasn't known to be SIMPLE.
7679
76802006-07-14 05:57  gb
7681
7682        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7683
76842006-07-13 16:01  gb
7685
7686        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7687        know about FIXNUM arrays.
7688
76892006-07-11 14:23  gb
7690
7691        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7692        (2-address instructions) in natural logical, arithmetic operations.
7693
76942006-07-05 02:38  gb
7695
7696        * release-notes.txt: Update.
7697
76982006-07-05 02:22  gb
7699
7700        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7701        its removal needs to be better publicized.
7702
77032006-07-04 22:24  gb
7704
7705        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7706        PROGRAM arg to RUN-PROGRAM.
7707
77082006-07-04 22:23  gb
7709
7710        * level-1/version.lisp: Bump.
7711
77122006-06-29 02:11  gb
7713
7714        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7715        image-abi-version.
7716
77172006-06-28 05:24  gb
7718
7719        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7720        pointer on DarwinPPC32 (at the very least, that platform's
7721        xFindSymbol gets confused by anything but a null pointer/global
7722        lookup.)
7723
77242006-06-28 05:09  gb
7725
7726        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7727        "Alpha", which may be a bit generous (pretty regular deadlock,
7728        random thread creation errors, other bugs.)
7729
77302006-06-28 05:07  gb
7731
7732        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7733        x86-64 version.
7734
77352006-06-28 04:04  gb
7736
7737        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7738        identifying the cause of XMM FP exceptions.  Try to do that by
7739        looking at MXCSR bits.
7740
77412006-06-28 04:03  gb
7742
7743        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7744        indicate error return.
7745
77462006-06-28 04:03  gb
7747
7748        * level-1/: l1-sockets.lisp, linux-files.lisp,
7749        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7750
77512006-06-28 04:02  gb
7752
7753        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7754        breakpoint.
7755
77562006-06-27 18:08  gb
7757
7758        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7759
77602006-06-27 17:30  gb
7761
7762        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7763
77642006-06-27 17:27  gb
7765
7766        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7767        portable; possibly break it completely ...
7768
77692006-06-27 08:55  gb
7770
7771        * lisp-kernel/x86-exceptions.c: map the altstack
7772        read/write/execute.
7773
77742006-06-27 08:54  gb
7775
7776        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7777        FreeBSD.
7778
77792006-06-27 08:54  gb
7780
7781        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7782        <pthread_np.h>
7783
77842006-06-27 08:53  gb
7785
7786        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7787        :freebsdx8664.
7788
77892006-06-27 08:53  gb
7790
7791        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7792        testing.)
7793       
7794        Don't conditionalize as much code. Indices/offsets are
7795        platform-specific, but accessors defiend in terms of them needn't
7796        be.
7797
77982006-06-27 08:51  gb
7799
7800        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7801        comment.)
7802
78032006-06-27 08:50  gb
7804
7805        * level-0/l0-init.lisp: More freebsd x8664 features.
7806
78072006-06-27 08:50  gb
7808
7809        * scripts/openmcl64: Update for FreeBSD/amd64.
7810
78112006-06-27 08:47  gb
7812
7813        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7814        :freebsdx8664-target as a target-specific-feature.
7815
78162006-06-27 05:05  gb
7817
7818        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7819        freebsd8664/elf_x86_64.x: directory rename
7820
78212006-06-27 04:59  gb
7822
7823        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7824
78252006-06-27 04:47  gb
7826
7827        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7828
78292006-06-27 04:46  gb
7830
7831        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7832        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7833
78342006-06-27 04:45  gb
7835
7836        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7837       
7838        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7839
78402006-06-27 04:44  gb
7841
7842        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7843        suspend_resume_handler.
7844
78452006-06-27 04:44  gb
7846
7847        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7848        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7849
78502006-06-27 04:43  gb
7851
7852        * lisp-kernel/imports.s: Don't import metering-control; do import
7853        get_r_debug().
7854
78552006-06-27 04:42  gb
7856
7857        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7858        word-size stuff (here and in other versions.)
7859
78602006-06-27 04:42  gb
7861
7862        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7863        FreeBSD.
7864
78652006-06-27 04:39  gb
7866
7867        * lib/foreign-types.lisp: Signed char nonsense (should use target
7868        ftd, not reader macros here.)
7869
78702006-06-27 04:38  gb
7871
7872        * lib/compile-ccl.lisp: Some FreeBSD support.
7873
78742006-06-27 04:36  gb
7875
7876        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7877        Some FreeBSD changes/conditionalization. Maybe not enough.
7878
78792006-06-27 04:35  gb
7880
7881        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7882
78832006-06-27 04:34  gb
7884
7885        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7886
78872006-06-27 04:34  gb
7888
7889        * level-0/l0-io.lisp: FreeBSD syscalls.
7890
78912006-06-27 04:33  gb
7892
7893        * level-0/l0-init.lisp: Some FreeBSD features.
7894
78952006-06-27 04:33  gb
7896
7897        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7898        changes.
7899       
7900        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7901        and test.
7902       
7903        Now depends on an imported lisp-kernel function on ELF platforms
7904        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7905
79062006-06-27 04:30  gb
7907
7908        * level-0/.cvsignore: Ignore *fsl.
7909
79102006-06-27 04:29  gb
7911
7912        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7913        in freebsd backend.
7914
79152006-06-27 04:27  gb
7916
7917        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7918        metering-control; do import get-r-debug (for Elf shared libraries.)
7919       
7920        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7921
79222006-06-27 04:26  gb
7923
7924        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7925        Don't import metering-control; do import get-r-debug (for Elf
7926        shared libraries.)
7927
79282006-06-27 04:26  gb
7929
7930        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7931
79322006-06-26 16:38  gb
7933
7934        * compiler/X86/X8664/x8664-vinsns.lisp:
7935        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7936        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7937        constant #xffff000000000000 come from ?
7938
79392006-06-26 16:35  gb
7940
7941        * compiler/X86/x862.lisp: Fix some indentation.
7942
79432006-06-25 20:32  gb
7944
7945        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7946        change initialiation of x8664 foreign-type stuff.
7947
79482006-06-25 20:31  gb
7949
7950        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7951
79522006-06-23 19:52  gb
7953
7954        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7955        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7956
79572006-06-23 19:28  gb
7958
7959        * release-notes.txt: Update some.
7960
79612006-06-23 19:11  gb
7962
7963        * examples/gtk2-clock.lisp: New file.
7964
79652006-06-23 18:56  gb
7966
7967        * level-1/version.lisp: Bump.
7968
79692006-06-23 18:52  gb
7970
7971        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7972
79732006-06-22 13:39  gb
7974
7975        * x86-headers64/gnome2/C/.cvsignore: new
7976
79772006-06-22 13:36  gb
7978
7979        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7980
79812006-06-22 13:33  gb
7982
7983        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7984        gnome2/.cvsignore: new
7985
79862006-06-22 13:30  gb
7987
7988        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7989
79902006-06-22 13:28  gb
7991
7992        * level-1/version.lisp: Bump.
7993
79942006-06-21 15:15  gb
7995
7996        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7997        ppc-spentry.s: Define new string subtags; handle them in ppc64
7998        misc_ref/misc_set.
7999
80002006-06-21 15:14  gb
8001
8002        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
8003        versions) to handle FIXNUM vectors, new UCS4 strings.
8004
80052006-06-21 15:14  gb
8006
8007        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
8008        versions) to handle FIXNUM vectors, new UCS4 strings.
8009
80102006-06-21 15:12  gb
8011
8012        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
8013        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
8014        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
8015
80162006-06-21 15:11  gb
8017
8018        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
8019
80202006-06-21 15:11  gb
8021
8022        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
8023        wasn't updated with the introduction of fixnum vectors, (unused)
8024        UCS4 "new"strings.
8025
80262006-06-16 03:50  gb
8027
8028        * examples/objc-support.lisp: Re-compute static NSString info after
8029        opening an extension framework.
8030
80312006-06-16 03:45  gb
8032
8033        * examples/webkit.lisp: Use new functions for augmenting
8034        interfaces, loading framework.
8035
80362006-06-16 03:43  gb
8037
8038        * examples/objc-runtime.lisp: Juggle things around so that add-on
8039        framework bundles get loaded on appication re-launch.
8040       
8041        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
8042        since (a) it may not be there, or may not be where we can find it
8043        yet and (b) it's probably more reasonable to do that than it would
8044        be to teach CLOS about classes that're "discovered" when the
8045        appication's launched on a newer OS release than it was saved on.
8046
80472006-06-16 03:39  gb
8048
8049        * examples/cocoa-application.lisp: Touch tha application bundle
8050        before saving an image into it.  That -may- convincve
8051        LaunchServices to do the right thing.
8052
80532006-06-16 03:38  gb
8054
8055        * examples/objc-support.lisp: Reload any addon/framework bundles
8056        that had been loaded before the image was saved when starting a
8057        bundled application.
8058       
8059        Juggle things around, so that that works (need to be able to use
8060        low-level bridge features early.)
8061
80622006-06-16 03:36  gb
8063
8064        * lib/db-io.lisp: Disable the #? reader macro.
8065
80662006-06-14 15:42  gb
8067
8068        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
8069        lfun-bits.
8070
80712006-06-12 20:24  gb
8072
8073        * lib/ppc-backtrace.lisp: PPC version of
8074        %find-register-argument-value had the same sort of fencepost as the
8075        x86-64 version had a few days ago.
8076
80772006-06-10 23:52  gb
8078
8079        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
8080        its GENERIC-FUNCTION-LAMBDA-LIST.
8081
80822006-06-10 23:51  gb
8083
8084        * level-1/l1-clos.lisp: Give reader/writer method args more
8085        descriptive names. (Barely more descriptive ...)
8086
80872006-06-10 19:25  gb
8088
8089        * level-1/l1-clos-boot.lisp: Arrgh.  In
8090        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
8091        type of the instance, so don't use INSTANCE.SLOTS (instead, let
8092        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
8093       
8094        This was keeping non-standard instances - like ObjC classes and
8095        metaclasses - from having some of their slots initialized
8096        correctly.
8097
80982006-06-10 19:22  gb
8099
8100        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
8101        objc-metaclass: don't die if the class is unnamed (makes it easier
8102        to print classes for debugging during initialization.)
8103
81042006-06-10 13:05  gb
8105
8106        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
8107        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
8108
81092006-06-08 05:01  gb
8110
8111        * release-notes.txt: Update a bit.
8112
81132006-06-08 03:56  gb
8114
8115        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
8116        image-abi-version.
8117
81182006-06-08 03:46  gb
8119
8120        * xdump/faslenv.lisp: Bump (min) fasl version.
8121
81222006-06-08 03:35  gb
8123
8124        * lib/nfcomp.lisp: Bump (current) fasl-version.
8125
81262006-06-08 03:28  gb
8127
8128        * lisp-kernel/linuxx8664/Makefile: -O2.
8129
81302006-06-08 03:26  gb
8131
8132        * xdump/faslenv.lisp: Bump (max) fasl version.
8133
81342006-06-08 03:18  gb
8135
8136        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
8137        doubt and claim that it's a beta.
8138
81392006-06-08 03:18  gb
8140
8141        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
8142
81432006-06-08 03:17  gb
8144
8145        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
8146        options; enable -O2.
8147
81482006-06-08 02:55  gb
8149
8150        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
8151        Handle suspend (and maybe someday resume, again) signals on the
8152        altstack, since we don't really want a signal context in the middle
8153        of the tagged lisp stack ...
8154
81552006-06-08 02:52  gb
8156
8157        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
8158        PLATFORM-exceptions.c; some constants/prototypes moved to
8159        Threads.h.
8160
81612006-06-08 02:51  gb
8162
8163        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
8164        via install_signal_handler(); thread_signal_setup() moved here, to
8165        do that installation.
8166
81672006-06-08 02:50  gb
8168
8169        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
8170       
8171        Don't call (or define) prepare_for_the_worst(), which is kind of
8172        too bad ...
8173
81742006-06-08 02:49  gb
8175
8176        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
8177
81782006-06-08 01:11  gb
8179
8180        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
8181        let OPTIMIZE proclamations persist beyond the LOAD.
8182
81832006-06-07 21:45  gb
8184
8185        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
8186
81872006-06-07 21:38  gb
8188
8189        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
8190        MMX regs.  Do maintain them in TCR.
8191
81922006-06-07 21:37  gb
8193
8194        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
8195        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
8196        temporary (old tsp), finish frame by storing into tcr.save_tsp.
8197
81982006-06-07 21:34  gb
8199
8200        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
8201
82022006-06-07 21:33  gb
8203
8204        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
8205        %stack_temp.
8206
82072006-06-07 21:32  gb
8208
8209        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
8210
82112006-06-07 21:30  gb
8212
8213        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8214        now.
8215
82162006-06-07 21:30  gb
8217
8218        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8219        (since it no longer exists ...).  Use %stack-temp in some cases.
8220
82212006-06-07 21:29  gb
8222
8223        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8224        %stack-temp is a symbolic name for an MMX register that can be used
8225        for (e.g.) linking frames on the temp/foreign stacks (or for any
8226        other purpose ...)
8227
82282006-06-07 15:29  gb
8229
8230        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8231        tcr.next_tsp in sync with %next_tsp Check to ensure that
8232        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8233        allocating on the temp stack.  (This will soon change, so that %tsp
8234        and %next_tsp will not be canonical and the tcr fields are, then
8235        will change so that %tsp and %next_tsp will cease to exist.)
8236
82372006-06-07 15:25  gb
8238
8239        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8240
82412006-06-07 15:25  gb
8242
8243        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8244        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8245        a temporary.
8246
82472006-06-07 15:23  gb
8248
8249        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8250        don't need FP regs for this.  (They're sometimes invalid and
8251        sometimes missing, which is the point of recent changes.)
8252
82532006-06-07 15:21  gb
8254
8255        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8256        to %Rnext_tsp to avoid potential m4 lossage.
8257
82582006-06-07 15:20  gb
8259
8260        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8261
82622006-06-07 15:20  gb
8263
8264        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8265
82662006-06-07 15:19  gb
8267
8268        * level-1/version.lisp: Bump.
8269
82702006-06-07 15:19  gb
8271
8272        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8273
82742006-06-07 15:18  gb
8275
8276        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8277        foreign-sp register (though some code still uses %mm5 as a
8278        temporary, the "canonical" foreign SP is maintained in the TCR.)
8279
82802006-06-07 04:52  gb
8281
8282        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8283        frame, get the foreign SP out of the TCR.
8284
82852006-06-07 04:52  gb
8286
8287        * compiler/X86/X8664/x8664-vinsns.lisp,
8288        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8289        maintain the foreign sp in both the TCR and the MMX register, but
8290        consider the TCR version to be canonical.
8291
82922006-06-07 02:46  gb
8293
8294        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8295        %tsp MMX register doesn't match the value in the tcr, trap.
8296        Likewise for %foreign-sp.
8297
82982006-06-07 01:29  gb
8299
8300        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8301        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8302        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8303       
8304        (The idea is to keep the temp/foreign stack pointers in the tcr and
8305        only use the MMX registers as temporaries, since it seems that
8306        handlers for asynchronous signals can't count on the MMX register
8307        values in the signal context being correct.  This seems to either
8308        be a Linux kernel bug or ill-considered if it's intentional
8309        behavior, but it seems better to work around it this way.)
8310       
8311        This is just an early step in bootstrapping that change; it's being
8312        checked into CVS so that it doesn't get lost (and so that I can
8313        recover to this point if/when I hose things on a later step.)
8314
83152006-06-07 01:24  gb
8316
8317        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8318        tcr.
8319
83202006-06-07 01:22  gb
8321
8322        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8323        next_tsp slot to the tcr.
8324
83252006-06-06 04:25  gb
8326
8327        * lib/ppc-metering.lisp: no hope
8328
83292006-06-06 04:22  gb
8330
8331        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8332        frame (cfp argument) could be an exception callback frame (xcf-p
8333        may be true of it), in which case the saved register value is in
8334        the xcf.xp context.  (Basically, this means look at the first frame
8335        if it's an xcf, otherwise skip it and start with the child.)
8336
83372006-06-06 01:48  gb
8338
8339        * compiler/X86/x86-lapmacros.lisp,
8340        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8341        Using imul to box fixnums is smaller and seems to be faster than
8342        using lea with a scale factor.
8343
83442006-06-05 23:56  gb
8345
8346        * lisp-kernel/thread_manager.c: I don't think that
8347        suspend_resume_handler wants to have suspend signals unmasked, does
8348        it ?
8349
83502006-06-05 12:43  gb
8351
8352        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8353
83542006-06-03 03:11  gb
8355
8356        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8357        last catch frame, do skip others (test was backwards.  As it
8358        probably had been in the single-value case at one point.)
8359
83602006-06-02 03:48  gb
8361
8362        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8363        *terminal-io*; do print it to *trace-output*.
8364
83652006-06-01 20:20  gb
8366
8367        * level-0/l0-array.lisp: There's a T in subtag.
8368
83692006-06-01 20:17  gb
8370
8371        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8372       
8373        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8374       
8375        correctly.
8376
83772006-06-01 20:16  gb
8378
8379        * compiler/nx0.lisp: Defvars for global optimization quantities
8380        moved to level-0.
8381
83822006-06-01 20:15  gb
8383
8384        * level-1/l1-files.lisp: Bind the variables which hold global
8385        compiler optimization quantities, since people persist in doing
8386        things like:
8387       
8388        (declaim (optimize
8389        <something-that-they-probably-think-has-local-effects>))
8390       
8391        without bothering to use EVAL-WHEN or otherwise thinking very
8392        clearly.
8393       
8394        Note that this means that anyone who wanted such a declamation to
8395        have persistent global effects is now SOL.  Blame whoever wrote
8396        (for instance) clx/glx.lisp.
8397
83982006-06-01 20:11  gb
8399
8400        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8401        be referenced early in the cold load.
8402
84032006-06-01 13:13  gb
8404
8405        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8406        pointer to ENCODED-GPR-LISP if we have to get the register value
8407        from an exception frame.
8408
84092006-05-30 19:27  gwking
8410
8411        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8412        1.98)
8413
84142006-05-30 17:12  gb
8415
8416        * level-1/version.lisp: bump again.
8417
84182006-05-30 16:31  gb
8419
8420        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8421        ensure that tcr.xframe is updated from the catch frame (a) in all
8422        execution paths and (b) before RSP is updated.
8423
84242006-05-30 16:30  gb
8425
8426        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8427        vectors.
8428
84292006-05-30 16:29  gb
8430
8431        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8432
84332006-05-30 16:29  gb
8434
8435        * release-notes.txt: Update some more ...
8436
84372006-05-30 16:23  gb
8438
8439        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8440        Apparently.
8441
84422006-05-30 16:15  gb
8443
8444        * release-notes.txt: updated
8445
84462006-05-30 01:58  gb
8447
8448        * level-1/version.lisp: Bump.
8449
84502006-05-30 01:48  gb
8451
8452        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8453        made copies of the signal context and siginfo on the foreign stack,
8454        don't pass the originals to interrupt_handler().
8455       
8456        (altstack_interrupt_handler() looks suspiciously like
8457        altstack_signal_handler(), which probably had the same bug a few
8458        months ago ...)
8459       
8460        Since the alternate signal stack (as we use it) isn't reentrant,
8461        the next signal (perhaps a suspend signal) overwrote the context.
8462        Which is one reason to have made a copy in the first place ...
8463
84642006-05-30 01:43  gb
8465
8466        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8467        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8468        timeout is a good idea here, make sure that the timeout isn't
8469        fooled by #$EINTR.
8470
84712006-05-30 01:39  gb
8472
8473        * level-1/linux-files.lisp: Rename the old
8474        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8475        since it basically waits indefinitely.
8476       
8477        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8478        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8479        a "timed wait" that handles interruptions, etc. when the caller
8480        just has a "raw" (native) semaphore.
8481       
8482        Change callers, endure warnings.  New binaries soon.
8483
84842006-05-30 01:36  gb
8485
8486        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8487        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8488
84892006-05-29 22:34  gb
8490
8491        * lisp-kernel/x86-exceptions.c: The
8492        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8493        too small ...
8494
84952006-05-29 14:03  gb
8496
8497        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8498        syscall-based getcwd (it doesn't work as it once did/is documented
8499        to on linuxx8664); use the library function on all platforms.
8500
85012006-05-29 14:02  gb
8502
8503        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8504        processing interrupt.
8505
85062006-05-28 17:01  gb
8507
8508        * lisp-kernel/ppc-exceptions.c: If we handle a
8509        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8510       
8511        Back out of the hack that tried to work around a Darwin bug (FP
8512        exception flags were cleared in the MSR after a thread had been
8513        interrupted via pthread_kill()), since the fix seems not to be
8514        GC-safe.
8515       
8516        Add some debugging code to print when the exception lock is
8517        acquired/released.
8518
85192006-05-28 01:10  gb
8520
8521        * level-1/solaris-files.lisp: long gone
8522
85232006-05-23 20:25  gb
8524
8525        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8526
85272006-05-22 22:59  gb
8528
8529        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8530        C/.cvsignore: New file.
8531
85322006-05-22 22:57  gb
8533
8534        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8535        thread to suspend itself.
8536
85372006-05-22 22:57  gb
8538
8539        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8540        SINGLE-FLOAT constants.
8541       
8542        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8543        64-bit arg word, regardless of whether they're also passed in
8544        f1-f13 as well.
8545
85462006-05-22 22:55  gb
8547
8548        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8549        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8550        64-bit word.
8551
85522006-05-22 22:54  gb
8553
8554        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8555        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8556
85572006-05-22 22:53  gb
8558
8559        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8560        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8561        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8562        access them.
8563
85642006-05-22 03:53  gb
8565
8566        * level-1/version.lisp: Bump.
8567
85682006-05-22 03:32  gb
8569
8570        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8571
85722006-05-22 03:31  gb
8573
8574        * compiler/X86/x862.lisp: Numeric contagion on binops,
8575        fixnum->float.
8576
85772006-05-22 03:29  gb
8578
8579        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8580        well.
8581
85822006-05-22 03:28  gb
8583
8584        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8585        earlier when creating a stack frame inline.  Doesn't seem to affect
8586        latency much.
8587
85882006-05-22 03:27  gb
8589
8590        * compiler/X86/x862.lisp: Comment formatting on the first line of
8591        the file.
8592
85932006-05-22 03:26  gb
8594
8595        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8596        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8597
85982006-05-21 07:34  gb
8599
8600        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8601
86022006-05-21 07:32  gb
8603
8604        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8605        numeric-contagion stuff for arithmetic ops.
8606
86072006-05-21 07:31  gb
8608
8609        * compiler/nx1.lisp: Use div2 for /-2.
8610
86112006-05-21 07:31  gb
8612
8613        * compiler/nx0.lisp: Binop numeric contagion.
8614
86152006-05-21 06:49  gb
8616
8617        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8618
86192006-05-21 06:49  gb
8620
8621        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8622        weird, just wrong.
8623
86242006-05-21 06:17  gb
8625
8626        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8627        SIMPLE-FIXNUM-VECTORs.
8628
86292006-05-21 06:16  gb
8630
8631        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8632        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8633
86342006-05-21 06:16  gb
8635
8636        * compiler/PPC/PPC32/ppc32-arch.lisp,
8637        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8638        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8639        vector stuff.
8640
86412006-05-21 06:15  gb
8642
8643        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8644       
8645        Fixnum vector vref/vset.
8646
86472006-05-21 06:15  gb
8648
8649        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8650        %fixnum-to-double.
8651
86522006-05-21 06:14  gb
8653
8654        * compiler/nx0.lisp: More operator result types.
8655
86562006-05-21 04:35  gb
8657
8658        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8659        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8660        specialized FIXNUM array-element-type into type system, CLOS.
8661        (Knock wood.)
8662
86632006-05-21 04:34  gb
8664
8665        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8666        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8667
86682006-05-21 04:33  gb
8669
8670        * compiler/X86/X8664/x8664-arch.lisp,
8671        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8672        subtag for :fixnum-vector.
8673
86742006-05-21 04:32  gb
8675
8676        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8677        indices correctly.
8678       
8679        64-bit vset, vref: handle :FIXNUM-VECTOR.
8680
86812006-05-21 00:22  gb
8682
8683        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8684
86852006-05-20 18:13  gb
8686
8687        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8688        stack args) without restoring/re-saving NVRs.
8689
86902006-05-19 15:07  gb
8691
8692        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8693        completion semaphore (when :WAIT is true) happens inside an
8694        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8695        interrupts.
8696
86972006-05-19 15:06  gb
8698
8699        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8700        for SEMAPHORE.
8701
87022006-05-19 12:23  gwking
8703
8704        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8705        Also changed it so that it displays all items before trying to get
8706        an answer.
8707
87082006-05-19 12:00  gwking
8709
8710        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8711
87122006-05-19 11:57  gwking
8713
8714        * .cvsignore: The *fsl wasn't cutting it for me...
8715
87162006-05-19 11:50  gb
8717
8718        * level-1/version.lisp: Bump.
8719
87202006-05-19 11:49  gb
8721
8722        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8723        syscall definitions so that it can be moused on.
8724
87252006-05-19 11:48  gb
8726
8727        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8728        .SPeabi-syscall -> .SPsyscall.
8729
87302006-05-19 11:45  gb
8731
8732        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8733        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8734        does indeed burn cache lines, but going out of line isn't cheap
8735        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8736        are in fact fixnums and no overflow is involved - seems to be about
8737        2X faster when inlined this way.  Not sure if that'll be the case
8738        on PPC.)
8739
87402006-05-19 11:40  gb
8741
8742        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8743        stuff.
8744
87452006-05-18 14:47  gb
8746
8747        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8748        in all places that do so ...), update tcr.xframe from
8749        catch_frame.xframe on all execution paths (in particular, do so
8750        before SP is restored from the catch_frame, since a tcr.xframe
8751        "beyond" SP is clearly bogus.)
8752
87532006-05-18 02:34  gb
8754
8755        * level-1/version.lisp: Bump.
8756
87572006-05-17 23:12  gb
8758
8759        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8760        for PPC, too.
8761
87622006-05-17 22:53  gb
8763
8764        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8765        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8766        if any unmasked exceptions were raised before even calling this ...
8767
87682006-05-17 22:51  gb
8769
8770        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8771        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8772
87732006-05-17 22:50  gb
8774
8775        * compiler/X86/x862.lisp: Work harder to find acode types in some
8776        cases.
8777
87782006-05-17 22:50  gb
8779
8780        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8781        registers in OP-REG.
8782       
8783        Don't want to use RET very often if at all, but disassembler should
8784        treat as as a :JUMP.
8785
87862006-05-17 22:48  gb
8787
8788        * compiler/nxenv.lisp: MUL2, DIV2.
8789
87902006-05-17 22:48  gb
8791
8792        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8793        type-inferencing (or, more accurately, paying a little more
8794        attention here and there.)
8795
87962006-05-12 20:40  gwking
8797
8798        * examples/addressbook.lisp: added examples/addressbook.lisp
8799
88002006-05-11 18:42  gb
8801
8802        * level-1/l1-application.lisp: Stop processing command-line
8803        arguments when "--" is encountered; anything after that "--" is
8804        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8805
88062006-05-11 18:42  gb
8807
8808        * lib/ccl-export-syms.lisp: Export command-line stuff
8809
88102006-05-11 18:40  gb
8811
8812        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8813        method for LOCKs.
8814
88152006-05-11 18:39  gb
8816
8817        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8818        are base-strings (and always have been in OpenMCL.)
8819
88202006-05-11 18:37  gb
8821
8822        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8823
88242006-05-11 08:11  gwking
8825
8826        * lib/db-io.lisp: Added a check that the directory exists to
8827        fid-open-output in order to make it clearer what is wrong when one
8828        is unable to rebuild interface files because they are trying to do
8829        so in a place without FFI files to read!
8830
88312006-05-11 05:14  gb
8832
8833        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8834        Bump lisp-implementation-version, image-abi-version.
8835
88362006-05-11 05:04  gb
8837
8838        * xdump/faslenv.lisp: Bump (min) fasl version.
8839
88402006-05-11 04:52  gb
8841
8842        * lib/nfcomp.lisp: Bump (current) FASL version.
8843
88442006-05-11 04:52  gb
8845
8846        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8847        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8848
88492006-05-11 04:35  gb
8850
8851        * xdump/faslenv.lisp: Bump (max) fasl version.
8852
88532006-05-11 04:32  gb
8854
8855        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8856        target-specific feature.
8857
88582006-05-11 03:35  gb
8859
8860        * compiler/PPC/PPC32/ppc32-arch.lisp,
8861        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8862        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8863        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8864        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8865        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8866        typecodes around: get rid of the (unused) old 16-bit string; add an
8867        (as yet unused) UCS-4 string type.
8868       
8869        These changes generally involve cross-compilation (or some very
8870        tricky bootstrapping that I didn't attempt)  FASL versions and
8871        kernel ABI versions will need to change, and new binaries will be
8872        made available soon.
8873
88742006-05-10 20:20  gb
8875
8876        * compiler/PPC/ppc-lapmacros.lisp,
8877        compiler/PPC/PPC32/ppc32-arch.lisp,
8878        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8879        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8880        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8881        8-bit) character code is stored in the #x0000xx00 byte of a
8882        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8883        bootstrap natively (which is why I was trying to make ppc64->ppc32
8884        cross-compilation work.)
8885       
8886        Change related macros/visnsns as well.
8887
88882006-05-10 19:00  gb
8889
8890        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8891        think that this is just hard to do right the way that it's being
8892        done.
8893
88942006-05-10 18:59  gb
8895
8896        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8897        when cross-compiling (because word-size differences aren't handled
8898        correctly by macros.)  Until the macros are fixed, don't even try
8899        ...
8900
89012006-05-10 18:58  gb
8902
8903        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8904        target::target-most-positive-fixnum (not the host's
8905        MOST-POSITIVE-FIXNUM).
8906
89072006-05-10 18:57  gb
8908
8909        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8910        few places.
8911
89122006-05-10 18:56  gb
8913
8914        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8915
89162006-05-10 18:55  gb
8917
8918        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8919        differences between host and target types, but try to turn
8920        references to FIXNUM to the appropriate target-specific type.
8921
89222006-05-09 21:01  gb
8923
8924        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8925        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8926        around to check the high bits of the char code, but all chars have
8927        been base-chars for several years now ...
8928       
8929        UNBOX-CHARACTER was unused.
8930       
8931        (This is the first step of what may be several bootstrapping steps
8932        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8933        easily-accessed char-code bits on PPC32.)
8934
89352006-05-09 11:48  gb
8936
8937        * lisp-kernel/xlbt.c: No psn in cs_area.
8938
89392006-05-09 02:42  gb
8940
8941        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8942        to mark_simple_area_range().
8943
89442006-05-09 02:33  gb
8945
8946        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8947        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8948
89492006-05-09 02:25  gb
8950
8951        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8952        the containing TCR, to make low-level debugging a bit easier.
8953
89542006-05-09 02:25  gb
8955
8956        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8957        and debugging printfs.
8958
89592006-05-09 02:24  gb
8960
8961        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8962        extra (signed_natural *) arg, for allocptr displacement.
8963
89642006-05-09 02:23  gb
8965
8966        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8967       
8968        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8969        regs/ saved TCR fields.  The general idea is that the after they
8970        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8971        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8972        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8973        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8974       
8975        On an interrupt, the caller needs to pass in a signed_natural * to
8976        pick up the allocptr displacement (if consing was interrupted at
8977        the alloc trap); the interrupt handler uses this value to fix up
8978        alloptr when it returns if consing was interrupted.
8979       
8980        This is all pretty clearly right, but something still goes wrong
8981        under some combination of high thread stress, frequent allocation,
8982        and blocking ff-calls.
8983
89842006-05-09 02:17  gb
8985
8986        * lisp-kernel/plbt.c: No psn currently available.
8987
89882006-05-09 02:16  gb
8989
8990        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8991        where it may come in handy ...
8992
89932006-05-09 02:16  gb
8994
8995        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8996        arg.
8997
89982006-05-09 02:13  gb
8999
9000        * lisp-kernel/area.h: area struct's owner is a (TCR *).
9001
90022006-05-09 02:12  gb
9003
9004        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
9005        Restore it.
9006
90072006-05-09 02:12  gb
9008
9009        * level-0/l0-error.lisp, library/lispequ.lisp,
9010        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
9011        recycle $XNOCDR.
9012
90132006-05-09 02:11  gb
9014
9015        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
9016        target-specific.
9017
90182006-05-09 02:11  gb
9019
9020        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
9021        target-specific.
9022
90232006-05-09 00:40  gb
9024
9025        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
9026        here.
9027
90282006-05-09 00:39  gb
9029
9030        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
9031        x8664.
9032
90332006-05-09 00:39  gb
9034
9035        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
9036        stuff up to l1-lisp-threads.lisp.
9037
90382006-05-08 22:58  gb
9039
9040        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
9041        handle array and vector headers.
9042
90432006-05-08 22:57  gb
9044
9045        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
9046        of which should ever happen) with the kernel.
9047
90482006-05-08 22:56  gb
9049
9050        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
9051        the TCR either.
9052
90532006-05-08 22:55  gb
9054
9055        * level-1/l1-error-system.lisp: $XFUNBND is no more.
9056
90572006-05-08 22:55  gb
9058
9059        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
9060        $xsetbadvec.
9061
90622006-05-08 03:26  gb
9063
9064        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
9065        flags are set to the result of decrementing %nargs at the end of
9066        the loop.
9067
90682006-05-08 03:25  gb
9069
9070        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
9071        wants a list of condition args, not a single arg.
9072
90732006-05-08 03:24  gb
9074
9075        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
9076        CS-AREA.
9077
90782006-05-08 03:23  gb
9079
9080        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
9081        uuo_error_udf, not as a type error.
9082
90832006-05-07 16:50  gb
9084
9085        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
9086        slots in a long time (they probably haven't -needed- them in even
9087        longer; I think that this had to do with the old partial MOP.)
9088        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
9089        accessor in STANDARD-OBJECT-SETF-LINE-N.
9090
90912006-05-07 04:39  gb
9092
9093        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
9094        file.
9095
90962006-05-07 04:34  gb
9097
9098        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
9099        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
9100        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
9101        if code that wants both locks isn't careful to try to obtain them
9102        in some canonical order.)
9103
91042006-05-07 04:29  gb
9105
9106        * lib/x86-backtrace.lisp: Finally find those pesky registers.
9107
91082006-05-07 04:29  gb
9109
9110        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
9111
91122006-05-07 04:28  gb
9113
9114        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
9115        xFindSymbol/dlsym returns 0 on x8664.
9116
91172006-05-07 04:27  gb
9118
9119        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
9120        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
9121        I'd mistakenly decided that it was faster to go through memory than
9122        to use these instructions.  It seems to actually be substantially
9123        slower, as one would expect.)
9124
91252006-05-07 04:25  gb
9126
9127        * compiler/X86/x86-asm.lisp: Add support for
9128        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
9129
91302006-05-07 04:21  gb
9131
9132        * library/hash-cons.lisp: Fix doc in comments.
9133
91342006-05-07 04:21  gb
9135
9136        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
9137
91382006-05-07 04:20  gb
9139
9140        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
9141
91422006-05-07 04:19  gb
9143
9144        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
9145        TARGET-backtrace.lisp.
9146
91472006-05-07 04:18  gb
9148
9149        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
9150        BOGUS-THING-P to TARGET-thread-utils.lisp.
9151
91522006-05-07 04:17  gb
9153
9154        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
9155        BOGUS-THING-P support here.
9156
91572006-05-07 04:16  gb
9158
9159        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
9160        to psn.
9161
91622006-05-06 15:27  gb
9163
9164        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
9165        to the "natural" case.
9166
91672006-05-06 15:26  gb
9168
9169        * compiler/X86/x862.lisp: Pass the right number of args to
9170        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
9171
91722006-05-06 15:26  gb
9173
9174        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
9175
91762006-05-06 02:09  gb
9177
9178        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
9179        A and tries to obtain lock B, and thread Y holds lock B and tries
9180        to obtain lock A, what is that a classic case of ?
9181       
9182        Try to avoid that classic deadlock case in shutdown_thread_tcr()
9183        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
9184        two locks at the same time, and that's always a bit dangerous; it
9185        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
9186        that must be owned in order to manipulate either the tcr or area
9187        queues.
9188
91892006-05-06 02:04  gb
9190
9191        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
9192        %REALPATH of the current directory namestring, as it does by
9193        default on some platforms (but not Linux.)
9194
91952006-05-05 20:08  gb
9196
9197        * compiler/X86/x862.lisp: x862-ff-call: really implement the
9198        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
9199        the el-bizarro <- with a (temp) node target.
9200
92012006-05-05 20:06  gb
9202
9203        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
9204        relative to the tagged entrypoint, not to the start of the
9205        underlying function-vector.)
9206
92072006-05-05 13:24  gb
9208
9209        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
9210        heap-consing an &REST arg.  (%allocptr and %next-method-context are
9211        the same register, so &rest clobbbers %next-method-context.)
9212       
9213        Could make separate entry points, so that this is only done when
9214        %next-method-context needs to be preserved ...
9215
92162006-05-05 13:21  gb
9217
9218        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9219
92202006-05-05 02:23  gb
9221
9222        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9223
92242006-05-05 02:23  gb
9225
9226        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9227
92282006-05-05 01:37  gb
9229
9230        * level-1/version.lisp: Bump du jour.
9231
92322006-05-05 01:36  gb
9233
9234        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9235        between the first 6 words of the outgoing frame (from which GPRs
9236        will be loaded) and other words (which stay on the stack); after
9237        the first 8 FP args, floats have to be passed on the stack, even if
9238        there's still room in the first 6 words of the outgoing frame.
9239       
9240        Need to understand the struct-by-value rules better: can a struct
9241        be passed partly in registers and partly on the stack ? RTFM (or,
9242        in this case, TF ABI spec.)
9243
92442006-05-05 01:31  gb
9245
9246        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9247        case should store relative to "other-offset" (rather than   
9248        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9249        - both the single and double-float cases were incrementing
9250        "other-offset"     twice when more than 8 FP args were involved.
9251        This had the effect of     storing floats into every other word and
9252        writing beyond the bounds of     the outgoing stack frame, possibly
9253        overwriting return addresses on the     foreign stack.
9254
92552006-05-04 23:12  gb
9256
9257        * level-1/l1-streams.lisp: James Bielman's fix to
9258        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9259
92602006-05-04 18:30  gb
9261
9262        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9263        decrement FPR-ARG-OFFSET by 8, not -8.
9264       
9265        (This could cause values outside of the stack frame to be read, but
9266        I still haven't found what's writing beyond the frame bounds.)
9267
92682006-05-04 18:27  gb
9269
9270        * lib/x86-backtrace.lisp: If its argument is an exception callback
9271        frame, %CFP-LFUN tries to determine the relative PC associated with
9272        the frame's nominal function and return that as a second value
9273        (just as it does for a real frame.)
9274       
9275        I think that this should work a high percentage of the time, but
9276        callers should generally be prepared to deal with a NULL second
9277        return value from %CFP-LFUN.
9278
92792006-05-04 11:12  gb
9280
9281        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9282        since we're using the same stack pointer to return values as we are
9283        to find arguments, don't try to "optimize" its initialization.
9284
92852006-05-03 18:52  gb
9286
9287        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9288        a little.  Don't coerce single float results to double; bind
9289        stack-ptr variable even if no args (might be a return value form
9290        that references it.) Failure to do the latter was creating a weird
9291        free variable reference that wasn't handled by the fasloader.
9292
92932006-05-03 18:50  gb
9294
9295        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9296
92972006-05-03 18:49  gb
9298
9299        * lib/nfcomp.lisp: Indent a comment.
9300
93012006-05-03 18:16  gb
9302
9303        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9304        that might involve a variable-length arglist (at this level,
9305        always), set %rax to the number (0-8) of FP arguments passed in xmm
9306        registers.
9307
93082006-05-03 13:26  gb
9309
9310        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9311        ~15, not ~!5.  (This was causing segfaults on return from
9312        interrupts sometimes.)
9313
93142006-05-03 13:24  gb
9315
9316        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9317        by SWANK/SLIME.
9318
93192006-05-03 13:23  gb
9320
9321        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9322        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9323        seems to get many things wrong.)
9324
93252006-05-03 11:37  gb
9326
9327        * level-1/version.lisp: You mist have yesterday's version.
9328
93292006-05-03 11:37  gb
9330
9331        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9332        LAP.
9333
93342006-05-03 11:36  gb
9335
9336        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9337        #+x8664-target.
9338
93392006-05-03 11:36  gb
9340
9341        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9342        it can just check for a 2-digit bignum header if it has something
9343        of tag TAG-MISC.
9344
93452006-05-03 11:34  gb
9346
9347        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9348        destinations.
9349
93502006-05-03 11:33  gb
9351
9352        * compiler/X86/x86-disassemble.lisp: Recognize
9353        uuo-error-eep-unresolved.
9354
93552006-05-02 18:07  gb
9356
9357        * level-1/version.lisp: Bump.
9358
93592006-05-02 18:07  gb
9360
9361        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9362        (mostly ?) unused and currently PPC-specific, if it works at all
9363        ...
9364
93652006-05-02 10:27  gb
9366
9367        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9368        for STRING-INPUT-STREAMs; it's not clear what such a method should
9369        do (and fairly clear that it shouldn't do what the previous
9370        definition was doing.)
9371
93722006-05-02 10:26  gb
9373
9374        * lib/format.lisp: clear input from *query-io*, not from
9375        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9376
93772006-05-02 10:26  gb
9378
9379        * library/hash-cons.lisp: x8664 lap
9380
93812006-05-02 10:26  gb
9382
9383        * lisp-kernel/x86-gc.c: hons area stuff
9384
93852006-04-29 09:14  gb
9386
9387        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9388        overflow (on value/temp stacks).
9389
93902006-04-29 09:13  gb
9391
9392        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9393        callback.
9394
93952006-04-29 09:10  gb
9396
9397        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9398       
9399        No linker script.
9400       
9401        Use -lthr, which offers 1:1 threads.
9402
94032006-04-29 09:09  gb
9404
9405        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9406
94072006-04-29 09:01  gb
9408
9409        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9410
94112006-04-29 09:00  gb
9412
9413        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9414        anything cares ...)
9415
94162006-04-29 08:59  gb
9417
9418        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9419
94202006-04-29 08:58  gb
9421
9422        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9423
94242006-04-29 08:58  gb
9425
9426        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9427
94282006-04-28 21:28  gb
9429
9430        * level-1/version.lisp: bump.
9431
94322006-04-28 21:27  gb
9433
9434        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9435        version).
9436
94372006-04-28 21:24  gb
9438
9439        * lib/ppc-backtrace.lisp: Fix typo.
9440
94412006-04-28 21:23  gb
9442
9443        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9444       
9445        Change the command/keyword parser a little, so that :FOO is just
9446        :FOO and not (:FOO).
9447       
9448        Change :B break loop command (and :F) to allow focusing on a range
9449        of frames, and change PRINT-CALL-HISTORY to more easily support
9450        that.
9451
94522006-04-28 19:37  gb
9453
9454        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9455        LOAD-CONSTANT form.
9456
94572006-04-28 19:34  gb
9458
9459        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9460        Factor out a little more.  Time to see what's broken on PPC ...
9461
94622006-04-28 19:34  gb
9463
9464        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9465        around colon-commands optional.
9466
94672006-04-28 04:11  gb
9468
9469        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9470        debugger's register display code.
9471
94722006-04-28 04:11  gb
9473
9474        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9475        on the stack is bogus.
9476
94772006-04-28 04:10  gb
9478
9479        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9480        ...) when calling back for an exception.
9481
94822006-04-28 03:36  gb
9483
9484        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9485       
9486        xcf struct.
9487
94882006-04-28 03:36  gb
9489
9490        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9491
94922006-04-28 03:36  gb
9493
9494        * lib/x86-backtrace.lisp: Implemented some stuff.
9495       
9496        Backtrace (sort of) works on x8664 now; need to find register
9497        values,  hide tagged return addresses, a few other things.
9498
94992006-04-28 03:34  gb
9500
9501        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9502
95032006-04-28 03:34  gb
9504
9505        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9506
95072006-04-28 03:33  gb
9508
9509        * level-1/x86-trap-support.lisp: Flags register accessor.
9510       
9511        New exception callback scheme.
9512
95132006-04-28 03:33  gb
9514
9515        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9516        changing.
9517
95182006-04-28 03:32  gb
9519
9520        * level-1/x86-error-signal.lisp: New exception callback stuff.
9521
95222006-04-28 03:32  gb
9523
9524        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9525
95262006-04-28 03:32  gb
9527
9528        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9529        files.
9530
95312006-04-28 03:31  gb
9532
9533        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9534        have exception callback frames ...
9535
95362006-04-28 03:30  gb
9537
9538        * level-1/l1-error-system.lisp: Tweak :report method for
9539        wrong-number-of-args errors.
9540
95412006-04-28 03:30  gb
9542
9543        * level-0/X86/x86-def.lisp: Implement APPLY+.
9544
95452006-04-28 03:29  gb
9546
9547        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9548
95492006-04-28 03:27  gb
9550
9551        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9552       
9553        CHECK-NARGS: don't enforce upper bound if it's null.
9554
95552006-04-28 03:17  gb
9556
9557        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9558
95592006-04-28 03:16  gb
9560
9561        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9562        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9563
95642006-04-26 14:18  gb
9565
9566        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9567
95682006-04-26 14:17  gb
9569
9570        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9571        prepared" to do so) if its argument isn't a function designator, so
9572        don't quietly call METHOD-FUNCTION for the user.
9573
95742006-04-26 13:56  gb
9575
9576        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9577        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9578
95792006-04-26 03:59  gb
9580
9581        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9582        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9583        exceptions will be pending when we start an ff-call (and the mxcsr
9584        is loaded from that location.)
9585       
9586        tcr.ffi_exception will then contain non-zero exception bits iff the
9587        most recent ff-call raised a (probably masked) FP exception.
9588       
9589        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9590
95912006-04-26 03:55  gb
9592
9593        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9594
95952006-04-26 03:23  gb
9596
9597        * lisp-kernel/x86-constants64.s: Update comment on
9598        tcr.ffi_exception.
9599
96002006-04-26 03:22  gb
9601
9602        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9603        from ffcall.  (Should maybe clear exception bits on entry to
9604        foreign state, so we're sure that any exception bits set in the
9605        tcr.ffi_exception slot were caused by the most recent ff-call.)
9606
96072006-04-26 03:20  gb
9608
9609        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9610        ffcall, compare them to unmasked exception bits in current MXCSR,
9611        maybe raise FP exception.  (Note: compile this change and rebuild
9612        image before making corresponding kernel change.)
9613
96142006-04-26 02:31  gb
9615
9616        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9617        LOGAND-2, not to LOGXOR-2.  Sheesh.
9618
96192006-04-26 02:01  gb
9620
9621        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9622        bit numbers as tests of the sign bit.   (This is probably best
9623        viewed as being "formally undefined", but it's not too expensive to
9624        check for that.  The case where the bit number's negative is
9625        definitely undefined; I think that it also gets treated as a test
9626        of the sign bit.)
9627
96282006-04-26 01:58  gb
9629
9630        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9631        negative.
9632
96332006-04-26 01:32  gb
9634
9635        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9636        61.  (Should check here for negative bit .)
9637
96382006-04-26 01:31  gb
9639
9640        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9641        context" error - which typically indicates a fault during exception
9642        processing - pass the context in to the kernel debugger.
9643
96442006-04-26 01:30  gb
9645
9646        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9647
96482006-04-26 00:56  gb
9649
9650        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9651        if it compares all corresponding digits, rather than repeatedly
9652        comparing the 0th digits N times ...
9653
96542006-04-25 17:38  gb
9655
9656        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9657        is 0, not if disp is 0.  ash: always make a signed integer out of
9658        the result,  since arg is always signed.
9659
96602006-04-25 17:37  gb
9661
9662        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9663        bit, so (for instance) (- 0.0d0) is -0.0d0.
9664
96652006-04-25 17:36  gb
9666
9667        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9668        time.
9669
96702006-04-25 17:35  gb
9671
9672        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9673        operand is in target reg (2-address issue.)
9674
96752006-04-24 16:42  gb
9676
9677        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9678        Apparently, pretty hard.  It was doing a logical shift right when
9679        typechecking the value, so negative values were rejected.
9680
96812006-04-24 16:41  gb
9682
9683        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9684        callback now takes a 'signo' argument.
9685
96862006-04-24 16:40  gb
9687
9688        * level-1/x86-trap-support.lisp: Initial support for handling
9689        arithmetic errors.  Will need more work to get operation and
9690        operands right.
9691
96922006-04-24 16:39  gb
9693
9694        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9695
96962006-04-24 13:58  gb
9697
9698        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9699        uuo-error-reg-not-type case.
9700
97012006-04-24 13:57  gb
9702
9703        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9704        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9705        another story.)
9706
97072006-04-24 13:55  gb
9708
9709        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9710        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9711        boxed, either.
9712
97132006-04-24 12:02  gb
9714
9715        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9716        _SPtcallnfngen: several bugs, which were already fixed in similar
9717        variants.
9718
97192006-04-24 12:01  gb
9720
9721        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9722        Deutch/Waite/Schorr marker.
9723
97242006-04-24 12:00  gb
9725
9726        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9727        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9728
97292006-04-24 11:59  gb
9730
9731        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9732
97332006-04-24 11:58  gb
9734
9735        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9736        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9737        DOUBLE-FLOAT.
9738
97392006-04-24 11:58  gb
9740
9741        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9742        high and low words of the mantissa, to ensure that no hidden bits
9743        are set.  (Some such bits were set, causing many double-float
9744        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9745
97462006-04-24 02:21  gb
9747
9748        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9749        image.
9750       
9751        (Don't expect it to have any contents yet; that'll require several
9752        more changes.   This is all intended to support PURIFY on x8664,
9753        where we'll want to ensure that any constant referenced by a
9754        function in readonly/pure memory has a fixed, static address.)
9755
97562006-04-24 02:14  gb
9757
9758        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9759        section makes NUM_IMAGE_SECTIONS 4.
9760
97612006-04-24 02:13  gb
9762
9763        * lisp-kernel/area.h: Typo in the definition of
9764        AREA_MANAGED_STATIC.
9765
97662006-04-24 02:12  gb
9767
9768        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9769        more areas.
9770
97712006-04-24 02:12  gb
9772
9773        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9774        addresses of instructions (not pointers thereto ...)
9775
97762006-04-24 02:11  gb
9777
9778        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9779        (mostly so that I could step through it to remember how it worked
9780        ...).
9781
97822006-04-24 02:10  gb
9783
9784        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9785        indirection.
9786
97872006-04-24 02:09  gb
9788
9789        * lisp-kernel/x86-gc.c: Remove a sanity check.
9790
97912006-04-24 02:09  gb
9792
9793        * xdump/xfasload.lisp: Create (empty) managed-static section
9794        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9795
97962006-04-24 02:08  gb
9797
9798        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9799        section.
9800
98012006-04-24 02:07  gb
9802
9803        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9804        fds, take CLOSE-ON-ERROR more seriously.
9805
98062006-04-24 02:06  gb
9807
9808        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9809        %CURRENT-FRAME-PTR) on PPC32/64.
9810
98112006-04-24 00:50  gb
9812
9813        * level-1/version.lisp: Bump.  Getting there ...
9814
98152006-04-24 00:50  gb
9816
9817        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9818       
9819        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9820        so pass them as a pointer to avoid word-size issues.
9821
98222006-04-24 00:48  gb
9823
9824        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9825        things that had been missing.
9826
98272006-04-24 00:48  gb
9828
9829        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9830        UUOs.
9831
98322006-04-24 00:48  gb
9833
9834        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9835
98362006-04-24 00:47  gb
9837
9838        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9839
98402006-04-24 00:47  gb
9841
9842        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9843
98442006-04-24 00:47  gb
9845
9846        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9847
98482006-04-24 00:46  gb
9849
9850        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9851        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9852        need to boostrap on PPC).
9853       
9854        Parse %FOREIGN-STACK-POINTER.
9855
98562006-04-22 03:30  gb
9857
9858        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9859        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9860        because (a) nothing else will and (b) the tcr will likely become
9861        unmapped soon, and we don't want things that walk the tcr list to
9862        segfault.
9863
98642006-04-22 03:27  gb
9865
9866        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9867        find_foreign_rsp; call Bug() and exit() if the context has no
9868        fpregs.  (That's a symptom, not the proble, but it's slightly
9869        better to do this than to double fault, which is what seems to be
9870        happening.)
9871
98722006-04-21 10:12  gb
9873
9874        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9875        worry about consing, write-barrier stuff.
9876
98772006-04-21 10:11  gb
9878
9879        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9880        (condition codes.)
9881
98822006-04-21 10:11  gb
9883
9884        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9885        (again.)
9886       
9887        Define enumeration constants for matching the instructions that can
9888        occur during consing.
9889
98902006-04-21 10:09  gb
9891
9892        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9893        store_node_conditional, in case pc_luser_xp() needs to complete the
9894        memoization.
9895
98962006-04-21 02:50  gb
9897
9898        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9899        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9900        allowed.
9901
99022006-04-21 02:49  gb
9903
9904        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9905        line up with GPRs.
9906
99072006-04-21 02:48  gb
9908
9909        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9910        #+64-bit-target, not #+ppc64-target.
9911
99122006-04-21 02:47  gb
9913
9914        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9915        amount.
9916
99172006-04-21 02:46  gb
9918
9919        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9920        unique to PPC64 (but do depend on #+64-bit-target).
9921
99222006-04-21 02:46  gb
9923
9924        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9925        confuse PROGV; remove them, for now.
9926
99272006-04-20 23:35  gb
9928
9929        * lisp-kernel/x86-spentry64.s: In the bignum case of
9930        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9931        whatever the code was trying to do there.
9932       
9933        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9934        and arg_z from the correct offsets within the lexpr.
9935
99362006-04-20 04:48  gb
9937
9938        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9939        force it to always be used, for now.
9940
99412006-04-19 17:11  gb
9942
9943        * lisp-kernel/pmcl-kernel.c: (Very) different
9944        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9945
99462006-04-19 17:10  gb
9947
9948        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9949        Solaris.
9950
99512006-04-19 00:35  gb
9952
9953        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9954        reversing-pointer marker should work.  (Perhaps it's a strong
9955        argument for implementing "purify" soon.)
9956
99572006-04-19 00:34  gb
9958
9959        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9960        function-boundary-marker.
9961
99622006-04-19 00:33  gb
9963
9964        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9965
99662006-04-18 19:35  gb
9967
9968        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9969        multiple-value case of THROW: don't want to do unbind_to if tcr's
9970        db-link matches target catch frame's.
9971
99722006-04-18 19:33  gb
9973
9974        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9975        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9976        synch with x86-asm.
9977
99782006-04-18 19:33  gb
9979
9980        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9981        :R in break messages.
9982       
9983        Say more about :C in :R.
9984
99852006-04-18 19:32  gb
9986
9987        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9988        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9989        seems to have been fixed.
9990
99912006-04-18 19:31  gb
9992
9993        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9994        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9995        horrible kludge, but it only happens once.)
9996
99972006-04-18 19:19  gb
9998
9999        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
10000        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
10001        to have been fixed.
10002
100032006-04-18 19:18  gb
10004
10005        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
10006        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
10007        ends of its arguments and ignoring the first few bytes (as well as
10008        doing misaligned memory references.)
10009
100102006-04-18 19:16  gb
10011
10012        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
10013        This'll require some thought, mostly because of the reserved-frame
10014        issue(s).
10015
100162006-04-18 06:21  gb
10017
10018        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
10019        adventures are about to end, I'm afraid.
10020
100212006-04-18 06:04  gb
10022
10023        * level-1/version.lisp: Daily bump.
10024
100252006-04-18 05:59  gb
10026
10027        * level-1/l1-sockets.lisp: Comment indentation.
10028
100292006-04-18 05:56  gb
10030
10031        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
10032
100332006-04-18 05:55  gb
10034
10035        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
10036        ppc-def (that means that there will need to be an APPLY+ for
10037        x8664).
10038
100392006-04-18 05:38  gb
10040
10041        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
10042        compiler and x8664-vinsn-templates to agree on vinsn-names and
10043        implement some vinsns that had been missing.  (About 15 or so
10044        undefined vinsns remain.)
10045
100462006-04-18 05:37  gb
10047
10048        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
10049        opcode ordinals in vinsn templates (e.g., in case new instructions
10050        are defined in the assembler) wasn't checking to see if vinsn
10051        templates named in the hash table were defined.  (It was apparently
10052        getting away with this because CONSP was broken.)  So, don't try to
10053        fixup opcode ordinals in NIL, and optionally report templates
10054        that're referenced but not defined.
10055
100562006-04-18 04:38  gb
10057
10058        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
10059        (which only sets the low 8 bits of its destination), then comparing
10060        all 64-bits of the destination to a zero-extended 32-bit constant.
10061        (E.g., CONSP had little chance of being right all other things
10062        being equal, but may have been right more than one in 2^56 times if
10063        some random preceding instruction had zeroed the upper 56 bits.)
10064       
10065        (It's also shorter to do an 8-bit compare.)
10066
100672006-04-18 03:11  gb
10068
10069        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
10070
100712006-04-18 02:51  gb
10072
10073        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
10074        happy (well, as happy as they're going to be ...), back to finding
10075        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
10076
100772006-04-18 01:26  gb
10078
10079        * lisp-kernel/thread_manager.c: Some Solaris changes.
10080
100812006-04-18 00:48  gb
10082
10083        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
10084        installs in /usr/sfw/bin is both newer and buggier than the version
10085        available on the "Solaris Companion" disk, which gets installed in
10086        /opt/sfw/bin.
10087       
10088        Ordinarily, I'd wonder why a "companion" disk offers to install
10089        software that's bundled as part of the installation (especially old
10090        versions of that software.)  Now I know.
10091
100922006-04-18 00:45  gb
10093
10094        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
10095
100962006-04-18 00:45  gb
10097
10098        * lisp-kernel/m4macros.m4: Fix changecom.
10099
101002006-04-18 00:11  gb
10101
10102        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
10103        but is otherwise fine with single-line /* */.
10104
101052006-04-18 00:09  gb
10106
10107        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
10108        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
10109        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
10110        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
10111        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10112        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
10113        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
10114        like Darwin as, but we're back to single-line /* */, which is often
10115        pretty ugly and not well-supported by Emacs.
10116
101172006-04-17 23:23  gb
10118
10119        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
10120        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
10121        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
10122        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
10123        x86-uuo.s: Use #/newline for comment delimiters, which is supported
10124        by Emacs and by all current GAS versions (but see ARM conventions.)
10125         No more jerking around with this, knock wood.
10126
101272006-04-17 23:23  gb
10128
10129        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
10130        case where caller provided args before the lexpr, which is much
10131        harder than the simple case.
10132       
10133        Use #/newline for comment delimiters, which is supported by Emacs
10134        and by all current GAS versions (but see ARM conventions.)  No more
10135        jerking around with this, knock wood.
10136
101372006-04-17 23:20  gb
10138
10139        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
10140        when numbers differed greatly in magnitude.  Current (binary)
10141        algorithm is usually OK.
10142
101432006-04-17 23:17  gb
10144
10145        * compiler/X86/x86-lap.lisp: Condition name should be
10146        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
10147        not the problem.  Name wasn't spelled correctly in code that
10148        signals the condition, anyway.
10149
101502006-04-17 16:34  gb
10151
10152        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
10153        argument, takes a new boolean to distinguish current tcr from
10154        others.  (The current tcr is only lusered on an interrupt; others
10155        are only lusered on GC entry.)
10156
101572006-04-17 16:33  gb
10158
10159        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
10160        here.  (No deep reason not to share the new x86 signature on all
10161        architectures.)
10162
101632006-04-17 16:32  gb
10164
10165        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
10166        here.  (No deep reason not to share the new x86 signature on all
10167        architectures.)
10168
101692006-04-17 16:31  gb
10170
10171        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
10172        platform-dependent.
10173
101742006-04-17 06:49  gb
10175
10176        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
10177        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
10178        already.
10179
101802006-04-17 06:17  gb
10181
10182        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
10183        truly portable type name.
10184
101852006-04-17 06:16  gb
10186
10187        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
10188        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
10189        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
10190        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
10191        work if they're at the start of a line in Linux GAS.  Try /* */
10192        comments, but limit them to a single line.  (May ultimately be
10193        better to use m4 dnl - carefully - and avoid end-of-line comments.)
10194
101952006-04-17 05:28  gb
10196
10197        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10198        x86-subprims64.s, x86-uuo.s: // comments.
10199
102002006-04-17 05:28  gb
10201
10202        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
10203        conditionalization.
10204
102052006-04-17 05:27  gb
10206
10207        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
10208        accessors, etc.)
10209
102102006-04-17 05:26  gb
10211
10212        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
10213        the sigstack trampoline stuff.)
10214
102152006-04-17 05:25  gb
10216
10217        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10218        integer types.
10219
102202006-04-17 05:24  gb
10221
10222        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10223        x86-constants64.s: // comments.
10224
102252006-04-17 05:23  gb
10226
10227        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10228        Solaris mmap() is ... unusual.
10229
102302006-04-17 05:21  gb
10231
10232        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10233        since Solaris version of GAS doen't handle multi-line comments (/*
10234        ... */).  It -seems- that other assemblers do handle them
10235        correctly; we'll see.
10236       
10237        Some Solaris conditionalization (ELFstabs, etc.)
10238
102392006-04-17 05:20  gb
10240
10241        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10242         We'll see what this breaks.
10243
102442006-04-17 05:19  gb
10245
10246        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10247        SOLARIS is defined.
10248
102492006-04-17 05:18  gb
10250
10251        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10252        registers in predictable order.
10253
102542006-04-17 05:17  gb
10255
10256        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10257        single-line comments, since Solaris version of GAS doen't handle
10258        multi-line comments (/* ... */).  It -seems- that other assemblers
10259        do handle them correctly; we'll see.
10260
102612006-04-17 05:15  gb
10262
10263        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10264
102652006-04-17 05:15  gb
10266
10267        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10268       
10269        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10270        platforms ?
10271
102722006-04-17 05:01  gb
10273
10274        * lisp-kernel/solarisx64/Makefile: new file
10275
102762006-04-17 04:56  gb
10277
10278        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10279        change the name/usage of the linker script.
10280       
10281        Stop using the linker script (since spjump is the only thing in the
10282        kernel that has to be at a fixed address and we can copy it there.)
10283       
10284        Don't disable the EGC.
10285
102862006-04-17 04:54  gb
10287
10288        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10289        the spjump table, exported for C (so that spjump can be mapped into
10290        low memory.)
10291
102922006-04-17 04:54  gb
10293
10294        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10295       
10296        If the tlb's too small when trying to bind a special, push the
10297        binding index of the symbol we're binding (for the benefit of the
10298        handler.)
10299
103002006-04-17 04:52  gb
10301
10302        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10303        code words than it has elements (can't happen, unless the
10304        function's code-words word is garbage, which seems to happen when
10305        closures get consed up in non-zeroed memory.)
10306       
10307        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10308        %nargs.q), which sometimes contains something tagged and
10309        non-immediate.
10310
103112006-04-17 04:48  gb
10312
10313        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10314        to ensure that everythings's zeroed.
10315       
10316        x8664 implementation of extend_tcr_tlb().
10317       
10318        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10319        in call to update_bytes_allocated().
10320       
10321        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10322        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10323        bug, and possibly some other instabiliy.)
10324       
10325        handle_exception: keep trying to guess how to distinguish memory
10326        faults from other sources of SIGSEGV.
10327       
10328        On debug traps, advance the PC past the UUO before entering the
10329        debugger.
10330       
10331        Handle XUUO_TLB_TOO_SMALL.
10332
103332006-04-17 04:42  gb
10334
10335        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10336        reserved_frame_marker.
10337
103382006-04-17 04:42  gb
10339
10340        * lisp-kernel/thread_manager.c: Remove implementation of
10341        extend_tcr_tlb().
10342
103432006-04-17 04:41  gb
10344
10345        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10346        extend_tcr_tlb().
10347
103482006-04-17 04:41  gb
10349
10350        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10351
103522006-04-17 04:40  gb
10353
10354        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10355        that we don't need to use a linker script.
10356
103572006-04-17 04:40  gb
10358
10359        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10360        target xxx-exceptions.h now.
10361
103622006-04-17 04:39  gb
10363
10364        * lib/misc.lisp: Some comment formatting/editing.
10365
103662006-04-17 04:38  gb
10367
10368        * level-1/version.lisp: Bump.
10369
103702006-04-17 04:38  gb
10371
10372        * level-1/l1-readloop.lisp: Some debugging code in the code which
10373        creates the final closure.  It seems that when it's bad, it's bad
10374        on creation (here.)
10375
103762006-04-17 04:37  gb
10377
10378        * level-1/l1-processes.lisp: Some debugging code in
10379        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10380        final closure to be trashed.
10381       
10382        I don't think that other threads were getting their allocptr's
10383        nullified correctly by the GC/normalize_tcr(); with the current
10384        debugging code in place, it seems like the closure is consed on top
10385        of something other than free, thread-private heap memory (when it's
10386        bad, it fails the first check here.  I'm not sure that the latest
10387        round of GC/normalize-tcr() changes have fixed the problem, but I
10388        haven't seen it in a while now, either.)
10389
103902006-04-17 04:32  gb
10391
10392        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10393        disassembly, etc.).
10394
103952006-04-17 04:31  gb
10396
10397        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10398        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10399        (anymore.)
10400       
10401        Subprims are down in low memory again; make INIT-CLOSURE skip
10402        setting the high byte of .SPcall-closure's address if it's zero.
10403
104042006-04-17 04:28  gb
10405
10406        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10407        which may help backtrace.
10408
104092006-04-17 04:26  gb
10410
10411        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10412        (interface/implementation.)
10413
104142006-04-15 09:20  gb
10415
10416        * level-1/x86-callback-support.lisp: Ensure that callback
10417        trampolines are allocated in executable memory.
10418
104192006-04-15 09:12  gb
10420
10421        * lib/dumplisp.lisp: Refresh external entry points before reviving
10422        callbacks.  Reset callback storage before reviving callbacks.
10423
104242006-04-15 09:10  gb
10425
10426        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10427        error message with a %.  (Where did that come from ?)
10428
104292006-04-15 09:08  gb
10430
10431        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10432        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10433        is executable.
10434
104352006-04-14 09:02  gb
10436
10437        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10438
104392006-04-14 08:21  gb
10440
10441        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10442        shorthand for the nearest matching year.
10443
104442006-04-14 08:20  gb
10445
10446        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10447        when : was missing.
10448
104492006-04-13 23:09  gb
10450
10451        * lib/ppc-backtrace.lisp: Eschew missing parens.
10452
104532006-04-13 23:08  gb
10454
10455        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10456
104572006-04-13 23:08  gb
10458
10459        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10460        ARGLIST-FROM-MAP.
10461
104622006-04-13 23:02  gb
10463
10464        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10465        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10466        about returning a second value; returns values NIL, T for functions
10467        that take no args and don't have a symbol map.
10468
104692006-04-13 22:53  gb
10470
10471        * level-1/l1-lisp-threads.lisp: Try to make args to
10472        NTH-VALUE-IN-FRAME et al a little saner.
10473
104742006-04-13 22:37  gb
10475
10476        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10477        type.
10478
104792006-04-13 22:36  gb
10480
10481        * level-1/version.lisp: Bump.
10482
104832006-04-13 22:35  gb
10484
10485        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10486        trying to find the cause of the crash-on-quit bug.
10487
104882006-04-13 07:30  gb
10489
10490        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10491
104922006-04-13 07:29  gb
10493
10494        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10495        stuff to target-backtrace.
10496
104972006-04-13 06:45  gb
10498
10499        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10500
105012006-04-13 06:44  gb
10502
10503        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10504        x8664.
10505
105062006-04-13 06:44  gb
10507
10508        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10509        bytes of %nargs_q contain arg count.
10510
105112006-04-13 06:43  gb
10512
10513        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10514
105152006-04-13 06:43  gb
10516
10517        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10518        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10519        APPLY.
10520
105212006-04-13 06:42  gb
10522
10523        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10524
105252006-04-13 06:41  gb
10526
10527        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10528        operands.
10529
105302006-04-13 06:41  gb
10531
10532        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10533        "vector-lists" instead of adjustable arrays, simplify handling of
10534        constant expressions.  Still conses hysterically; need to find out
10535        where and tone it down a bit, if possible.
10536
105372006-04-13 06:39  gb
10538
10539        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10540        operands; maybe no lap constant-expressions.
10541
105422006-04-13 06:39  gb
10543
10544        * compiler/X86/x86-asm.lisp: Don't need
10545        *lap-constant-0-expression*.
10546
105472006-04-13 00:46  gb
10548
10549        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10550        linker script.
10551
105522006-04-13 00:45  gb
10553
10554        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10555        2.16.1 (Thanks to James Bielman).
10556
105572006-04-12 18:53  gb
10558
10559        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10560        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10561        of this seems to have to do with C++ static constructors, which
10562        aren't really relevant here.)
10563
105642006-04-12 18:28  gb
10565
10566        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10567        between %Rforeign_sp and GPRs.
10568
105692006-04-12 18:22  gb
10570
10571        * lisp-kernel/linuxx8664/Makefile: egc flag
10572
105732006-04-12 18:08  gb
10574
10575        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10576        where we're losing here.
10577
105782006-04-12 18:07  gb
10579
10580        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10581        write barrier code, crap out if so.
10582
105832006-04-12 18:06  gb
10584
10585        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10586        (presumably in a Makefile).
10587
105882006-04-12 14:50  gb
10589
10590        * level-1/version.lisp: Bump.
10591
105922006-04-12 14:46  gb
10593
10594        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10595        x86-backtrace.lisp: new target backtrace stuff.
10596
105972006-04-12 14:45  gb
10598
10599        * lib/backtrace.lisp: Start splitting things up, ideally into a
10600        mostly abstract API and gory platform- dependent implementation
10601        details.
10602
106032006-04-11 21:40  gb
10604
10605        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10606        the damned thing on.  (A little painful with integrity checking
10607        enabled, as it still is by default.)
10608       
10609        TODO:
10610       
10611        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10612        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10613        exception handling - check UUO usage in kernel, disassembler,
10614        exception handlers - stack overflow recovery
10615
106162006-04-11 21:24  gb
10617
10618        * lisp-kernel/x86-gc.c: Skip over function code in
10619        check_refmap_consistency.
10620
106212006-04-11 21:23  gb
10622
10623        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10624        backwards.
10625
106262006-04-11 19:11  gb
10627
10628        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10629
106302006-04-11 19:11  gb
10631
10632        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10633        a closure, no lfname slot in closure.
10634
106352006-04-11 16:29  gb
10636
10637        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10638        area.
10639
106402006-04-11 16:29  gb
10641
10642        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10643        between lisp/foreign code.
10644
106452006-04-11 16:29  gb
10646
10647        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10648        bit-order problems.)
10649       
10650        Maintain the MXCSR on transitions between lisp/foreign code.
10651
106522006-04-11 16:28  gb
10653
10654        * lisp-kernel/x86-macros.s: Access globals in expressions.
10655
106562006-04-11 16:27  gb
10657
10658        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10659        need some bootstrapping stuff (function boundary markers) for a few
10660        reasons, as will DWS marker.
10661
106622006-04-11 16:27  gb
10663
10664        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10665        the siginfo error code.
10666
106672006-04-11 16:26  gb
10668
10669        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10670        fields in tcr.
10671
106722006-04-11 16:25  gb
10673
10674        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10675
106762006-04-11 16:25  gb
10677
10678        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10679        when starting a lisp thread.  (It'll be saner when FP exceptions
10680        are handled.)
10681
106822006-04-11 16:24  gb
10683
10684        * level-1/x86-error-signal.lisp: Recognize what complaints about
10685        non-uvectors are trying to tell us.
10686
106872006-04-11 16:23  gb
10688
10689        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10690        vectors.
10691
106922006-04-11 16:23  gb
10693
10694        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10695        Ses.  Define classes for function/symbol vectors.
10696
106972006-04-11 16:22  gb
10698
10699        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10700
107012006-04-11 16:21  gb
10702
10703        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10704        needs to add a function boundary marker (but we can stop padding
10705        each closure with a null function name slot.)
10706
107072006-04-11 16:20  gb
10708
10709        * compiler/X86/X8664/x8664-arch.lisp: Define
10710        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10711
107122006-04-11 16:19  gb
10713
10714        * compiler/X86/x862.lisp: Emit a function boundary marker between
10715        code and constants. (For GC reasons.) Change closure initialization
10716        to account for it.
10717
107182006-04-11 16:18  gb
10719
10720        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10721        between code and constants. (For GC reasons.)
10722
107232006-04-11 16:17  gb
10724
10725        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10726
107272006-04-11 16:17  gb
10728
10729        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10730       
10731        See if we can get by without 68K condition code ...
10732
107332006-04-11 06:53  gb
10734
10735        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10736        soon.
10737
107382006-04-11 06:53  gb
10739
10740        * lib/numbers.lisp: Infinity constants conditionalized on/off
10741        during MXCSR adventures.  On now.
10742
107432006-04-11 06:52  gb
10744
10745        * lib/describe.lisp: Comment indentation.
10746       
10747        No such thing as an interpreted function; hasn't been for years.
10748
107492006-04-11 06:51  gb
10750
10751        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10752        al.
10753
107542006-04-11 06:51  gb
10755
10756        * level-1/version.lisp: Bumped yesterday.
10757
107582006-04-11 06:50  gb
10759
10760        * level-1/l1-error-signal.lisp: Comments.
10761
107622006-04-11 06:50  gb
10763
10764        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10765        at least.
10766
107672006-04-11 06:50  gb
10768
10769        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10770        a fixnum constant is boxed in %SET-MXCSR.
10771
107722006-04-11 06:49  gb
10773
10774        * level-0/X86/x86-def.lisp: Get info about register usage.
10775
107762006-04-11 06:49  gb
10777
10778        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10779        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10780        though that it was dealing with a scaled index.
10781
107822006-04-11 06:48  gb
10783
10784        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10785        aref.
10786
107872006-04-11 06:48  gb
10788
10789        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10790        do something about FRAG-CODE-BUFFERs, and need to tone down
10791        expression overkill.
10792
107932006-04-11 06:46  gb
10794
10795        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10796        for when opcode ordinals change.
10797
107982006-04-11 06:46  gb
10799
10800        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10801        UUO-ERROR-ARRAY-RANK.
10802       
10803        Vinsn template fixup mechanism, for when opcode ordinals change.
10804
108052006-04-11 06:45  gb
10806
10807        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10808
108092006-04-11 06:45  gb
10810
10811        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10812
108132006-04-11 06:44  gb
10814
10815        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10816        specialized list header initialization.
10817
108182006-04-11 06:43  gb
10819
10820        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10821        2d float arrays.
10822
108232006-04-10 10:19  gb
10824
10825        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10826        foreign SP properly obeying C alignment conventions.  In order to
10827        get it aligned for lisp usage during the callback, an extra word
10828        needs to be pushed before the backpointer to the old foreign RSP.
10829
108302006-04-10 10:18  gb
10831
10832        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10833        is 16-byte aligned, so that the foreign stack pointer is aligned
10834        according to C conventions when we enter the signal handler on that
10835        stack.
10836
108372006-04-10 10:13  gb
10838
10839        * lib/numbers.lisp: Define FP infinities, since we're running with
10840        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10841        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10842        an unmasked FP exception was raised and unhandled.)
10843
108442006-04-10 10:10  gb
10845
10846        * lib/level-2.lisp: Remove the WARN and the conditionalization
10847        around bit/bitfield accessors on X8664.
10848
108492006-04-10 10:09  gb
10850
10851        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10852        from memory, we say "ldmxcsr".  We want to do such a load in order
10853        to write new values into the mxcsr.  To store it in memory, we say
10854        "stmxcsr".  We want to do such a store (and a subsequent load from
10855        memory) in order to access the value of the mxcsr.  Simple, no ?
10856
108572006-04-10 10:07  gb
10858
10859        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10860        %GET-BIT/%SET-BIT.
10861
108622006-04-10 08:29  gb
10863
10864        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10865        addition/multiplication: either arg can overlap result (and often
10866        will).  Float subtraction/division: caller should ensure that
10867        result and second arg are disjoint.
10868
108692006-04-10 08:27  gb
10870
10871        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10872        that result doesn't overlap second argument for non-commutative
10873        operations.
10874