source: trunk/ccl/ChangeLog @ 7283

Last change on this file since 7283 was 7283, checked in by gb, 14 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 789.4 KB
Line 
12007-09-23 21:11  gb
2
3        * lisp-kernel/: lisp-debug.c, lisp-exceptions.h, x86-exceptions.c,
4        x86-exceptions.h: Don't use sigaltstack on any x86-64 platform:
5        even if it works, it makes it harder to deal with exceptions in
6        foreign code (we've often gotten segfaults from running out of
7        space on the alt stack, the mechanism isn't reentrant, etc.)
8       
9        Try to report cases where the kernel debugger is entered due to an
10        exception in foreign code.  Todo: make it less tempting to use (L)
11        in that case, maybe try to make backtrace find saved_rbp from tcr
12        on x86-64, etc.
13
142007-09-23 21:10  gb
15
16        * level-1/l1-application.lisp: APPLICATION-VERSION-STRING (which
17        probably was used to support "get info", back in the day) is just
18        LISP-IMPLEMENTATION-VERSION.
19
202007-09-23 09:12  gb
21
22        * xdump/xfasload.lisp: Handle saving svn revision as string or
23        fixnum.
24
252007-09-23 09:11  gb
26
27        * lib/misc.lisp: Try to use "svnversion" to get svn version info in
28        LOCAL-SVN-REVISION.
29
302007-09-22 23:13  gb
31
32        * xdump/xfasload.lisp: Set *openmcl-svn-revision* to the value of
33        (LOCAL-SVN-REVISION) when writing the bootstrapping image; this
34        will show up in the Welcome banner and LISP-IMPLEMENTATION-VERSION.
35          May want to tweak this some more, but it may make it easier to
36        determine what you're running relative to what's in SVN/CVS.
37
382007-09-22 23:12  gb
39
40        * level-1/version.lisp: Replace *OPENMCL-SUFFIX* (the thing which
41        had the date in it) with *OPENMCL-SVN-REVISION*, which is defvar'ed
42        to NIL here.  (It may be set early in the cold load or via the
43        xloader.)
44
452007-09-22 23:11  gb
46
47        * lib/pathnames.lisp: Treat NIL and :UNSPECIFIC name/type
48        components in the pattern consistently in %FILE*=.
49
502007-09-22 23:10  gb
51
52        * lib/misc.lisp: LOCAL-SVN-REVISION tries to determine the (local)
53        svn revision, by looking for a .svnrev file (used in the svn->cvs
54        synching process) or by parsing "svn info" output.
55
562007-09-21 12:10  gb
57
58        * cocoa-ide/cocoa-editor.lisp: Rename "cache" to "mirror" in
59        hemlock-text-storage.  This clarifies the purpose of the slot and
60        avoids confusion with buffer caches, which are completely
61        different.
62
632007-09-20 21:10  gb
64
65        * level-1/linux-files.lisp: Make the pipe streams created by
66        RUN-PROGRAM be basic streams
67
682007-09-19 15:10  gb
69
70        * lib/macros.lisp: Prevent unused gensym warnings in
71        with-accessors.  Same fix that Gary Palter did to with-slots.
72
732007-09-19 02:11  gb
74
75        * lib/backtrace-lds.lisp: FRAME-REQUIRED-ARGS: try to make better.
76        This is only used by SLIME; it was once used for frame restarting.
77        Try to make the result reasonable in the SLIME case.
78
792007-09-19 02:10  gb
80
81        * lib/arglist.lisp: ARGLIST-FROM-MAP: don't be afraid to say
82        &LEXPR.  ARG-NAMES-FROM-MAP: &rest in map before &keys now.
83
842007-09-18 21:10  gb
85
86        * lib/macros.lisp: In WITH-SLOTS, if there are bindings, declare
87        the gensym'ed instance symbol IGNORABLE just in case none of the
88        symbol macros are actuall used.
89
902007-09-18 05:10  gb
91
92        * level-0/l0-numbers.lisp: Typo in constant again.
93
942007-09-17 21:10  gb
95
96        * level-1/sysutils.lisp: Return all three values from
97        CCL::PRINT-DEFERRED-WARNINGS
98
992007-09-17 06:10  gb
100
101        * level-0/l0-numbers.lisp: Simply clearing the top bit of the
102        intermediate result from %NEXT-RANDOM-PAIR had the effect of using
103        doing (mod result (expt 2 31)), not (mod result (1- (expt 2 31))).
104        Do a real MOD to obtain the next item in the series and update the
105        state with that value.  (This means that the high bit of the high
106        half of the result is always clear; or in the sign bit from the low
107        half.)
108
1092007-09-16 18:10  gb
110
111        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
112        ...
113
1142007-09-16 17:10  gb
115
116        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
117        before key arg(s), so assign it an address before processing &key
118        initforms.
119
1202007-09-15 17:10  gb
121
122        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
123        -LENGTH* when printing break messages.
124
1252007-09-13 20:10  gb
126
127        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
128        :element-type to ccl:run-program to allow for binary streams
129
1302007-09-13 06:55  gb
131
132        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
133        src/elisp/README, src/spell/README: Restore some README files,
134        which had somehow gotten lost in translation.
135
1362007-09-13 06:54  gb
137
138        *
139        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
140        ib/: classes.nib, info.nib, keyedobjects.nib: not used
141
1422007-09-13 06:52  gb
143
144        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
145        for certain kinds of MULTIPLE-VALUE-CALL differently; in
146        particular, note the effect of pushing such a label on stack depth.
147
1482007-09-13 06:50  gb
149
150        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
151        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
152        containing directory exists in cvs.
153
1542007-09-06 14:10  gb
155
156        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
157        write-info-plist
158
1592007-09-04 23:11  gb
160
161        * cocoa-ide/cocoa-editor.lisp: New! Improved!
162       
163        The code which arranges for editing changes to be processed in the
164        main thread now does so via an NSInvocation (ObjC's notion of a
165        closure, sort of); the methods which run in the main thread handle
166        the job of synchronizing the underlying the Hemlock string and the
167        "real" NSMutableAttributedString as well as informing the text
168        system of pending editing changes via
169        #/edited:range:changeInLength:.  The code which processes deletions
170        does the change processing before modifying the string (other
171        methods do it after the change); this seems to be necessary to
172        avoid some things that could cause ticket:50.  (I'm not sure if
173        this fixes ticket:50, but it does seem to fix a reproducible case.)
174       
175        The #/replaceCharactersInRange:withString: method on
176        hemlock-text-storage (which handles buffer changes originating from
177        non-Hemlock sources) is careful to use a :right-inserting temporary
178        mark when modifying the buffer, to help ensure that
179        insertions/deletions take place at the correct absolute position.
180        (This may at least partially address bugs related to things getting
181        confused/out-of-bounds errors when doing lots of cutting and
182        pasting, though it's hard to know without reproducible cases.)
183       
184        The macros NSSTRING-ENCODING-TO-NSINTEGER and
185        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
186        least one of them wasn't.)
187       
188        The handling of text encoding for editor documents has changed in a
189        few ways.  If "automatic" encoding is used in an "Open ..." dialog
190        and is successfully able to infer a text file's encoding, the
191        encoding that was inferred becomes the document's encoding (used in
192        subsequent "save" operations.)  On some OSX versions, the automatic
193        detection mechanism can only recognize UTF-16 files that contain a
194        leading BOM (and the editor's code for dealing with the automatic
195        mechanism didn't expect this to ever work.)  On other systems, the
196        automatic mechanism can return something correct (I've seen UTF-8)
197        but possibly suboptimal.
198       
199        The Open... dialog now defaults to something derived from the
200        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
201        "automatic" is a little unpredictable, the new default is probably
202        better.
203       
204        The NSDocument mechanism for creating backup files (with names of
205        the form "name~.ext") is not used; when backup files are created,
206        we try to copy the original to a file whose name conforms to the
207        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
208        seem to work better when the Emacs scheme is used (though I suppose
209        some people might prefer the NSDocument scheme and we could make
210        this a preference.)
211
2122007-09-04 22:11  gb
213
214        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
215        creating a Listener, since (a) that method's deprecated in favor of
216        #/setFileURL: and (b) a newly-created Listener doesn't really have
217        an associated filename, and so shouldn't get the icon and popup in
218        its titlebar.
219       
220        Do arrange that (unless/until a listener document is saved to a
221        file) its window title is based on the underlying Hemlock buffer's
222        name.  (If one ever attempts to save a listener document, the
223        proposed file name is the internal NSDocument name; we might or
224        might not want to change that.)
225
2262007-09-04 22:10  gb
227
228        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
229        *MODELINE-FONT-NAME*, -SIZE*.
230
2312007-09-04 19:13  gb
232
233        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
234        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
235        which was supposed to allow us to track the high end of a range of
236        pages that'd been written to and not freed (so we'd zero them
237        lazily when they were reallocated.)  Such a scheme would really
238        need to track both ends of such a range, and the old scheme wound
239        up being overly zealous and often zeroed pages that were already
240        zeroed.  Zero the range between the old free pointer and the new
241        one after each GC, instead.
242       
243        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
244        carefully.
245
2462007-09-04 19:12  gb
247
248        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
249        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
250
2512007-09-04 19:11  gb
252
253        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
254        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
255        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
256        this in the PPC backends.
257       
258        (This needs testing ...)
259
2602007-09-04 19:10  gb
261
262        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
263        :single-float callback results have been coerced to :double-float
264        on x8664.
265
2662007-09-03 18:10  gb
267
268        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
269        selection or the symbol around point, regardless of global parsing
270        state (Ticket:95).  While in there, make meta-. with a numarg
271        prompt for symbol to look up.
272
2732007-08-30 20:10  gb
274
275        * level-1/l1-error-system.lisp: Add a restart for unbound
276        variable/undefined function errors -- if there is a unique
277        bound/fbound symbol of the same name in another package, offer to
278        use it instead.
279
2802007-08-30 19:10  gb
281
282        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
283        inaccesible files; it might return an exit status of 2 if it finds
284        such files, so treat that as "success" for now (ticket:98).
285
2862007-08-30 18:11  gb
287
288        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
289        Variable command output (ticket:97).
290
2912007-08-30 18:10  gb
292
293        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
294        VARIABLE-VALUE to access buffer's package (ticket:82).
295
2962007-08-30 15:11  gb
297
298        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
299        code to copy user-supplied nibfiles into a saved application bundle
300
3012007-08-30 14:10  gb
302
303        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
304        all callers of current-point-for-deletion handle the nil return
305        value case.  This fixes ticket:85
306
3072007-08-29 20:11  gb
308
309        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
310        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
311        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
312        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
313        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
314        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
315        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
316        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
317        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
318        hemlock/src/fill.lisp, hemlock/src/font.lisp,
319        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
320        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
321        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
322        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
323        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
324        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
325        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
326        hemlock/src/macros.lisp, hemlock/src/main.lisp,
327        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
328        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
329        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
330        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
331        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
332        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
333        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
334        hemlock/src/text.lisp, hemlock/src/undo.lisp,
335        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
336        hemlock/src/archive/auto-save.lisp,
337        hemlock/src/archive/bit-display.lisp,
338        hemlock/src/archive/bit-screen.lisp,
339        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
340        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
341        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
342        hemlock/src/archive/eval-server.lisp,
343        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
344        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
345        hemlock/src/archive/lisp-lib.lisp,
346        hemlock/src/archive/lispbuf.lisp,
347        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
348        hemlock/src/archive/netnews.lisp,
349        hemlock/src/archive/overwrite.lisp,
350        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
351        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
352        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
353        hemlock/src/archive/spell-corr.lisp,
354        hemlock/src/archive/spell-rt.lisp,
355        hemlock/src/archive/spellcoms.lisp,
356        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
357        hemlock/src/archive/ts-stream.lisp,
358        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
359        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
360        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
361        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
362        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
363        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
364        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
365        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
366        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
367        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
368        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
369        hemlock/website/index.html.in: umm, load cocoa-grep where it will
370        work...
371
3722007-08-29 20:10  gb
373
374        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
375
3762007-08-29 13:11  gb
377
378        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
379
3802007-08-29 12:12  gb
381
382        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
383        arg (simple case), move point to the location of the temporary mark
384        after calling the indent function.
385
3862007-08-29 12:11  gb
387
388        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
389        returns 2 values: the "column" (with tabs expanded) of the first
390        non-whitespace character on the line and that character's position.
391         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
392        position if no changes are necessary.
393
3942007-08-29 12:10  gb
395
396        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
397        method, make an NS-MUTABLE-STRING even if the string from the
398        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
399        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
400         mutable.) For ticket:84.
401
4022007-08-28 23:10  gb
403
404        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
405        hi::scroll-window actually scroll, not just move insertion point
406        around.  Fixes ticket:88.
407
4082007-08-26 13:11  gb
409
410        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
411        keyword argument to build-application: main-nib-name; names the
412        nigfile that is to be the main nib of the built application
413
4142007-08-26 12:10  gb
415
416        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
417        application bulder to trunk
418
4192007-08-25 02:13  gb
420
421        * cocoa-ide/cocoa-listener.lisp:
422        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
423        #\^d after sending the string.  (This is just a workaround for
424        ticket:82; the trailing #\^d is just treated as whitespace and
425        terminates calls to READ.  We really want some way of recognizing
426        "end of selection" and treating that like a transient EOF in some
427        cases.)
428
4292007-08-25 02:12  gb
430
431        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
432        #/openDocumentWithContentsOfURL:display:error:, since calling
433        #/openDocumentWithContentsOfURL:display: complains that
434        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
435        Cocoa.  (Note that we'd been calling
436        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
437        implementation without incident.)
438
4392007-08-25 02:11  gb
440
441        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
442        notes buffer modification.
443
4442007-08-25 02:10  gb
445
446        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
447        modification.
448
4492007-08-23 17:17  gb
450
451        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
452        method.
453
4542007-08-23 17:16  gb
455
456        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
457        #/editingInProgress method.  Add some more (conditionalized) debug
458        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
459        command thread as well as in Cocoa thread.  Make sure that Hemlock
460        command thread has bindings of command-processing data structures,
461        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
462        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
463        only set by isearch when it exits.
464
4652007-08-23 17:15  gb
466
467        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
468        font name and size; initially, Monaco 9.  (Not yet changeable
469        through preferences panel.) Adjust outline view's row height based
470        on font height.  Set the data cell to "non-editable" (could have
471        done this in IB).  Provide handlers for some menu commands
472        (continue, restarts, exitBreak); no need to validate menu items for
473        them (those commands should be available whenever backtrace dialog
474        is active.)
475
4762007-08-23 17:14  gb
477
478        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
479        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
480
4812007-08-23 17:13  gb
482
483        * cocoa-ide/hemlock/src/package.lisp: Export
484        RECURSIVE-GET-KEY-EVENT.
485
4862007-08-23 17:12  gb
487
488        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
489        read symbol for arglist.  (Should probably be more careful
490        elsewhere, too.)
491
4922007-08-23 17:11  gb
493
494        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
495        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
496        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
497
4982007-08-23 17:10  gb
499
500        * cocoa-ide/hemlock/src/echo.lisp: Don't call
501        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
502        still be pending on the echo area (how ?), and
503        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
504        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
505
5062007-08-23 16:11  gb
507
508        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
509        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
510        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
511        events in some modal loop in a command.  (The idea is that toplevel
512        editing commands inhibit redisplay in the main buffer while they're
513        active; commands which recursively process key events and which may
514        make changes to that buffer should allow redisplay while they're
515        waiting in RECURSIVE-GET-KEY-EVENT.)
516
5172007-08-23 16:10  gb
518
519        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
520        revert.
521
5222007-08-18 19:11  gb
523
524        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
525        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
526        race conditions where two threads try to update a distpatch table
527        index with different {wrapper, combined-method} pairs at the same
528        time.  (As it's written, if the store-conditional fails because a
529        slot that we thought was free is now in use, we simply don't cache
530        the pair and get a cache miss the next time; that may or may not be
531        more work than repeating the whole process would be.)
532       
533        The store-conditional is used on attempt to update the
534        combined-method slot in the pair; the wrapper slot is only updated
535        if the store-conditional succeeds.  Code which probes the wrapper
536        slots shouldn't be confused by a half-updated pair (should never
537        see a non-null wrapper slot and a null combined-method slot.)
538
5392007-08-18 17:11  gb
540
541        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
542        %DECODE-TYPE.
543
5442007-08-18 16:10  gb
545
546        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
547        determine if selection highlighting can be used, since
548        #_class_respondsToSelector requires ObjC-2.0)
549
5502007-08-16 08:22  gb
551
552        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
553        extended selection highlighting if it's supported.
554       
555        Clear the shift bit from key events associated with standard-chars.
556
5572007-08-16 08:20  gb
558
559        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
560        bound to movement commands run different commands.
561       
562        Left-mouse has the :mouse-exit logical attribute.
563
5642007-08-16 08:19  gb
565
566        * cocoa-ide/hemlock/src/buffer.lisp:
567        CURRENT-POINT-COLLAPSING-SELECTION and
568        CURRENT-POINT-EXTENDING-SELECTION replace
569        CURRENT-POINT-FOR-MOVEMENT.
570
5712007-08-16 08:18  gb
572
573        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
574        translation.
575       
576        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
577        selection highlighting under Leopard.
578
5792007-08-16 08:16  gb
580
581        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
582        "shifted" and "unshifted" variants.
583
5842007-08-16 08:15  gb
585
586        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
587        attribute.
588
5892007-08-16 08:14  gb
590
591        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
592        bit for standard-char (and upper-case.) This means that
593        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
594        (in which the shift modifier isn't explicitly set) and that
595        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
596        modifier is set in the latter.)
597
5982007-08-16 08:13  gb
599
600        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
601        the buffer if the line's already indented properly.
602       
603        Movement commands come in two variants: those that collapse and
604        those that extend the selection.
605
6062007-08-16 08:12  gb
607
608        * cocoa-ide/hemlock/src/package.lisp: Export
609        CURRENT-POINT-EXTENDING-SELECTION and
610        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
611        CURRENT-POINT-FOR-MOVEMENT.
612
6132007-08-16 08:10  gb
614
615        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
616        empatically (under Leopard) after successful (non incremental)
617        search.
618       
619        Incremental search also hilites the selection, but doesn't yet
620        manage the selection on failure.
621
6222007-08-16 07:10  gb
623
624        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
625        by invoking #/activateHemlockView on main thread; call
626        deactivate-hemlock-view on the peer.
627       
628        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
629        but I'm fairly sure that this stuff needs to happen on the main
630        thread.
631
6322007-08-09 16:10  gb
633
634        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
635        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
636
6372007-08-07 15:10  gb
638
639        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
640        beginning of buffer and end of buffer.  It's Mac standard, and I
641        use it a lot.  Home was bound to "Help".
642       
643        Make clicking the mouse while incremental searching exit instead of
644        abort, leaving the insertion point where you click instead of where
645        the isearch was started.
646
6472007-08-06 23:10  gb
648
649        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
650        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
651        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
652        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
653        hemlock key event, set the hemlock shift bit if the the Cocoa shift
654        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
655        bit cleared and the keysym downcased (if necessary).  Leave
656        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
657        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
658        deactivates the region ("collapses the selection") if the shift bit
659        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
660        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
661        hopefully all) movement commands, to address ticket:36 .  Define a
662        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
663        to it to address ticket:44 .
664
6652007-08-06 19:10  gb
666
667        * objc-bridge/objc-support.lisp: careful with db stuff
668
6692007-08-04 13:12  gb
670
671        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
672        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
673         (Should maybe do this on mousedown in the echo area, too.) Some
674        indentation changes.
675
6762007-08-04 12:14  gb
677
678        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
679        :abort key event.
680
6812007-08-04 12:13  gb
682
683        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
684        title for show lossage command.
685
6862007-08-04 12:12  gb
687
688        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
689        left mouse down, so that we can use #k"leftdown".
690
6912007-08-04 12:11  gb
692
693        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
694
6952007-08-03 15:10  gb
696
697        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
698
6992007-08-03 10:10  gb
700
701        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
702        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
703
7042007-08-03 09:10  gb
705
706        * level-0/l0-array.lisp: Define list-to-vector.
707
7082007-08-02 07:16  gb
709
710        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
711        #/changeFont:; use targeted messages.  Ensure that font panel picks
712        up the right font.
713
7142007-08-02 07:16  gb
715
716        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
717        default.
718
7192007-08-02 07:15  gb
720
721        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
722        view, echo area) unselectable when activating via Hemlock command.
723        Text views don't use font panel by default; enable/disable font
724        panel when setting text color.
725
7262007-08-02 07:14  gb
727
728        * cocoa-ide/.cvsignore: New.
729
7302007-08-02 07:13  gb
731
732        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
733        CREATE-INTERFACES.
734
7352007-08-02 07:12  gb
736
737        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
738
7392007-08-02 07:11  gb
740
741        * library/parse-ffi.lisp: Don't be verbose about explict struct
742        returns.
743
7442007-08-02 07:10  gb
745
746        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
747        anymore.
748
7492007-07-31 19:10  gb
750
751        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
752        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
753
7542007-07-31 07:12  gb
755
756        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
757        to #o644 (not #o666); make sure that it's actually used when
758        creating the image (even if not prepending a kernel to the image.)
759
7602007-07-31 07:11  gb
761
762        * level-1/l1-application.lisp: When processing --version option,
763        don't write to *terminal-io* (which doesn't exist yet.)
764
7652007-07-22 23:50  gb
766
767        * release-notes.txt: Add more stuff.
768
7692007-07-22 23:11  gb
770
771        * level-1/version.lisp: Bump.
772
7732007-07-22 23:10  gb
774
775        * release-notes.txt: Update for 1.1-pre-070722.
776
7772007-07-22 21:11  gb
778
779        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
780
7812007-07-22 21:10  gb
782
783        * cocoa-ide/README: New file.
784
7852007-07-22 18:51  gb
786
787        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
788        package.
789
7902007-07-22 18:50  gb
791
792        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
793
7942007-07-22 18:49  gb
795
796        * level-1/version.lisp: Bump.
797
7982007-07-22 18:48  gb
799
800        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
801        Allocate callback trampolines via mmap on ppc, too.
802
8032007-07-22 18:47  gb
804
805        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
806        RUN-PROGRAM to merge-pathnames.
807
8082007-07-22 18:46  gb
809
810        * level-1/l1-utils.lisp: Don't define BEEP.
811
8122007-07-22 18:46  gb
813
814        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
815        was counting chars (nchars) twice.
816
8172007-07-22 18:45  gb
818
819        * level-1/l1-streams.lisp: selection-stream changes.
820
8212007-07-22 18:44  gb
822
823        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
824        about restarts in backtrace context.
825
8262007-07-22 18:43  gb
827
828        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
829        can be overridden.
830
8312007-07-22 18:42  gb
832
833        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
834        *MODULE-SEARCH-PATH*.
835
8362007-07-22 18:41  gb
837
838        * level-1/l1-format.lisp: Handling of * format directive when
839        dealing with circularity screws up other things that expect
840        *FORMAT-ARGUMENTS* to share structure with
841        *FORMAT-ORIGINAL-ARGUMENTS*.
842
8432007-07-22 18:40  gb
844
845        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
846        ENSURE-DIRECTORY-NAMESTRING.
847
8482007-07-22 18:40  gb
849
850        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
851        interactive break.
852
8532007-07-22 18:39  gb
854
855        * level-1/l1-error-system.lisp: Stream error context stuff.
856
8572007-07-22 18:38  gb
858
859        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
860        (e.g., as NSExceptions.)
861
8622007-07-22 18:37  gb
863
864        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
865        CLASS-SLOT-INITARGS.
866
8672007-07-22 18:36  gb
868
869        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
870        allocation stuff (which uses mmap to ensure that the callback is in
871        executable memory) here, since it'll be needed on ppc64 leopard, at
872        least.
873
8742007-07-22 18:35  gb
875
876        * level-1/l1-application.lisp: Argument handling and interactive
877        stream initialization happens in a :before method on
878        (toplevel-function application).
879
8802007-07-22 18:34  gb
881
882        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
883        special args/locals, too.
884
8852007-07-22 18:33  gb
886
887        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
888        for backtrace/inspect someday.
889
8902007-07-22 18:33  gb
891
892        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
893
8942007-07-22 18:32  gb
895
896        * lib/macros.lisp: Callbacks that try to do magic foreign error
897        stuff use HANDLER-BIND, not HANDLER-CASE.
898       
899        Other callback-changes to reduce incidental consing sometimes.
900
9012007-07-22 18:31  gb
902
903        * lib/backtrace.lisp: %show-args-and-locals,
904        %stack-frames-in-context: changes for new backtrace presentation.
905
9062007-07-22 18:30  gb
907
908        * lib/compile-ccl.lisp: Remove some duplicate definitions.
909
9102007-07-22 18:29  gb
911
912        * lib/describe.lisp: Some (signigicant) stack-frame changes.
913
9142007-07-22 18:28  gb
915
916        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
917
9182007-07-22 18:27  gb
919
920        * lib/arglist.lisp: Provide -some- arglist info for special
921        operators.  ARG-NAMES-FROM-MAP.
922
9232007-07-22 18:27  gb
924
925        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
926
9272007-07-22 18:26  gb
928
929        * lib/source-files.lisp: Comment formatting.
930
9312007-07-22 18:25  gb
932
933        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
934        to provide context.
935
9362007-07-22 18:24  gb
937
938        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
939        get confused by null register values, etc.
940
9412007-07-22 18:23  gb
942
943        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
944        not ppc32/ppc64.
945
9462007-07-22 18:22  gb
947
948        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
949        64-bit key-scrambling stuff.
950
9512007-07-22 18:21  gb
952
953        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
954
9552007-07-22 18:21  gb
956
957        * level-0/l0-utils.lisp: s32->u32, u32->s32.
958
9592007-07-22 18:20  gb
960
961        * level-0/l0-error.lisp: foreign exception error stuff.
962
9632007-07-22 18:19  gb
964
965        * level-1/l1-sockets.lisp: Sockets created with :format :binary
966        don't have element-type of character, though this crap is all
967        pretty nebulous.
968
9692007-07-22 18:18  gb
970
971        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
972
9732007-07-22 18:17  gb
974
975        * library/pty.lisp: set-pty-raw.
976
9772007-07-22 18:16  gb
978
979        * library/hemlock.lisp: Moved elsewhere.
980
9812007-07-22 18:15  gb
982
983        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
984        frames.
985
9862007-07-22 18:14  gb
987
988        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
989
9902007-07-22 18:14  gb
991
992        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
993        exception bit on interrupt.
994
9952007-07-22 18:13  gb
996
997        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
998        tcr flag bits, including new one for foreign exceptions.
999
10002007-07-22 18:12  gb
1001
1002        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
1003
10042007-07-22 18:11  gb
1005
1006        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
1007        exceptions.
1008
10092007-07-22 18:10  gb
1010
1011        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
1012        stack for pthread.  Foreign exception callbacks: put some 0s on the
1013        stack for callback.
1014
10152007-07-22 18:09  gb
1016
1017        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
1018
10192007-07-22 18:08  gb
1020
1021        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
1022        ensure_stack_limit(): if stack size is constrained by limits, don't
1023        exceed those limits.
1024
10252007-07-22 18:08  gb
1026
1027        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
1028
10292007-07-22 18:07  gb
1030
1031        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
1032
10332007-07-22 18:06  gb
1034
1035        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
1036
10372007-07-22 18:03  gb
1038
1039        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
1040        OpenMCL.app/Contents/MacOS/dppccl,
1041        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
1042        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1043        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1044        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1045        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
1046        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
1047        ib,
1048        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
1049        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
1050        cts.nib,
1051        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
1052        lasses.nib,
1053        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
1054        nfo.nib,
1055        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
1056        eyedobjects.nib,
1057        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
1058        nib,
1059        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
1060        ,
1061        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
1062        ects.nib,
1063        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
1064        .nib,
1065        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
1066        b,
1067        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
1068        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1069        OpenMCL.app/Contents/Resources/Help/index.html,
1070        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
1071        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
1072        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
1073        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
1074        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
1075        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
1076        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
1077        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
1078        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1079        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1080        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1081        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
1082        rings,
1083        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1084        /classes.nib,
1085        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1086        /info.nib,
1087        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1088        /keyedobjects.nib,
1089        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1090        ctor.nib/classes.nib,
1091        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1092        ctor.nib/info.nib,
1093        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1094        ctor.nib/keyedobjects.nib,
1095        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1096        b/classes.nib,
1097        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1098        b/info.nib,
1099        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1100        b/keyedobjects.nib,
1101        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1102        ib/classes.nib,
1103        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1104        ib/info.nib,
1105        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1106        ib/keyedobjects.nib,
1107        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1108        ib/classes.nib,
1109        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1110        ib/info.nib,
1111        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1112        ib/keyedobjects.nib,
1113        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1114        nib/classes.nib,
1115        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1116        nib/info.nib,
1117        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1118        nib/keyedobjects.nib,
1119        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1120        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1121        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1122        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1123        cocoa-ide/hemlock/hemlock11.cursor,
1124        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1125        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1126        cocoa-ide/hemlock/doc/.cvsignore,
1127        cocoa-ide/hemlock/doc/cim/.cvsignore,
1128        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1129        cocoa-ide/hemlock/doc/cim/cim.mss,
1130        cocoa-ide/hemlock/doc/misc/.cvsignore,
1131        cocoa-ide/hemlock/doc/misc/compilation.order,
1132        cocoa-ide/hemlock/doc/misc/hemlock.log,
1133        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1134        cocoa-ide/hemlock/doc/misc/notes.txt,
1135        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1136        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1137        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1138        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1139        cocoa-ide/hemlock/doc/user/.cvsignore,
1140        cocoa-ide/hemlock/doc/user/commands.mss,
1141        cocoa-ide/hemlock/doc/user/intro.mss,
1142        cocoa-ide/hemlock/doc/user/lisp.mss,
1143        cocoa-ide/hemlock/doc/user/mail.mss,
1144        cocoa-ide/hemlock/doc/user/netnews.mss,
1145        cocoa-ide/hemlock/doc/user/special-modes.mss,
1146        cocoa-ide/hemlock/doc/user/user.mss,
1147        cocoa-ide/hemlock/maint/.cvsignore,
1148        cocoa-ide/hemlock/maint/publish,
1149        cocoa-ide/hemlock/resources/.cvsignore,
1150        cocoa-ide/hemlock/resources/XKeysymDB,
1151        cocoa-ide/hemlock/resources/mh-scan,
1152        cocoa-ide/hemlock/resources/spell-dictionary.text,
1153        cocoa-ide/hemlock/src/.cvsignore,
1154        cocoa-ide/hemlock/src/bindings-gb.lisp,
1155        cocoa-ide/hemlock/src/bindings.lisp,
1156        cocoa-ide/hemlock/src/buffer.lisp,
1157        cocoa-ide/hemlock/src/charmacs.lisp,
1158        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1159        cocoa-ide/hemlock/src/command.lisp,
1160        cocoa-ide/hemlock/src/comments.lisp,
1161        cocoa-ide/hemlock/src/completion.lisp,
1162        cocoa-ide/hemlock/src/cursor.lisp,
1163        cocoa-ide/hemlock/src/decls.lisp,
1164        cocoa-ide/hemlock/src/defsyn.lisp,
1165        cocoa-ide/hemlock/src/doccoms.lisp,
1166        cocoa-ide/hemlock/src/echo.lisp,
1167        cocoa-ide/hemlock/src/echocoms.lisp,
1168        cocoa-ide/hemlock/src/edit-defs.lisp,
1169        cocoa-ide/hemlock/src/filecoms.lisp,
1170        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1171        cocoa-ide/hemlock/src/font.lisp,
1172        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1173        cocoa-ide/hemlock/src/htext1.lisp,
1174        cocoa-ide/hemlock/src/htext2.lisp,
1175        cocoa-ide/hemlock/src/htext3.lisp,
1176        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1177        cocoa-ide/hemlock/src/indent.lisp,
1178        cocoa-ide/hemlock/src/interp.lisp,
1179        cocoa-ide/hemlock/src/kbdmac.lisp,
1180        cocoa-ide/hemlock/src/key-event.lisp,
1181        cocoa-ide/hemlock/src/keysym-defs.lisp,
1182        cocoa-ide/hemlock/src/killcoms.lisp,
1183        cocoa-ide/hemlock/src/line.lisp,
1184        cocoa-ide/hemlock/src/linimage.lisp,
1185        cocoa-ide/hemlock/src/lispdep.lisp,
1186        cocoa-ide/hemlock/src/lispmode.lisp,
1187        cocoa-ide/hemlock/src/listener.lisp,
1188        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1189        cocoa-ide/hemlock/src/modeline.lisp,
1190        cocoa-ide/hemlock/src/morecoms.lisp,
1191        cocoa-ide/hemlock/src/package.lisp,
1192        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1193        cocoa-ide/hemlock/src/register.lisp,
1194        cocoa-ide/hemlock/src/ring.lisp,
1195        cocoa-ide/hemlock/src/rompsite.lisp,
1196        cocoa-ide/hemlock/src/search1.lisp,
1197        cocoa-ide/hemlock/src/search2.lisp,
1198        cocoa-ide/hemlock/src/searchcoms.lisp,
1199        cocoa-ide/hemlock/src/srccom.lisp,
1200        cocoa-ide/hemlock/src/streams.lisp,
1201        cocoa-ide/hemlock/src/struct.lisp,
1202        cocoa-ide/hemlock/src/syntax.lisp,
1203        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1204        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1205        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1206        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1207        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1208        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1209        cocoa-ide/hemlock/src/archive/bufed.lisp,
1210        cocoa-ide/hemlock/src/archive/debug.lisp,
1211        cocoa-ide/hemlock/src/archive/dired.lisp,
1212        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1213        cocoa-ide/hemlock/src/archive/display.lisp,
1214        cocoa-ide/hemlock/src/archive/dylan.lisp,
1215        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1216        cocoa-ide/hemlock/src/archive/group.lisp,
1217        cocoa-ide/hemlock/src/archive/highlight.lisp,
1218        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1219        cocoa-ide/hemlock/src/archive/input.lisp,
1220        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1221        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1222        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1223        cocoa-ide/hemlock/src/archive/mh.lisp,
1224        cocoa-ide/hemlock/src/archive/netnews.lisp,
1225        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1226        cocoa-ide/hemlock/src/archive/pascal.lisp,
1227        cocoa-ide/hemlock/src/archive/rcs.lisp,
1228        cocoa-ide/hemlock/src/archive/screen.lisp,
1229        cocoa-ide/hemlock/src/archive/scribe.lisp,
1230        cocoa-ide/hemlock/src/archive/shell.lisp,
1231        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1232        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1233        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1234        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1235        cocoa-ide/hemlock/src/archive/srccom.lisp,
1236        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1237        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1238        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1239        cocoa-ide/hemlock/src/archive/window.lisp,
1240        cocoa-ide/hemlock/src/archive/winimage.lisp,
1241        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1242        cocoa-ide/hemlock/src/elisp/.cvsignore,
1243        cocoa-ide/hemlock/src/elisp/base.lisp,
1244        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1245        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1246        cocoa-ide/hemlock/src/elisp/compile.lisp,
1247        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1248        cocoa-ide/hemlock/src/elisp/implementation-needed,
1249        cocoa-ide/hemlock/src/elisp/internals.lisp,
1250        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1251        cocoa-ide/hemlock/src/elisp/packages.lisp,
1252        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1253        cocoa-ide/hemlock/src/spell/.cvsignore,
1254        cocoa-ide/hemlock/src/spell/build.lisp,
1255        cocoa-ide/hemlock/src/spell/classes.lisp,
1256        cocoa-ide/hemlock/src/spell/constants.lisp,
1257        cocoa-ide/hemlock/src/spell/correlate.lisp,
1258        cocoa-ide/hemlock/src/spell/flags.lisp,
1259        cocoa-ide/hemlock/src/spell/hashing.lisp,
1260        cocoa-ide/hemlock/src/spell/io.lisp,
1261        cocoa-ide/hemlock/src/spell/package.lisp,
1262        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1263        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1264        cocoa-ide/hemlock/src/spell/spell.asd,
1265        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1266        cocoa-ide/hemlock/src/tty/.cvsignore,
1267        cocoa-ide/hemlock/src/tty/termcap.lisp,
1268        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1269        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1270        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1271        cocoa-ide/hemlock/src/wire/.cvsignore,
1272        cocoa-ide/hemlock/src/wire/Notes,
1273        cocoa-ide/hemlock/src/wire/package.lisp,
1274        cocoa-ide/hemlock/src/wire/port.lisp,
1275        cocoa-ide/hemlock/src/wire/remote.lisp,
1276        cocoa-ide/hemlock/src/wire/wire.lisp,
1277        cocoa-ide/hemlock/unused/.cvsignore,
1278        cocoa-ide/hemlock/unused/bit-stream.lisp,
1279        cocoa-ide/hemlock/unused/clx-ext.lisp,
1280        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1281        cocoa-ide/hemlock/unused/gosmacs.lisp,
1282        cocoa-ide/hemlock/unused/hacks.lisp,
1283        cocoa-ide/hemlock/unused/hemcom.lisp,
1284        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1285        cocoa-ide/hemlock/unused/keytran.lisp,
1286        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1287        cocoa-ide/hemlock/unused/spell-build.lisp,
1288        cocoa-ide/hemlock/unused/struct-ed.lisp,
1289        cocoa-ide/hemlock/unused/tty-stream.lisp,
1290        cocoa-ide/hemlock/website/.cvsignore,
1291        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1292        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1293        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1294        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1295        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1296        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1297        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1298        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1299        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1300        examples/objc-clos.lisp, examples/objc-package.lisp,
1301        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1302        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1303        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1304        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1305        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1306        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1307        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1308        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1309        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1310        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1311        hemlock/doc/misc/perq-hemlock.log,
1312        hemlock/doc/misc/things-to-do.txt,
1313        hemlock/doc/scribe-converter/.cvsignore,
1314        hemlock/doc/scribe-converter/NOTES,
1315        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1316        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1317        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1318        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1319        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1320        hemlock/maint/publish, hemlock/resources/.cvsignore,
1321        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1322        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1323        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1324        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1325        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1326        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1327        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1328        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1329        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1330        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1331        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1332        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1333        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1334        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1335        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1336        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1337        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1338        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1339        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1340        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1341        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1342        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1343        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1344        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1345        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1346        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1347        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1348        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1349        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1350        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1351        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1352        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1353        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1354        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1355        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1356        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1357        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1358        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1359        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1360        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1361        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1362        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1363        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1364        hemlock/src/table.lisp, hemlock/src/text.lisp,
1365        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1366        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1367        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1368        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1369        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1370        hemlock/src/elisp/base.lisp,
1371        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1372        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1373        hemlock/src/elisp/hemlock-shims.lisp,
1374        hemlock/src/elisp/implementation-needed,
1375        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1376        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1377        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1378        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1379        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1380        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1381        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1382        hemlock/src/spell/spell-aug.lisp,
1383        hemlock/src/spell/spell-dictionary.text,
1384        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1385        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1386        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1387        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1388        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1389        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1390        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1391        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1392        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1393        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1394        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1395        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1396        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1397        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1398        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1399        objc-bridge/fake-cfbundle-path.lisp,
1400        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1401        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1402        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1403        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1404        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1405        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1406        things moved from "examples" to one of these directories,
1407        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1408        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1409        "ide-1.0" branch for details.
1410
14112007-06-15 19:10  gb
1412
1413        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1414
14152007-06-15 14:10  gb
1416
1417        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1418        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1419        (shouldn't get here if we're catching that upstream, but ...)
1420
14212007-06-01 08:34  gb
1422
1423        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1424        caught most places.
1425
14262007-06-01 08:33  gb
1427
1428        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1429        if it can't find the package, accepts a stream argument in order to
1430        signal that type of error.  (Note that this has never been
1431        recoverable in general, especially in the case where the input
1432        stream is *terminal-io* or shares its input stream.)
1433
14342007-06-01 08:32  gb
1435
1436        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1437        reporting themselves.
1438
14392007-06-01 08:31  gb
1440
1441        * level-1/l1-error-system.lisp: Define and use
1442        STREAM-ERROR-CONTEXT.
1443
14442007-06-01 08:30  gb
1445
1446        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1447        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1448        probably have been caught earlier.
1449
14502007-06-01 08:29  gb
1451
1452        * level-1/l1-streams.lisp: Try to provide some context -
1453        "surrounding characters" - for reader/stream errors on character
1454        input streams.
1455
14562007-06-01 08:28  gb
1457
1458        * level-1/l1-unicode.lisp: Get number of args right in call to
1459        STRING-ENCODED-LENGTH-IN-BYTES from
1460        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1461
14622007-06-01 08:28  gb
1463
1464        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1465        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1466        order.  Both functions are usually open-coded (and the inlined
1467        versions seem to be OK), but the ObjC bridge funcalls these
1468        functions when getting/setting foreign slots of the appropriate
1469        type.
1470
14712007-06-01 08:27  gb
1472
1473        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1474        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1475        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1476
14772007-06-01 08:26  gb
1478
1479        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1480        all of it" case in %CSTR-POINTER; deal with all other cases in
1481        %CSTR-SEGMENT-POINTER.
1482
14832007-06-01 08:25  gb
1484
1485        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1486        under return address, exception callback frame (xcf) on stack.
1487       
1488        handle-udf-call: don't try to fix up the stack if we try to
1489        continue; let kernel deal with this after the callback.
1490
14912007-06-01 08:24  gb
1492
1493        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1494        return address on the top of the stack when this is entered
1495        (#-of-arguments traps).  Put it in the right place when building
1496        the frame.
1497       
1498        create_exception_callback_frame: look for tra on top of lisp stack,
1499        not in register (usually.)
1500       
1501        handle_error(): if we return after calling out for int #xc7 (call
1502        to undefined function), fix up the stack and other registers so
1503        that we can return the value(s) returned by the lisp-side handler.
1504        (It's hard for the lisp-side handler to do the stack manipulation,
1505        because of the xcf on the stack and because of the need to deal
1506        with the return address on the stack.)
1507
15082007-06-01 08:23  gb
1509
1510        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1511        lea/jmp: push ra0 on stack before trap, for the benefit of
1512        create_exception_callback_frame().
1513
15142007-06-01 08:22  gb
1515
1516        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1517
15182007-06-01 08:22  gb
1519
1520        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1521        write a BOM here.
1522
15232007-06-01 08:21  gb
1524
1525        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1526        since the switch to the new tra scheme.
1527
15282007-06-01 08:19  gb
1529
1530        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1531        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1532
15332007-05-12 18:27  gb
1534
1535        * release-notes.txt: Update for 070512.
1536
15372007-05-12 18:27  gb
1538
1539        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1540
15412007-05-12 18:26  gb
1542
1543        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1544
15452007-05-12 18:25  gb
1546
1547        * level-1/version.lisp: Bump.
1548
15492007-05-12 18:24  gb
1550
1551        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1552        heap by more than what we need if GC is obviously disabled.
1553
15542007-05-12 18:23  gb
1555
1556        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1557        suppress overflow checking in some cases.
1558
15592007-05-12 18:22  gb
1560
1561        * compiler/X86/x862.lisp: Fix indentation.
1562
15632007-05-12 18:22  gb
1564
1565        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1566        beyond segment if GC (obviously) disabled.
1567
15682007-05-12 18:21  gb
1569
1570        * level-1/l1-streams.lisp: Fix typo.
1571
15722007-05-12 18:20  gb
1573
1574        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1575        separate character encode/decode limits.
1576
15772007-05-12 18:19  gb
1578
1579        * level-1/l1-unicode.lisp: Start to bootstrap separate
1580        encode/decode limits.
1581
15822007-05-12 18:18  gb
1583
1584        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1585        nonsense when referencing mxcsr in debug_show_fpu().
1586
15872007-05-12 18:17  gb
1588
1589        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1590        earlier.  Sheesh.
1591
15922007-05-12 18:17  gb
1593
1594        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1595
15962007-05-12 18:16  gb
1597
1598        * level-1/version.lisp: Bump, for now.
1599
16002007-05-12 18:15  gb
1601
1602        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1603        ABI version.
1604
16052007-05-12 18:14  gb
1606
1607        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1608        new TRA interpretation.
1609
16102007-05-12 18:13  gb
1611
1612        * lisp-kernel/x86-spjump64.s: nmkunwind.
1613
16142007-05-12 18:12  gb
1615
1616        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1617        nMake_Catch handles return addresses on stack.  repret, for use
1618        when a one-byte ret instruction is a branch target or is preceded
1619        by a conditional branch.
1620
16212007-05-12 18:11  gb
1622
1623        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1624        exception contexts.
1625
16262007-05-12 18:11  gb
1627
1628        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1629        exception context; new TRA handling.
1630
16312007-05-12 18:10  gb
1632
1633        * lisp-kernel/x86-exceptions.c: New tra handling.
1634        new_heap_segment: try to avoid requesting too much when user sets
1635        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1636        down to fault handler, don't call out to lisp on faults in foreign
1637        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1638
16392007-05-12 18:08  gb
1640
1641        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1642        assignments.
1643
16442007-05-12 18:07  gb
1645
1646        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1647        sequence.
1648
16492007-05-12 18:06  gb
1650
1651        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1652
16532007-05-12 18:05  gb
1654
1655        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1656        that're branch targets or that follow conditional branches.
1657
16582007-05-12 18:04  gb
1659
1660        * lisp-kernel/thread_manager.c: Conditionalize for
1661        USE_MACH_EXCEPTION_LOCK.
1662
16632007-05-12 18:03  gb
1664
1665        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1666
16672007-05-12 18:02  gb
1668
1669        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1670        explicit blr.
1671
16722007-05-12 18:01  gb
1673
1674        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1675         Gee, I hope that works.
1676
16772007-05-12 18:00  gb
1678
1679        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1680
16812007-05-12 17:59  gb
1682
1683        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1684        using the mechanism.
1685
16862007-05-12 17:59  gb
1687
1688        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1689        extend with (possibly very large) lisp_heap_gc_threshold, try
1690        smaller values.
1691       
1692        Pass "old_valence" to exception handlers; don't call out to lisp on
1693        memory faults from foreign code.
1694
16952007-05-12 17:58  gb
1696
1697        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1698
16992007-05-12 17:57  gb
1700
1701        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1702        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1703        be correct/necessary.
1704
17052007-05-12 17:56  gb
1706
1707        * lisp-kernel/lisp-debug.c: lisp register display changes for
1708        x86-64.  Get FPU display working on x86-64.
1709
17102007-05-12 17:55  gb
1711
1712        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1713        calling-sequence change.
1714
17152007-05-12 17:54  gb
1716
1717        * lisp-kernel/image.h: New ABI version.
1718
17192007-05-12 17:54  gb
1720
1721        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1722        could; if only I could ...
1723
17242007-05-12 17:53  gb
1725
1726        * lib/x8664env.lisp: More imm temps! (one more ...).
1727
17282007-05-12 17:52  gb
1729
1730        * lib/nfcomp.lisp: Bump current fasl version.
1731
17322007-05-12 17:51  gb
1733
1734        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1735        in cross-compiled code.
1736
17372007-05-12 17:50  gb
1738
1739        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1740        interface dir, because of cross-compilation issues.
1741
17422007-05-12 17:49  gb
1743
1744        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1745        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1746
17472007-05-12 17:49  gb
1748
1749        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1750        transition.
1751
17522007-05-12 17:48  gb
1753
1754        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1755
17562007-05-12 17:47  gb
1757
1758        * lib/encapsulate.lisp: Add a comment.
1759
17602007-05-12 17:46  gb
1761
1762        * library/hash-cons.lisp: Very small lap change.
1763
17642007-05-12 17:45  gb
1765
1766        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1767        %FIXNUM-SET-MACPTR elsewhere.
1768
17692007-05-12 17:44  gb
1770
1771        * level-1/linux-files.lisp: File-mapped vectors.
1772
17732007-05-12 17:43  gb
1774
1775        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1776        :new-version if pathname-version of filename is :NEWEST.
1777
17782007-05-12 17:43  gb
1779
1780        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1781        with a CONDITION object.
1782
17832007-05-12 17:42  gb
1784
1785        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1786
17872007-05-12 17:41  gb
1788
1789        * level-1/l1-pathnames.lisp: If there's no host component in a
1790        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1791
17922007-05-12 17:40  gb
1793
1794        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1795        listener stack sizes now static.
1796
17972007-05-12 17:39  gb
1798
1799        * level-1/l1-files.lisp: Pathname arcana.
1800
18012007-05-12 17:38  gb
1802
1803        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1804        SIGINT.
1805
18062007-05-12 17:38  gb
1807
1808        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1809        changes.
1810
18112007-05-12 17:37  gb
1812
1813        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1814       
1815        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1816
18172007-05-12 17:36  gb
1818
1819        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1820
18212007-05-12 17:35  gb
1822
1823        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1824        here.
1825
18262007-05-12 17:34  gb
1827
1828        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1829
18302007-05-12 17:33  gb
1831
1832        * level-0/X86/x86-utils.lisp: New calling sequence.
1833
18342007-05-12 17:32  gb
1835
1836        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1837        EQL.
1838
18392007-05-12 17:32  gb
1840
1841        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1842        be careful with %rcx (now %imm2) in shift instructions.
1843
18442007-05-12 17:30  gb
1845
1846        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1847        sequence.
1848
18492007-05-12 17:29  gb
1850
1851        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1852        new-calling-sequence changes.
1853
18542007-05-12 17:27  gb
1855
1856        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1857        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1858        %temp2, and no need to be so careful with it.
1859
18602007-05-12 17:26  gb
1861
1862        * compiler/vinsn.lisp: global label-valued temporaries.
1863
18642007-05-12 17:25  gb
1865
1866        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1867
18682007-05-12 17:24  gb
1869
1870        * compiler/nx0.lisp: Try to do a little type inference for more
1871        flavors of AREF.
1872
18732007-05-12 17:23  gb
1874
1875        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1876        afunc (or equivalent) as a non-nil second value.
1877
18782007-05-12 17:22  gb
1879
1880        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1881        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1882        less nasty.
1883
18842007-05-12 17:21  gb
1885
1886        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1887        calling sequence, new tra/talign scheme.
1888
18892007-05-12 17:21  gb
1890
1891        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1892        rip)).
1893
18942007-05-12 17:20  gb
1895
1896        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1897        rip-relative label refs.
1898
18992007-05-12 17:19  gb
1900
1901        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1902        support :talign directive in vinsn templates.
1903
19042007-05-12 17:18  gb
1905
1906        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1907        is a register ...
1908
19092007-05-12 17:17  gb
1910
1911        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1912        for most things, except calls to subprims that manipulate the
1913        stack.
1914
19152007-05-12 17:16  gb
1916
1917        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1918        cross-compilation with x86-64 targets a little easier, by using a
1919        cross-ftd interface directory.
1920
19212007-05-12 17:16  gb
1922
1923        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1924        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1925        scheme.
1926
19272007-05-12 17:15  gb
1928
1929        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1930        unwind-protect uses nmkunwind (more happens out-of-line.)
1931
19322007-05-12 17:14  gb
1933
1934        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1935
19362007-05-12 17:13  gb
1937
1938        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1939
19402007-05-12 17:12  gb
1941
1942        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1943
19442007-05-12 17:11  gb
1945
1946        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1947        %GET-KERNEL-GLOBAL-PTR actually work.
1948
19492007-05-07 19:10  gb
1950
1951        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1952        returns a CONS, signal the right flavor of TYPE-ERROR if it
1953        doesn't.
1954
19552007-05-05 18:10  gb
1956
1957        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1958        the hash table, it tries to enable the GC before doing so.
1959
19602007-05-04 22:10  gb
1961
1962        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1963        finds in the environment, not just non-nil.
1964
19652007-05-01 18:10  gb
1966
1967        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1968        computation for GC-VERBOSE entry.
1969
19702007-05-01 06:11  gb
1971
1972        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1973        utf-16 variants.
1974       
1975        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1976        function.
1977
19782007-05-01 06:10  gb
1979
1980        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1981        darwin ppc64 thread state structure, just like Apple does.  Can I
1982        blame them for getting this wrong, please ?
1983       
1984        Use the right argument names in ppc64 cmain callback; can't blame
1985        Apple.
1986
19872007-04-30 23:12  gb
1988
1989        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1990        on Darwin, and should probably be removed completely.  Now that
1991        it's explicitly extern, don't try to reference it at runtime on
1992        linuxppc.
1993
19942007-04-30 23:11  gb
1995
1996        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1997        referenced at runtime and explicitly extern, so make sure that it's
1998        initialized on all platforms.
1999
20002007-04-30 23:10  gb
2001
2002        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
2003        oxymoron - is specific to Darwin.
2004
20052007-04-21 00:10  gb
2006
2007        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
2008        directory after translating logical pathnames; it's generally
2009        meaningless to do PROBE-FILE on the directory component of a
2010        logical pathname.
2011
20122007-04-19 15:10  gb
2013
2014        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
2015        if it conflicts with an immediate temporary (we'll need all the imm
2016        temps we have on x86-64.)
2017
20182007-04-17 20:10  gb
2019
2020        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
2021        version of recent aset2/aset3 register-conflict changes.
2022
20232007-04-16 15:10  gb
2024
2025        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
2026        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
2027
20282007-04-16 14:11  gb
2029
2030        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
2031        :signed-doublewod.
2032
20332007-04-16 13:10  gb
2034
2035        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
2036        Memory-fault errors on PPC, too.
2037
20382007-04-16 04:34  gb
2039
2040        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
2041        renaming nonsense.
2042
20432007-04-16 02:12  gb
2044
2045        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
2046
20472007-04-16 02:11  gb
2048
2049        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
2050
20512007-04-16 02:10  gb
2052
2053        * level-1/l1-error-system.lisp: Change wording of
2054        INVALID-MEMORY-ACCESS error message, a little.
2055
20562007-04-16 01:13  gb
2057
2058        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
2059        memory faults.
2060
20612007-04-16 01:12  gb
2062
2063        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
2064        now.
2065
20662007-04-16 01:11  gb
2067
2068        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
2069        INVALID-MEMORY-ACCESS condition.
2070
20712007-04-16 01:10  gb
2072
2073        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
2074
20752007-04-15 19:11  gb
2076
2077        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
2078        aset2/aset3 changes.
2079
20802007-04-15 19:10  gb
2081
2082        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
2083        it's an imm-reg; we need another imm-reg to do some index
2084        calculations.
2085
20862007-04-14 18:10  gb
2087
2088        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
2089        unscramble what it means for an interrupt to be pending on x86-64.
2090
20912007-04-14 00:13  gb
2092
2093        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
2094        generated when it is in ... unmentionable OS releases.
2095
20962007-04-14 00:11  gb
2097
2098        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
2099        work around laughable Apple ld64 gibberish.
2100
21012007-04-12 02:11  gb
2102
2103        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
2104        two-dimensional arrays: need to target specific registers if array
2105        has element type T.
2106
21072007-04-12 02:10  gb
2108
2109        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2110        appropriate, not :x86-64 twice.
2111
21122007-04-11 05:10  gb
2113
2114        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2115        for bivalent streams.
2116       
2117        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2118        maintain the element-type separately, just look in ioblock.
2119        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2120
21212007-04-10 22:10  gb
2122
2123        * lisp-kernel/x86-spentry64.s: Branch at
2124        C(egc_store_node_conditional_success_test) should bracnch
2125        backwards, not forwards.  (This was leading to spurious
2126        "<something> is not a proper list" errors, because the next label
2127        named "0" is in middle of the the _SPprogvsage code that tests for
2128        a proper list.)
2129
21302007-04-10 00:11  gb
2131
2132        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2133        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2134        RLET or equivalent to avoid making GCable pointers for ObjC
2135        dispatch function args; trust the compiler to do that for us.
2136
21372007-04-10 00:10  gb
2138
2139        * examples/bridge.lisp: If any method defined on a message passes a
2140        structure by value, install a compiler macro on the dispatch
2141        function.
2142       
2143        In that compiler, look for apparent calls to know structure
2144        constructors; replace those with calls to the corresponding
2145        initialization function, and stack-allocate a structure instance
2146        around the call.  (Suggested by Kevin Reid, and something that
2147        SEND/SLET did - sort of - that the new approach didn't.)
2148       
2149        Keep track of info about common foreign structs (initializer,
2150        constructor, etc.) to make doing stuff like this easier.
2151
21522007-04-09 16:10  gb
2153
2154        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2155        the result of sending the init message is a null pointer, return a
2156        null pointer.
2157
21582007-04-09 00:10  gb
2159
2160        * release-notes.txt: Update for 070408.
2161       
2162        (Yes, it's 070409 here already ...)
2163
21642007-04-08 15:12  gb
2165
2166        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2167
21682007-04-08 15:10  gb
2169
2170        * xdump/faslenv.lisp: Bump min fasl version.
2171
21722007-04-08 14:11  gb
2173
2174        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2175        jump table, to work around (still more) Apple ld64 nonsense.
2176
21772007-04-08 13:14  gb
2178
2179        * lib/nfcomp.lisp: Bump current fasl version.
2180
21812007-04-08 13:13  gb
2182
2183        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2184
21852007-04-08 13:12  gb
2186
2187        * xdump/faslenv.lisp: Bump max fasl version.
2188
21892007-04-08 13:11  gb
2190
2191        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2192        people who try to build this kernel on an x86 mac will take longer
2193        to realize that that's usually a bad idea.
2194
21952007-04-08 12:09  gb
2196
2197        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2198        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2199        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2200        cocoa-window.lisp, cocoa.lisp:
2201        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2202       
2203        Some changes in font, nsstring stuff to avoid using deprecated
2204        featurs.
2205
22062007-04-08 12:07  gb
2207
2208        * examples/: webkit.lisp, addressbook.lisp:
2209        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2210       
2211        Use OBJC:LOAD-FRAMEWORK.
2212
22132007-04-08 12:06  gb
2214
2215        * examples/tiny.lisp:
2216        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2217
22182007-04-08 12:05  gb
2219
2220        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2221        rubix.lisp:
2222        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2223       
2224        Handle CGFLOAT issues in mouse event handlers.
2225
22262007-04-08 12:04  gb
2227
2228        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2229       
2230        Define "foreign struct classes" for several common structure types
2231        (rectangle, point, size); generate inlined accessors for their
2232        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2233        macros.
2234       
2235        #/ reader macro: reads a string containing "constituent" characters
2236        (including #\:), preserving case.  Does a little bit of
2237        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2238        package.
2239       
2240        Try to deal with cases where foreign type info may be parsed or
2241        unparsed.
2242       
2243        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2244         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2245        message info, tries to determine ambiguity, calls signature
2246        function (possibly after trying to resolve ambiguity.)
2247       
2248        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2249        calling a signature function that knows how to dispatch to SUPER
2250        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2251       
2252        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2253        OBJC-DISPATCH-FUNCTION.
2254       
2255        Handle PROTOCOLs differently in ambiguous SEND.
2256
22572007-04-08 12:04  gb
2258
2259        * examples/objc-runtime.lisp: Compile message send functions per
2260        signature.  Handle vararg message sends, partly at runtime.  INIT
2261        messages just have their signature info precomputed.  Defining a
2262        named OBJC-CLASS makes the class name a static variable whose value
2263        is the class (and likewise for the metaclass.)
2264        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2265        OBJC:DEFMETHOD and support for it.
2266
22672007-04-08 12:03  gb
2268
2269        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2270         Avoid some deprecated C-string stuff (but wimp out and assume
2271        ASCII.) Keep track of objc-class-count, provide
2272        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2273        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2274        etc. elsewhere.
2275
22762007-04-08 12:02  gb
2277
2278        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2279        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2280        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2281        about as lightweight as MAKE-OBJC-INSTANCE.)
2282
22832007-04-08 12:01  gb
2284
2285        * examples/name-translation.lisp:
2286        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2287        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2288
22892007-04-08 12:00  gb
2290
2291        * examples/objc-package.lisp: New file; export more stuff.  Import
2292        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2293        pseudo-GFs.
2294
22952007-04-08 11:59  gb
2296
2297        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2298        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2299        Intern integer types up to 64 bits.
2300
23012007-04-08 11:59  gb
2302
2303        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2304        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2305        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2306        COPY-RECORD.
2307
23082007-04-08 11:58  gb
2309
2310        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2311        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2312        missing brackets.
2313
23142007-04-08 11:57  gb
2315
2316        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2317        not Darwin.  In Darwin, evactuate off of the lisp stack while
2318        interrupts are still disabled.
2319
23202007-04-08 11:56  gb
2321
2322        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2323        (where Apple hasn't yet invented the notion that it needs to be
2324        thread-specific.)
2325
23262007-04-08 11:55  gb
2327
2328        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2329        destroying TCR.
2330
23312007-04-08 11:54  gb
2332
2333        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2334        worked around an old Darwin bug.
2335
23362007-04-08 11:53  gb
2337
2338        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2339
23402007-04-08 11:52  gb
2341
2342        * lisp-kernel/image.c: Don't nuke null pointers.
2343
23442007-04-08 11:52  gb
2345
2346        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2347
23482007-04-08 11:51  gb
2349
2350        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2351        of macptr.domain, macptr.type.
2352
23532007-04-08 11:50  gb
2354
2355        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2356
23572007-04-08 11:49  gb
2358
2359        * library/lispequ.lisp: add pkg.intern-hook to package.
2360
23612007-04-08 11:48  gb
2362
2363        * lib/describe.lisp: Start trying to conditionalize some of the
2364        stack-frame inspector stuff.
2365
23662007-04-08 11:48  gb
2367
2368        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2369        64-bit word components, with FP fields passed in registers.  This
2370        requires some special handling ("hybrid" parameters) in the
2371        compiler and %FF-CALL.
2372
23732007-04-08 11:47  gb
2374
2375        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2376        endianness.
2377
23782007-04-08 11:46  gb
2379
2380        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2381
23822007-04-08 11:45  gb
2383
2384        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2385        in %SOURCE-FILES-LIKE-EM.
2386
23872007-04-08 11:44  gb
2388
2389        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2390
23912007-04-08 11:43  gb
2392
2393        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2394        MAKE-XREF-ENTRY.
2395
23962007-04-08 11:43  gb
2397
2398        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2399
24002007-04-08 11:42  gb
2401
2402        * level-1/version.lisp: Bump; new snapshots tomorrow.
2403
24042007-04-08 11:41  gb
2405
2406        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2407
24082007-04-08 11:40  gb
2409
2410        * level-1/linux-files.lisp: Very long timeout for
2411        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2412        if we have to wait at all.
2413       
2414        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2415       
2416        Make PIPE code slightly easier to read.
2417
24182007-04-08 11:39  gb
2419
2420        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2421
24222007-04-08 11:38  gb
2423
2424        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2425        CHARACTER-ENCODING, use it to determine number/sequence of octets
2426        used to encode NUL.
2427
24282007-04-08 11:38  gb
2429
2430        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2431       
2432        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2433        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2434        so that echoing looks more natural.
2435
24362007-04-08 11:37  gb
2437
2438        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2439        object.
2440
24412007-04-08 11:36  gb
2442
2443        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2444        changes manually and most of the effects were cosmetic.
2445        TOPLEVEL-PRINT takes an output stream arg.
2446
24472007-04-08 11:35  gb
2448
2449        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2450
24512007-04-08 11:34  gb
2452
2453        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2454        interrupt is obviously pending.
2455
24562007-04-08 11:33  gb
2457
2458        * level-1/l1-io.lisp: Change pointer printing.
2459
24602007-04-08 11:33  gb
2461
2462        * level-1/l1-init.lisp: +NULL-PTR+.
2463
24642007-04-08 11:31  gb
2465
2466        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2467        preferred name for DEFGLOBAL.
2468
24692007-04-08 11:30  gb
2470
2471        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2472        for DEFGLOBAL.
2473       
2474        Mechanism for associating a (built-in) class with a foreign type
2475        ordinal.
2476
24772007-04-08 11:29  gb
2478
2479        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2480        for DEFGLOBAL.
2481       
2482        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2483        likely the global value of some symbol.)
2484
24852007-04-08 11:28  gb
2486
2487        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2488        DEFGLOBAL.
2489       
2490        Standard CL streams now bound per-thread.
2491       
2492        Install standard foreign types here, not every time that
2493        FOREIGN-TYPES is loaded.
2494       
2495        Canonicalize foreign type ordinals as soon as we can.  (This is
2496        part of a scheme to give foreign types "ordinals' that can be used
2497        to assert pointer types; we need some of those ordinal numbers to
2498        be pre-assigned, since we can't reference foreign types early in
2499        the cold load.)
2500
25012007-04-08 11:27  gb
2502
2503        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2504        DEFGLOBAL.  GCABLE-PTR-P.
2505
25062007-04-07 21:25  gb
2507
2508        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2509         Handle maintenance of auto-export packages differently.
2510        $fasl-timm just needs an :int, not a :long.
2511
25122007-04-07 21:24  gb
2513
2514        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2515        "functional", not random symbol guts.
2516
25172007-04-07 21:23  gb
2518
2519        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2520        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2521        interrupts are re-enabled.
2522
25232007-04-07 21:22  gb
2524
2525        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2526
25272007-04-07 21:20  gb
2528
2529        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2530        %PTR-STORE-FIXNUM-CONDITIONAL.
2531
25322007-04-07 21:19  gb
2533
2534        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2535        in DarwinPPC64 #'%FF-CALL.
2536
25372007-04-07 21:19  gb
2538
2539        * compiler/optimizers.lisp: When trying to infer result type of
2540        MAKE-ARRAY call, unquote quoted type specifier.
2541       
2542        Strength-reduce FLOAT when second argument is of known type.
2543
25442007-04-07 21:18  gb
2545
2546        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2547
25482007-04-07 21:17  gb
2549
2550        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2551        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2552        Parse %short-float, %double-float when no "result" arg; can at
2553        least try to constant-fold late and/or do some cases if we have
2554        more type info.
2555
25562007-04-07 21:16  gb
2557
2558        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2559        be bound" error message.
2560
25612007-04-07 21:15  gb
2562
2563        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2564        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2565
25662007-04-07 21:14  gb
2567
2568        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2569        remaning GPR/FPR counts even if arg is "simple" and passes straight
2570        through to %FF-CALL.
2571
25722007-04-07 21:13  gb
2573
2574        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2575        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2576        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2577        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2578        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2579
25802007-04-07 21:12  gb
2581
2582        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2583        for Darwin structure-passing ABI.
2584
25852007-04-07 21:10  gb
2586
2587        * OpenMCL.app/Contents/Resources/English.lproj/:
2588        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2589        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2590        OpenmclInspector.nib/keyedobjects.nib,
2591        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2592        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2593        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2594        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2595        representation, not binary.
2596
25972007-04-06 22:10  gb
2598
2599        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2600        (RLIMIT_AS) current resource limit to max limit, since some distros
2601        limit it.
2602
26032007-04-03 03:11  gb
2604
2605        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2606        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2607
26082007-04-02 22:10  gb
2609
2610        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2611        arg in utf-16 encode, missing #x in little-endian bom-marker
2612        definition.)
2613
26142007-03-14 23:10  gb
2615
2616        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2617
26182007-03-14 05:11  gb
2619
2620        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2621        generate-callback-bindings.
2622
26232007-03-13 06:10  gb
2624
2625        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2626
26272007-03-13 03:58  gb
2628
2629        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2630
26312007-03-12 05:11  gb
2632
2633        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2634        little.
2635
26362007-03-12 05:10  gb
2637
2638        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2639        %EXTERNAL-CALL-EXPANDER.
2640
26412007-03-12 05:09  gb
2642
2643        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2644        encapsulation, and a lock.
2645
26462007-03-12 05:08  gb
2647
2648        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2649        thread-local.
2650
26512007-03-12 02:25  gb
2652
2653        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2654        deal with variations in Mach behavior: "exception" may be
2655        EXC_BAD_ACCESS when an illegal instruction causes a "general
2656        protection fault".
2657
26582007-03-09 15:56  gb
2659
2660        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2661        NIL ...)
2662
26632007-03-09 00:01  gb
2664
2665        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2666
26672007-03-09 00:00  gb
2668
2669        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2670        *OPEN-FILE-STREAMS*.
2671
26722007-03-09 00:00  gb
2673
2674        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2675        open-file-streams.
2676
26772007-03-08 23:59  gb
2678
2679        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2680        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2681
26822007-03-08 23:58  gb
2683
2684        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2685        associated with it.
2686
26872007-03-08 23:57  gb
2688
2689        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2690
26912007-03-08 23:47  gb
2692
2693        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2694        hash-table, it fills the hash-table vector with "free" markers.
2695        (There may already be lots of "deleted" markers in the table.)
2696
26972007-03-08 22:26  gb
2698
2699        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2700
27012007-03-08 22:24  gb
2702
2703        * lib/numbers.lisp: printing random-state: don't shift seeds.
2704
27052007-03-08 22:24  gb
2706
2707        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2708
27092007-03-08 22:24  gb
2710
2711        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2712
27132007-03-08 22:23  gb
2714
2715        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2716
27172007-03-08 22:23  gb
2718
2719        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2720        %next-random-pair.
2721
27222007-03-08 22:22  gb
2723
2724        * level-0/l0-numbers.lisp: And, while we're at it: do the
2725        next-random-seed permutation in %next-random-pair, which accepts
2726        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2727        in lisp on 64-bit platforms.
2728
27292007-03-08 22:20  gb
2730
2731        * level-0/l0-numbers.lisp: Don't shift random seeds.
2732
27332007-03-08 03:30  gb
2734
2735        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2736        rather than >= #x80, because of the new way that
2737        uuo-error-slot-unbound is encoded.
2738
27392007-03-08 03:28  gb
2740
2741        * compiler/X86/x86-disassemble.lisp: Recognize
2742        uuo-error-slot-unbound.
2743
27442007-03-08 03:28  gb
2745
2746        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2747        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2748
27492007-03-07 08:29  gb
2750
2751        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2752
27532007-03-07 07:45  gb
2754
2755        * level-1/linux-files.lisp: For #+linux-target, try to use
2756        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2757        if that fails.  (CPU-COUNT is called early in the cold load, before
2758        we can make the file-stream necessary to do the parsing.)
2759
27602007-03-07 07:33  gb
2761
2762        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2763        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2764
27652007-03-07 07:25  gb
2766
2767        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2768        el-bizarro syscall mask, pass the magic number 0x1e as a second
2769        arg, just in case.
2770
27712007-03-07 07:24  gb
2772
2773        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2774        before accessing *OPEN-FILE-STREAMS*.
2775
27762007-03-07 07:23  gb
2777
2778        * level-1/l1-readloop.lisp: Add comment about
2779        *OPEN-FILE-STREAMS-LOCK*.
2780
27812007-03-07 07:23  gb
2782
2783        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2784
27852007-03-07 07:21  gb
2786
2787        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2788        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2789
27902007-03-07 07:05  gb
2791
2792        * xdump/heap-image.lisp: Bump current image version.
2793
27942007-03-07 07:02  gb
2795
2796        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2797        "calls" want an argument in ecx.  Set that arg to 0 for now.
2798
27992007-03-07 07:01  gb
2800
2801        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2802        "real" locks; those updates can be simplified.
2803       
2804        lock_recursive_lock: no (ignored) timeout arg.
2805
28062007-03-07 06:59  gb
2807
2808        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2809        support the old one.
2810
28112007-03-07 06:59  gb
2812
2813        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2814        prototype.  Change declaration of LOCK macro: no null timespec
2815        required.  RECURSIVE_LOCKs have spinlock fields.
2816
28172007-03-07 06:56  gb
2818
2819        * level-1/version.lisp: bump, indicate work-in-progress development
2820        version.
2821
28222007-03-07 06:56  gb
2823
2824        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2825        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2826        rather than something lower-level.
2827
28282007-03-07 06:53  gb
2829
2830        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2831        to obtain them before yielding.
2832
28332007-03-07 06:52  gb
2834
2835        * level-0/l0-io.lisp: Move YIELD elsewhere.
2836
28372007-03-07 06:51  gb
2838
2839        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2840        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2841        layout.
2842
28432007-03-02 05:10  gb
2844
2845        * level-1/l1-application.lisp: Toplevel function: initial-listener
2846        class is 'TTY-LISTENER.
2847
28482007-03-02 05:09  gb
2849
2850        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2851        message.
2852
28532007-03-02 05:09  gb
2854
2855        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2856       
2857        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2858        For TTY-LISTENER, call QUIT.
2859
28602007-03-02 05:08  gb
2861
2862        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2863        EXIT-INTERACTIVE-PROCESS instead.
2864       
2865        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2866
28672007-03-02 05:06  gb
2868
2869        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2870
28712007-03-02 05:06  gb
2872
2873        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2874        of null pointers into body.
2875
28762007-03-02 05:05  gb
2877
2878        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2879        consus-interruptus.
2880
28812007-03-02 05:05  gb
2882
2883        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2884        <constant> if constant is of type <type>.)
2885       
2886        Do we need an ignore-errors here ? Or does <type> need to be
2887        defined ?
2888
28892007-03-02 05:03  gb
2890
2891        * compiler/X86/x862.lisp: Do the / * thing.
2892
28932007-03-02 05:02  gb
2894
2895        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2896        :call attribute.
2897
28982007-03-01 04:04  gb
2899
2900        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2901        new binding frame
2902
29032007-02-28 07:04  gb
2904
2905        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2906        rather than %rbp; trust callback_for_interrupt() to preserve it.
2907
29082007-02-28 07:03  gb
2909
2910        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2911        callback_for_interrupt().
2912
29132007-02-28 05:18  gb
2914
2915        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2916        counts) that may wind up on the vstack.
2917       
2918        Since those tiny things might be tagged as headers, walk the vstack
2919        with new "headerless" functions that ignore headers.
2920
29212007-02-28 05:16  gb
2922
2923        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2924        before the alloc trap and interrupting, back out of the
2925        modification to save_allocptr (and allocptr register) and set
2926        *interrupt_displacement.
2927
29282007-02-23 10:13  gb
2929
2930        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2931        only makes sense for cases where we have to guess; a bitfield
2932        that's 8 bits wide still has an alignment of 1.
2933       
2934        Factor in the alignment of the containing int when bitfields are
2935        involved.
2936       
2937        When parsing a record type, set the "bits" slot of each field.
2938        (Not too many things look at that slot, but we want the effect of
2939        loading a record from the database to match the effect of parsing a
2940        definition as exactly as possible, and to be able to use EQUALP to
2941        compare the results.)
2942
29432007-02-23 10:06  gb
2944
2945        * lib/db-io.lisp: Some extra fields in
2946        objc-message-info/objc-method-info structures.
2947       
2948        When calculating overall alignment of a structure, treat bitfields
2949        as if they were :unsigned-int (since there's a "containing"
2950        unsigned int that affects alignment.  N.B: this should be imposed
2951        for anything that has an alignment of 1, not just a size of 1.)
2952       
2953        When loading integer types, try to use the precomputed types rather
2954        than consing a new one.  This (a) reduces consing a little (b) is
2955        more likely to get the alignment correct.  For (b), we really need
2956        to distinguish between bitfields and addressable integers.
2957
29582007-02-23 09:30  gb
2959
2960        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2961
29622007-02-22 02:33  gb
2963
2964        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2965
29662007-02-22 02:28  gb
2967
2968        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2969        heap size right ...).
2970
29712007-02-22 02:27  gb
2972
2973        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2974        traditional (sysv) style of hash maps, if it understands that
2975        option.
2976
29772007-02-21 06:01  gb
2978
2979        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2980        has been consed since last GC.  (There are some fenceposts there.)
2981       
2982        verbose GC herald tries to indicate how much is allocated in the
2983        area being GCed.
2984
29852007-02-21 05:58  gb
2986
2987        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2988        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2989
29902007-02-21 05:57  gb
2991
2992        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2993        uuo-gc-trap.
2994
29952007-02-19 04:50  gb
2996
2997        * lib/foreign-types.lisp: Use keywords more consistently.
2998       
2999        (Note: there seems to be a bug which is keeping the cdb data
3000        structures from getting defined correctly at load time; the
3001        workaround is to compile foreign-types.lisp - which defines them -
3002        in the same session as and before db-io - which uses them - is
3003        compiled.)
3004
30052007-02-19 04:48  gb
3006
3007        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
3008        error.
3009
30102007-02-19 04:42  gb
3011
3012        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
3013        the error function.
3014
30152007-02-19 04:40  gb
3016
3017        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
3018        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
3019
30202007-02-19 04:40  gb
3021
3022        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
3023        FUNCALLABLE-STANDARD-OBJECT.
3024       
3025        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
3026        creating a GF.
3027
30282007-02-19 04:36  gb
3029
3030        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
3031        funcallable-stanard-objects better.
3032
30332007-02-19 04:34  gb
3034
3035        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
3036        CCL, OPENMCL-MOP.
3037
30382007-02-19 02:09  gb
3039
3040        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
3041        FUNCALLABLE-STANDARD-CLASS.
3042
30432007-02-19 02:07  gb
3044
3045        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
3046        error message.
3047
30482007-02-15 02:46  gb
3049
3050        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
3051        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
3052
30532007-02-15 02:45  gb
3054
3055        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
3056        methods yet.
3057
30582007-02-14 02:39  gb
3059
3060        * release-notes.txt: Fix a typo.
3061
30622007-02-14 02:35  gb
3063
3064        * release-notes.txt: Update for 070214 snapshots.
3065
30662007-02-13 23:36  gb
3067
3068        * level-1/version.lisp: Bump.
3069
30702007-02-13 23:36  gb
3071
3072        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
3073        image-abi-version.
3074
30752007-02-13 23:29  gb
3076
3077        * xdump/faslenv.lisp: Finish bumping fasl version.
3078
30792007-02-13 23:15  gb
3080
3081        * lib/nfcomp.lisp: Bump current fasl version.
3082
30832007-02-13 23:02  gb
3084
3085        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
3086
30872007-02-13 22:45  gb
3088
3089        * xdump/faslenv.lisp: Start bumping fasl-version.
3090
30912007-02-13 22:41  gb
3092
3093        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
3094        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
3095
30962007-02-13 21:16  gb
3097
3098        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
3099        that contain incompatible definitions of some math library stuff
3100        ("log" either has to do with logarithms or logging ...).
3101
31022007-02-13 18:42  gb
3103
3104        * lib/misc.lisp: Change the way that TIME is reported by default:
3105        mention the number of available CPU cores, don't assume that
3106        there's that much of a relationship between CPU time and wall-clock
3107        time.
3108
31092007-02-13 18:41  gb
3110
3111        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3112        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3113        when :execute, too.
3114
31152007-02-13 18:35  gb
3116
3117        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3118        offset arg is required.
3119
31202007-02-13 18:12  gb
3121
3122        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3123        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3124
31252007-02-13 18:10  gb
3126
3127        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3128        cons.)
3129
31302007-02-13 18:10  gb
3131
3132        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3133        are more/other float-size issues deeper down in the code.
3134
31352007-02-13 18:09  gb
3136
3137        * examples/objc-support.lisp: Fixup the x86-64 error-return
3138        callback trampiline code (was missing a byte of machine code.)
3139
31402007-02-13 18:08  gb
3141
3142        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3143        jmp-buf to safe/sane values.
3144
31452007-02-13 18:07  gb
3146
3147        * examples/cocoa-window.lisp: Don't change-class
3148        *cocoa-event-process* until we start to run the event loop.
3149       
3150        Don't do _deallocHardCore: explicitly.
3151
31522007-02-13 17:35  gb
3153
3154        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3155        DOUBLE-FLOAT aliases just one gpr.
3156
31572007-02-13 17:34  gb
3158
3159        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3160
31612007-02-13 17:34  gb
3162
3163        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3164        32-bit ints, not "long".
3165
31662007-02-13 17:33  gb
3167
3168        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3169        for each scalar, not each arg.
3170       
3171        Fix some backquoting/indentation.
3172
31732007-02-13 17:31  gb
3174
3175        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3176
31772007-02-12 16:23  gb
3178
3179        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3180
31812007-02-11 20:22  gb
3182
3183        * examples/bridge.lisp: method-typestring needs to be
3184        conditionalized.  How has this been working ?
3185
31862007-02-11 20:22  gb
3187
3188        * examples/cocoa-editor.lisp: remove some debugging code.
3189
31902007-02-11 20:21  gb
3191
3192        * examples/objc-runtime.lisp: %mlist-containing is
3193        #-apple-objc-2.0.
3194
31952007-02-11 20:21  gb
3196
3197        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3198
31992007-02-11 05:35  gb
3200
3201        * level-1/version.lisp: Bump.
3202
32032007-02-11 05:28  gb
3204
3205        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3206        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3207        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3208        an optional argument; default to the Tiger SDK.
3209
32102007-02-11 05:26  gb
3211
3212        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3213        an errror.
3214
32152007-02-11 05:26  gb
3216
3217        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3218        Leopard renaming.  Suffer.
3219
32202007-02-11 05:25  gb
3221
3222        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3223        an existing process (so that the listener process appears to be
3224        "persistent".)
3225
32262007-02-11 05:24  gb
3227
3228        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3229        make the initial-listener object persistent acrosss
3230        SAVE-APPLICATION.
3231
32322007-02-11 00:01  gb
3233
3234        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3235       
3236        Handle callback-error-returns on x86-64.
3237
32382007-02-11 00:00  gb
3239
3240        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3241        use %ptr<, to hide word-size differences.
3242       
3243        __NSConstantStringClassReference isn't what it used to be, so look
3244        up NSConstantStringClass the hard way.
3245       
3246        Handle ns-exception/lisp-error stuff on x86-64.
3247       
3248        Do arg/result coercions differently.  Does any code depend on
3249        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3250        MACPTRs).
3251       
3252        Use the new FFI interface for message-sends, callbacks to try to
3253        hide platform-specific ABI issues.
3254       
3255        The _deallocate-hook mechanism - which never really worked -
3256        probably can't work on Objc-2.0.
3257
32582007-02-10 23:54  gb
3259
3260        * examples/bridge.lisp: Make structure return-type explicit in
3261        objc-message-send calls in send/stret and variants.
3262
32632007-02-10 22:34  gb
3264
3265        * examples/cocoa-window.lisp: Some indentation changes and slight
3266        reorganization of the code; shouldn't be any functional/semantic
3267        changes.
3268
32692007-02-10 22:30  gb
3270
3271        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3272        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3273        appropriate; other changes for 64-bit platforms, Objc-2.0.
3274
32752007-02-10 22:28  gb
3276
3277        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3278        CG-FLOATs when appropriate.
3279
32802007-02-10 22:28  gb
3281
3282        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3283
32842007-02-10 22:28  gb
3285
3286        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3287
32882007-02-10 22:27  gb
3289
3290        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3291        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3292        ignore-errors when trying to parse the last arglist form as a
3293        foreign type.
3294
32952007-02-10 22:26  gb
3296
3297        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3298        expansion ...
3299
33002007-02-10 22:26  gb
3301
3302        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3303        use %rdx and %r11 to hold target address.
3304
33052007-02-10 22:23  gb
3306
3307        * library/pty.lisp: Unicode stuff when accessing control char
3308        array; conditionalize for #+darwin-target, not just
3309        #+darwinppc-target.
3310
33112007-02-10 22:22  gb
3312
3313        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3314        ppc-specific; the comment dated from the days of 68K MCL.)
3315
33162007-02-10 22:21  gb
3317
3318        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3319        return 32 bits at a time, to avoid consing little bignums.
3320
33212007-02-10 22:15  gb
3322
3323        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3324
33252007-02-10 22:15  gb
3326
3327        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3328        count, not total byte count.
3329       
3330        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3331        the PPC case, as well.)
3332
33332007-02-10 22:11  gb
3334
3335        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3336        "zero-extend-s8" vinsn, but there does need to be a
3337        "zero-extend-u8".
3338
33392007-02-10 05:38  gb
3340
3341        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3342        #'VALUES.
3343
33442007-02-10 05:38  gb
3345
3346        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3347        ARGLIST can say -something- about lap functions that don't take a
3348        fixed number of arguments.
3349
33502007-02-07 02:54  gb
3351
3352        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3353        "e".
3354
33552007-02-02 02:32  gb
3356
3357        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3358        objc-support.lisp: Start to integrate with FFI changes.  No more
3359        %SEND, process and precompile "init" messages when interfaces are
3360        accessed.  (Note: should try to handle varargs init messages, even
3361        if we have to call %FF-CALL at runtime.)
3362
33632007-02-02 02:31  gb
3364
3365        * examples/: addressbook.lisp, webkit.lisp: Change the
3366        initialization code a bit.
3367
33682007-02-02 02:27  gb
3369
3370        * lib/foreign-types.lisp: Try to fix another case involving
3371        "auxiliary types".
3372       
3373        I think that the concept of auxiliary types might make sense in a
3374        context like:
3375       
3376        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3377        (:struct :bar (:x :int) (:y :int)))))
3378       
3379        In that case, :struct :bar is local to the definition.  In the
3380        similar case:
3381       
3382        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3383        (:struct :bar))))
3384       
3385        :BAR is presumably defined (globally) elsewhere.
3386
33872007-02-02 02:17  gb
3388
3389        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3390         (Setting "SDK=" will hopefully work with older version of xcode.)
3391
33922007-02-02 02:15  gb
3393
3394        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3395
33962007-01-31 23:26  gb
3397
3398        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3399        argument in ppc2-poweropen-foreign-args.
3400
34012007-01-31 22:47  gb
3402
3403        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3404        components from registers.
3405
34062007-01-31 22:45  gb
3407
3408        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3409        brackets are returned verbatim, not downcased.
3410
34112007-01-31 22:44  gb
3412
3413        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3414        accepts :registers.
3415
34162007-01-31 16:36  gb
3417
3418        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3419        New (and, so far, useless) files.
3420
34212007-01-31 16:35  gb
3422
3423        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3424        seems to be 32-bit only.
3425
34262007-01-31 16:34  gb
3427
3428        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3429
34302007-01-31 16:34  gb
3431
3432        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3433
34342007-01-31 16:33  gb
3435
3436        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3437        missing cdb file: dog bytes man; missing parent directory is more
3438        newsworthy.
3439
34402007-01-31 15:38  gb
3441
3442        * library/chud-metering.lisp: Tweak a little, so that it might work
3443        on darwinppc64 (and on darwinx8664 when purify does something
3444        there.)
3445
34462007-01-31 15:06  gb
3447
3448        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3449
34502007-01-31 02:49  gb
3451
3452        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3453
34542007-01-30 22:53  gb
3455
3456        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3457        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3458        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3459        gl/.cvsignore: new files.
3460
34612007-01-30 22:21  gb
3462
3463        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3464        new files.
3465
34662007-01-30 21:58  gb
3467
3468        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3469
34702007-01-30 21:58  gb
3471
3472        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3473        file
3474
34752007-01-30 21:49  gb
3476
3477        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3478        fun!
3479
34802007-01-30 21:40  gb
3481
3482        * library/openmcl-gtk-support.lisp: Conditionalize out the
3483        event-polling task.
3484
34852007-01-30 21:36  gb
3486
3487        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3488        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3489        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3490
34912007-01-30 21:35  gb
3492
3493        * headers/gl/C/populate.sh: process glu.h
3494
34952007-01-30 17:47  gb
3496
3497        * library/parse-ffi.lisp: Always encode explicit structure-typed
3498        function return values.
3499       
3500        Note when we see one, for now.
3501
35022007-01-30 17:45  gb
3503
3504        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3505        leading argument to be paired with a structure-typed return-type.
3506
35072007-01-30 17:43  gb
3508
3509        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3510        the first-arg hack.
3511
35122007-01-30 17:42  gb
3513
3514        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3515        support the old version.
3516       
3517        Don't check the :struct-by-value flag when encoding function
3518        args/results.  (That decision's made above our pay grade now.)
3519       
3520        When reading a :struct/:union definition, try to update an existing
3521        defintion rather than consing up a new one (this matters if the
3522        record is anonymous.)
3523
35242007-01-30 17:39  gb
3525
3526        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3527        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3528        correctly.
3529       
3530        Fix c_socket for #+linuxppc.
3531
35322007-01-30 08:20  gb
3533
3534        * level-1/version.lisp: Bump.
3535
35362007-01-30 08:20  gb
3537
3538        * lib/compile-ccl.lisp: Use make -j to build kernel.
3539
35402007-01-30 07:02  gb
3541
3542        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3543        xmm0/xmm1.
3544
35452007-01-30 07:01  gb
3546
3547        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3548        day's work turned into 2 weeks, somehow.)
3549
35502007-01-30 07:00  gb
3551
3552        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3553        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3554        stuff for x8664 (all platfroms appear to use the same ABI.)
3555
35562007-01-30 03:26  gb
3557
3558        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3559        displacement in %ATOMIC-INCF-NODE.
3560
35612007-01-29 07:27  gb
3562
3563        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3564
35652007-01-29 07:27  gb
3566
3567        * lib/ffi-darwinppc64.lisp: new callback stuff.
3568
35692007-01-29 07:27  gb
3570
3571        * lib/ffi-darwinppc32.lisp: typos-r-us.
3572
35732007-01-29 04:37  gb
3574
3575        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3576
35772007-01-29 04:37  gb
3578
3579        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3580
35812007-01-29 04:36  gb
3582
3583        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3584
35852007-01-29 04:36  gb
3586
3587        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3588
35892007-01-29 04:36  gb
3590
3591        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3592        stuff here.
3593
35942007-01-29 02:33  gb
3595
3596        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3597
35982007-01-28 21:47  gb
3599
3600        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3601        a bit more, change the API, get things working ... still a moving
3602        target.
3603
36042007-01-28 21:46  gb
3605
3606        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3607        (Other platforms still need more bootstrapping.)
3608
36092007-01-28 21:44  gb
3610
3611        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3612        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3613
36142007-01-28 03:21  gb
3615
3616        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3617        dynamic-extent, other decls separately.
3618
36192007-01-28 03:20  gb
3620
3621        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3622        use the new (ftd-based) scheme.
3623
36242007-01-28 01:43  gb
3625
3626        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3627        code's getting replaced, but fix 'em anyway.)
3628
36292007-01-28 01:42  gb
3630
3631        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3632        translated pathname and mention the fact that this might indicate a
3633        problem with "ccl:"'s logical translations.
3634
36352007-01-25 04:37  gb
3636
3637        * lib/foreign-types.lisp: Never fully understood the concept
3638        "auxiliary" foreign types, but try to canonicalize intermediate
3639        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3640        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3641        likely to return T (e.g., something registered in the FTD.
3642       
3643        It seems clear that this is the right thing when the structure
3644        reference is in global scope; I'm not sure what it'd mean for that
3645        not to be the case.
3646
36472007-01-25 04:32  gb
3648
3649        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3650        callback.
3651
36522007-01-24 23:41  gb
3653
3654        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3655        may not even compile.
3656
36572007-01-24 02:39  gb
3658
3659        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3660        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3661        for new FTD functions.
3662
36632007-01-24 02:28  gb
3664
3665        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3666        defstruct.
3667
36682007-01-23 15:28  gb
3669
3670        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3671        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3672        Return FPRs in the same place.  (Will need to re-work all of this
3673        for platform-dependent structure stuff.)
3674
36752007-01-23 15:26  gb
3676
3677        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3678        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3679        the lisp side.)
3680
36812007-01-23 15:21  gb
3682
3683        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3684        c_reg_save for saved fp args (f1-f13).
3685
36862007-01-23 15:14  gb
3687
3688        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3689        ftd hook.
3690
36912007-01-23 07:19  gb
3692
3693        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3694        (CLASS-OF non-simple-string).
3695
36962007-01-23 07:02  gb
3697
3698        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3699        array case, needed new string definition.
3700
37012007-01-23 07:01  gb
3702
3703        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3704        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3705        compiler/X86/X8664/x8664-backend.
3706
37072007-01-23 06:59  gb
3708
3709        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3710        stuff here.
3711
37122007-01-21 08:32  gb
3713
3714        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3715        "-returning-").
3716       
3717        Typecheck the :registers arg.
3718
37192007-01-21 08:32  gb
3720
3721        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3722
37232007-01-21 08:31  gb
3724
3725        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3726        stack-block.
3727
37282007-01-21 08:31  gb
3729
3730        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3731        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3732        instead.
3733
37342007-01-21 06:46  gb
3735
3736        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3737        space for 13 float registers, not 31.
3738
37392007-01-21 06:45  gb
3740
3741        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3742        x86-64.
3743
37442007-01-21 06:38  gb
3745
3746        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3747        register return without typos.
3748
37492007-01-21 06:15  gb
3750
3751        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3752        register return.
3753
37542007-01-21 06:14  gb
3755
3756        * compiler/nx1.lisp: Don't assume that passing a structure by value
3757        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3758        platform that doesn't support the convention.)
3759
37602007-01-21 06:12  gb
3761
3762        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3763        replaces .SPunused-4.
3764
37652007-01-21 06:10  gb
3766
3767        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3768        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3769        (replaces .SPunused_4).
3770
37712007-01-21 00:05  gb
3772
3773        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3774        argument/result coercion functions in os::expand-ff-call.
3775
37762007-01-20 23:53  gb
3777
3778        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3779        results when expanding an ff-call.
3780
37812007-01-20 23:52  gb
3782
3783        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3784        foreign args, results.
3785
37862007-01-20 22:31  gb
3787
3788        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3789        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3790        are to each other.  I'd guess that they're pretty close, and that
3791        x86-64 Darwin is random.)
3792
37932007-01-20 21:55  gb
3794
3795        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3796
37972007-01-20 19:34  gb
3798
3799        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3800
38012007-01-20 19:25  gb
3802
3803        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3804        right os::ff-call-expander.
3805
38062007-01-20 19:24  gb
3807
3808        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3809
38102007-01-20 19:24  gb
3811
3812        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3813        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3814        OS.
3815
38162007-01-20 19:23  gb
3817
3818        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3819        probably several more.
3820
38212007-01-20 19:22  gb
3822
3823        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3824
38252007-01-20 19:21  gb
3826
3827        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3828        extended to handle coercions at the Cocoa level, and probably needs
3829        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3830        installed by #_).
3831
38322007-01-20 19:18  gb
3833
3834        * lib/db-io.lisp: Encode, decode union types in arglists.
3835
38362007-01-20 19:17  gb
3837
3838        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3839        os::expand-ff-call.
3840       
3841        Canonicalize the :void type a bit better.
3842
38432007-01-20 19:16  gb
3844
3845        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3846
38472007-01-18 23:15  gb
3848
3849        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3850
38512007-01-18 23:15  gb
3852
3853        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3854
38552007-01-18 23:15  gb
3856
3857        * lib/systems.lisp: Add the new ffi-backend sources.
3858
38592007-01-18 23:14  gb
3860
3861        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3862        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3863        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3864        files.
3865
38662007-01-18 04:35  gb
3867
3868        * level-1/version.lisp: Bump.
3869
38702007-01-18 04:17  gb
3871
3872        * examples/bridge.lisp: Some word-size conditionalization.  Will
3873        need more work to handle struct return/asssignment correctly on all
3874        platforms.
3875
38762007-01-18 04:15  gb
3877
3878        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3879        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3880
38812007-01-18 04:13  gb
3882
3883        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3884        type casts, etc.
3885
38862007-01-18 04:12  gb
3887
3888        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3889        deprecated NSFont stuff.
3890
38912007-01-18 04:11  gb
3892
3893        * examples/objc-clos.lisp: Handle ivars, class
3894        creation/initialization differently for ObjC 2.0.
3895
38962007-01-18 04:10  gb
3897
3898        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3899
39002007-01-18 04:09  gb
3901
3902        * examples/objc-support.lisp: Note which protocols are actually
3903        used when walking classes.  (There doesn't seem to be a good way of
3904        finding a Protocol object pre-objc-2.0, and we may need to test
3905        protocol compliance to disambiguate message sends in some cases.)
3906
39072007-01-18 04:07  gb
3908
3909        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3910        necessarily darwinppc).
3911
39122007-01-18 04:06  gb
3913
3914        * examples/addressbook.lisp: Conditionalize for darwin (not
3915        necessarily darwinppc).  May want to conditionalize for bundle
3916        executable name, as well.
3917
39182007-01-18 04:05  gb
3919
3920        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3921        to sketch out structure return code (structures are often
3922        "returned" by returning field values in registers pn DarwinPPC64.)
3923
39242007-01-18 04:04  gb
3925
3926        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3927        attributes for structure args/results.
3928
39292007-01-18 04:03  gb
3930
3931        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3932         (Will need this for other platforms, too.)
3933
39342007-01-18 04:01  gb
3935
3936        * lib/macros.lisp: Arch-specific macro interface for
3937        WITH-FFCALL-RESULTS.
3938
39392007-01-18 04:00  gb
3940
3941        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3942        return value.
3943
39442007-01-18 04:00  gb
3945
3946        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3947        .SPpoweropen_ffcall_return_registers.
3948
39492007-01-18 03:59  gb
3950
3951        * library/parse-ffi.lisp: At least optionally, make structure
3952        return explicit (expecting it to be handled by higher-level code.)
3953
39542007-01-18 03:58  gb
3955
3956        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3957        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3958
39592007-01-18 03:55  gb
3960
3961        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3962        may hold OS thread context.
3963
39642007-01-18 03:54  gb
3965
3966        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3967        in ftd.
3968
39692007-01-18 03:53  gb
3970
3971        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3972        macro.
3973
39742007-01-18 03:52  gb
3975
3976        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3977        all possible result regs.  (Maybe poweropen syscall, too.)
3978
39792007-01-18 03:51  gb
3980
3981        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3982        .SPpoweropen-ff-call-return-registers.
3983
39842007-01-18 03:50  gb
3985
3986        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3987        supported, backend will return all (potential) result registers in
3988        buffer at <exp>.
3989
39902007-01-16 02:01  gb
3991
3992        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3993        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3994        functions make less sense for character streams/strings than they
3995        used to.)
3996
39972007-01-16 01:39  gb
3998
3999        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
4000        defaults to :BIVALENT
4001
40022007-01-16 01:37  gb
4003
4004        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
4005
40062007-01-11 23:58  gb
4007
4008        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
4009        into (* (/ constant1 constant2) exp).  Not very general, but makes
4010        some foreign address arithmetic better.
4011
40122007-01-11 23:56  gb
4013
4014        * lib/macros.lisp: Simple PAREF: (paref pointer
4015        foreign-pointer-or-array-type index) does simple arithmetic for
4016        you.
4017
40182007-01-11 23:54  gb
4019
4020        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
4021
40222007-01-10 15:50  gb
4023
4024        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
4025        double->heap vinsn.
4026
40272007-01-09 11:33  gb
4028
4029        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
4030        cleanup and multiple values are being thrown, be sure to set
4031        tcr.xframe from the target catch frame.  This is necessary on
4032        general principles (GC safety), and especially necessary if the
4033        cleanup form does a non-local exit.
4034
40352007-01-08 22:12  gb
4036
4037        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
4038        Revive some of the old GNUstep support; add partial ObjC 2.0
4039        support (for 64-bit targets only, so far.)
4040
40412007-01-08 22:11  gb
4042
4043        * examples/cocoa.lisp: Conditionalize for darwin-target, not
4044        darwinppc-target.
4045
40462007-01-08 22:10  gb
4047
4048        * examples/cocoa-listener.lisp: Disable background layout in the
4049        listener; the whole two-thread scheme probably isn't viable, but
4050        doing this seems to suppress a timing-related symptom.
4051
40522007-01-08 22:09  gb
4053
4054        * examples/cocoa-editor.lisp: Document-begin-editing,
4055        document-end-editing: both seem to have been conditionalized
4056        backwards.
4057
40582007-01-05 16:22  gb
4059
4060        * level-0/l0-numbers.lisp: Fix another typo ...
4061
40622007-01-05 16:16  gb
4063
4064        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
4065
40662007-01-05 15:27  gb
4067
4068        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
4069        PPC32.
4070
40712007-01-05 06:20  gb
4072
4073        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
4074        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
4075        result (with the right arg) does obtain a link map.
4076       
4077        Revive shared libraries on FreeBSD, but don't do the strange
4078        Linux-specific re-opening there.  (It seems like it's possible to
4079        #_dlopen something that already has a loaded link map - like the
4080        FreeBSD dynamic linker - or something.)
4081
40822007-01-04 05:46  gb
4083
4084        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
4085        :WILD-INFERIORS.
4086
40872007-01-04 05:45  gb
4088
4089        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
4090        (which may use %gs instead of %fs for tls).
4091
40922007-01-04 05:44  gb
4093
4094        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
4095
40962007-01-04 05:44  gb
4097
4098        * level-0/l0-numbers.lisp:
4099        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
4100        accurately represented in float, do so.
4101
41022007-01-03 03:35  gb
4103
4104        * lib/sequences.lisp: Fix a few type errors, check for explicit
4105        vector-type length earlier.
4106
41072007-01-03 03:31  gb
4108
4109        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4110        preserved :WILD, don't map it to "*".
4111
41122007-01-03 03:30  gb
4113
4114        * lib/pathnames.lisp: More whack-a-mole with pathnames
4115        (specifically, preserving :WILD as name/type value and dealing with
4116        the consequences of doing so.)
4117
41182007-01-03 03:27  gb
4119
4120        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4121
41222007-01-02 09:57  gb
4123
4124        * lib/macros.lisp: Keep fixing CTYPECASE.
4125
41262007-01-02 09:57  gb
4127
4128        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4129        BASIC-CHARACTER-INPUT-STREAM returns both values.
4130       
4131        "Composite" (two-way, concatenated, etc) streams need a close
4132        protocol.
4133
41342007-01-02 07:00  gb
4135
4136        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4137        (new) version slot, as does practically everything else.
4138
41392007-01-02 06:59  gb
4140
4141        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4142        accurately coerced to floats when comparing fixnums and floats; do
4143        the logical equvalent of calling RATIONAL on the float instead.
4144
41452007-01-01 23:41  gb
4146
4147        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4148        version into returned namestring for physical pathnames.
4149
41502006-12-31 10:15  gb
4151
4152        * release-notes.txt: Update.
4153
41542006-12-31 09:13  gb
4155
4156        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4157        version.
4158
41592006-12-31 08:57  gb
4160
4161        * xdump/faslenv.lisp: Bump fasl-min-vers.
4162
41632006-12-31 08:49  gb
4164
4165        * lib/nfcomp.lisp: Bump current fasl version.
4166
41672006-12-31 08:33  gb
4168
4169        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4170        Tweak the executable start address.
4171
41722006-12-31 02:44  gb
4173
4174        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4175        ensure that there's nothing interesting in the first few pages of
4176        the address space (and ensure that those pages are mapped.)
4177
41782006-12-31 02:43  gb
4179
4180        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4181        on x86-64 (ld64 does some floating-point arithmetic, fails to
4182        account for roundoff error, and claims that 0x1000 isn't a power of
4183        2.) If you can't say anything good about a linker, it's best not to
4184        say anything at all.
4185       
4186        We can force the first segment to be mapped at 0x1000, and can
4187        waste a few pages to ensure that all low-memory pages that the lisp
4188        wants are mapped.
4189
41902006-12-31 02:33  gb
4191
4192        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4193        defensive.
4194
41952006-12-31 02:32  gb
4196
4197        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4198
41992006-12-31 02:29  gb
4200
4201        * xdump/faslenv.lisp: Bump $fasl-vers.
4202
42032006-12-31 02:28  gb
4204
4205        * level-1/version.lisp: Bump; remove "Beta" designation.
4206
42072006-12-29 20:13  gb
4208
4209        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4210        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4211        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4212        up a page on x86-64 as well.
4213
42142006-12-29 16:09  gb
4215
4216        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4217        .orged.
4218
42192006-12-29 15:32  gb
4220
4221        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4222        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4223        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4224        (including NIL) now one page higher on ppc32, as well.
4225
42262006-12-29 02:38  gb
4227
4228        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4229
42302006-12-29 01:38  gb
4231
4232        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4233        ppc64::reservation-discharge) up a page.
4234
42352006-12-29 01:37  gb
4236
4237        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4238        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4239
42402006-12-29 01:36  gb
4241
4242        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4243        backend.  ppc64 wants it one page higher than it has been, to avoid
4244        letting unmapped pages get claimed by the dynamic linker on Darwin.
4245
42462006-12-29 01:35  gb
4247
4248        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4249        that the image starts at #x1000 and aligned section data for the
4250        text section starts on the next page.
4251
42522006-12-29 01:33  gb
4253
4254        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4255        the aligned text section data starts.
4256
42572006-12-29 01:32  gb
4258
4259        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4260        etc a page higher.
4261
42622006-12-29 01:32  gb
4263
4264        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4265        already where it should be.
4266
42672006-12-29 01:32  gb
4268
4269        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4270        page higher.
4271
42722006-12-29 01:30  gb
4273
4274        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4275
42762006-12-22 01:40  gb
4277
4278        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4279
42802006-12-22 01:39  gb
4281
4282        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4283        PPC32/Darwin.
4284       
4285        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4286        test and use dlfcn functions if at least Tiger.
4287       
4288        (The old dyld functions are deprecated under Leopard, and there's
4289        reason to believe that they don't work correctly on at least ppc64/
4290        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4291        a 64-bit .dylib seems to lead to memory corruption rather than
4292        returning NSObjectFileImageInappropriateFile.
4293       
4294        The old functions work better than the dlfcn functions on pre-Tiger
4295        systems.)
4296
42972006-12-19 01:24  gb
4298
4299        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4300        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4301        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4302        producing a pathane with a non-null VERSION component, as it
4303        arguably should have been all along.
4304
43052006-12-18 13:22  gb
4306
4307        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4308        types into concrete vector types.
4309
43102006-12-18 13:04  gb
4311
4312        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4313        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4314        failing to do this leads to many test failures.)
4315
43162006-12-18 13:03  gb
4317
4318        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4319
43202006-12-18 12:57  gb
4321
4322        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4323        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4324        failing to do this leads to many test failures.)
4325
43262006-12-18 12:54  gb
4327
4328        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4329
43302006-12-16 05:28  gb
4331
4332        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4333        instructions have a minor opcode in frb and only have one source
4334        operand.
4335
43362006-12-16 05:27  gb
4337
4338        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4339        SQRT, note that there's only one operand and that it's in frb.
4340
43412006-12-16 05:25  gb
4342
4343        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4344        instructions, notably fsqrt/fqrts, which are optional and not
4345        implemented on some PPC machines.
4346
43472006-12-16 05:24  gb
4348
4349        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4350
43512006-12-14 19:47  gb
4352
4353        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4354
43552006-12-14 16:43  gb
4356
4357        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4358        double-float arithmetic vinsns should say :double-float, not
4359        :single-float.  (I suspect cut-and-paste, frankly.)
4360
43612006-12-14 16:25  gb
4362
4363        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4364        initial-thread.
4365
43662006-12-14 16:24  gb
4367
4368        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4369        error.
4370
43712006-12-14 16:14  gb
4372
4373        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4374        physical pathnames. (Yes, this is kind of silly.)
4375
43762006-12-14 16:01  gb
4377
4378        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4379        signal errors for (e.g.) failed memory allocation.
4380
43812006-12-14 16:00  gb
4382
4383        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4384        fails, signal a lisp error (what a concept.)
4385
43862006-12-14 15:51  gb
4387
4388        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4389       
4390        Might be worth revisiting this.
4391
43922006-12-14 15:50  gb
4393
4394        * lisp-kernel/x86-exceptions.c: Go back to using the
4395        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4396        from a fake context may not be reliable.
4397       
4398        When handling an interrupt with a partially created temp stack
4399        frame, do the right thing.  (That basically means reset the frame
4400        before calling out and recreating it if we return from the
4401        callout.)
4402       
4403        Handle SIGQUIT on the altstack, to provide a way of forcibly
4404        terminating threads that's a bit more GC-safe than doing it via
4405        #_pthread_cancel.
4406       
4407        Note the tcr of the gc thread on gc entry; if an exception happens
4408        in that thread, print a message and sleep for 60 seconds.
4409       
4410        Note that there's still a race condition here: if thread A gets an
4411        exception and thread B gets the mach_exception_lock (to GC) before
4412        the exception thread can handle the message, we deadlock (thread A
4413        would be suspended in the kernel and can't respond to a suspend
4414        signal.)  We can tell that this has happened and make a good guess
4415        as to why it happened, but dealing with it will require some
4416        thought.  (If we've already issued a suspend signal and eventually
4417        raise the suspended thread's resume semaphore, it'll suspend and
4418        resume once the mach exception thread makes it runnable.  Who
4419        cleans up its exception context in that case ?  Does it matter ?)
4420
44212006-12-14 15:19  gb
4422
4423        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4424        have all signals unmasked.
4425       
4426        If a tcr is dead, ensure that its stack areas are empty.
4427       
4428        Try to run shutdown_thread_tcr as a pthread cleanup action,
4429        hopefully before Mach clobbers the thread's signal mask.
4430
44312006-12-14 15:16  gb
4432
4433        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4434        TCR_AREA_LOCK.
4435
44362006-12-14 15:15  gb
4437
4438        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4439        hasn't existed in years.
4440
44412006-12-14 15:14  gb
4442
4443        * level-1/version.lisp: Bump.
4444
44452006-12-14 15:14  gb
4446
4447        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4448        termination semaphore.
4449
44502006-12-14 15:13  gb
4451
4452        * level-1/l1-processes.lisp: PROCESS objects are created with a
4453        termination semaphore.
4454
44552006-12-14 15:12  gb
4456
4457        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4458        TERMINATION-SEMAPHORE.
4459       
4460        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4461        target thread to transition from running lisp code to running
4462        foreign code without advertising that fact. Send a SIGQUIT instead,
4463        and trust the SIGQUIT handler to manage that transition.  Don't try
4464        to kill the initial thread.
4465
44662006-12-09 09:52  gb
4467
4468        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4469        their CLEAR-OUTPUT methods.
4470       
4471        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4472        their displaced-index-offsets.)
4473
44742006-12-09 09:49  gb
4475
4476        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4477        threads on x86-64.  (The PPC never got around to enabling them.)
4478
44792006-12-09 09:47  gb
4480
4481        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4482        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4483        the result of its evaluation.
4484       
4485        Some fixes in CTYPECASE handling, which hopefully didn't break
4486        anything else.
4487
44882006-12-09 09:36  gb
4489
4490        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4491        1d) index register is set - even if the index is a constant - if we
4492        think that the store needs EGC memoization.
4493       
4494        (Note that the test case that exposed this involved storing
4495        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4496        64-bit platforms.)
4497       
4498        In aref2, don't worry about reserving unscaled index registers when
4499        targeting the 1d index; the unscaled index registers aren't live
4500        after, could be NULL if the index is a constant, and any overlap
4501        between one of them and the 1d index should be handled in the
4502        vinsn(s).
4503
45042006-12-09 09:30  gb
4505
4506        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4507        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4508        class-translations.
4509
45102006-12-09 09:27  gb
4511
4512        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4513        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4514        don't segfault taking its CAR without checking.)
4515
45162006-12-06 18:48  gb
4517
4518        * level-0/X86/x86-float.lisp: x86-64 version of
4519        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4520        in %imm1 (which is undefined here ...)
4521
45222006-12-06 17:05  gb
4523
4524        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4525        right symbol for the named block.
4526       
4527        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4528        (SETF NAME).
4529
45302006-12-05 22:44  gb
4531
4532        * release-notes.txt: Update for 061205.
4533
45342006-12-05 20:31  gb
4535
4536        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4537        from putting a linkedit segment in the wrong place and making
4538        32-bit memory unmappable.
4539
45402006-12-05 20:30  gb
4541
4542        * level-1/version.lisp: Bump.
4543
45442006-12-05 20:29  gb
4545
4546        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4547
45482006-12-05 18:53  gb
4549
4550        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4551        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4552        doc string for *ALTERNATE-LINE-TERMINATOR*.
4553
45542006-12-04 15:13  gb
4555
4556        * level-1/version.lisp: Append a patchlevel to the version string,
4557        at least until new tarballs can be built.
4558
45592006-12-04 15:12  gb
4560
4561        * level-1/l1-streams.lisp: If stream element type upgrades to
4562        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4563        element-type.)
4564
45652006-12-04 13:02  gb
4566
4567        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4568        called): don't bother to shift by 0 bits.  Do shift the initial U
4569        if non-zero trailing 0 BITS (was testing for non-zero trailing
4570        DIGITS.)
4571
45722006-12-04 12:52  gb
4573
4574        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4575        element-types; do some upgrading to support some more element types
4576        (BIT -> (UNSIGNED-BYTE 8)).
4577       
4578        Maybe support arbitrarily large integer types someday soon.  Maybe
4579        not.
4580
45812006-12-04 12:48  gb
4582
4583        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4584        types (compiler stuff, mostly).
4585
45862006-12-04 12:46  gb
4587
4588        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4589        shift count of 32 (and returns 0 in that case.)
4590
45912006-12-04 12:46  gb
4592
4593        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4594        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4595        in case.)
4596
45972006-12-04 12:43  gb
4598
4599        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4600        GCD-2 ...
4601
46022006-12-04 09:26  gb
4603
4604        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4605        for STRING-INPUT-STREAMs.
4606
46072006-12-04 09:24  gb
4608
4609        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4610        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4611        shift by 0 bits.
4612
46132006-12-04 09:21  gb
4614
4615        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4616        doing %SLOT-UNBOUND-TRAP.
4617
46182006-12-04 09:21  gb
4619
4620        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4621        STREAMs, returns NIL.  STREAM-POSITION method for
4622        STRING-INPUT-STREAMs.
4623
46242006-12-04 09:19  gb
4625
4626        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4627        containing heap image.
4628
46292006-12-03 07:41  gb
4630
4631        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4632        STRING-OUTPUT-STREAMs are no-ops.
4633       
4634        Need an ioblock-based character-read-vector function for
4635        string-input-streams.
4636
46372006-12-03 07:37  gb
4638
4639        * lib/describe.lisp: Minimal DESCRIBE support for
4640        CCL::BASIC-STREAM.
4641
46422006-12-03 07:36  gb
4643
4644        * lib/macros.lisp: If :element-type is supplied in
4645        WITH-OUTPUT-TO-STRING, don't quote it.
4646
46472006-12-03 05:11  gb
4648
4649        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4650        isn't necessarily 16.
4651
46522006-12-03 05:10  gb
4653
4654        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4655        isn't necessarily 16.
4656       
4657        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4658        %slot-unbound-trap.
4659
46602006-12-03 05:09  gb
4661
4662        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4663        avoid some NO-NEXT-METHODs.
4664
46652006-12-03 02:42  gb
4666
4667        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4668        bit better.
4669
46702006-12-03 02:41  gb
4671
4672        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4673        bit.
4674
46752006-12-03 02:28  gb
4676
4677        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4678        clearing the low byte of the header, shifting it right, and
4679        comparing the index to that.  (It's not reliable to shift the index
4680        left.)
4681
46822006-12-03 02:26  gb
4683
4684        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4685        write BOM, leave that up to higher-level code.
4686       
4687        Start to write some higher-level code.
4688
46892006-12-03 02:23  gb
4690
4691        * level-1/l1-sysio.lisp: Fix some indentation.
4692
46932006-12-03 02:21  gb
4694
4695        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4696        the header word right (after clearing its low byte) and compare the
4697        index to that.  (Shifting the index left - d'oh - obviously fails
4698        for indices of large magnitude.)
4699
47002006-11-29 21:07  gb
4701
4702        * lib/db-io.lisp: Indentation change.
4703       
4704        Add CDB-ENUMERATE-KEYS.
4705
47062006-11-29 18:37  gb
4707
4708        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4709        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4710        LISTP first.  (I hope ...).  Do so.
4711
47122006-11-28 18:42  gb
4713
4714        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4715
47162006-11-28 16:14  gb
4717
4718        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4719
47202006-11-28 16:12  gb
4721
4722        * examples/objc-runtime.lisp: Wrap a (primitive)
4723        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4724        NSThread.
4725
47262006-11-28 16:09  gb
4727
4728        * examples/cocoa-listener.lisp: Don't claim that a callback
4729        parameter is ignored; use IGNORABLE instead.
4730
47312006-11-21 01:28  gb
4732
4733        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4734        conditionalization.
4735
47362006-11-21 00:55  gb
4737
4738        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4739        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4740       
4741        Basic file-socket streams.
4742
47432006-11-10 05:08  gb
4744
4745        * release-notes.txt: Update.
4746
47472006-11-10 04:28  gb
4748
4749        * lisp-kernel/image.h: Bump min image version.
4750
47512006-11-10 04:19  gb
4752
4753        * xdump/heap-image.lisp: bump current image version.
4754
47552006-11-10 04:19  gb
4756
4757        * lisp-kernel/image.h: bump current, max image version.
4758
47592006-11-10 04:10  gb
4760
4761        * xdump/faslenv.lisp: Bump min fasl version.
4762
47632006-11-10 03:56  gb
4764
4765        * lib/nfcomp.lisp: bump current fasl version.
4766
47672006-11-10 03:47  gb
4768
4769        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4770        #_exit
4771
47722006-11-10 03:46  gb
4773
4774        * compiler/X86/x862.lisp: TYPE typo.
4775
47762006-11-10 03:32  gb
4777
4778        * xdump/faslenv.lisp: Bump max fasl version.
4779
47802006-11-10 03:25  gb
4781
4782        * level-1/version.lisp: Bump.  New snapshots today!
4783
47842006-11-09 16:26  gb
4785
4786        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4787       
4788        PREPARE-TO-QUIT kill stragglers without waiting as long.
4789
47902006-11-09 15:50  gb
4791
4792        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4793       
4794        Try to run lisp code after #_exit via lazarus(); this is for some
4795        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4796       
4797        The environment in which The Undead code runs is a little funky,
4798        especially on PPC.  There might be GC implications (cstack will
4799        contain call history as of the point when #_exit called atexit
4800        handlers, vstack & tstack are emptied in lazarus()).  We should
4801        barely run any code in this environment, but we will GC a time or
4802        two ...
4803
48042006-11-09 15:45  gb
4805
4806        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4807
48082006-11-09 15:43  gb
4809
4810        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4811        protocol.
4812
48132006-11-09 15:42  gb
4814
4815        * examples/cocoa-listener.lisp: :set-document-edited for listener
4816        "documents" is a no-op.
4817
48182006-11-09 15:39  gb
4819
4820        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4821        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4822
48232006-11-09 12:50  gb
4824
4825        * compiler/X86/x862.lisp: Always check that array-ctype's
4826        dimensions are a list before taking their length.
4827
48282006-11-09 12:13  gb
4829
4830        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4831        right thing ...
4832
48332006-11-09 10:08  gb
4834
4835        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4836        Three-arg aref/(setf aref) for x8664.
4837
48382006-11-09 05:37  gb
4839
4840        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4841        errors.
4842
48432006-11-09 05:37  gb
4844
4845        * compiler/nxenv.lisp: Operators for 3d array access.
4846
48472006-11-09 05:36  gb
4848
4849        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4850        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4851        array types.
4852
48532006-11-08 12:50  gb
4854
4855        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4856        Leopard nonsense: define the stack context struct separately, make
4857        the ucontext stack field an instance of it.  (Not -sure- if that
4858        was necessary, but :poweropen-target was accidentally on *FEATURES*
4859        and foreign struct layout was using read-time condtionalization to
4860        decide whether or not to use brain-dead structure-alignment rules
4861        leftover from AIX/PowerOpen.
4862
48632006-11-08 12:46  gb
4864
4865        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4866
48672006-11-08 12:40  gb
4868
4869        * compiler/optimizers.lisp: Try to infer/insert the array type when
4870        compiler-macroexpanding MAKE-ARRAY calls.
4871
48722006-11-08 12:39  gb
4873
4874        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4875        :poweropen-alignment rules.
4876
48772006-11-08 12:38  gb
4878
4879        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4880        to poweropen structure layout rules should be an attribute of the
4881        FTD, not done via read-time conditionalization.
4882
48832006-11-08 05:15  gb
4884
4885        * level-1/version.lisp: Bump.
4886
48872006-11-08 05:15  gb
4888
4889        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4890       
4891        TODO: get rid of "bivalent" streams, but allow switching some
4892        streams (sockets) between "character mode" and "binary mode".
4893
48942006-11-08 02:39  gb
4895
4896        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4897
48982006-11-07 21:10  gb
4899
4900        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4901        ASET->%ASET3.
4902
49032006-11-07 20:40  gb
4904
4905        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4906
49072006-11-07 20:39  gb
4908
4909        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4910
49112006-11-07 20:38  gb
4912
4913        * level-0/l0-array.lisp: Use %aref2,%aref3.
4914
49152006-11-07 20:37  gb
4916
4917        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4918        vector-store vinsns.
4919
49202006-11-07 20:37  gb
4921
4922        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4923
49242006-11-07 10:28  gb
4925
4926        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4927        .SPaset3.
4928
49292006-11-07 10:27  gb
4930
4931        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4932
49332006-11-07 10:26  gb
4934
4935        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4936        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4937
49382006-11-07 10:26  gb
4939
4940        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4941        mullw/mulld.
4942
49432006-11-07 04:12  gb
4944
4945        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4946
49472006-11-06 22:07  gb
4948
4949        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4950        :fixnum-vector case.
4951
49522006-11-06 22:04  gb
4953
4954        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4955        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4956        known/declared.
4957
49582006-11-06 22:02  gb
4959
4960        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4961        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4962        versions, but it helps not to have to remember which are
4963        implemented and which aren't.)
4964
49652006-11-06 22:01  gb
4966
4967        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4968
49692006-11-06 22:00  gb
4970
4971        * compiler/nx1.lisp: New %ASET2 handling.
4972
49732006-11-06 21:59  gb
4974
4975        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4976        never assigned to.
4977
49782006-11-05 22:09  gb
4979
4980        * level-1/x86-trap-support.lisp: Try to work around
4981        incompatibilites in Tiger/Leopard headers.
4982
49832006-11-05 22:08  gb
4984
4985        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4986        the foreign function may not exist.
4987
49882006-11-05 20:41  gb
4989
4990        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4991
49922006-11-05 07:55  gb
4993
4994        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4995        x86-64, as well.
4996
49972006-11-05 07:52  gb
4998
4999        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
5000
50012006-11-05 07:50  gb
5002
5003        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
5004        .SPaset2.
5005
50062006-11-05 07:48  gb
5007
5008        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
5009        testing simple-array-ness, add the (possibly 0) displacement from
5010        the header before handling the simple aref of the data vector.
5011
50122006-11-05 07:47  gb
5013
5014        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
5015        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
5016
50172006-11-05 07:46  gb
5018
5019        * level-1/version.lisp: Bump; new binaries soon.
5020
50212006-11-05 07:46  gb
5022
5023        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
5024        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
5025        4G seconds after an EINTR on Leopard.
5026
50272006-11-05 07:44  gb
5028
5029        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
5030        if any non-fixnum bits would be set in the result.  (Should
5031        probably make this true on all platforms; for PPC64, it's important
5032        for foreign function addresses that're ... suboptimally aligned.)
5033
50342006-11-05 07:42  gb
5035
5036        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
5037        %NANOSLEEP's second (by reference) argument contains garbage after
5038        an EINTR.  (The L word, again.)
5039
50402006-11-05 07:41  gb
5041
5042        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
5043        into the kernel.
5044
50452006-11-05 07:40  gb
5046
5047        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
5048        ppc64 functions whose addresses are not 0 mod 8, so (a) make
5049        MACPTR->FIXNUM return NIL if an address isn't representable as a
5050        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
5051        can't return a fixnum on PPC (really just affects PPC64.)
5052
50532006-11-05 07:37  gb
5054
5055        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
5056
50572006-11-05 07:36  gb
5058
5059        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5060        2d aref support/changes.
5061
50622006-11-05 07:36  gb
5063
5064        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
5065        x8664 wrt 2d aref.  Stll a ways to go.
5066
50672006-11-05 07:35  gb
5068
5069        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
5070
50712006-11-04 00:05  gb
5072
5073        * level-1/version.lisp: Bump.
5074
50752006-11-03 23:10  gb
5076
5077        * level-1/ppc-error-signal.lisp: fix parens.
5078
50792006-11-03 23:09  gb
5080
5081        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
5082        gvector types contains :struct, not :structure.
5083
50842006-11-03 23:08  gb
5085
5086        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
5087        subprim.
5088       
5089        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
5090        in the builtin functions table.
5091
50922006-11-03 15:19  gb
5093
5094        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
5095
50962006-11-03 15:18  gb
5097
5098        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
5099
51002006-11-03 15:17  gb
5101
5102        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
5103        type-error UUOs.
5104
51052006-11-03 15:16  gb
5106
5107        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5108
51092006-11-03 15:16  gb
5110
5111        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5112        (array-header) layout.
5113
51142006-11-03 13:46  gb
5115
5116        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5117        returns its argument if all members are SPECIALIZERS.
5118       
5119        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5120        arguments, for the benefit of people who haven't read the MOP spec
5121        or who don't realize that the MOP defines some things differently
5122        from CLHS.
5123
51242006-11-03 13:38  gb
5125
5126        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5127        to refer to primitive structure type.
5128       
5129        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5130
51312006-11-03 13:37  gb
5132
5133        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5134        :STRUCTURE) is on target-gvector-types.
5135
51362006-11-03 12:53  gb
5137
5138        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5139
51402006-11-03 12:52  gb
5141
5142        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5143         More to come ...
5144
51452006-11-03 12:52  gb
5146
5147        * lisp-kernel/x86-constants64.s: Define array-header layout.
5148
51492006-11-03 12:51  gb
5150
5151        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5152        encodings, new type-error constants.
5153
51542006-11-03 12:50  gb
5155
5156        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5157        traps.
5158
51592006-11-03 12:49  gb
5160
5161        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5162        constant-redefinition CERRORs.
5163
51642006-11-03 12:48  gb
5165
5166        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5167
51682006-11-03 12:47  gb
5169
5170        * level-0/l0-pred.lisp: array--header -> array-header.
5171
51722006-11-03 12:47  gb
5173
5174        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5175        add/change some 2d array stuff.
5176
51772006-11-03 12:43  gb
5178
5179        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5180        subprims; seem to be much (>5x) faster than the lisp/lap versions
5181        (though we can generally be faster still when we know the
5182        element-type and/or know whether the array is simple or explicitly
5183        displaced.)
5184
51852006-11-03 12:41  gb
5186
5187        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5188        related changes.
5189       
5190        Split the code which handles bounds/type-checking in vref out from
5191        the code which actually does the reference, so that the latter can
5192        be used in multidimensional cases.
5193       
5194        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5195        general case.)
5196
51972006-11-03 12:38  gb
5198
5199        * compiler/nx1.lisp: Change handling of 2d-aref.
5200
52012006-11-03 12:37  gb
5202
5203        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5204        general-aref2.  More changes to come (and this may affect
5205        compilation on PPC until some PPC compiler changes are
5206        made/checked-in.)
5207
52082006-11-03 12:35  gb
5209
5210        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5211        the range 128-255, rather than 64-127; more are defined.
5212
52132006-11-02 09:43  gb
5214
5215        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5216
52172006-11-02 09:37  gb
5218
5219        * compiler/arch.lisp: New error constants; work in progress ...
5220
52212006-11-01 11:40  gb
5222
5223        * lisp-kernel/errors.s: Some new constants; more to check in later.
5224
52252006-10-31 03:39  gb
5226
5227        * level-0/l0-io.lisp: You must be reading the OLD rule book
5228        (Leopard and #$EINTR).
5229
52302006-10-31 03:21  gb
5231
5232        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5233        the tcr.  Initialize "addr" before testing it ...
5234
52352006-10-31 03:21  gb
5236
5237        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5238        the tcr.
5239
52402006-10-30 20:40  gb
5241
5242        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5243        expands into something more useful.
5244
52452006-10-30 20:39  gb
5246
5247        * lisp-kernel/ppc-spentry.s: Fix ppc32
5248        misc_ref_double_float_vector.
5249
52502006-10-30 00:24  gb
5251
5252        * level-0/l0-bignum64.lisp: Enable the destructive version of
5253        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5254        provide/fix supporting functions.  Seems to work on ppc64; needs
5255        testing on x8664.
5256
52572006-10-27 17:49  gb
5258
5259        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5260
52612006-10-25 20:36  gb
5262
5263        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5264        variants): always clear the untyi-char.
5265       
5266        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5267        needs an argument.
5268       
5269        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5270        bivalent streams.
5271       
5272        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5273
52742006-10-24 12:35  gb
5275
5276        * level-1/version.lisp: Bump.
5277
52782006-10-24 01:29  gb
5279
5280        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5281        _SPdestbind1 (still used in inlining, sometimes.)
5282
52832006-10-24 01:05  gb
5284
5285        * release-notes.txt: Change the date, add/change some content.
5286
52872006-10-24 01:05  gb
5288
5289        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5290        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5291
52922006-10-24 00:56  gb
5293
5294        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5295        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5296
52972006-10-24 00:55  gb
5298
5299        * level-1/l1-streams.lisp: When recycling
5300        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5301        (Failure to do this can screw up the pretty-printer, among other
5302        things.)
5303
53042006-10-24 00:52  gb
5305
5306        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5307        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5308
53092006-10-23 17:03  gb
5310
5311        * release-notes.txt: Updated; almost ready to go (still a
5312        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5313
53142006-10-23 16:43  gb
5315
5316        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5317        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5318
53192006-10-23 16:42  gb
5320
5321        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5322        STREAM-EXTERNAL-FORMAT) methods.
5323
53242006-10-23 16:41  gb
5325
5326        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5327        stuff.
5328
53292006-10-23 08:27  gb
5330
5331        * level-1/version.lisp: Bump; binaries today, honest.
5332
53332006-10-23 08:27  gb
5334
5335        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5336
53372006-10-23 08:26  gb
5338
5339        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5340        macros were checking for the presence of an input lock ...
5341
53422006-10-23 05:40  gb
5343
5344        * level-1/l1-streams.lisp: Optimize write-string on string streams
5345        a little.
5346
53472006-10-23 05:26  gb
5348
5349        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5350        which evaluates the string form twice; don't do whatever was being
5351        done to default the element type of the string stream.
5352
53532006-10-23 05:24  gb
5354
5355        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5356        keyword/subtype checking if element-type not provided.  (Could also
5357        skip it if it's explicit and obviously OK.)
5358
53592006-10-23 05:22  gb
5360
5361        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5362        "current" allocation if nothing's reserved.
5363
53642006-10-23 05:19  gb
5365
5366        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5367        update_bytes_allocated (sign of "disp").
5368
53692006-10-22 08:02  gb
5370
5371        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5372        form like a PROGN if there are no other forms.
5373
53742006-10-22 08:01  gb
5375
5376        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5377        ioblock functions.
5378       
5379        New string-stream implementation.  Better ...
5380
53812006-10-22 07:59  gb
5382
5383        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5384        before the stream closes.
5385
53862006-10-22 07:59  gb
5387
5388        * lib/pprint.lisp: Don't assume that string output stream strings
5389        have a fill-pointer; use STREAM-POSITION instead.
5390
53912006-10-22 07:57  gb
5392
5393        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5394        functions, after all.
5395       
5396        Go through (new) ioblock-unread-char-function.
5397
53982006-10-22 07:55  gb
5399
5400        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5401        x/s
5402
54032006-10-21 18:46  gb
5404
5405        * level-1/l1-streams.lisp: Typo.
5406
54072006-10-21 18:41  gb
5408
5409        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5410        fields in pseudo sigcontexts.
5411
54122006-10-21 18:40  gb
5413
5414        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5415        twice, etc.)
5416
54172006-10-21 18:35  gb
5418
5419        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5420        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5421        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5422        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5423        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5424
54252006-10-21 16:45  gb
5426
5427        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5428        encodings!
5429
54302006-10-19 13:48  gb
5431
5432        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5433        arg_z - in %safe-get-ptr.
5434
54352006-10-19 13:22  gb
5436
5437        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5438        optional, use #\Sub char-code as replaement char.
5439
54402006-10-19 13:21  gb
5441
5442        * examples/objc-runtime.lisp: Missing close paren.
5443
54442006-10-19 13:19  gb
5445
5446        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5447        strings to/from foreign memory.
5448
54492006-10-19 13:18  gb
5450
5451        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5452
54532006-10-18 08:04  gb
5454
5455        * level-1/version.lisp: Bump.  Binaries later today ?
5456
54572006-10-18 07:38  gb
5458
5459        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5460        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5461        class becomes (or ceases to be) a properly named class.
5462       
5463        The pre-bootstrapping version handles simpler cases of that; use
5464        ALIAS-CLASS to register some early class names as type names.
5465
54662006-10-18 07:36  gb
5467
5468        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5469        system, since only symbols which name properly-named classes are
5470        type specifiers.  Changing the name of a class can either introduce
5471        or remove a properly-named class.
5472       
5473        Classes that have the kernel-p attribute shouldn't have their names
5474        changed casually.
5475
54762006-10-18 07:33  gb
5477
5478        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5479        MAKE-SOCKET, pass it down to whatever function actually creates a
5480        stream socket.
5481
54822006-10-18 02:12  gb
5483
5484        * compiler/X86/x862.lisp: Allow closed-over addresses in
5485        conditional-form, NOT.
5486
54872006-10-18 01:43  gb
5488
5489        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5490        safe_ref_addres.
5491
54922006-10-18 01:43  gb
5493
5494        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5495
54962006-10-18 01:41  gb
5497
5498        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5499        addresses/vcells to nil.
5500
55012006-10-18 01:41  gb
5502
5503        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5504        addresses to NIL.
5505       
5506        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5507        level inline.
5508
55092006-10-18 01:39  gb
5510
5511        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5512        for a few months now.  The disassembler is always the last to know.
5513
55142006-10-17 19:15  gb
5515
5516        * compiler/PPC/PPC32/ppc32-arch.lisp,
5517        compiler/PPC/PPC64/ppc64-arch.lisp,
5518        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5519        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5520        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5521        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5522        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5523        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5524       
5525        Handle memory faults to safe-ref-addres on PPC (so far).
5526       
5527        Try using SAFE-GET-PTR in objc runtime (untested).
5528
55292006-10-17 17:34  gb
5530
5531        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5532        type in acode.
5533
55342006-10-17 14:02  gb
5535
5536        * level-1/l1-unicode.lisp: BOM-ENCODING.
5537
55382006-10-17 14:02  gb
5539
5540        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5541        something.
5542       
5543        Clear the pending-bom flag when seeking.
5544
55452006-10-17 14:01  gb
5546
5547        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5548        ioblock-based character streams.
5549
55502006-10-17 13:45  gb
5551
5552        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5553        *interrupt-level* inline.
5554
55552006-10-17 13:44  gb
5556
5557        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5558        immmediate operand (xuuo).
5559
55602006-10-17 13:39  gb
5561
5562        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5563        when necessary.
5564
55652006-10-17 13:39  gb
5566
5567        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5568        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5569
55702006-10-15 17:51  gb
5571
5572        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5573       
5574        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5575
55762006-10-15 17:51  gb
5577
5578        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5579
55802006-10-15 17:50  gb
5581
5582        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5583
55842006-10-14 07:41  gb
5585
5586        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5587        ENSURING-NODE-TARGET.
5588       
5589        Inline the fixnum case of two-arg numeric comparisons.
5590
55912006-10-14 07:39  gb
5592
5593        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5594        INLINE-SUB2 support.
5595
55962006-10-14 06:30  gb
5597
5598        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5599        generated DEFSTRUCT accessors.
5600
56012006-10-14 06:27  gb
5602
5603        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5604       
5605        Do the fixnum case of two-argument subtraction inline.
5606       
5607        Inline the fixnum case of two-argument numeric comparisons.
5608       
5609        STRUCT-REF avoids typechecking when reckless.
5610
56112006-10-14 06:21  gb
5612
5613        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5614        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5615
56162006-10-14 06:20  gb
5617
5618        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5619        little differently.
5620       
5621        Add xchg-registers.
5622
56232006-10-13 04:54  gb
5624
5625        * compiler/nx1.lisp: Use new NUMCMP operator.
5626
56272006-10-13 04:53  gb
5628
5629        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5630        in effect at call time, not those in effect at definition time.
5631
56322006-10-13 04:50  gb
5633
5634        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5635        inlining issues.
5636
56372006-10-13 04:30  gb
5638
5639        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5640
56412006-10-12 19:46  gb
5642
5643        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5644        "--" is seen.
5645
56462006-10-12 19:45  gb
5647
5648        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5649        newline translation differenly (at the character I/O level, not the
5650        buffer level).
5651       
5652        All character encoding/decoding functions operate on octets, not
5653        necessarily code units.  (The stream encode/decode functions are an
5654        exception; serialization and byte ordering are handled by the
5655        stream.)
5656
56572006-10-09 16:34  gb
5658
5659        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5660        encode a character in (implicit) iso-8859-1.
5661
56622006-10-09 16:33  gb
5663
5664        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5665        a replacement character.
5666
56672006-10-09 16:31  gb
5668
5669        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5670        write/read something, even if it's a replacement character of some
5671        sort.
5672
56732006-10-09 15:19  gb
5674
5675        * level-1/l1-streams.lisp: More stuff about line termination.  When
5676        will this end ?
5677
56782006-10-09 15:19  gb
5679
5680        * lib/chars.lisp: Use a hashtable to map characters to their names.
5681         (Maybe a sparse vector ?).
5682
56832006-10-09 15:18  gb
5684
5685        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5686        their names.  (Maybe a sparse vector ?).
5687       
5688        Define #\Sub and #\Replacement_Character.
5689
56902006-10-08 21:17  gb
5691
5692        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5693        NEW-BACKTRACE for a while now.
5694
56952006-10-08 21:16  gb
5696
5697        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5698        Panther happy.
5699
57002006-10-08 20:30  gb
5701
5702        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5703
57042006-10-08 20:30  gb
5705
5706        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5707        pathname, before it's too late ...
5708
57092006-10-08 20:29  gb
5710
5711        * level-1/l1-unicode.lisp: ASCII, some other changes.
5712
57132006-10-08 20:29  gb
5714
5715        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5716        :line-termination option to MAKE-FD-STREAM.
5717
57182006-10-08 20:28  gb
5719
5720        * level-1/l1-streams.lisp: Yet another line-termination translation
5721        scheme; hopefully, the last for a while. (More tedium before it's
5722        actually installed.)
5723
57242006-10-08 20:27  gb
5725
5726        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5727        #\Paragraph_separator.
5728
57292006-10-07 20:35  gb
5730
5731        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5732
57332006-10-07 20:34  gb
5734
5735        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5736        kernel debugger if interactive streams aren't initialized yet.
5737        (We'd probably get there sooner or later in that case; try to get
5738        there sooner.)
5739
57402006-10-07 20:33  gb
5741
5742        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5743        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5744        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5745        method.)
5746
57472006-10-07 20:32  gb
5748
5749        * level-1/l1-application.lisp: Handle the (new)
5750        -K/--terminal-encoding command-line argument.
5751
57522006-10-07 11:14  gb
5753
5754        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5755        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5756        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5757
57582006-10-07 11:13  gb
5759
5760        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5761        entered when --batch is in effect.
5762
57632006-10-07 11:12  gb
5764
5765        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5766        PROCESS-EXIT-APPLICATION.
5767
57682006-10-07 11:11  gb
5769
5770        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5771        *stdout* here.
5772
57732006-10-06 04:49  gb
5774
5775        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5776        TRANSLATE slot to IO-BUFFER.
5777
57782006-10-06 04:40  gb
5779
5780        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5781
57822006-10-06 04:39  gb
5783
5784        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5785
57862006-10-06 04:38  gb
5787
5788        * level-1/version.lisp: Bump.
5789
57902006-10-06 04:38  gb
5791
5792        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5793        replacement character.
5794
57952006-10-05 14:46  gb
5796
5797        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5798
57992006-10-05 14:46  gb
5800
5801        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5802
58032006-10-05 14:46  gb
5804
5805        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5806        C-like value (all exceptions masked) before doing a callback.  (Not
5807        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5808        value, where most exceptions were unmasked, and this caused FP
5809        exceptions when calling out to foreign code with the "lispy"
5810        tcr.foreign_mxcsr in effect.)
5811       
5812        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5813        the spurious SIGTRAPs, but might be the right idea (and might save
5814        a context switch or two.)
5815       
5816        Mach exception stuff initializes rflags to exception rflags when
5817        arranging to resume thread at handler.  Leaving them uninitialized
5818        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5819        set.
5820
58212006-10-05 06:09  gb
5822
5823        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5824
58252006-10-05 06:09  gb
5826
5827        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5828        #\U+xxxx syntax.
5829
58302006-10-05 06:08  gb
5831
5832        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5833
58342006-10-05 06:07  gb
5835
5836        * level-1/l1-sysio.lisp: Try to get
5837        line-termination/external-format stuff working.
5838
58392006-10-05 05:35  gb
5840
5841        * level-1/l1-streams.lisp: Assume that character data is always
5842        encoded as one or more 8-bit octets.
5843
58442006-10-05 04:59  gb
5845
5846        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5847        just before we make the first one.
5848
58492006-10-02 08:13  gb
5850
5851        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5852        handlers, so we need to make handlers do a sigreturn after
5853        switching off the signal stack, etc.
5854
58552006-10-02 08:11  gb
5856
5857        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5858        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5859        handling for cleanup of tcr pending exception and since we can't
5860        easily restore the signal mask.)
5861       
5862        (Up until this point, SIGRETURN has been a nop on Darwin.)
5863
58642006-10-02 04:59  gb
5865
5866        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5867        earlier.
5868
58692006-10-02 04:47  gb
5870
5871        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5872        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5873        systems <= 10.4).
5874
58752006-10-02 02:46  gb
5876
5877        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5878        Try to make x86-64 version compile under 10.4 again; see if this
5879        breaks post-10.4 compilation.
5880
58812006-10-02 02:33  gb
5882
5883        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5884        x86-exceptions.h: Change things so that they compile for x86-64 on
5885        systems later than 10.4.  Almost certainly break 10.4 compilation
5886        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5887        hours on crap like this, just let me know!)
5888
58892006-09-27 20:33  gb
5890
5891        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5892
58932006-09-27 20:33  gb
5894
5895        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5896
58972006-09-27 05:46  gb
5898
5899        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5900        BASIC-STREAM classes a class prototype.
5901
59022006-09-27 05:45  gb
5903
5904        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5905        initialization, to make it easier to use MAKE-FD-STREAM to open
5906        (seekable) FILE-STREAMs.
5907
59082006-09-27 05:41  gb
5909
5910        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5911        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5912
59132006-09-27 05:39  gb
5914
5915        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5916        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5917        division-by-zero, but that should be masked when in foreign code.)
5918        Don't reload the lisp mxcsr until other registers have been popped,
5919        to make debugging easier in case it's the act of reloading the
5920        mxcsr that causes the spurious trap.)
5921
59222006-09-27 05:36  gb
5923
5924        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5925
59262006-09-27 05:35  gb
5927
5928        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5929        was parenthesized in such a way as to not return the error value on
5930        error.
5931
59322006-09-27 05:34  gb
5933
5934        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5935        passing context into the kernel makes it too difficult to debug/get
5936        backtrace, etc.)
5937
59382006-09-27 05:33  gb
5939
5940        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5941        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5942
59432006-09-27 05:05  gb
5944
5945        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5946        (mostly for BUILT-IN-CLASSes).
5947
59482006-09-26 20:49  gb
5949
5950        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5951        a BASIC-P argument.
5952
59532006-09-26 20:47  gb
5954
5955        * level-1/l1-streams.lisp: More changes.  Imagine that.
5956
59572006-09-26 20:46  gb
5958
5959        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5960        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5961
59622006-09-26 20:43  gb
5963
5964        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5965        take/return strings, not chars.
5966       
5967        Some bom stuff.
5968
59692006-09-24 20:14  gb
5970
5971        * lib/chars.lisp: Check for assumptions about character size.
5972        Remove some %i-isms (fixnum arithmetic), make assertions about type
5973        of char-code.
5974
59752006-09-24 20:12  gb
5976
5977        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5978        CHKBOUNDS function.  Simpler STRING-START-END.
5979
59802006-09-24 20:11  gb
5981
5982        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5983        Probably belongs elsewhere; some encodings may not make it at all
5984        possible.
5985
59862006-09-24 20:07  gb
5987
5988        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5989        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5990
59912006-09-24 20:00  gb
5992
5993        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5994        line-termination slot from ioblock and corresponding arg from
5995        functions which initialize it.
5996
59972006-09-24 19:59  gb
5998
5999        * level-1/l1-sysio.lisp: Input-filter, output-filter in
6000        file-ioblock.
6001
60022006-09-24 19:58  gb
6003
6004        * level-1/l1-unicode.lisp: Buffer translation functions don't
6005        belong here; start thinking about BOM.
6006
60072006-09-24 19:57  gb
6008
6009        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6010        it's been a :u32const for the last few weeks ...
6011
60122006-09-24 04:29  gb
6013
6014        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
6015        the code is within its bounds.
6016
60172006-09-24 04:27  gb
6018
6019        * level-1/l1-reader.lisp: Lots more character names.  Maintain
6020        mappings in a vector and a hash table, rather than in an alist.
6021
60222006-09-24 04:26  gb
6023
6024        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
6025        character constant fasl encoding ($fasl-char).
6026
60272006-09-23 05:31  gb
6028
6029        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
6030        sure which are the most important.)
6031
60322006-09-23 05:29  gb
6033
6034        * level-1/l1-sysio.lisp: Start to separate
6035        line-termination/external-format stuff.
6036
60372006-09-23 05:28  gb
6038
6039        * level-1/l1-streams.lisp: Lots-o-changes.
6040
60412006-09-23 05:28  gb
6042
6043        * level-1/l1-boot-2.lisp: Make initial interactive streams use
6044        UTF-8 (mostly for debugging utf-8 ...)
6045
60462006-09-21 04:07  gb
6047
6048        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
6049        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
6050        clobbered r11, sometimes didn't.)
6051
60522006-09-21 04:05  gb
6053
6054        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
6055
60562006-09-21 04:05  gb
6057
6058        * lisp-kernel/x86-exceptions.c: Save and restore errno in
6059        callback_for_interrupt.
6060
60612006-09-21 04:04  gb
6062
6063        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
6064        x86-64 ucontext/mcontext on Darwin.
6065
60662006-09-21 04:02  gb
6067
6068        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
6069        flavors.
6070       
6071        Add a type decl in %nanosleep.
6072
60732006-09-21 04:01  gb
6074
6075        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
6076        vinsns.
6077
60782006-09-21 04:01  gb
6079
6080        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
6081        values.  (Probably only matters in a few cases, like the Darwin
6082        x86-64 version of #_nanosleep, which returns a non-sign-extended
6083        "int" value if the sleep is interruted.)
6084
60852006-09-20 06:34  gb
6086
6087        * level-1/version.lisp: Bump.
6088
60892006-09-20 04:24  gb
6090
6091        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6092        slight improvements in signed-byte boxing, typechecking.
6093
60942006-09-20 04:22  gb
6095
6096        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
6097
60982006-09-20 04:21  gb
6099
6100        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
6101
61022006-09-20 04:21  gb
6103
6104        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
6105
61062006-09-20 04:20  gb
6107
6108        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6109        versions.  Need a "logical" UTF-16, which deals with byte-order
6110        marks and a means of installing a concrete encoding.  Needs
6111        testing.
6112
61132006-09-20 04:15  gb
6114
6115        * level-1/l1-streams.lisp: Numerous changes.
6116
61172006-09-20 04:15  gb
6118
6119        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6120
61212006-09-20 04:14  gb
6122
6123        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6124        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6125
61262006-09-20 04:12  gb
6127
6128        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6129        8,16,32,64
6130
61312006-09-19 01:38  gb
6132
6133        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6134        vinsns for REQUIRE-[US][8,16,32,64]
6135
61362006-09-19 01:37  gb
6137
6138        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6139        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6140        64).
6141
61422006-09-19 01:36  gb
6143
6144        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6145
61462006-09-19 01:36  gb
6147
6148        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6149        operators.
6150
61512006-09-19 01:34  gb
6152
6153        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6154        require-[us][8,16,32,64] when possible.
6155
61562006-09-19 01:34  gb
6157
6158        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6159
61602006-09-19 01:33  gb
6161
6162        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6163
61642006-09-19 01:15  gb
6165
6166        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6167        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6168
61692006-09-19 00:36  gb
6170
6171        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6172
61732006-09-18 21:42  gb
6174
6175        * lib/macros.lisp: Macros for locking the input/output locks of an
6176        ioblock, assuming that it exists.
6177
61782006-09-17 00:45  gb
6179
6180        * level-1/l1-streams.lisp: more changes
6181
61822006-09-13 06:52  gb
6183
6184        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6185        WRITE-STRING, TERPRI.
6186
61872006-09-13 06:08  gb
6188
6189        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6190
61912006-09-13 06:07  gb
6192
6193        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6194        named encoding isn't defined.
6195       
6196        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6197
61982006-09-13 06:06  gb
6199
6200        * level-1/l1-streams.lisp: More functions in the ioblock, some
6201        support for 8-bit encodings (like utf-8).  Not finished, but
6202        getting hard to bootstrap; need to check in and build on all
6203        platforms before it gets even harder.
6204
62052006-09-12 05:34  gb
6206
6207        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6208        %copy-ivector-to-pointer) in BUG.
6209
62102006-09-12 05:31  gb
6211
6212        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6213        altstack_signal_handler is entered in foreign code.  (Maybe want to
6214        signal a lisp error in some cases, but this is currently fatal and
6215        we might as well die earlier than with a stack overflow.)
6216
62172006-09-12 05:29  gb
6218
6219        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6220        direction right on FreeBSD.  (Much better than randomly scribbling
6221        on memory in the GC, as the FreeBSD port has been doing for months
6222        now ...)
6223
62242006-09-11 21:31  gb
6225
6226        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6227        intersection.
6228
62292006-09-11 21:21  gb
6230
6231        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6232
62332006-09-11 20:10  gb
6234
6235        * level-1/l1-unicode.lisp: Character encodings contain a
6236        LITERAL-CHAR-CODE-LIMIT field.
6237
62382006-09-11 20:09  gb
6239
6240        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6241        functionality for encoded streams.
6242
62432006-09-11 20:08  gb
6244
6245        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6246
62472006-09-09 04:39  gb
6248
6249        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6250        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6251
62522006-09-09 04:21  gb
6253
6254        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6255        reasonable for ^c syntax; don't do MOD for octal.
6256
62572006-09-09 04:21  gb
6258
6259        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6260        agains boxed Unicode limit
6261
62622006-09-09 03:56  gb
6263
6264        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6265        x8664 functions, hash tables.  (PPC versions should handle hash
6266        table key movement.)
6267
62682006-09-08 22:47  gb
6269
6270        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6271        #x100.
6272
62732006-09-08 22:38  gb
6274
6275        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6276        FIXNUM->CHAR: return NIL for surrogate pairs.
6277
62782006-09-08 22:33  gb
6279
6280        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6281
62822006-09-08 22:31  gb
6283
6284        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6285        sanity-check fn/lr).
6286
62872006-09-08 18:55  gb
6288
6289        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6290        necessarily want arbitrary expressions to be compiled unsafely; do
6291        want to avoid a little type-checking sometimes.)
6292
62932006-09-08 18:52  gb
6294
6295        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6296        for values in the surrogate-pairs range.  (There are other things
6297        that it could plausibly return NIL for.)
6298
62992006-09-08 18:51  gb
6300
6301        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6302        now, just purify strings.
6303
63042006-09-08 18:48  gb
6305
6306        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6307        8), which is still useful (and exactly what it used to do.)
6308
63092006-09-08 18:47  gb
6310
6311        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6312
63132006-09-08 18:44  gb
6314
6315        * level-1/level-1.lisp: Load l1-unicode.
6316
63172006-09-08 18:44  gb
6318
6319        * level-1/l1-unicode.lisp: New file.
6320
63212006-09-07 03:50  gb
6322
6323        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6324
63252006-09-07 03:44  gb
6326
6327        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6328        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6329        attribute of the backend (may need more pure space on x86-64.)
6330
63312006-09-07 03:43  gb
6332
6333        * lisp-kernel/image.h: Bump abi version.
6334
63352006-09-07 03:43  gb
6336
6337        * level-1/version.lisp: Bump.
6338
63392006-09-07 02:58  gb
6340
6341        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6342        seems to mask synchronous signals.  Unmask them in signal handlers.
6343
63442006-09-07 02:57  gb
6345
6346        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6347        signal mask.
6348
63492006-09-07 02:56  gb
6350
6351        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6352        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6353        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6354        (char are 32 bits wide on all platforms now.)
6355
63562006-09-07 00:40  gb
6357
6358        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6359        SIGNUM_FOR_PROCESS_INTERRUPT.
6360
63612006-09-07 00:12  gb
6362
6363        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6364        box_fixnum_no_flags.
6365
63662006-09-07 00:12  gb
6367
6368        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6369        vice imul).
6370
63712006-09-06 21:18  gb
6372
6373        * compiler/X86/X8664/x8664-arch.lisp: Need
6374        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6375
63762006-09-06 18:37  gb
6377
6378        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6379        strings.
6380
63812006-09-06 18:36  gb
6382
6383        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6384        typecodes.
6385
63862006-09-06 18:36  gb
6387
6388        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6389        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6390
63912006-09-06 18:35  gb
6392
6393        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6394        contains entry for 32-bit BASE-CHAR.
6395
63962006-09-06 18:35  gb
6397
6398        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6399        extracting typecodes.
6400
64012006-09-06 18:34  gb
6402
6403        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6404        32-bit-chars.
6405
64062006-09-06 18:33  gb
6407
6408        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6409        :rcontext pseudo-register name until the target backend is in
6410        place.
6411
64122006-09-06 16:39  gb
6413
6414        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6415        stuff for x8664.
6416
64172006-09-06 16:39  gb
6418
6419        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6420        don't mix!
6421
64222006-09-06 16:38  gb
6423
6424        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6425
64262006-09-06 16:38  gb
6427
6428        * level-1/linux-files.lisp: process input/output: don't assume
6429        8-bit strings.
6430
64312006-09-06 14:42  gb
6432
6433        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6434        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6435        (since that creates confustion when cross-compiling from a
6436        non-poweropen host.)
6437
64382006-09-06 00:08  gb
6439
6440        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6441        8-bit char stuff.
6442
64432006-09-06 00:08  gb
6444
6445        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6446        here.
6447
64482006-09-05 22:49  gb
6449
6450        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6451        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6452
64532006-09-05 22:42  gb
6454
6455        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6456        of a non-simple string, understand char width issues.
6457
64582006-09-05 22:41  gb
6459
6460        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6461
64622006-09-05 22:40  gb
6463
6464        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6465        string type.
6466
64672006-09-05 22:39  gb
6468
6469        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6470
64712006-09-05 22:38  gb
6472
6473        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6474
64752006-09-05 09:13  gb
6476
6477        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6478        32-bit chars, too.
6479
64802006-09-05 09:01  gb
6481
6482        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6483        defaults to 32-bit chars.
6484
64852006-09-05 05:18  gb
6486
6487        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6488
64892006-09-05 05:18  gb
6490
6491        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6492        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6493
64942006-09-05 05:17  gb
6495
6496        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6497        for char size.
6498
64992006-09-05 05:16  gb
6500
6501        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6502        strings.
6503
65042006-09-05 05:15  gb
6505
6506        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6507        lisp_char_code; this may be more portable.
6508
65092006-09-05 05:14  gb
6510
6511        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6512
65132006-09-05 05:13  gb
6514
6515        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6516        8-bit char/strings.
6517
65182006-09-05 05:13  gb
6519
6520        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6521        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6522        the coding system in use.)
6523
65242006-09-05 05:09  gb
6525
6526        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6527        assume 8-bit strings.
6528
65292006-09-05 05:08  gb
6530
6531        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6532
65332006-09-05 05:07  gb
6534
6535        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6536        when #-target-8-bit-chars.
6537
65382006-09-05 05:06  gb
6539
6540        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6541        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6542
65432006-09-05 05:05  gb
6544
6545        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6546        :SIMPLE-STRING case with constant index.
6547
65482006-09-04 17:44  gb
6549
6550        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6551        "unsigned char", and cross fingers.
6552
65532006-09-04 17:38  gb
6554
6555        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6556        lisp_char_code type, use it when printing lisp string in the kernel
6557        debugger.
6558
65592006-09-04 17:28  gb
6560
6561        * level-1/version.lisp: Bump.
6562
65632006-09-04 17:18  gb
6564
6565        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6566        conditionalized backwards in PPC64 %INIT-MISC.
6567
65682006-09-04 17:05  gb
6569
6570        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6571        from the target arch (for bootstrapping.)
6572
65732006-09-04 17:04  gb
6574
6575        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6576        type of rdtab.ttab.
6577       
6578        Don't treat (code-char #xca) as whitespace; do treat (code-char
6579        #xa0) as whitespace.  (The former happens to be how the latter was
6580        encoded in MacRoman.)
6581       
6582        Handle U+<hex> syntax in NAME-CHAR.
6583
65842006-09-04 16:16  gb
6585
6586        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6587        and the char code with #xff to get the low byte.
6588
65892006-09-04 16:15  gb
6590
6591        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6592        and the char code with #xff or 255., not with #x255.  (Cause lots
6593        of wackiness, mostly in readtable initialization.)
6594
65952006-09-04 16:12  gb
6596
6597        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6598        u8->char (which is no more) in %CHAR-CODE.
6599
66002006-09-04 06:04  gb
6601
6602        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6603        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6604
66052006-09-04 06:03  gb
6606
6607        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6608        assertion.
6609
66102006-09-04 03:44  gb
6611
6612        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6613
66142006-09-04 03:43  gb
6615
6616        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6617        crf case of UNBOX-BASE-CHAR.
6618
66192006-09-04 02:30  gb
6620
6621        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6622        error.
6623
66242006-09-04 02:29  gb
6625
6626        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6627        size.
6628
66292006-09-04 02:26  gb
6630
6631        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6632        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6633        CHAR_SIZE_32.
6634
66352006-09-04 02:24  gb
6636
6637        * compiler/PPC/PPC32/ppc32-arch.lisp,
6638        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6639        compiler/PPC/PPC64/ppc64-arch.lisp,
6640        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6641        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6642
66432006-09-04 02:23  gb
6644
6645        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6646        32-bit characters.
6647
66482006-09-04 02:22  gb
6649
6650        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6651
66522006-09-03 16:03  gb
6653
6654        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6655        conditionalize new string types.
6656
66572006-09-03 16:03  gb
6658
6659        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6660        string element size.
6661
66622006-09-03 16:02  gb
6663
6664        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6665        level-0/l0-pred.lisp: Sketch out new string types (read-time
6666        conditionalized.)
6667
66682006-09-03 15:02  gb
6669
6670        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6671        bootstrapping.
6672
66732006-09-03 14:20  gb
6674
6675        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6676
66772006-09-03 13:22  gb
6678
6679        * compiler/: X86/X8664/x8664-backend.lisp,
6680        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6681        :target-8-bit-chars on target features.
6682
66832006-09-03 13:21  gb
6684
6685        * level-0/l0-int.lisp: Some comments/indentation.
6686
66872006-09-03 13:01  gb
6688
6689        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6690        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6691
66922006-09-02 11:24  gb
6693
6694        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6695
66962006-09-02 11:15  gb
6697
6698        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6699        a hex digit.
6700
67012006-09-02 11:11  gb
6702
6703        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6704        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6705       
6706        Don't do the whole msg_server here; just do the exc_server thing.
6707       
6708        Fix a couple of Mach exception-handling bugs; at least one more may
6709        remain.
6710
67112006-09-02 11:07  gb
6712
6713        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6714        pseudo_sigreturn.
6715       
6716        Still get spurious SIGTRAPs.
6717
67182006-09-02 11:06  gb
6719
6720        * lisp-kernel/thread_manager.c: Define some things in terms of
6721        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6722       
6723        sem_wait_forever() does repeated timed waits, since I thought that
6724        Darwin was having trouble interrpting things that waited
6725        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6726
67272006-09-02 11:03  gb
6728
6729        * lisp-kernel/Threads.h: Define some things in terms of
6730        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6731        2006, Darwin still doesn't implement enough POSIX semaphore
6732        functionality to make it possible to avoid the use of Mach
6733        semaphores.
6734
67352006-09-02 11:01  gb
6736
6737        * lib/db-io.lisp:
6738        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6739        involved.
6740
67412006-09-02 11:01  gb
6742
6743        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6744        aren't bogus objects.
6745
67462006-09-02 11:00  gb
6747
6748        * level-1/l1-streams.lisp: Try to avoid things like
6749        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6750
67512006-09-02 10:59  gb
6752
6753        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6754        FORCE-OUTPUT.
6755
67562006-09-02 10:57  gb
6757
6758        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6759        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6760       
6761        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6762        chars.
6763       
6764        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6765
67662006-09-02 10:55  gb
6767
6768        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6769        don't assume 8-bit chars.
6770
67712006-08-28 17:35  gb
6772
6773        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6774        misc_set_single_float_vector.
6775
67762006-08-28 17:01  gb
6777
6778        * xdump/faslenv.lisp: Bump max fasl version.
6779
67802006-08-28 16:48  gb
6781
6782        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6783
67842006-08-28 16:33  gb
6785
6786        * xdump/faslenv.lisp: Bump (max) fasl version.
6787
67882006-08-28 16:30  gb
6789
6790        * xdump/xfasload.lisp: xloader was missing a few new ops.
6791
67922006-08-28 05:34  gb
6793
6794        * xdump/xfasload.lisp: New string stuff here, too.
6795
67962006-08-28 05:28  gb
6797
6798        * level-0/nfasload.lisp: New string stuff.
6799
68002006-08-28 04:57  gb
6801
6802        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6803        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6804
68052006-08-28 04:57  gb
6806
6807        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6808        STREAM-READ-CHAR, since it may be faster in some cases.
6809
68102006-08-28 04:56  gb
6811
6812        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6813        (don't assume ioblock-based stream.)
6814
68152006-08-28 04:55  gb
6816
6817        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6818
68192006-08-28 04:55  gb
6820
6821        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6822         (Maybe not even cosmetic.)
6823
68242006-08-28 04:54  gb
6825
6826        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6827        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6828
68292006-08-28 04:53  gb
6830
6831        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6832
68332006-08-28 04:52  gb
6834
6835        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6836        ?  For how long will limit be 2^8 ?
6837
68382006-08-28 04:51  gb
6839
6840        * level-0/nfasload.lisp: More fasl ops.
6841
68422006-08-28 04:51  gb
6843
6844        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6845        u8-vref stuff.
6846
68472006-08-28 04:50  gb
6848
6849        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6850        not be the best way to do this.
6851
68522006-08-26 13:58  gb
6853
6854        * release-notes.txt: Updated.
6855
68562006-08-26 13:50  gb
6857
6858        * release-notes.txt: Updated.
6859
68602006-08-26 13:50  gb
6861
6862        * darwin-x86-headers64/libc/.cvsignore: Added.
6863
68642006-08-26 03:17  gb
6865
6866        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6867
68682006-08-26 03:12  gb
6869
6870        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6871        problems as always, but avoids problems with Darwin x86-64 ld64
6872        segfaulting for unknown reasons.
6873
68742006-08-26 03:11  gb
6875
6876        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6877        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6878        that we can't just return to after switching off of the alt stack.)
6879
68802006-08-26 03:08  gb
6881
6882        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6883        deciding whether or not to signal overflow.
6884
68852006-08-26 03:08  gb
6886
6887        * level-1/x86-trap-support.lisp: Need an indirection to access
6888        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6889        mcontext64.ss.
6890
68912006-08-26 03:06  gb
6892
6893        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6894        easier to step through.
6895
68962006-08-26 03:05  gb
6897
6898        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6899        in case.
6900
69012006-08-25 20:35  gb
6902
6903        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6904        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6905        REMOVE-AUTO-FLUSH-STREAM.
6906       
6907        Export them, too.
6908
69092006-08-25 20:22  gb
6910
6911        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6912        STREAM-READ-LINE.
6913
69142006-08-25 20:22  gb
6915
6916        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6917        most once but doesn't have to be the last clause.
6918
69192006-08-25 20:21  gb
6920
6921        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6922        INPUT-STREAM.
6923       
6924        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6925
69262006-08-25 20:19  gb
6927
6928        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6929        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6930        so unlock those streams with extreme prejudice before closing them.
6931
69322006-08-25 20:18  gb
6933
6934        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6935        code that assumed that interfered with handling of relative logical
6936        pathnames.
6937
69382006-08-25 20:17  gb
6939
6940        * level-1/l1-events.lisp: Rename EVENT-POLL to
6941        AUTO-FLUSH-INTERACTIVE-STREAMS.
6942       
6943        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6944        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6945        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6946       
6947        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6948       
6949        REMOVE-AUTOFLUSH-STREAM.
6950
69512006-08-25 20:13  gb
6952
6953        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6954        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6955
69562006-08-23 22:59  gb
6957
6958        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6959        SIGFPE.
6960       
6961        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6962
69632006-08-23 22:58  gb
6964
6965        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6966        pretty casual about causing spurious exceptions, so ignore them.
6967
69682006-08-23 22:57  gb
6969
6970        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6971        version, with different signals to be ignored by gdb.
6972
69732006-08-23 22:56  gb
6974
6975        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6976        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6977        Use int $0 instead.
6978
69792006-08-23 22:55  gb
6980
6981        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6982        support; may need more work.
6983
69842006-08-22 02:08  gb
6985
6986        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6987        for printing integers), since it seems to need access to pthread
6988        data (and calling print_lisp_object() from GDB might fail if %gs is
6989        pointing at the lisp TCR.)
6990
69912006-08-22 02:06  gb
6992
6993        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6994        earlier in _SPffcall, before entering foreign context.  (Need to
6995        check PPC version(s) as well.)
6996       
6997        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6998        between foreign code and lisp.
6999
70002006-08-22 02:04  gb
7001
7002        * lisp-kernel/x86-macros.s: Fix a typo.
7003
70042006-08-22 02:04  gb
7005
7006        * lisp-kernel/x86-exceptions.h: Define a few more things ...
7007
70082006-08-22 02:03  gb
7009
7010        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
7011        exception handling code.
7012       
7013        Do the DARWIN_GS_HACK things to overload %gs.
7014
70152006-08-22 02:02  gb
7016
7017        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
7018        for DarwinX8664.
7019
70202006-08-22 02:01  gb
7021
7022        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
7023        should really have tested WORD_SIZE.
7024       
7025        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
7026        not be necessary.)
7027       
7028        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
7029
70302006-08-22 01:59  gb
7031
7032        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
7033        x8664.
7034       
7035        Some PPC64 conditionalizations should really have tested WORD_SIZE.
7036
70372006-08-22 01:58  gb
7038
7039        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
7040        FreeBSDX664, DarwinX8664.
7041
70422006-08-22 01:57  gb
7043
7044        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
7045        lower seg1addr.
7046       
7047        Something in the (m4-generated) symbolic info in some .s files is
7048        screwy and causes ld64 to segfault; it's currently necesssary to
7049        use "strip -S" on the assembler-generated .o files.
7050
70512006-08-22 01:55  gb
7052
7053        * scripts/openmcl64: Untested changes for Darwinx8664.
7054
70552006-08-22 01:54  gb
7056
7057        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
7058        xload-backend-info (compiler target is :darwinx8664, not
7059        :linuxx8664).
7060
70612006-08-22 01:53  gb
7062
7063        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
7064        cross-compiling to x86 from x86.
7065
70662006-08-22 01:52  gb
7067
7068        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
7069        (not :DARWINPPC-TARGET).
7070
70712006-08-22 01:50  gb
7072
7073        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
7074
70752006-08-22 01:50  gb
7076
7077        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
7078
70792006-08-22 01:49  gb
7080
7081        * level-1/version.lisp: Bump.
7082
70832006-08-22 01:49  gb
7084
7085        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
7086        BASIC-STREAMs.
7087
70882006-08-22 01:48  gb
7089
7090        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
7091        DARWIN-TARGET, not DARWINPPC-TARGET.
7092
70932006-08-22 01:47  gb
7094
7095        * level-0/l0-init.lisp: DarwinX8664 *features*.
7096
70972006-08-22 01:47  gb
7098
7099        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
7100        really want to be DARWIN-TARGET.
7101
71022006-08-22 01:46  gb
7103
7104        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
7105        DarwinX8664.
7106
71072006-08-22 01:45  gb
7108
7109        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7110        compiling natively.
7111       
7112        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7113
71142006-08-22 01:44  gb
7115
7116        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7117        is defined, even on x86.  Use it if not compiling natively on x86.
7118
71192006-08-20 23:59  gb
7120
7121        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7122
71232006-08-20 23:58  gb
7124
7125        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7126
71272006-08-20 23:58  gb
7128
7129        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7130        prototypes for DARWIN_GS_HACK %gs segment switching.
7131
71322006-08-20 23:57  gb
7133
7134        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7135        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7136       
7137        This isn't so bad, but doing it around every ff-call might be.
7138
71392006-08-20 23:56  gb
7140
7141        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7142
71432006-08-20 23:53  gb
7144
7145        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7146
71472006-08-20 23:51  gb
7148
7149        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7150
71512006-08-20 23:51  gb
7152
7153        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7154        also temporary.
7155
71562006-08-20 23:50  gb
7157
7158        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7159        mcontext64 in x8664 Darwin is temporary.
7160
71612006-08-20 20:35  gb
7162
7163        * library/darwinx664-syscalls.lisp: typo
7164
71652006-08-20 20:35  gb
7166
7167        * library/darwinx8664-syscalls.lisp: spell name right
7168
71692006-08-20 17:10  gb
7170
7171        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7172
71732006-08-20 17:10  gb
7174
7175        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7176        (do other things still use read-time conditionals ?)
7177
71782006-08-20 17:09  gb
7179
7180        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7181        setup syscall mask.
7182
71832006-08-20 17:08  gb
7184
7185        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7186        well.
7187
71882006-08-20 17:06  gb
7189
7190        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7191        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7192        word-size issues.)
7193
71942006-08-20 17:03  gb
7195
7196        * library/darwinppc-syscalls.lisp: Mask for PPC.
7197
71982006-08-20 17:02  gb
7199
7200        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7201        level-1/linux-files.lisp: Syscall conditionalization.
7202
72032006-08-20 17:01  gb
7204
7205        * level-1/l1-streams.lisp: Syscall conditionalization.
7206       
7207        SELECTION-INPUT-STREAM created with :sharing :lock.
7208
72092006-08-20 17:00  gb
7210
7211        * examples/objc-runtime.lisp: Fencepost in
7212        POINTER-IN-CFSTRING-SECTION-P.
7213
72142006-08-20 16:16  gb
7215
7216        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7217
72182006-08-18 09:50  gb
7219
7220        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7221        x8664.  Should do this on PPC as well, and should probably offer
7222        some backward-compatible behavior for reader.
7223
72242006-08-18 09:47  gb
7225
7226        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7227        backend a little.
7228       
7229        Explicily define lisp-context-register slot in each backend (%gs
7230        for those imolementations that follow the standard ABI, %fs for
7231        Darwin.)
7232
72332006-08-18 09:44  gb
7234
7235        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7236        necessary.
7237
72382006-08-18 09:43  gb
7239
7240        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7241        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7242        slot.
7243
72442006-08-18 09:42  gb
7245
7246        * compiler/backend.lisp: Backend now has a lisp-context-register
7247        slot.
7248
72492006-08-18 09:42  gb
7250
7251        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7252
72532006-08-18 09:40  gb
7254
7255        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7256        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7257        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7258        and play like the other children.
7259
72602006-08-18 09:29  gb
7261
7262        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7263        code from the PPC version and tweak it a little; needs more work.
7264
72652006-08-18 09:27  gb
7266
7267        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7268        conditionalization.
7269
72702006-08-18 09:25  gb
7271
7272        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7273       
7274        Generate an equate for HAVE_TLS.
7275
72762006-08-18 09:23  gb
7277
7278        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7279
72802006-08-18 09:19  gb
7281
7282        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7283        absolute jumps, prefers slower ones.
7284       
7285        Move lock prefixes to their own lines, to satisfy you-know-who.
7286       
7287        If we don't have thread-local-storage (TLS), it's hard to avoid the
7288        get_tcr() call on each calback.
7289
72902006-08-18 09:13  gb
7291
7292        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7293        that we HAVE_TLS.
7294
72952006-08-17 10:41  phil
7296
7297        * examples/FFI/:
7298        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7299        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7300        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7301        Using-basic-calls-and-types/Readme.rtf,
7302        Using-basic-calls-and-types/typetest-compile.sh,
7303        Using-basic-calls-and-types/typetest.c,
7304        Using-basic-calls-and-types/typetest.lisp: Initial version
7305
73062006-08-17 10:40  phil
7307
7308        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7309        [no log message]
7310
73112006-08-08 13:07  gb
7312
7313        * lisp-kernel/darwinx8664/Makefile: New file.
7314
73152006-08-08 13:07  gb
7316
7317        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7318
73192006-08-08 13:06  gb
7320
7321        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7322
73232006-08-08 13:05  gb
7324
7325        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7326        instructions on the same line as the locked instruction.  (Maybe
7327        there's a better way to do this, than just pretending that lock is
7328        a standalone instruction, but that lock instruction does seem to be
7329        treated as a prefix.)
7330
73312006-08-08 13:03  gb
7332
7333        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7334        dlfcn) on Darwin.
7335
73362006-08-08 13:02  gb
7337
7338        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7339        doesn't define mcontext64, but lots of other things reference it.
7340        #define it here for now, but that'll likely break when the headers
7341        are fixed.
7342
73432006-08-08 12:58  gb
7344
7345        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7346
73472006-08-08 12:58  gb
7348
7349        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7350        x8664/Darwin.
7351
73522006-07-29 08:41  gb
7353
7354        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7355         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7356        needs READ/WRITE- SEQUENCE support.
7357
73582006-07-29 07:39  gb
7359
7360        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7361        lock.  TODO: evaluate whether resources are worthwhile;  used for
7362        string-output-stream allocation and DELETE-DUPLICATES.
7363
73642006-07-29 06:27  gb
7365
7366        * library/lispequ.lisp: Resources aren't thread-private, need
7367        locks.
7368
73692006-07-29 06:26  gb
7370
7371        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7372        BASIC-STREAMs.
7373
73742006-07-29 06:26  gb
7375
7376        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7377        default.
7378
73792006-07-29 06:25  gb
7380
7381        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7382        been used in 10 or 12 years.
7383
73842006-07-29 03:40  gb
7385
7386        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7387
73882006-07-29 03:40  gb
7389
7390        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7391        for now.
7392
73932006-07-29 03:39  gb
7394
7395        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7396        makes one more slot in BASIC-FILE-STREAM.
7397
73982006-07-28 04:17  gb
7399
7400        * level-1/version.lisp: Bump.
7401
74022006-07-28 04:15  gb
7403
7404        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7405        in IOBLOCK.
7406
74072006-07-28 01:17  gb
7408
7409        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7410
74112006-07-28 01:16  gb
7412
7413        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7414
74152006-07-28 00:58  gb
7416
7417        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7418        output.
7419       
7420        (SLIME probably faces the same issue; should probably do something
7421        in the auto-flush case.  Of course, it's hard to know just what to
7422        do in that case. or at least what to do safely in that case.)
7423
74242006-07-28 00:49  gb
7425
7426        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7427        FUNDAMENTAL-FILE-STREAM.
7428
74292006-07-28 00:49  gb
7430
7431        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7432
74332006-07-28 00:48  gb
7434
7435        * library/lispequ.lisp: Need an explicit
7436        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7437
74382006-07-28 00:47  gb
7439
7440        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7441
74422006-07-25 03:48  gb
7443
7444        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7445
74462006-07-24 04:55  gb
7447
7448        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7449        BASIC-STREAMs.
7450
74512006-07-24 04:55  gb
7452
7453        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7454        appear.
7455
74562006-07-24 04:51  gb
7457
7458        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7459
74602006-07-24 02:43  gb
7461
7462        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7463        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7464        implementation of it (and BASIC-FILE-STREAM soon will be.)
7465
74662006-07-23 03:05  gb
7467
7468        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7469
74702006-07-23 03:03  gb
7471
7472        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7473        and is inlined.
7474       
7475        Some bug fixes; STREAM class no longer has slots.
7476       
7477        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7478        variants; fix read-byte botch (should vector according to
7479        element-type.)
7480
74812006-07-23 02:54  gb
7482
7483        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7484        STREAM-IOBLOCK now takes 2 required args.
7485
74862006-07-23 02:54  gb
7487
7488        * level-1/version.lisp: Bump.
7489
74902006-07-23 02:53  gb
7491
7492        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7493        like.
7494
74952006-07-23 02:53  gb
7496
7497        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7498       
7499        Likewise WITH-EAGAIN.
7500
75012006-07-23 01:12  gb
7502
7503        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7504        l1-sockets.lisp: Fix a few botches.
7505       
7506        :private arg to stream creation primitives replaced with :sharing,
7507        which can have values:
7508       
7509         :private (the default; stream can only be accessed by the creating
7510        thread)
7511         :lock  (the old, often slow, default); most accesses to stream
7512        involve locking
7513         :nil or :external (stream code doesn't enforce exclusion).
7514
75152006-07-22 23:57  gb
7516
7517        * level-1/l1-streams.lisp: Bootstrapping stuff.
7518       
7519        Move along, nothing to see here.
7520
75212006-07-20 03:43  gb
7522
7523        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7524        l1-sysio.lisp: First (rough) cut at making streams "private"
7525        (effectively always locked by the "owning" thread) to reduce some
7526        locking overhead.  More to come, some of which will be a little
7527        tricky to bootstrap.
7528
75292006-07-20 01:09  gb
7530
7531        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7532        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7533        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7534
75352006-07-20 01:09  gb
7536
7537        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7538
75392006-07-20 01:08  gb
7540
7541        * level-1/version.lisp: Bump.
7542
75432006-07-20 01:07  gb
7544
7545        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7546         A little tricky to bootstrap.
7547
75482006-07-20 01:05  gb
7549
7550        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7551        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7552        (istruct-based) lisp-thread accessors.
7553
75542006-07-20 01:02  gb
7555
7556        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7557        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7558        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7559        BASIC-STREAM.
7560
75612006-07-15 15:02  gb
7562
7563        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7564        IMPOSSIBLE-NUMBER condition :REPORT method.
7565
75662006-07-15 15:00  gb
7567
7568        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7569        simple vector operations unless we're sure that the vector is a
7570        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7571        leaping into the simple-typed-vector case when the element-type was
7572        known but the vector wasn't known to be SIMPLE.
7573
75742006-07-14 05:57  gb
7575
7576        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7577
75782006-07-13 16:01  gb
7579
7580        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7581        know about FIXNUM arrays.
7582
75832006-07-11 14:23  gb
7584
7585        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7586        (2-address instructions) in natural logical, arithmetic operations.
7587
75882006-07-05 02:38  gb
7589
7590        * release-notes.txt: Update.
7591
75922006-07-05 02:22  gb
7593
7594        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7595        its removal needs to be better publicized.
7596
75972006-07-04 22:24  gb
7598
7599        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7600        PROGRAM arg to RUN-PROGRAM.
7601
76022006-07-04 22:23  gb
7603
7604        * level-1/version.lisp: Bump.
7605
76062006-06-29 02:11  gb
7607
7608        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7609        image-abi-version.
7610
76112006-06-28 05:24  gb
7612
7613        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7614        pointer on DarwinPPC32 (at the very least, that platform's
7615        xFindSymbol gets confused by anything but a null pointer/global
7616        lookup.)
7617
76182006-06-28 05:09  gb
7619
7620        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7621        "Alpha", which may be a bit generous (pretty regular deadlock,
7622        random thread creation errors, other bugs.)
7623
76242006-06-28 05:07  gb
7625
7626        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7627        x86-64 version.
7628
76292006-06-28 04:04  gb
7630
7631        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7632        identifying the cause of XMM FP exceptions.  Try to do that by
7633        looking at MXCSR bits.
7634
76352006-06-28 04:03  gb
7636
7637        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7638        indicate error return.
7639
76402006-06-28 04:03  gb
7641
7642        * level-1/: l1-sockets.lisp, linux-files.lisp,
7643        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7644
76452006-06-28 04:02  gb
7646
7647        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7648        breakpoint.
7649
76502006-06-27 18:08  gb
7651
7652        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7653
76542006-06-27 17:30  gb
7655
7656        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7657
76582006-06-27 17:27  gb
7659
7660        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7661        portable; possibly break it completely ...
7662
76632006-06-27 08:55  gb
7664
7665        * lisp-kernel/x86-exceptions.c: map the altstack
7666        read/write/execute.
7667
76682006-06-27 08:54  gb
7669
7670        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7671        FreeBSD.
7672
76732006-06-27 08:54  gb
7674
7675        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7676        <pthread_np.h>
7677
76782006-06-27 08:53  gb
7679
7680        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7681        :freebsdx8664.
7682
76832006-06-27 08:53  gb
7684
7685        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7686        testing.)
7687       
7688        Don't conditionalize as much code. Indices/offsets are
7689        platform-specific, but accessors defiend in terms of them needn't
7690        be.
7691
76922006-06-27 08:51  gb
7693
7694        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7695        comment.)
7696
76972006-06-27 08:50  gb
7698
7699        * level-0/l0-init.lisp: More freebsd x8664 features.
7700
77012006-06-27 08:50  gb
7702
7703        * scripts/openmcl64: Update for FreeBSD/amd64.
7704
77052006-06-27 08:47  gb
7706
7707        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7708        :freebsdx8664-target as a target-specific-feature.
7709
77102006-06-27 05:05  gb
7711
7712        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7713        freebsd8664/elf_x86_64.x: directory rename
7714
77152006-06-27 04:59  gb
7716
7717        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7718
77192006-06-27 04:47  gb
7720
7721        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7722
77232006-06-27 04:46  gb
7724
7725        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7726        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7727
77282006-06-27 04:45  gb
7729
7730        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7731       
7732        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7733
77342006-06-27 04:44  gb
7735
7736        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7737        suspend_resume_handler.
7738
77392006-06-27 04:44  gb
7740
7741        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7742        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7743
77442006-06-27 04:43  gb
7745
7746        * lisp-kernel/imports.s: Don't import metering-control; do import
7747        get_r_debug().
7748
77492006-06-27 04:42  gb
7750
7751        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7752        word-size stuff (here and in other versions.)
7753
77542006-06-27 04:42  gb
7755
7756        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7757        FreeBSD.
7758
77592006-06-27 04:39  gb
7760
7761        * lib/foreign-types.lisp: Signed char nonsense (should use target
7762        ftd, not reader macros here.)
7763
77642006-06-27 04:38  gb
7765
7766        * lib/compile-ccl.lisp: Some FreeBSD support.
7767
77682006-06-27 04:36  gb
7769
7770        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7771        Some FreeBSD changes/conditionalization. Maybe not enough.
7772
77732006-06-27 04:35  gb
7774
7775        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7776
77772006-06-27 04:34  gb
7778
7779        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7780
77812006-06-27 04:34  gb
7782
7783        * level-0/l0-io.lisp: FreeBSD syscalls.
7784
77852006-06-27 04:33  gb
7786
7787        * level-0/l0-init.lisp: Some FreeBSD features.
7788
77892006-06-27 04:33  gb
7790
7791        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7792        changes.
7793       
7794        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7795        and test.
7796       
7797        Now depends on an imported lisp-kernel function on ELF platforms
7798        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7799
78002006-06-27 04:30  gb
7801
7802        * level-0/.cvsignore: Ignore *fsl.
7803
78042006-06-27 04:29  gb
7805
7806        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7807        in freebsd backend.
7808
78092006-06-27 04:27  gb
7810
7811        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7812        metering-control; do import get-r-debug (for Elf shared libraries.)
7813       
7814        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7815
78162006-06-27 04:26  gb
7817
7818        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7819        Don't import metering-control; do import get-r-debug (for Elf
7820        shared libraries.)
7821
78222006-06-27 04:26  gb
7823
7824        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7825
78262006-06-26 16:38  gb
7827
7828        * compiler/X86/X8664/x8664-vinsns.lisp:
7829        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7830        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7831        constant #xffff000000000000 come from ?
7832
78332006-06-26 16:35  gb
7834
7835        * compiler/X86/x862.lisp: Fix some indentation.
7836
78372006-06-25 20:32  gb
7838
7839        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7840        change initialiation of x8664 foreign-type stuff.
7841
78422006-06-25 20:31  gb
7843
7844        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7845
78462006-06-23 19:52  gb
7847
7848        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7849        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7850
78512006-06-23 19:28  gb
7852
7853        * release-notes.txt: Update some.
7854
78552006-06-23 19:11  gb
7856
7857        * examples/gtk2-clock.lisp: New file.
7858
78592006-06-23 18:56  gb
7860
7861        * level-1/version.lisp: Bump.
7862
78632006-06-23 18:52  gb
7864
7865        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7866
78672006-06-22 13:39  gb
7868
7869        * x86-headers64/gnome2/C/.cvsignore: new
7870
78712006-06-22 13:36  gb
7872
7873        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7874
78752006-06-22 13:33  gb
7876
7877        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7878        gnome2/.cvsignore: new
7879
78802006-06-22 13:30  gb
7881
7882        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7883
78842006-06-22 13:28  gb
7885
7886        * level-1/version.lisp: Bump.
7887
78882006-06-21 15:15  gb
7889
7890        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7891        ppc-spentry.s: Define new string subtags; handle them in ppc64
7892        misc_ref/misc_set.
7893
78942006-06-21 15:14  gb
7895
7896        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7897        versions) to handle FIXNUM vectors, new UCS4 strings.
7898
78992006-06-21 15:14  gb
7900
7901        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7902        versions) to handle FIXNUM vectors, new UCS4 strings.
7903
79042006-06-21 15:12  gb
7905
7906        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7907        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7908        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7909
79102006-06-21 15:11  gb
7911
7912        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7913
79142006-06-21 15:11  gb
7915
7916        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7917        wasn't updated with the introduction of fixnum vectors, (unused)
7918        UCS4 "new"strings.
7919
79202006-06-16 03:50  gb
7921
7922        * examples/objc-support.lisp: Re-compute static NSString info after
7923        opening an extension framework.
7924
79252006-06-16 03:45  gb
7926
7927        * examples/webkit.lisp: Use new functions for augmenting
7928        interfaces, loading framework.
7929
79302006-06-16 03:43  gb
7931
7932        * examples/objc-runtime.lisp: Juggle things around so that add-on
7933        framework bundles get loaded on appication re-launch.
7934       
7935        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7936        since (a) it may not be there, or may not be where we can find it
7937        yet and (b) it's probably more reasonable to do that than it would
7938        be to teach CLOS about classes that're "discovered" when the
7939        appication's launched on a newer OS release than it was saved on.
7940
79412006-06-16 03:39  gb
7942
7943        * examples/cocoa-application.lisp: Touch tha application bundle
7944        before saving an image into it.  That -may- convincve
7945        LaunchServices to do the right thing.
7946
79472006-06-16 03:38  gb
7948
7949        * examples/objc-support.lisp: Reload any addon/framework bundles
7950        that had been loaded before the image was saved when starting a
7951        bundled application.
7952       
7953        Juggle things around, so that that works (need to be able to use
7954        low-level bridge features early.)
7955
79562006-06-16 03:36  gb
7957
7958        * lib/db-io.lisp: Disable the #? reader macro.
7959
79602006-06-14 15:42  gb
7961
7962        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7963        lfun-bits.
7964
79652006-06-12 20:24  gb
7966
7967        * lib/ppc-backtrace.lisp: PPC version of
7968        %find-register-argument-value had the same sort of fencepost as the
7969        x86-64 version had a few days ago.
7970
79712006-06-10 23:52  gb
7972
7973        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7974        its GENERIC-FUNCTION-LAMBDA-LIST.
7975
79762006-06-10 23:51  gb
7977
7978        * level-1/l1-clos.lisp: Give reader/writer method args more
7979        descriptive names. (Barely more descriptive ...)
7980
79812006-06-10 19:25  gb
7982
7983        * level-1/l1-clos-boot.lisp: Arrgh.  In
7984        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7985        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7986        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7987       
7988        This was keeping non-standard instances - like ObjC classes and
7989        metaclasses - from having some of their slots initialized
7990        correctly.
7991
79922006-06-10 19:22  gb
7993
7994        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7995        objc-metaclass: don't die if the class is unnamed (makes it easier
7996        to print classes for debugging during initialization.)
7997
79982006-06-10 13:05  gb
7999
8000        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
8001        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
8002
80032006-06-08 05:01  gb
8004
8005        * release-notes.txt: Update a bit.
8006
80072006-06-08 03:56  gb
8008
8009        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
8010        image-abi-version.
8011
80122006-06-08 03:46  gb
8013
8014        * xdump/faslenv.lisp: Bump (min) fasl version.
8015
80162006-06-08 03:35  gb
8017
8018        * lib/nfcomp.lisp: Bump (current) fasl-version.
8019
80202006-06-08 03:28  gb
8021
8022        * lisp-kernel/linuxx8664/Makefile: -O2.
8023
80242006-06-08 03:26  gb
8025
8026        * xdump/faslenv.lisp: Bump (max) fasl version.
8027
80282006-06-08 03:18  gb
8029
8030        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
8031        doubt and claim that it's a beta.
8032
80332006-06-08 03:18  gb
8034
8035        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
8036
80372006-06-08 03:17  gb
8038
8039        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
8040        options; enable -O2.
8041
80422006-06-08 02:55  gb
8043
8044        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
8045        Handle suspend (and maybe someday resume, again) signals on the
8046        altstack, since we don't really want a signal context in the middle
8047        of the tagged lisp stack ...
8048
80492006-06-08 02:52  gb
8050
8051        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
8052        PLATFORM-exceptions.c; some constants/prototypes moved to
8053        Threads.h.
8054
80552006-06-08 02:51  gb
8056
8057        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
8058        via install_signal_handler(); thread_signal_setup() moved here, to
8059        do that installation.
8060
80612006-06-08 02:50  gb
8062
8063        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
8064       
8065        Don't call (or define) prepare_for_the_worst(), which is kind of
8066        too bad ...
8067
80682006-06-08 02:49  gb
8069
8070        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
8071
80722006-06-08 01:11  gb
8073
8074        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
8075        let OPTIMIZE proclamations persist beyond the LOAD.
8076
80772006-06-07 21:45  gb
8078
8079        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
8080
80812006-06-07 21:38  gb
8082
8083        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
8084        MMX regs.  Do maintain them in TCR.
8085
80862006-06-07 21:37  gb
8087
8088        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
8089        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
8090        temporary (old tsp), finish frame by storing into tcr.save_tsp.
8091
80922006-06-07 21:34  gb
8093
8094        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
8095
80962006-06-07 21:33  gb
8097
8098        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
8099        %stack_temp.
8100
81012006-06-07 21:32  gb
8102
8103        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
8104
81052006-06-07 21:30  gb
8106
8107        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8108        now.
8109
81102006-06-07 21:30  gb
8111
8112        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8113        (since it no longer exists ...).  Use %stack-temp in some cases.
8114
81152006-06-07 21:29  gb
8116
8117        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8118        %stack-temp is a symbolic name for an MMX register that can be used
8119        for (e.g.) linking frames on the temp/foreign stacks (or for any
8120        other purpose ...)
8121
81222006-06-07 15:29  gb
8123
8124        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8125        tcr.next_tsp in sync with %next_tsp Check to ensure that
8126        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8127        allocating on the temp stack.  (This will soon change, so that %tsp
8128        and %next_tsp will not be canonical and the tcr fields are, then
8129        will change so that %tsp and %next_tsp will cease to exist.)
8130
81312006-06-07 15:25  gb
8132
8133        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8134
81352006-06-07 15:25  gb
8136
8137        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8138        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8139        a temporary.
8140
81412006-06-07 15:23  gb
8142
8143        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8144        don't need FP regs for this.  (They're sometimes invalid and
8145        sometimes missing, which is the point of recent changes.)
8146
81472006-06-07 15:21  gb
8148
8149        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8150        to %Rnext_tsp to avoid potential m4 lossage.
8151
81522006-06-07 15:20  gb
8153
8154        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8155
81562006-06-07 15:20  gb
8157
8158        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8159
81602006-06-07 15:19  gb
8161
8162        * level-1/version.lisp: Bump.
8163
81642006-06-07 15:19  gb
8165
8166        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8167
81682006-06-07 15:18  gb
8169
8170        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8171        foreign-sp register (though some code still uses %mm5 as a
8172        temporary, the "canonical" foreign SP is maintained in the TCR.)
8173
81742006-06-07 04:52  gb
8175
8176        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8177        frame, get the foreign SP out of the TCR.
8178
81792006-06-07 04:52  gb
8180
8181        * compiler/X86/X8664/x8664-vinsns.lisp,
8182        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8183        maintain the foreign sp in both the TCR and the MMX register, but
8184        consider the TCR version to be canonical.
8185
81862006-06-07 02:46  gb
8187
8188        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8189        %tsp MMX register doesn't match the value in the tcr, trap.
8190        Likewise for %foreign-sp.
8191
81922006-06-07 01:29  gb
8193
8194        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8195        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8196        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8197       
8198        (The idea is to keep the temp/foreign stack pointers in the tcr and
8199        only use the MMX registers as temporaries, since it seems that
8200        handlers for asynchronous signals can't count on the MMX register
8201        values in the signal context being correct.  This seems to either
8202        be a Linux kernel bug or ill-considered if it's intentional
8203        behavior, but it seems better to work around it this way.)
8204       
8205        This is just an early step in bootstrapping that change; it's being
8206        checked into CVS so that it doesn't get lost (and so that I can
8207        recover to this point if/when I hose things on a later step.)
8208
82092006-06-07 01:24  gb
8210
8211        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8212        tcr.
8213
82142006-06-07 01:22  gb
8215
8216        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8217        next_tsp slot to the tcr.
8218
82192006-06-06 04:25  gb
8220
8221        * lib/ppc-metering.lisp: no hope
8222
82232006-06-06 04:22  gb
8224
8225        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8226        frame (cfp argument) could be an exception callback frame (xcf-p
8227        may be true of it), in which case the saved register value is in
8228        the xcf.xp context.  (Basically, this means look at the first frame
8229        if it's an xcf, otherwise skip it and start with the child.)
8230
82312006-06-06 01:48  gb
8232
8233        * compiler/X86/x86-lapmacros.lisp,
8234        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8235        Using imul to box fixnums is smaller and seems to be faster than
8236        using lea with a scale factor.
8237
82382006-06-05 23:56  gb
8239
8240        * lisp-kernel/thread_manager.c: I don't think that
8241        suspend_resume_handler wants to have suspend signals unmasked, does
8242        it ?
8243
82442006-06-05 12:43  gb
8245
8246        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8247
82482006-06-03 03:11  gb
8249
8250        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8251        last catch frame, do skip others (test was backwards.  As it
8252        probably had been in the single-value case at one point.)
8253
82542006-06-02 03:48  gb
8255
8256        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8257        *terminal-io*; do print it to *trace-output*.
8258
82592006-06-01 20:20  gb
8260
8261        * level-0/l0-array.lisp: There's a T in subtag.
8262
82632006-06-01 20:17  gb
8264
8265        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8266       
8267        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8268       
8269        correctly.
8270
82712006-06-01 20:16  gb
8272
8273        * compiler/nx0.lisp: Defvars for global optimization quantities
8274        moved to level-0.
8275
82762006-06-01 20:15  gb
8277
8278        * level-1/l1-files.lisp: Bind the variables which hold global
8279        compiler optimization quantities, since people persist in doing
8280        things like:
8281       
8282        (declaim (optimize
8283        <something-that-they-probably-think-has-local-effects>))
8284       
8285        without bothering to use EVAL-WHEN or otherwise thinking very
8286        clearly.
8287       
8288        Note that this means that anyone who wanted such a declamation to
8289        have persistent global effects is now SOL.  Blame whoever wrote
8290        (for instance) clx/glx.lisp.
8291
82922006-06-01 20:11  gb
8293
8294        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8295        be referenced early in the cold load.
8296
82972006-06-01 13:13  gb
8298
8299        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8300        pointer to ENCODED-GPR-LISP if we have to get the register value
8301        from an exception frame.
8302
83032006-05-30 19:27  gwking
8304
8305        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8306        1.98)
8307
83082006-05-30 17:12  gb
8309
8310        * level-1/version.lisp: bump again.
8311
83122006-05-30 16:31  gb
8313
8314        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8315        ensure that tcr.xframe is updated from the catch frame (a) in all
8316        execution paths and (b) before RSP is updated.
8317
83182006-05-30 16:30  gb
8319
8320        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8321        vectors.
8322
83232006-05-30 16:29  gb
8324
8325        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8326
83272006-05-30 16:29  gb
8328
8329        * release-notes.txt: Update some more ...
8330
83312006-05-30 16:23  gb
8332
8333        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8334        Apparently.
8335
83362006-05-30 16:15  gb
8337
8338        * release-notes.txt: updated
8339
83402006-05-30 01:58  gb
8341
8342        * level-1/version.lisp: Bump.
8343
83442006-05-30 01:48  gb
8345
8346        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8347        made copies of the signal context and siginfo on the foreign stack,
8348        don't pass the originals to interrupt_handler().
8349       
8350        (altstack_interrupt_handler() looks suspiciously like
8351        altstack_signal_handler(), which probably had the same bug a few
8352        months ago ...)
8353       
8354        Since the alternate signal stack (as we use it) isn't reentrant,
8355        the next signal (perhaps a suspend signal) overwrote the context.
8356        Which is one reason to have made a copy in the first place ...
8357
83582006-05-30 01:43  gb
8359
8360        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8361        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8362        timeout is a good idea here, make sure that the timeout isn't
8363        fooled by #$EINTR.
8364
83652006-05-30 01:39  gb
8366
8367        * level-1/linux-files.lisp: Rename the old
8368        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8369        since it basically waits indefinitely.
8370       
8371        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8372        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8373        a "timed wait" that handles interruptions, etc. when the caller
8374        just has a "raw" (native) semaphore.
8375       
8376        Change callers, endure warnings.  New binaries soon.
8377
83782006-05-30 01:36  gb
8379
8380        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8381        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8382
83832006-05-29 22:34  gb
8384
8385        * lisp-kernel/x86-exceptions.c: The
8386        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8387        too small ...
8388
83892006-05-29 14:03  gb
8390
8391        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8392        syscall-based getcwd (it doesn't work as it once did/is documented
8393        to on linuxx8664); use the library function on all platforms.
8394
83952006-05-29 14:02  gb
8396
8397        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8398        processing interrupt.
8399
84002006-05-28 17:01  gb
8401
8402        * lisp-kernel/ppc-exceptions.c: If we handle a
8403        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8404       
8405        Back out of the hack that tried to work around a Darwin bug (FP
8406        exception flags were cleared in the MSR after a thread had been
8407        interrupted via pthread_kill()), since the fix seems not to be
8408        GC-safe.
8409       
8410        Add some debugging code to print when the exception lock is
8411        acquired/released.
8412
84132006-05-28 01:10  gb
8414
8415        * level-1/solaris-files.lisp: long gone
8416
84172006-05-23 20:25  gb
8418
8419        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8420
84212006-05-22 22:59  gb
8422
8423        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8424        C/.cvsignore: New file.
8425
84262006-05-22 22:57  gb
8427
8428        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8429        thread to suspend itself.
8430
84312006-05-22 22:57  gb
8432
8433        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8434        SINGLE-FLOAT constants.
8435       
8436        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8437        64-bit arg word, regardless of whether they're also passed in
8438        f1-f13 as well.
8439
84402006-05-22 22:55  gb
8441
8442        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8443        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8444        64-bit word.
8445
84462006-05-22 22:54  gb
8447
8448        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8449        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8450
84512006-05-22 22:53  gb
8452
8453        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8454        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8455        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8456        access them.
8457
84582006-05-22 03:53  gb
8459
8460        * level-1/version.lisp: Bump.
8461
84622006-05-22 03:32  gb
8463
8464        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8465
84662006-05-22 03:31  gb
8467
8468        * compiler/X86/x862.lisp: Numeric contagion on binops,
8469        fixnum->float.
8470
84712006-05-22 03:29  gb
8472
8473        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8474        well.
8475
84762006-05-22 03:28  gb
8477
8478        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8479        earlier when creating a stack frame inline.  Doesn't seem to affect
8480        latency much.
8481
84822006-05-22 03:27  gb
8483
8484        * compiler/X86/x862.lisp: Comment formatting on the first line of
8485        the file.
8486
84872006-05-22 03:26  gb
8488
8489        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8490        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8491
84922006-05-21 07:34  gb
8493
8494        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8495
84962006-05-21 07:32  gb
8497
8498        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8499        numeric-contagion stuff for arithmetic ops.
8500
85012006-05-21 07:31  gb
8502
8503        * compiler/nx1.lisp: Use div2 for /-2.
8504
85052006-05-21 07:31  gb
8506
8507        * compiler/nx0.lisp: Binop numeric contagion.
8508
85092006-05-21 06:49  gb
8510
8511        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8512
85132006-05-21 06:49  gb
8514
8515        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8516        weird, just wrong.
8517
85182006-05-21 06:17  gb
8519
8520        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8521        SIMPLE-FIXNUM-VECTORs.
8522
85232006-05-21 06:16  gb
8524
8525        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8526        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8527
85282006-05-21 06:16  gb
8529
8530        * compiler/PPC/PPC32/ppc32-arch.lisp,
8531        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8532        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8533        vector stuff.
8534
85352006-05-21 06:15  gb
8536
8537        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8538       
8539        Fixnum vector vref/vset.
8540
85412006-05-21 06:15  gb
8542
8543        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8544        %fixnum-to-double.
8545
85462006-05-21 06:14  gb
8547
8548        * compiler/nx0.lisp: More operator result types.
8549
85502006-05-21 04:35  gb
8551
8552        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8553        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8554        specialized FIXNUM array-element-type into type system, CLOS.
8555        (Knock wood.)
8556
85572006-05-21 04:34  gb
8558
8559        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8560        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8561
85622006-05-21 04:33  gb
8563
8564        * compiler/X86/X8664/x8664-arch.lisp,
8565        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8566        subtag for :fixnum-vector.
8567
85682006-05-21 04:32  gb
8569
8570        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8571        indices correctly.
8572       
8573        64-bit vset, vref: handle :FIXNUM-VECTOR.
8574
85752006-05-21 00:22  gb
8576
8577        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8578
85792006-05-20 18:13  gb
8580
8581        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8582        stack args) without restoring/re-saving NVRs.
8583
85842006-05-19 15:07  gb
8585
8586        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8587        completion semaphore (when :WAIT is true) happens inside an
8588        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8589        interrupts.
8590
85912006-05-19 15:06  gb
8592
8593        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8594        for SEMAPHORE.
8595
85962006-05-19 12:23  gwking
8597
8598        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8599        Also changed it so that it displays all items before trying to get
8600        an answer.
8601
86022006-05-19 12:00  gwking
8603
8604        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8605
86062006-05-19 11:57  gwking
8607
8608        * .cvsignore: The *fsl wasn't cutting it for me...
8609
86102006-05-19 11:50  gb
8611
8612        * level-1/version.lisp: Bump.
8613
86142006-05-19 11:49  gb
8615
8616        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8617        syscall definitions so that it can be moused on.
8618
86192006-05-19 11:48  gb
8620
8621        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8622        .SPeabi-syscall -> .SPsyscall.
8623
86242006-05-19 11:45  gb
8625
8626        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8627        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8628        does indeed burn cache lines, but going out of line isn't cheap
8629        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8630        are in fact fixnums and no overflow is involved - seems to be about
8631        2X faster when inlined this way.  Not sure if that'll be the case
8632        on PPC.)
8633
86342006-05-19 11:40  gb
8635
8636        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8637        stuff.
8638
86392006-05-18 14:47  gb
8640
8641        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8642        in all places that do so ...), update tcr.xframe from
8643        catch_frame.xframe on all execution paths (in particular, do so
8644        before SP is restored from the catch_frame, since a tcr.xframe
8645        "beyond" SP is clearly bogus.)
8646
86472006-05-18 02:34  gb
8648
8649        * level-1/version.lisp: Bump.
8650
86512006-05-17 23:12  gb
8652
8653        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8654        for PPC, too.
8655
86562006-05-17 22:53  gb
8657
8658        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8659        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8660        if any unmasked exceptions were raised before even calling this ...
8661
86622006-05-17 22:51  gb
8663
8664        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8665        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8666
86672006-05-17 22:50  gb
8668
8669        * compiler/X86/x862.lisp: Work harder to find acode types in some
8670        cases.
8671
86722006-05-17 22:50  gb
8673
8674        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8675        registers in OP-REG.
8676       
8677        Don't want to use RET very often if at all, but disassembler should
8678        treat as as a :JUMP.
8679
86802006-05-17 22:48  gb
8681
8682        * compiler/nxenv.lisp: MUL2, DIV2.
8683
86842006-05-17 22:48  gb
8685
8686        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8687        type-inferencing (or, more accurately, paying a little more
8688        attention here and there.)
8689
86902006-05-12 20:40  gwking
8691
8692        * examples/addressbook.lisp: added examples/addressbook.lisp
8693
86942006-05-11 18:42  gb
8695
8696        * level-1/l1-application.lisp: Stop processing command-line
8697        arguments when "--" is encountered; anything after that "--" is
8698        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8699
87002006-05-11 18:42  gb
8701
8702        * lib/ccl-export-syms.lisp: Export command-line stuff
8703
87042006-05-11 18:40  gb
8705
8706        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8707        method for LOCKs.
8708
87092006-05-11 18:39  gb
8710
8711        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8712        are base-strings (and always have been in OpenMCL.)
8713
87142006-05-11 18:37  gb
8715
8716        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8717
87182006-05-11 08:11  gwking
8719
8720        * lib/db-io.lisp: Added a check that the directory exists to
8721        fid-open-output in order to make it clearer what is wrong when one
8722        is unable to rebuild interface files because they are trying to do
8723        so in a place without FFI files to read!
8724
87252006-05-11 05:14  gb
8726
8727        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8728        Bump lisp-implementation-version, image-abi-version.
8729
87302006-05-11 05:04  gb
8731
8732        * xdump/faslenv.lisp: Bump (min) fasl version.
8733
87342006-05-11 04:52  gb
8735
8736        * lib/nfcomp.lisp: Bump (current) FASL version.
8737
87382006-05-11 04:52  gb
8739
8740        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8741        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8742
87432006-05-11 04:35  gb
8744
8745        * xdump/faslenv.lisp: Bump (max) fasl version.
8746
87472006-05-11 04:32  gb
8748
8749        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8750        target-specific feature.
8751
87522006-05-11 03:35  gb
8753
8754        * compiler/PPC/PPC32/ppc32-arch.lisp,
8755        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8756        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8757        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8758        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8759        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8760        typecodes around: get rid of the (unused) old 16-bit string; add an
8761        (as yet unused) UCS-4 string type.
8762       
8763        These changes generally involve cross-compilation (or some very
8764        tricky bootstrapping that I didn't attempt)  FASL versions and
8765        kernel ABI versions will need to change, and new binaries will be
8766        made available soon.
8767
87682006-05-10 20:20  gb
8769
8770        * compiler/PPC/ppc-lapmacros.lisp,
8771        compiler/PPC/PPC32/ppc32-arch.lisp,
8772        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8773        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8774        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8775        8-bit) character code is stored in the #x0000xx00 byte of a
8776        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8777        bootstrap natively (which is why I was trying to make ppc64->ppc32
8778        cross-compilation work.)
8779       
8780        Change related macros/visnsns as well.
8781
87822006-05-10 19:00  gb
8783
8784        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8785        think that this is just hard to do right the way that it's being
8786        done.
8787
87882006-05-10 18:59  gb
8789
8790        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8791        when cross-compiling (because word-size differences aren't handled
8792        correctly by macros.)  Until the macros are fixed, don't even try
8793        ...
8794
87952006-05-10 18:58  gb
8796
8797        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8798        target::target-most-positive-fixnum (not the host's
8799        MOST-POSITIVE-FIXNUM).
8800
88012006-05-10 18:57  gb
8802
8803        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8804        few places.
8805
88062006-05-10 18:56  gb
8807
8808        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8809
88102006-05-10 18:55  gb
8811
8812        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8813        differences between host and target types, but try to turn
8814        references to FIXNUM to the appropriate target-specific type.
8815
88162006-05-09 21:01  gb
8817
8818        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8819        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8820        around to check the high bits of the char code, but all chars have
8821        been base-chars for several years now ...
8822       
8823        UNBOX-CHARACTER was unused.
8824       
8825        (This is the first step of what may be several bootstrapping steps
8826        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8827        easily-accessed char-code bits on PPC32.)
8828
88292006-05-09 11:48  gb
8830
8831        * lisp-kernel/xlbt.c: No psn in cs_area.
8832
88332006-05-09 02:42  gb
8834
8835        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8836        to mark_simple_area_range().
8837
88382006-05-09 02:33  gb
8839
8840        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8841        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8842
88432006-05-09 02:25  gb
8844
8845        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8846        the containing TCR, to make low-level debugging a bit easier.
8847
88482006-05-09 02:25  gb
8849
8850        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8851        and debugging printfs.
8852
88532006-05-09 02:24  gb
8854
8855        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8856        extra (signed_natural *) arg, for allocptr displacement.
8857
88582006-05-09 02:23  gb
8859
8860        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8861       
8862        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8863        regs/ saved TCR fields.  The general idea is that the after they
8864        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8865        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8866        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8867        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8868       
8869        On an interrupt, the caller needs to pass in a signed_natural * to
8870        pick up the allocptr displacement (if consing was interrupted at
8871        the alloc trap); the interrupt handler uses this value to fix up
8872        alloptr when it returns if consing was interrupted.
8873       
8874        This is all pretty clearly right, but something still goes wrong
8875        under some combination of high thread stress, frequent allocation,
8876        and blocking ff-calls.
8877
88782006-05-09 02:17  gb
8879
8880        * lisp-kernel/plbt.c: No psn currently available.
8881
88822006-05-09 02:16  gb
8883
8884        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8885        where it may come in handy ...
8886
88872006-05-09 02:16  gb
8888
8889        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8890        arg.
8891
88922006-05-09 02:13  gb
8893
8894        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8895
88962006-05-09 02:12  gb
8897
8898        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8899        Restore it.
8900
89012006-05-09 02:12  gb
8902
8903        * level-0/l0-error.lisp, library/lispequ.lisp,
8904        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8905        recycle $XNOCDR.
8906
89072006-05-09 02:11  gb
8908
8909        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8910        target-specific.
8911
89122006-05-09 02:11  gb
8913
8914        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8915        target-specific.
8916
89172006-05-09 00:40  gb
8918
8919        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8920        here.
8921
89222006-05-09 00:39  gb
8923
8924        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8925        x8664.
8926
89272006-05-09 00:39  gb
8928
8929        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8930        stuff up to l1-lisp-threads.lisp.
8931
89322006-05-08 22:58  gb
8933
8934        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8935        handle array and vector headers.
8936
89372006-05-08 22:57  gb
8938
8939        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8940        of which should ever happen) with the kernel.
8941
89422006-05-08 22:56  gb
8943
8944        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8945        the TCR either.
8946
89472006-05-08 22:55  gb
8948
8949        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8950
89512006-05-08 22:55  gb
8952
8953        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8954        $xsetbadvec.
8955
89562006-05-08 03:26  gb
8957
8958        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8959        flags are set to the result of decrementing %nargs at the end of
8960        the loop.
8961
89622006-05-08 03:25  gb
8963
8964        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8965        wants a list of condition args, not a single arg.
8966
89672006-05-08 03:24  gb
8968
8969        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8970        CS-AREA.
8971
89722006-05-08 03:23  gb
8973
8974        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8975        uuo_error_udf, not as a type error.
8976
89772006-05-07 16:50  gb
8978
8979        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8980        slots in a long time (they probably haven't -needed- them in even
8981        longer; I think that this had to do with the old partial MOP.)
8982        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8983        accessor in STANDARD-OBJECT-SETF-LINE-N.
8984
89852006-05-07 04:39  gb
8986
8987        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8988        file.
8989
89902006-05-07 04:34  gb
8991
8992        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8993        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8994        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8995        if code that wants both locks isn't careful to try to obtain them
8996        in some canonical order.)
8997
89982006-05-07 04:29  gb
8999
9000        * lib/x86-backtrace.lisp: Finally find those pesky registers.
9001
90022006-05-07 04:29  gb
9003
9004        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
9005
90062006-05-07 04:28  gb
9007
9008        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
9009        xFindSymbol/dlsym returns 0 on x8664.
9010
90112006-05-07 04:27  gb
9012
9013        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
9014        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
9015        I'd mistakenly decided that it was faster to go through memory than
9016        to use these instructions.  It seems to actually be substantially
9017        slower, as one would expect.)
9018
90192006-05-07 04:25  gb
9020
9021        * compiler/X86/x86-asm.lisp: Add support for
9022        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
9023
90242006-05-07 04:21  gb
9025
9026        * library/hash-cons.lisp: Fix doc in comments.
9027
90282006-05-07 04:21  gb
9029
9030        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
9031
90322006-05-07 04:20  gb
9033
9034        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
9035
90362006-05-07 04:19  gb
9037
9038        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
9039        TARGET-backtrace.lisp.
9040
90412006-05-07 04:18  gb
9042
9043        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
9044        BOGUS-THING-P to TARGET-thread-utils.lisp.
9045
90462006-05-07 04:17  gb
9047
9048        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
9049        BOGUS-THING-P support here.
9050
90512006-05-07 04:16  gb
9052
9053        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
9054        to psn.
9055
90562006-05-06 15:27  gb
9057
9058        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
9059        to the "natural" case.
9060
90612006-05-06 15:26  gb
9062
9063        * compiler/X86/x862.lisp: Pass the right number of args to
9064        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
9065
90662006-05-06 15:26  gb
9067
9068        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
9069
90702006-05-06 02:09  gb
9071
9072        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
9073        A and tries to obtain lock B, and thread Y holds lock B and tries
9074        to obtain lock A, what is that a classic case of ?
9075       
9076        Try to avoid that classic deadlock case in shutdown_thread_tcr()
9077        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
9078        two locks at the same time, and that's always a bit dangerous; it
9079        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
9080        that must be owned in order to manipulate either the tcr or area
9081        queues.
9082
90832006-05-06 02:04  gb
9084
9085        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
9086        %REALPATH of the current directory namestring, as it does by
9087        default on some platforms (but not Linux.)
9088
90892006-05-05 20:08  gb
9090
9091        * compiler/X86/x862.lisp: x862-ff-call: really implement the
9092        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
9093        the el-bizarro <- with a (temp) node target.
9094
90952006-05-05 20:06  gb
9096
9097        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
9098        relative to the tagged entrypoint, not to the start of the
9099        underlying function-vector.)
9100
91012006-05-05 13:24  gb
9102
9103        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
9104        heap-consing an &REST arg.  (%allocptr and %next-method-context are
9105        the same register, so &rest clobbbers %next-method-context.)
9106       
9107        Could make separate entry points, so that this is only done when
9108        %next-method-context needs to be preserved ...
9109
91102006-05-05 13:21  gb
9111
9112        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9113
91142006-05-05 02:23  gb
9115
9116        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9117
91182006-05-05 02:23  gb
9119
9120        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9121
91222006-05-05 01:37  gb
9123
9124        * level-1/version.lisp: Bump du jour.
9125
91262006-05-05 01:36  gb
9127
9128        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9129        between the first 6 words of the outgoing frame (from which GPRs
9130        will be loaded) and other words (which stay on the stack); after
9131        the first 8 FP args, floats have to be passed on the stack, even if
9132        there's still room in the first 6 words of the outgoing frame.
9133       
9134        Need to understand the struct-by-value rules better: can a struct
9135        be passed partly in registers and partly on the stack ? RTFM (or,
9136        in this case, TF ABI spec.)
9137
91382006-05-05 01:31  gb
9139
9140        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9141        case should store relative to "other-offset" (rather than   
9142        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9143        - both the single and double-float cases were incrementing
9144        "other-offset"     twice when more than 8 FP args were involved.
9145        This had the effect of     storing floats into every other word and
9146        writing beyond the bounds of     the outgoing stack frame, possibly
9147        overwriting return addresses on the     foreign stack.
9148
91492006-05-04 23:12  gb
9150
9151        * level-1/l1-streams.lisp: James Bielman's fix to
9152        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9153
91542006-05-04 18:30  gb
9155
9156        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9157        decrement FPR-ARG-OFFSET by 8, not -8.
9158       
9159        (This could cause values outside of the stack frame to be read, but
9160        I still haven't found what's writing beyond the frame bounds.)
9161
91622006-05-04 18:27  gb
9163
9164        * lib/x86-backtrace.lisp: If its argument is an exception callback
9165        frame, %CFP-LFUN tries to determine the relative PC associated with
9166        the frame's nominal function and return that as a second value
9167        (just as it does for a real frame.)
9168       
9169        I think that this should work a high percentage of the time, but
9170        callers should generally be prepared to deal with a NULL second
9171        return value from %CFP-LFUN.
9172
91732006-05-04 11:12  gb
9174
9175        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9176        since we're using the same stack pointer to return values as we are
9177        to find arguments, don't try to "optimize" its initialization.
9178
91792006-05-03 18:52  gb
9180
9181        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9182        a little.  Don't coerce single float results to double; bind
9183        stack-ptr variable even if no args (might be a return value form
9184        that references it.) Failure to do the latter was creating a weird
9185        free variable reference that wasn't handled by the fasloader.
9186
91872006-05-03 18:50  gb
9188
9189        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9190
91912006-05-03 18:49  gb
9192
9193        * lib/nfcomp.lisp: Indent a comment.
9194
91952006-05-03 18:16  gb
9196
9197        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9198        that might involve a variable-length arglist (at this level,
9199        always), set %rax to the number (0-8) of FP arguments passed in xmm
9200        registers.
9201
92022006-05-03 13:26  gb
9203
9204        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9205        ~15, not ~!5.  (This was causing segfaults on return from
9206        interrupts sometimes.)
9207
92082006-05-03 13:24  gb
9209
9210        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9211        by SWANK/SLIME.
9212
92132006-05-03 13:23  gb
9214
9215        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9216        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9217        seems to get many things wrong.)
9218
92192006-05-03 11:37  gb
9220
9221        * level-1/version.lisp: You mist have yesterday's version.
9222
92232006-05-03 11:37  gb
9224
9225        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9226        LAP.
9227
92282006-05-03 11:36  gb
9229
9230        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9231        #+x8664-target.
9232
92332006-05-03 11:36  gb
9234
9235        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9236        it can just check for a 2-digit bignum header if it has something
9237        of tag TAG-MISC.
9238
92392006-05-03 11:34  gb
9240
9241        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9242        destinations.
9243
92442006-05-03 11:33  gb
9245
9246        * compiler/X86/x86-disassemble.lisp: Recognize
9247        uuo-error-eep-unresolved.
9248
92492006-05-02 18:07  gb
9250
9251        * level-1/version.lisp: Bump.
9252
92532006-05-02 18:07  gb
9254
9255        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9256        (mostly ?) unused and currently PPC-specific, if it works at all
9257        ...
9258
92592006-05-02 10:27  gb
9260
9261        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9262        for STRING-INPUT-STREAMs; it's not clear what such a method should
9263        do (and fairly clear that it shouldn't do what the previous
9264        definition was doing.)
9265
92662006-05-02 10:26  gb
9267
9268        * lib/format.lisp: clear input from *query-io*, not from
9269        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9270
92712006-05-02 10:26  gb
9272
9273        * library/hash-cons.lisp: x8664 lap
9274
92752006-05-02 10:26  gb
9276
9277        * lisp-kernel/x86-gc.c: hons area stuff
9278
92792006-04-29 09:14  gb
9280
9281        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9282        overflow (on value/temp stacks).
9283
92842006-04-29 09:13  gb
9285
9286        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9287        callback.
9288
92892006-04-29 09:10  gb
9290
9291        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9292       
9293        No linker script.
9294       
9295        Use -lthr, which offers 1:1 threads.
9296
92972006-04-29 09:09  gb
9298
9299        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9300
93012006-04-29 09:01  gb
9302
9303        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9304
93052006-04-29 09:00  gb
9306
9307        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9308        anything cares ...)
9309
93102006-04-29 08:59  gb
9311
9312        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9313
93142006-04-29 08:58  gb
9315
9316        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9317
93182006-04-29 08:58  gb
9319
9320        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9321
93222006-04-28 21:28  gb
9323
9324        * level-1/version.lisp: bump.
9325
93262006-04-28 21:27  gb
9327
9328        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9329        version).
9330
93312006-04-28 21:24  gb
9332
9333        * lib/ppc-backtrace.lisp: Fix typo.
9334
93352006-04-28 21:23  gb
9336
9337        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9338       
9339        Change the command/keyword parser a little, so that :FOO is just
9340        :FOO and not (:FOO).
9341       
9342        Change :B break loop command (and :F) to allow focusing on a range
9343        of frames, and change PRINT-CALL-HISTORY to more easily support
9344        that.
9345
93462006-04-28 19:37  gb
9347
9348        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9349        LOAD-CONSTANT form.
9350
93512006-04-28 19:34  gb
9352
9353        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9354        Factor out a little more.  Time to see what's broken on PPC ...
9355
93562006-04-28 19:34  gb
9357
9358        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9359        around colon-commands optional.
9360
93612006-04-28 04:11  gb
9362
9363        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9364        debugger's register display code.
9365
93662006-04-28 04:11  gb
9367
9368        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9369        on the stack is bogus.
9370
93712006-04-28 04:10  gb
9372
9373        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9374        ...) when calling back for an exception.
9375
93762006-04-28 03:36  gb
9377
9378        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9379       
9380        xcf struct.
9381
93822006-04-28 03:36  gb
9383
9384        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9385
93862006-04-28 03:36  gb
9387
9388        * lib/x86-backtrace.lisp: Implemented some stuff.
9389       
9390        Backtrace (sort of) works on x8664 now; need to find register
9391        values,  hide tagged return addresses, a few other things.
9392
93932006-04-28 03:34  gb
9394
9395        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9396
93972006-04-28 03:34  gb
9398
9399        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9400
94012006-04-28 03:33  gb
9402
9403        * level-1/x86-trap-support.lisp: Flags register accessor.
9404       
9405        New exception callback scheme.
9406
94072006-04-28 03:33  gb
9408
9409        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9410        changing.
9411
94122006-04-28 03:32  gb
9413
9414        * level-1/x86-error-signal.lisp: New exception callback stuff.
9415
94162006-04-28 03:32  gb
9417
9418        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9419
94202006-04-28 03:32  gb
9421
9422        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9423        files.
9424
94252006-04-28 03:31  gb
9426
9427        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9428        have exception callback frames ...
9429
94302006-04-28 03:30  gb
9431
9432        * level-1/l1-error-system.lisp: Tweak :report method for
9433        wrong-number-of-args errors.
9434
94352006-04-28 03:30  gb
9436
9437        * level-0/X86/x86-def.lisp: Implement APPLY+.
9438
94392006-04-28 03:29  gb
9440
9441        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9442
94432006-04-28 03:27  gb
9444
9445        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9446       
9447        CHECK-NARGS: don't enforce upper bound if it's null.
9448
94492006-04-28 03:17  gb
9450
9451        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9452
94532006-04-28 03:16  gb
9454
9455        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9456        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9457
94582006-04-26 14:18  gb
9459
9460        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9461
94622006-04-26 14:17  gb
9463
9464        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9465        prepared" to do so) if its argument isn't a function designator, so
9466        don't quietly call METHOD-FUNCTION for the user.
9467
94682006-04-26 13:56  gb
9469
9470        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9471        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9472
94732006-04-26 03:59  gb
9474
9475        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9476        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9477        exceptions will be pending when we start an ff-call (and the mxcsr
9478        is loaded from that location.)
9479       
9480        tcr.ffi_exception will then contain non-zero exception bits iff the
9481        most recent ff-call raised a (probably masked) FP exception.
9482       
9483        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9484
94852006-04-26 03:55  gb
9486
9487        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9488
94892006-04-26 03:23  gb
9490
9491        * lisp-kernel/x86-constants64.s: Update comment on
9492        tcr.ffi_exception.
9493
94942006-04-26 03:22  gb
9495
9496        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9497        from ffcall.  (Should maybe clear exception bits on entry to
9498        foreign state, so we're sure that any exception bits set in the
9499        tcr.ffi_exception slot were caused by the most recent ff-call.)
9500
95012006-04-26 03:20  gb
9502
9503        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9504        ffcall, compare them to unmasked exception bits in current MXCSR,
9505        maybe raise FP exception.  (Note: compile this change and rebuild
9506        image before making corresponding kernel change.)
9507
95082006-04-26 02:31  gb
9509
9510        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9511        LOGAND-2, not to LOGXOR-2.  Sheesh.
9512
95132006-04-26 02:01  gb
9514
9515        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9516        bit numbers as tests of the sign bit.   (This is probably best
9517        viewed as being "formally undefined", but it's not too expensive to
9518        check for that.  The case where the bit number's negative is
9519        definitely undefined; I think that it also gets treated as a test
9520        of the sign bit.)
9521
95222006-04-26 01:58  gb
9523
9524        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9525        negative.
9526
95272006-04-26 01:32  gb
9528
9529        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9530        61.  (Should check here for negative bit .)
9531
95322006-04-26 01:31  gb
9533
9534        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9535        context" error - which typically indicates a fault during exception
9536        processing - pass the context in to the kernel debugger.
9537
95382006-04-26 01:30  gb
9539
9540        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9541
95422006-04-26 00:56  gb
9543
9544        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9545        if it compares all corresponding digits, rather than repeatedly
9546        comparing the 0th digits N times ...
9547
95482006-04-25 17:38  gb
9549
9550        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9551        is 0, not if disp is 0.  ash: always make a signed integer out of
9552        the result,  since arg is always signed.
9553
95542006-04-25 17:37  gb
9555
9556        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9557        bit, so (for instance) (- 0.0d0) is -0.0d0.
9558
95592006-04-25 17:36  gb
9560
9561        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9562        time.
9563
95642006-04-25 17:35  gb
9565
9566        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9567        operand is in target reg (2-address issue.)
9568
95692006-04-24 16:42  gb
9570
9571        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9572        Apparently, pretty hard.  It was doing a logical shift right when
9573        typechecking the value, so negative values were rejected.
9574
95752006-04-24 16:41  gb
9576
9577        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9578        callback now takes a 'signo' argument.
9579
95802006-04-24 16:40  gb
9581
9582        * level-1/x86-trap-support.lisp: Initial support for handling
9583        arithmetic errors.  Will need more work to get operation and
9584        operands right.
9585
95862006-04-24 16:39  gb
9587
9588        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9589
95902006-04-24 13:58  gb
9591
9592        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9593        uuo-error-reg-not-type case.
9594
95952006-04-24 13:57  gb
9596
9597        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9598        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9599        another story.)
9600
96012006-04-24 13:55  gb
9602
9603        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9604        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9605        boxed, either.
9606
96072006-04-24 12:02  gb
9608
9609        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9610        _SPtcallnfngen: several bugs, which were already fixed in similar
9611        variants.
9612
96132006-04-24 12:01  gb
9614
9615        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9616        Deutch/Waite/Schorr marker.
9617
96182006-04-24 12:00  gb
9619
9620        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9621        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9622
96232006-04-24 11:59  gb
9624
9625        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9626
96272006-04-24 11:58  gb
9628
9629        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9630        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9631        DOUBLE-FLOAT.
9632
96332006-04-24 11:58  gb
9634
9635        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9636        high and low words of the mantissa, to ensure that no hidden bits
9637        are set.  (Some such bits were set, causing many double-float
9638        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9639
96402006-04-24 02:21  gb
9641
9642        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9643        image.
9644       
9645        (Don't expect it to have any contents yet; that'll require several
9646        more changes.   This is all intended to support PURIFY on x8664,
9647        where we'll want to ensure that any constant referenced by a
9648        function in readonly/pure memory has a fixed, static address.)
9649
96502006-04-24 02:14  gb
9651
9652        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9653        section makes NUM_IMAGE_SECTIONS 4.
9654
96552006-04-24 02:13  gb
9656
9657        * lisp-kernel/area.h: Typo in the definition of
9658        AREA_MANAGED_STATIC.
9659
96602006-04-24 02:12  gb
9661
9662        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9663        more areas.
9664
96652006-04-24 02:12  gb
9666
9667        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9668        addresses of instructions (not pointers thereto ...)
9669
96702006-04-24 02:11  gb
9671
9672        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9673        (mostly so that I could step through it to remember how it worked
9674        ...).
9675
96762006-04-24 02:10  gb
9677
9678        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9679        indirection.
9680
96812006-04-24 02:09  gb
9682
9683        * lisp-kernel/x86-gc.c: Remove a sanity check.
9684
96852006-04-24 02:09  gb
9686
9687        * xdump/xfasload.lisp: Create (empty) managed-static section
9688        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9689
96902006-04-24 02:08  gb
9691
9692        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9693        section.
9694
96952006-04-24 02:07  gb
9696
9697        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9698        fds, take CLOSE-ON-ERROR more seriously.
9699
97002006-04-24 02:06  gb
9701
9702        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9703        %CURRENT-FRAME-PTR) on PPC32/64.
9704
97052006-04-24 00:50  gb
9706
9707        * level-1/version.lisp: Bump.  Getting there ...
9708
97092006-04-24 00:50  gb
9710
9711        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9712       
9713        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9714        so pass them as a pointer to avoid word-size issues.
9715
97162006-04-24 00:48  gb
9717
9718        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9719        things that had been missing.
9720
97212006-04-24 00:48  gb
9722
9723        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9724        UUOs.
9725
97262006-04-24 00:48  gb
9727
9728        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9729
97302006-04-24 00:47  gb
9731
9732        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9733
97342006-04-24 00:47  gb
9735
9736        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9737
97382006-04-24 00:47  gb
9739
9740        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9741
97422006-04-24 00:46  gb
9743
9744        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9745        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9746        need to boostrap on PPC).
9747       
9748        Parse %FOREIGN-STACK-POINTER.
9749
97502006-04-22 03:30  gb
9751
9752        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9753        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9754        because (a) nothing else will and (b) the tcr will likely become
9755        unmapped soon, and we don't want things that walk the tcr list to
9756        segfault.
9757
97582006-04-22 03:27  gb
9759
9760        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9761        find_foreign_rsp; call Bug() and exit() if the context has no
9762        fpregs.  (That's a symptom, not the proble, but it's slightly
9763        better to do this than to double fault, which is what seems to be
9764        happening.)
9765
97662006-04-21 10:12  gb
9767
9768        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9769        worry about consing, write-barrier stuff.
9770
97712006-04-21 10:11  gb
9772
9773        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9774        (condition codes.)
9775
97762006-04-21 10:11  gb
9777
9778        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9779        (again.)
9780       
9781        Define enumeration constants for matching the instructions that can
9782        occur during consing.
9783
97842006-04-21 10:09  gb
9785
9786        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9787        store_node_conditional, in case pc_luser_xp() needs to complete the
9788        memoization.
9789
97902006-04-21 02:50  gb
9791
9792        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9793        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9794        allowed.
9795
97962006-04-21 02:49  gb
9797
9798        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9799        line up with GPRs.
9800
98012006-04-21 02:48  gb
9802
9803        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9804        #+64-bit-target, not #+ppc64-target.
9805
98062006-04-21 02:47  gb
9807
9808        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9809        amount.
9810
98112006-04-21 02:46  gb
9812
9813        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9814        unique to PPC64 (but do depend on #+64-bit-target).
9815
98162006-04-21 02:46  gb
9817
9818        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9819        confuse PROGV; remove them, for now.
9820
98212006-04-20 23:35  gb
9822
9823        * lisp-kernel/x86-spentry64.s: In the bignum case of
9824        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9825        whatever the code was trying to do there.
9826       
9827        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9828        and arg_z from the correct offsets within the lexpr.
9829
98302006-04-20 04:48  gb
9831
9832        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9833        force it to always be used, for now.
9834
98352006-04-19 17:11  gb
9836
9837        * lisp-kernel/pmcl-kernel.c: (Very) different
9838        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9839
98402006-04-19 17:10  gb
9841
9842        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9843        Solaris.
9844
98452006-04-19 00:35  gb
9846
9847        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9848        reversing-pointer marker should work.  (Perhaps it's a strong
9849        argument for implementing "purify" soon.)
9850
98512006-04-19 00:34  gb
9852
9853        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9854        function-boundary-marker.
9855
98562006-04-19 00:33  gb
9857
9858        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9859
98602006-04-18 19:35  gb
9861
9862        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9863        multiple-value case of THROW: don't want to do unbind_to if tcr's
9864        db-link matches target catch frame's.
9865
98662006-04-18 19:33  gb
9867
9868        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9869        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9870        synch with x86-asm.
9871
98722006-04-18 19:33  gb
9873
9874        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9875        :R in break messages.
9876       
9877        Say more about :C in :R.
9878
98792006-04-18 19:32  gb
9880
9881        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9882        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9883        seems to have been fixed.
9884
98852006-04-18 19:31  gb
9886
9887        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9888        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9889        horrible kludge, but it only happens once.)
9890
98912006-04-18 19:19  gb
9892
9893        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9894        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9895        to have been fixed.
9896
98972006-04-18 19:18  gb
9898
9899        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9900        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9901        ends of its arguments and ignoring the first few bytes (as well as
9902        doing misaligned memory references.)
9903
99042006-04-18 19:16  gb
9905
9906        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9907        This'll require some thought, mostly because of the reserved-frame
9908        issue(s).
9909
99102006-04-18 06:21  gb
9911
9912        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9913        adventures are about to end, I'm afraid.
9914
99152006-04-18 06:04  gb
9916
9917        * level-1/version.lisp: Daily bump.
9918
99192006-04-18 05:59  gb
9920
9921        * level-1/l1-sockets.lisp: Comment indentation.
9922
99232006-04-18 05:56  gb
9924
9925        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9926
99272006-04-18 05:55  gb
9928
9929        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9930        ppc-def (that means that there will need to be an APPLY+ for
9931        x8664).
9932
99332006-04-18 05:38  gb
9934
9935        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9936        compiler and x8664-vinsn-templates to agree on vinsn-names and
9937        implement some vinsns that had been missing.  (About 15 or so
9938        undefined vinsns remain.)
9939
99402006-04-18 05:37  gb
9941
9942        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9943        opcode ordinals in vinsn templates (e.g., in case new instructions
9944        are defined in the assembler) wasn't checking to see if vinsn
9945        templates named in the hash table were defined.  (It was apparently
9946        getting away with this because CONSP was broken.)  So, don't try to
9947        fixup opcode ordinals in NIL, and optionally report templates
9948        that're referenced but not defined.
9949
99502006-04-18 04:38  gb
9951
9952        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9953        (which only sets the low 8 bits of its destination), then comparing
9954        all 64-bits of the destination to a zero-extended 32-bit constant.
9955        (E.g., CONSP had little chance of being right all other things
9956        being equal, but may have been right more than one in 2^56 times if
9957        some random preceding instruction had zeroed the upper 56 bits.)
9958       
9959        (It's also shorter to do an 8-bit compare.)
9960
99612006-04-18 03:11  gb
9962
9963        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9964
99652006-04-18 02:51  gb
9966
9967        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9968        happy (well, as happy as they're going to be ...), back to finding
9969        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9970
99712006-04-18 01:26  gb
9972
9973        * lisp-kernel/thread_manager.c: Some Solaris changes.
9974
99752006-04-18 00:48  gb
9976
9977        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9978        installs in /usr/sfw/bin is both newer and buggier than the version
9979        available on the "Solaris Companion" disk, which gets installed in
9980        /opt/sfw/bin.
9981       
9982        Ordinarily, I'd wonder why a "companion" disk offers to install
9983        software that's bundled as part of the installation (especially old
9984        versions of that software.)  Now I know.
9985
99862006-04-18 00:45  gb
9987
9988        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9989
99902006-04-18 00:45  gb
9991
9992        * lisp-kernel/m4macros.m4: Fix changecom.
9993
99942006-04-18 00:11  gb
9995
9996        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9997        but is otherwise fine with single-line /* */.
9998
99992006-04-18 00:09  gb
10000
10001        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
10002        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
10003        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
10004        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
10005        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10006        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
10007        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
10008        like Darwin as, but we're back to single-line /* */, which is often
10009        pretty ugly and not well-supported by Emacs.
10010
100112006-04-17 23:23  gb
10012
10013        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
10014        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
10015        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
10016        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
10017        x86-uuo.s: Use #/newline for comment delimiters, which is supported
10018        by Emacs and by all current GAS versions (but see ARM conventions.)
10019         No more jerking around with this, knock wood.
10020
100212006-04-17 23:23  gb
10022
10023        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
10024        case where caller provided args before the lexpr, which is much
10025        harder than the simple case.
10026       
10027        Use #/newline for comment delimiters, which is supported by Emacs
10028        and by all current GAS versions (but see ARM conventions.)  No more
10029        jerking around with this, knock wood.
10030
100312006-04-17 23:20  gb
10032
10033        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
10034        when numbers differed greatly in magnitude.  Current (binary)
10035        algorithm is usually OK.
10036
100372006-04-17 23:17  gb
10038
10039        * compiler/X86/x86-lap.lisp: Condition name should be
10040        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
10041        not the problem.  Name wasn't spelled correctly in code that
10042        signals the condition, anyway.
10043
100442006-04-17 16:34  gb
10045
10046        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
10047        argument, takes a new boolean to distinguish current tcr from
10048        others.  (The current tcr is only lusered on an interrupt; others
10049        are only lusered on GC entry.)
10050
100512006-04-17 16:33  gb
10052
10053        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
10054        here.  (No deep reason not to share the new x86 signature on all
10055        architectures.)
10056
100572006-04-17 16:32  gb
10058
10059        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
10060        here.  (No deep reason not to share the new x86 signature on all
10061        architectures.)
10062
100632006-04-17 16:31  gb
10064
10065        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
10066        platform-dependent.
10067
100682006-04-17 06:49  gb
10069
10070        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
10071        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
10072        already.
10073
100742006-04-17 06:17  gb
10075
10076        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
10077        truly portable type name.
10078
100792006-04-17 06:16  gb
10080
10081        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
10082        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
10083        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
10084        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
10085        work if they're at the start of a line in Linux GAS.  Try /* */
10086        comments, but limit them to a single line.  (May ultimately be
10087        better to use m4 dnl - carefully - and avoid end-of-line comments.)
10088
100892006-04-17 05:28  gb
10090
10091        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10092        x86-subprims64.s, x86-uuo.s: // comments.
10093
100942006-04-17 05:28  gb
10095
10096        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
10097        conditionalization.
10098
100992006-04-17 05:27  gb
10100
10101        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
10102        accessors, etc.)
10103
101042006-04-17 05:26  gb
10105
10106        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
10107        the sigstack trampoline stuff.)
10108
101092006-04-17 05:25  gb
10110
10111        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10112        integer types.
10113
101142006-04-17 05:24  gb
10115
10116        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10117        x86-constants64.s: // comments.
10118
101192006-04-17 05:23  gb
10120
10121        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10122        Solaris mmap() is ... unusual.
10123
101242006-04-17 05:21  gb
10125
10126        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10127        since Solaris version of GAS doen't handle multi-line comments (/*
10128        ... */).  It -seems- that other assemblers do handle them
10129        correctly; we'll see.
10130       
10131        Some Solaris conditionalization (ELFstabs, etc.)
10132
101332006-04-17 05:20  gb
10134
10135        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10136         We'll see what this breaks.
10137
101382006-04-17 05:19  gb
10139
10140        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10141        SOLARIS is defined.
10142
101432006-04-17 05:18  gb
10144
10145        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10146        registers in predictable order.
10147
101482006-04-17 05:17  gb
10149
10150        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10151        single-line comments, since Solaris version of GAS doen't handle
10152        multi-line comments (/* ... */).  It -seems- that other assemblers
10153        do handle them correctly; we'll see.
10154
101552006-04-17 05:15  gb
10156
10157        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10158
101592006-04-17 05:15  gb
10160
10161        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10162       
10163        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10164        platforms ?
10165
101662006-04-17 05:01  gb
10167
10168        * lisp-kernel/solarisx64/Makefile: new file
10169
101702006-04-17 04:56  gb
10171
10172        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10173        change the name/usage of the linker script.
10174       
10175        Stop using the linker script (since spjump is the only thing in the
10176        kernel that has to be at a fixed address and we can copy it there.)
10177       
10178        Don't disable the EGC.
10179
101802006-04-17 04:54  gb
10181
10182        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10183        the spjump table, exported for C (so that spjump can be mapped into
10184        low memory.)
10185
101862006-04-17 04:54  gb
10187
10188        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10189       
10190        If the tlb's too small when trying to bind a special, push the
10191        binding index of the symbol we're binding (for the benefit of the
10192        handler.)
10193
101942006-04-17 04:52  gb
10195
10196        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10197        code words than it has elements (can't happen, unless the
10198        function's code-words word is garbage, which seems to happen when
10199        closures get consed up in non-zeroed memory.)
10200       
10201        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10202        %nargs.q), which sometimes contains something tagged and
10203        non-immediate.
10204
102052006-04-17 04:48  gb
10206
10207        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10208        to ensure that everythings's zeroed.
10209       
10210        x8664 implementation of extend_tcr_tlb().
10211       
10212        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10213        in call to update_bytes_allocated().
10214       
10215        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10216        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10217        bug, and possibly some other instabiliy.)
10218       
10219        handle_exception: keep trying to guess how to distinguish memory
10220        faults from other sources of SIGSEGV.
10221       
10222        On debug traps, advance the PC past the UUO before entering the
10223        debugger.
10224       
10225        Handle XUUO_TLB_TOO_SMALL.
10226
102272006-04-17 04:42  gb
10228
10229        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10230        reserved_frame_marker.
10231
102322006-04-17 04:42  gb
10233
10234        * lisp-kernel/thread_manager.c: Remove implementation of
10235        extend_tcr_tlb().
10236
102372006-04-17 04:41  gb
10238
10239        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10240        extend_tcr_tlb().
10241
102422006-04-17 04:41  gb
10243
10244        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10245
102462006-04-17 04:40  gb
10247
10248        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10249        that we don't need to use a linker script.
10250
102512006-04-17 04:40  gb
10252
10253        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10254        target xxx-exceptions.h now.
10255
102562006-04-17 04:39  gb
10257
10258        * lib/misc.lisp: Some comment formatting/editing.
10259
102602006-04-17 04:38  gb
10261
10262        * level-1/version.lisp: Bump.
10263
102642006-04-17 04:38  gb
10265
10266        * level-1/l1-readloop.lisp: Some debugging code in the code which
10267        creates the final closure.  It seems that when it's bad, it's bad
10268        on creation (here.)
10269
102702006-04-17 04:37  gb
10271
10272        * level-1/l1-processes.lisp: Some debugging code in
10273        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10274        final closure to be trashed.
10275       
10276        I don't think that other threads were getting their allocptr's
10277        nullified correctly by the GC/normalize_tcr(); with the current
10278        debugging code in place, it seems like the closure is consed on top
10279        of something other than free, thread-private heap memory (when it's
10280        bad, it fails the first check here.  I'm not sure that the latest
10281        round of GC/normalize-tcr() changes have fixed the problem, but I
10282        haven't seen it in a while now, either.)
10283
102842006-04-17 04:32  gb
10285
10286        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10287        disassembly, etc.).
10288
102892006-04-17 04:31  gb
10290
10291        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10292        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10293        (anymore.)
10294       
10295        Subprims are down in low memory again; make INIT-CLOSURE skip
10296        setting the high byte of .SPcall-closure's address if it's zero.
10297
102982006-04-17 04:28  gb
10299
10300        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10301        which may help backtrace.
10302
103032006-04-17 04:26  gb
10304
10305        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10306        (interface/implementation.)
10307
103082006-04-15 09:20  gb
10309
10310        * level-1/x86-callback-support.lisp: Ensure that callback
10311        trampolines are allocated in executable memory.
10312
103132006-04-15 09:12  gb
10314
10315        * lib/dumplisp.lisp: Refresh external entry points before reviving
10316        callbacks.  Reset callback storage before reviving callbacks.
10317
103182006-04-15 09:10  gb
10319
10320        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10321        error message with a %.  (Where did that come from ?)
10322
103232006-04-15 09:08  gb
10324
10325        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10326        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10327        is executable.
10328
103292006-04-14 09:02  gb
10330
10331        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10332
103332006-04-14 08:21  gb
10334
10335        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10336        shorthand for the nearest matching year.
10337
103382006-04-14 08:20  gb
10339
10340        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10341        when : was missing.
10342
103432006-04-13 23:09  gb
10344
10345        * lib/ppc-backtrace.lisp: Eschew missing parens.
10346
103472006-04-13 23:08  gb
10348
10349        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10350
103512006-04-13 23:08  gb
10352
10353        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10354        ARGLIST-FROM-MAP.
10355
103562006-04-13 23:02  gb
10357
10358        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10359        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10360        about returning a second value; returns values NIL, T for functions
10361        that take no args and don't have a symbol map.
10362
103632006-04-13 22:53  gb
10364
10365        * level-1/l1-lisp-threads.lisp: Try to make args to
10366        NTH-VALUE-IN-FRAME et al a little saner.
10367
103682006-04-13 22:37  gb
10369
10370        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10371        type.
10372
103732006-04-13 22:36  gb
10374
10375        * level-1/version.lisp: Bump.
10376
103772006-04-13 22:35  gb
10378
10379        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10380        trying to find the cause of the crash-on-quit bug.
10381
103822006-04-13 07:30  gb
10383
10384        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10385
103862006-04-13 07:29  gb
10387
10388        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10389        stuff to target-backtrace.
10390
103912006-04-13 06:45  gb
10392
10393        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10394
103952006-04-13 06:44  gb
10396
10397        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10398        x8664.
10399
104002006-04-13 06:44  gb
10401
10402        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10403        bytes of %nargs_q contain arg count.
10404
104052006-04-13 06:43  gb
10406
10407        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10408
104092006-04-13 06:43  gb
10410
10411        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10412        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10413        APPLY.
10414
104152006-04-13 06:42  gb
10416
10417        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10418
104192006-04-13 06:41  gb
10420
10421        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10422        operands.
10423
104242006-04-13 06:41  gb
10425
10426        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10427        "vector-lists" instead of adjustable arrays, simplify handling of
10428        constant expressions.  Still conses hysterically; need to find out
10429        where and tone it down a bit, if possible.
10430
104312006-04-13 06:39  gb
10432
10433        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10434        operands; maybe no lap constant-expressions.
10435
104362006-04-13 06:39  gb
10437
10438        * compiler/X86/x86-asm.lisp: Don't need
10439        *lap-constant-0-expression*.
10440
104412006-04-13 00:46  gb
10442
10443        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10444        linker script.
10445
104462006-04-13 00:45  gb
10447
10448        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10449        2.16.1 (Thanks to James Bielman).
10450
104512006-04-12 18:53  gb
10452
10453        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10454        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10455        of this seems to have to do with C++ static constructors, which
10456        aren't really relevant here.)
10457
104582006-04-12 18:28  gb
10459
10460        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10461        between %Rforeign_sp and GPRs.
10462
104632006-04-12 18:22  gb
10464
10465        * lisp-kernel/linuxx8664/Makefile: egc flag
10466
104672006-04-12 18:08  gb
10468
10469        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10470        where we're losing here.
10471
104722006-04-12 18:07  gb
10473
10474        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10475        write barrier code, crap out if so.
10476
104772006-04-12 18:06  gb
10478
10479        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10480        (presumably in a Makefile).
10481
104822006-04-12 14:50  gb
10483
10484        * level-1/version.lisp: Bump.
10485
104862006-04-12 14:46  gb
10487
10488        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10489        x86-backtrace.lisp: new target backtrace stuff.
10490
104912006-04-12 14:45  gb
10492
10493        * lib/backtrace.lisp: Start splitting things up, ideally into a
10494        mostly abstract API and gory platform- dependent implementation
10495        details.
10496
104972006-04-11 21:40  gb
10498
10499        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10500        the damned thing on.  (A little painful with integrity checking
10501        enabled, as it still is by default.)
10502       
10503        TODO:
10504       
10505        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10506        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10507        exception handling - check UUO usage in kernel, disassembler,
10508        exception handlers - stack overflow recovery
10509
105102006-04-11 21:24  gb
10511
10512        * lisp-kernel/x86-gc.c: Skip over function code in
10513        check_refmap_consistency.
10514
105152006-04-11 21:23  gb
10516
10517        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10518        backwards.
10519
105202006-04-11 19:11  gb
10521
10522        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10523
105242006-04-11 19:11  gb
10525
10526        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10527        a closure, no lfname slot in closure.
10528
105292006-04-11 16:29  gb
10530
10531        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10532        area.
10533
105342006-04-11 16:29  gb
10535
10536        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10537        between lisp/foreign code.
10538
105392006-04-11 16:29  gb
10540
10541        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10542        bit-order problems.)
10543       
10544        Maintain the MXCSR on transitions between lisp/foreign code.
10545
105462006-04-11 16:28  gb
10547
10548        * lisp-kernel/x86-macros.s: Access globals in expressions.
10549
105502006-04-11 16:27  gb
10551
10552        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10553        need some bootstrapping stuff (function boundary markers) for a few
10554        reasons, as will DWS marker.
10555
105562006-04-11 16:27  gb
10557
10558        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10559        the siginfo error code.
10560
105612006-04-11 16:26  gb
10562
10563        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10564        fields in tcr.
10565
105662006-04-11 16:25  gb
10567
10568        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10569
105702006-04-11 16:25  gb
10571
10572        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10573        when starting a lisp thread.  (It'll be saner when FP exceptions
10574        are handled.)
10575
105762006-04-11 16:24  gb
10577
10578        * level-1/x86-error-signal.lisp: Recognize what complaints about
10579        non-uvectors are trying to tell us.
10580
105812006-04-11 16:23  gb
10582
10583        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10584        vectors.
10585
105862006-04-11 16:23  gb
10587
10588        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10589        Ses.  Define classes for function/symbol vectors.
10590
105912006-04-11 16:22  gb
10592
10593        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10594
105952006-04-11 16:21  gb
10596
10597        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10598        needs to add a function boundary marker (but we can stop padding
10599        each closure with a null function name slot.)
10600
106012006-04-11 16:20  gb
10602
10603        * compiler/X86/X8664/x8664-arch.lisp: Define
10604        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10605
106062006-04-11 16:19  gb
10607
10608        * compiler/X86/x862.lisp: Emit a function boundary marker between
10609        code and constants. (For GC reasons.) Change closure initialization
10610        to account for it.
10611
106122006-04-11 16:18  gb
10613
10614        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10615        between code and constants. (For GC reasons.)
10616
106172006-04-11 16:17  gb
10618
10619        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10620
106212006-04-11 16:17  gb
10622
10623        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10624       
10625        See if we can get by without 68K condition code ...
10626
106272006-04-11 06:53  gb
10628
10629        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10630        soon.
10631
106322006-04-11 06:53  gb
10633
10634        * lib/numbers.lisp: Infinity constants conditionalized on/off
10635        during MXCSR adventures.  On now.
10636
106372006-04-11 06:52  gb
10638
10639        * lib/describe.lisp: Comment indentation.
10640       
10641        No such thing as an interpreted function; hasn't been for years.
10642
106432006-04-11 06:51  gb
10644
10645        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10646        al.
10647
106482006-04-11 06:51  gb
10649
10650        * level-1/version.lisp: Bumped yesterday.
10651
106522006-04-11 06:50  gb
10653
10654        * level-1/l1-error-signal.lisp: Comments.
10655
106562006-04-11 06:50  gb
10657
10658        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10659        at least.
10660
106612006-04-11 06:50  gb
10662
10663        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10664        a fixnum constant is boxed in %SET-MXCSR.
10665
106662006-04-11 06:49  gb
10667
10668        * level-0/X86/x86-def.lisp: Get info about register usage.
10669
106702006-04-11 06:49  gb
10671
10672        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10673        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10674        though that it was dealing with a scaled index.
10675
106762006-04-11 06:48  gb
10677
10678        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10679        aref.
10680
106812006-04-11 06:48  gb
10682
10683        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10684        do something about FRAG-CODE-BUFFERs, and need to tone down
10685        expression overkill.
10686
106872006-04-11 06:46  gb
10688
10689        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10690        for when opcode ordinals change.
10691
106922006-04-11 06:46  gb
10693
10694        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10695        UUO-ERROR-ARRAY-RANK.
10696       
10697        Vinsn template fixup mechanism, for when opcode ordinals change.
10698
106992006-04-11 06:45  gb
10700
10701        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10702
107032006-04-11 06:45  gb
10704
10705        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10706
107072006-04-11 06:44  gb
10708
10709        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10710        specialized list header initialization.
10711
107122006-04-11 06:43  gb
10713
10714        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10715        2d float arrays.
10716
107172006-04-10 10:19  gb
10718
10719        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10720        foreign SP properly obeying C alignment conventions.  In order to
10721        get it aligned for lisp usage during the callback, an extra word
10722        needs to be pushed before the backpointer to the old foreign RSP.
10723
107242006-04-10 10:18  gb
10725
10726        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10727        is 16-byte aligned, so that the foreign stack pointer is aligned
10728        according to C conventions when we enter the signal handler on that
10729        stack.
10730
107312006-04-10 10:13  gb
10732
10733        * lib/numbers.lisp: Define FP infinities, since we're running with
10734        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10735        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10736        an unmasked FP exception was raised and unhandled.)
10737
107382006-04-10 10:10  gb
10739
10740        * lib/level-2.lisp: Remove the WARN and the conditionalization
10741        around bit/bitfield accessors on X8664.
10742
107432006-04-10 10:09  gb
10744
10745        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10746        from memory, we say "ldmxcsr".  We want to do such a load in order
10747        to write new values into the mxcsr.  To store it in memory, we say
10748        "stmxcsr".  We want to do such a store (and a subsequent load from
10749        memory) in order to access the value of the mxcsr.  Simple, no ?
10750
107512006-04-10 10:07  gb
10752
10753        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10754        %GET-BIT/%SET-BIT.
10755
107562006-04-10 08:29  gb
10757
10758        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10759        addition/multiplication: either arg can overlap result (and often
10760        will).  Float subtraction/division: caller should ensure that
10761        result and second arg are disjoint.
10762
107632006-04-10 08:27  gb
10764
10765        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10766        that result doesn't overlap second argument for non-commutative
10767        operations.
10768
107692006-04-10 08:26  gb
10770
10771        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10772
107732006-04-10 05:12  gb
10774
10775        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10776        malloc them.
10777
107782006-04-10 05:12  gb
10779
10780        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10781
107822006-04-10 05:11  gb
10783
10784        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10785        good reason not to.
10786
107872006-04-10 04:39  gb
10788
10789        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10790        are always big-endian.
10791
107922006-04-10 04:38  gb
10793
10794        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10795        reachable via a TRA, update the variable "dnode" so that the
10796        correct bits get set.
10797
107982006-04-10 04:37  gb
10799
10800        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10801
108022006-04-10 04:37  gb
10803
10804        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10805        a bit simpler.
10806
108072006-04-10 04:36  gb
10808
10809        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10810        the MAKE-LOAD-FORM method for hashtables.
10811
108122006-04-09 09:17  gb
10813
10814        * lisp-kernel/thread_manager.c: Inflate control stack size on
10815        x8664, until DWS marker works (and do so correctly this time).
10816
108172006-04-09 09:12  gb
10818
10819        * lisp-kernel/thread_manager.c: Inflate control stack size on
10820        x8664, until DWS marker works.
10821
108222006-04-09 09:09  gb
10823
10824        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10825        #+x86-target DBG trap.
10826
108272006-04-09 08:57  gb
10828
10829        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10830        (Should be exactly the same code, but may not have been 15 years
10831        ago or whenever this was written.)
10832
108332006-04-09 08:56  gb
10834
10835        * lisp-kernel/x86-spentry64.s,
10836        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10837        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10838
108392006-04-09 03:52  gb
10840
10841        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10842        condition_to_boolean.  Not clear why this is necessary, but it
10843        seems to be.
10844
108452006-04-09 03:24  gb
10846
10847        * lisp-kernel/x86-macros.s: Use shorter sequence in
10848        condition_to_boolean.
10849
108502006-04-09 02:32  gb
10851
10852        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10853        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10854        other things being equal.
10855
108562006-04-09 01:37  gb
10857
10858        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10859        operands backwards.
10860
108612006-04-09 01:37  gb
10862
10863        * compiler/optimizers.lisp: Comment formatting.
10864
108652006-04-09 01:29  gb
10866
10867        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10868        bsr/xorl != clz when (zerop n).
10869
108702006-04-08 21:25  gb
10871
10872        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10873        current thread before entering kernel debugger.
10874
108752006-04-08 21:21  gb
10876
10877        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10878        (TARGET-XLOAD-MODULES).
10879
108802006-04-08 21:21  gb
10881
10882        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10883
108842006-04-08 21:20  gb
10885
10886        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10887
108882006-04-08 20:46  gb
10889
10890        * lib/foreign-types.lisp: Add missing paren ...
10891
108922006-04-08 20:45  gb
10893
10894        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10895
108962006-04-08 20:44  gb
10897
10898        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass