source: trunk/ccl/ChangeLog @ 7275

Last change on this file since 7275 was 7275, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 788.4 KB
Line 
12007-09-22 23:13  gb
2
3        * xdump/xfasload.lisp: Set *openmcl-svn-revision* to the value of
4        (LOCAL-SVN-REVISION) when writing the bootstrapping image; this
5        will show up in the Welcome banner and LISP-IMPLEMENTATION-VERSION.
6          May want to tweak this some more, but it may make it easier to
7        determine what you're running relative to what's in SVN/CVS.
8
92007-09-22 23:12  gb
10
11        * level-1/version.lisp: Replace *OPENMCL-SUFFIX* (the thing which
12        had the date in it) with *OPENMCL-SVN-REVISION*, which is defvar'ed
13        to NIL here.  (It may be set early in the cold load or via the
14        xloader.)
15
162007-09-22 23:11  gb
17
18        * lib/pathnames.lisp: Treat NIL and :UNSPECIFIC name/type
19        components in the pattern consistently in %FILE*=.
20
212007-09-22 23:10  gb
22
23        * lib/misc.lisp: LOCAL-SVN-REVISION tries to determine the (local)
24        svn revision, by looking for a .svnrev file (used in the svn->cvs
25        synching process) or by parsing "svn info" output.
26
272007-09-21 12:10  gb
28
29        * cocoa-ide/cocoa-editor.lisp: Rename "cache" to "mirror" in
30        hemlock-text-storage.  This clarifies the purpose of the slot and
31        avoids confusion with buffer caches, which are completely
32        different.
33
342007-09-20 21:10  gb
35
36        * level-1/linux-files.lisp: Make the pipe streams created by
37        RUN-PROGRAM be basic streams
38
392007-09-19 15:10  gb
40
41        * lib/macros.lisp: Prevent unused gensym warnings in
42        with-accessors.  Same fix that Gary Palter did to with-slots.
43
442007-09-19 02:11  gb
45
46        * lib/backtrace-lds.lisp: FRAME-REQUIRED-ARGS: try to make better.
47        This is only used by SLIME; it was once used for frame restarting.
48        Try to make the result reasonable in the SLIME case.
49
502007-09-19 02:10  gb
51
52        * lib/arglist.lisp: ARGLIST-FROM-MAP: don't be afraid to say
53        &LEXPR.  ARG-NAMES-FROM-MAP: &rest in map before &keys now.
54
552007-09-18 21:10  gb
56
57        * lib/macros.lisp: In WITH-SLOTS, if there are bindings, declare
58        the gensym'ed instance symbol IGNORABLE just in case none of the
59        symbol macros are actuall used.
60
612007-09-18 05:10  gb
62
63        * level-0/l0-numbers.lisp: Typo in constant again.
64
652007-09-17 21:10  gb
66
67        * level-1/sysutils.lisp: Return all three values from
68        CCL::PRINT-DEFERRED-WARNINGS
69
702007-09-17 06:10  gb
71
72        * level-0/l0-numbers.lisp: Simply clearing the top bit of the
73        intermediate result from %NEXT-RANDOM-PAIR had the effect of using
74        doing (mod result (expt 2 31)), not (mod result (1- (expt 2 31))).
75        Do a real MOD to obtain the next item in the series and update the
76        state with that value.  (This means that the high bit of the high
77        half of the result is always clear; or in the sign bit from the low
78        half.)
79
802007-09-16 18:10  gb
81
82        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
83        ...
84
852007-09-16 17:10  gb
86
87        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
88        before key arg(s), so assign it an address before processing &key
89        initforms.
90
912007-09-15 17:10  gb
92
93        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
94        -LENGTH* when printing break messages.
95
962007-09-13 20:10  gb
97
98        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
99        :element-type to ccl:run-program to allow for binary streams
100
1012007-09-13 06:55  gb
102
103        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
104        src/elisp/README, src/spell/README: Restore some README files,
105        which had somehow gotten lost in translation.
106
1072007-09-13 06:54  gb
108
109        *
110        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
111        ib/: classes.nib, info.nib, keyedobjects.nib: not used
112
1132007-09-13 06:52  gb
114
115        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
116        for certain kinds of MULTIPLE-VALUE-CALL differently; in
117        particular, note the effect of pushing such a label on stack depth.
118
1192007-09-13 06:50  gb
120
121        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
122        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
123        containing directory exists in cvs.
124
1252007-09-06 14:10  gb
126
127        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
128        write-info-plist
129
1302007-09-04 23:11  gb
131
132        * cocoa-ide/cocoa-editor.lisp: New! Improved!
133       
134        The code which arranges for editing changes to be processed in the
135        main thread now does so via an NSInvocation (ObjC's notion of a
136        closure, sort of); the methods which run in the main thread handle
137        the job of synchronizing the underlying the Hemlock string and the
138        "real" NSMutableAttributedString as well as informing the text
139        system of pending editing changes via
140        #/edited:range:changeInLength:.  The code which processes deletions
141        does the change processing before modifying the string (other
142        methods do it after the change); this seems to be necessary to
143        avoid some things that could cause ticket:50.  (I'm not sure if
144        this fixes ticket:50, but it does seem to fix a reproducible case.)
145       
146        The #/replaceCharactersInRange:withString: method on
147        hemlock-text-storage (which handles buffer changes originating from
148        non-Hemlock sources) is careful to use a :right-inserting temporary
149        mark when modifying the buffer, to help ensure that
150        insertions/deletions take place at the correct absolute position.
151        (This may at least partially address bugs related to things getting
152        confused/out-of-bounds errors when doing lots of cutting and
153        pasting, though it's hard to know without reproducible cases.)
154       
155        The macros NSSTRING-ENCODING-TO-NSINTEGER and
156        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
157        least one of them wasn't.)
158       
159        The handling of text encoding for editor documents has changed in a
160        few ways.  If "automatic" encoding is used in an "Open ..." dialog
161        and is successfully able to infer a text file's encoding, the
162        encoding that was inferred becomes the document's encoding (used in
163        subsequent "save" operations.)  On some OSX versions, the automatic
164        detection mechanism can only recognize UTF-16 files that contain a
165        leading BOM (and the editor's code for dealing with the automatic
166        mechanism didn't expect this to ever work.)  On other systems, the
167        automatic mechanism can return something correct (I've seen UTF-8)
168        but possibly suboptimal.
169       
170        The Open... dialog now defaults to something derived from the
171        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
172        "automatic" is a little unpredictable, the new default is probably
173        better.
174       
175        The NSDocument mechanism for creating backup files (with names of
176        the form "name~.ext") is not used; when backup files are created,
177        we try to copy the original to a file whose name conforms to the
178        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
179        seem to work better when the Emacs scheme is used (though I suppose
180        some people might prefer the NSDocument scheme and we could make
181        this a preference.)
182
1832007-09-04 22:11  gb
184
185        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
186        creating a Listener, since (a) that method's deprecated in favor of
187        #/setFileURL: and (b) a newly-created Listener doesn't really have
188        an associated filename, and so shouldn't get the icon and popup in
189        its titlebar.
190       
191        Do arrange that (unless/until a listener document is saved to a
192        file) its window title is based on the underlying Hemlock buffer's
193        name.  (If one ever attempts to save a listener document, the
194        proposed file name is the internal NSDocument name; we might or
195        might not want to change that.)
196
1972007-09-04 22:10  gb
198
199        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
200        *MODELINE-FONT-NAME*, -SIZE*.
201
2022007-09-04 19:13  gb
203
204        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
205        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
206        which was supposed to allow us to track the high end of a range of
207        pages that'd been written to and not freed (so we'd zero them
208        lazily when they were reallocated.)  Such a scheme would really
209        need to track both ends of such a range, and the old scheme wound
210        up being overly zealous and often zeroed pages that were already
211        zeroed.  Zero the range between the old free pointer and the new
212        one after each GC, instead.
213       
214        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
215        carefully.
216
2172007-09-04 19:12  gb
218
219        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
220        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
221
2222007-09-04 19:11  gb
223
224        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
225        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
226        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
227        this in the PPC backends.
228       
229        (This needs testing ...)
230
2312007-09-04 19:10  gb
232
233        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
234        :single-float callback results have been coerced to :double-float
235        on x8664.
236
2372007-09-03 18:10  gb
238
239        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
240        selection or the symbol around point, regardless of global parsing
241        state (Ticket:95).  While in there, make meta-. with a numarg
242        prompt for symbol to look up.
243
2442007-08-30 20:10  gb
245
246        * level-1/l1-error-system.lisp: Add a restart for unbound
247        variable/undefined function errors -- if there is a unique
248        bound/fbound symbol of the same name in another package, offer to
249        use it instead.
250
2512007-08-30 19:10  gb
252
253        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
254        inaccesible files; it might return an exit status of 2 if it finds
255        such files, so treat that as "success" for now (ticket:98).
256
2572007-08-30 18:11  gb
258
259        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
260        Variable command output (ticket:97).
261
2622007-08-30 18:10  gb
263
264        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
265        VARIABLE-VALUE to access buffer's package (ticket:82).
266
2672007-08-30 15:11  gb
268
269        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
270        code to copy user-supplied nibfiles into a saved application bundle
271
2722007-08-30 14:10  gb
273
274        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
275        all callers of current-point-for-deletion handle the nil return
276        value case.  This fixes ticket:85
277
2782007-08-29 20:11  gb
279
280        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
281        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
282        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
283        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
284        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
285        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
286        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
287        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
288        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
289        hemlock/src/fill.lisp, hemlock/src/font.lisp,
290        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
291        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
292        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
293        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
294        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
295        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
296        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
297        hemlock/src/macros.lisp, hemlock/src/main.lisp,
298        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
299        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
300        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
301        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
302        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
303        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
304        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
305        hemlock/src/text.lisp, hemlock/src/undo.lisp,
306        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
307        hemlock/src/archive/auto-save.lisp,
308        hemlock/src/archive/bit-display.lisp,
309        hemlock/src/archive/bit-screen.lisp,
310        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
311        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
312        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
313        hemlock/src/archive/eval-server.lisp,
314        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
315        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
316        hemlock/src/archive/lisp-lib.lisp,
317        hemlock/src/archive/lispbuf.lisp,
318        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
319        hemlock/src/archive/netnews.lisp,
320        hemlock/src/archive/overwrite.lisp,
321        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
322        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
323        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
324        hemlock/src/archive/spell-corr.lisp,
325        hemlock/src/archive/spell-rt.lisp,
326        hemlock/src/archive/spellcoms.lisp,
327        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
328        hemlock/src/archive/ts-stream.lisp,
329        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
330        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
331        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
332        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
333        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
334        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
335        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
336        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
337        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
338        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
339        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
340        hemlock/website/index.html.in: umm, load cocoa-grep where it will
341        work...
342
3432007-08-29 20:10  gb
344
345        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
346
3472007-08-29 13:11  gb
348
349        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
350
3512007-08-29 12:12  gb
352
353        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
354        arg (simple case), move point to the location of the temporary mark
355        after calling the indent function.
356
3572007-08-29 12:11  gb
358
359        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
360        returns 2 values: the "column" (with tabs expanded) of the first
361        non-whitespace character on the line and that character's position.
362         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
363        position if no changes are necessary.
364
3652007-08-29 12:10  gb
366
367        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
368        method, make an NS-MUTABLE-STRING even if the string from the
369        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
370        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
371         mutable.) For ticket:84.
372
3732007-08-28 23:10  gb
374
375        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
376        hi::scroll-window actually scroll, not just move insertion point
377        around.  Fixes ticket:88.
378
3792007-08-26 13:11  gb
380
381        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
382        keyword argument to build-application: main-nib-name; names the
383        nigfile that is to be the main nib of the built application
384
3852007-08-26 12:10  gb
386
387        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
388        application bulder to trunk
389
3902007-08-25 02:13  gb
391
392        * cocoa-ide/cocoa-listener.lisp:
393        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
394        #\^d after sending the string.  (This is just a workaround for
395        ticket:82; the trailing #\^d is just treated as whitespace and
396        terminates calls to READ.  We really want some way of recognizing
397        "end of selection" and treating that like a transient EOF in some
398        cases.)
399
4002007-08-25 02:12  gb
401
402        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
403        #/openDocumentWithContentsOfURL:display:error:, since calling
404        #/openDocumentWithContentsOfURL:display: complains that
405        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
406        Cocoa.  (Note that we'd been calling
407        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
408        implementation without incident.)
409
4102007-08-25 02:11  gb
411
412        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
413        notes buffer modification.
414
4152007-08-25 02:10  gb
416
417        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
418        modification.
419
4202007-08-23 17:17  gb
421
422        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
423        method.
424
4252007-08-23 17:16  gb
426
427        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
428        #/editingInProgress method.  Add some more (conditionalized) debug
429        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
430        command thread as well as in Cocoa thread.  Make sure that Hemlock
431        command thread has bindings of command-processing data structures,
432        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
433        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
434        only set by isearch when it exits.
435
4362007-08-23 17:15  gb
437
438        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
439        font name and size; initially, Monaco 9.  (Not yet changeable
440        through preferences panel.) Adjust outline view's row height based
441        on font height.  Set the data cell to "non-editable" (could have
442        done this in IB).  Provide handlers for some menu commands
443        (continue, restarts, exitBreak); no need to validate menu items for
444        them (those commands should be available whenever backtrace dialog
445        is active.)
446
4472007-08-23 17:14  gb
448
449        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
450        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
451
4522007-08-23 17:13  gb
453
454        * cocoa-ide/hemlock/src/package.lisp: Export
455        RECURSIVE-GET-KEY-EVENT.
456
4572007-08-23 17:12  gb
458
459        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
460        read symbol for arglist.  (Should probably be more careful
461        elsewhere, too.)
462
4632007-08-23 17:11  gb
464
465        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
466        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
467        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
468
4692007-08-23 17:10  gb
470
471        * cocoa-ide/hemlock/src/echo.lisp: Don't call
472        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
473        still be pending on the echo area (how ?), and
474        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
475        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
476
4772007-08-23 16:11  gb
478
479        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
480        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
481        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
482        events in some modal loop in a command.  (The idea is that toplevel
483        editing commands inhibit redisplay in the main buffer while they're
484        active; commands which recursively process key events and which may
485        make changes to that buffer should allow redisplay while they're
486        waiting in RECURSIVE-GET-KEY-EVENT.)
487
4882007-08-23 16:10  gb
489
490        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
491        revert.
492
4932007-08-18 19:11  gb
494
495        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
496        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
497        race conditions where two threads try to update a distpatch table
498        index with different {wrapper, combined-method} pairs at the same
499        time.  (As it's written, if the store-conditional fails because a
500        slot that we thought was free is now in use, we simply don't cache
501        the pair and get a cache miss the next time; that may or may not be
502        more work than repeating the whole process would be.)
503       
504        The store-conditional is used on attempt to update the
505        combined-method slot in the pair; the wrapper slot is only updated
506        if the store-conditional succeeds.  Code which probes the wrapper
507        slots shouldn't be confused by a half-updated pair (should never
508        see a non-null wrapper slot and a null combined-method slot.)
509
5102007-08-18 17:11  gb
511
512        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
513        %DECODE-TYPE.
514
5152007-08-18 16:10  gb
516
517        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
518        determine if selection highlighting can be used, since
519        #_class_respondsToSelector requires ObjC-2.0)
520
5212007-08-16 08:22  gb
522
523        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
524        extended selection highlighting if it's supported.
525       
526        Clear the shift bit from key events associated with standard-chars.
527
5282007-08-16 08:20  gb
529
530        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
531        bound to movement commands run different commands.
532       
533        Left-mouse has the :mouse-exit logical attribute.
534
5352007-08-16 08:19  gb
536
537        * cocoa-ide/hemlock/src/buffer.lisp:
538        CURRENT-POINT-COLLAPSING-SELECTION and
539        CURRENT-POINT-EXTENDING-SELECTION replace
540        CURRENT-POINT-FOR-MOVEMENT.
541
5422007-08-16 08:18  gb
543
544        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
545        translation.
546       
547        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
548        selection highlighting under Leopard.
549
5502007-08-16 08:16  gb
551
552        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
553        "shifted" and "unshifted" variants.
554
5552007-08-16 08:15  gb
556
557        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
558        attribute.
559
5602007-08-16 08:14  gb
561
562        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
563        bit for standard-char (and upper-case.) This means that
564        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
565        (in which the shift modifier isn't explicitly set) and that
566        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
567        modifier is set in the latter.)
568
5692007-08-16 08:13  gb
570
571        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
572        the buffer if the line's already indented properly.
573       
574        Movement commands come in two variants: those that collapse and
575        those that extend the selection.
576
5772007-08-16 08:12  gb
578
579        * cocoa-ide/hemlock/src/package.lisp: Export
580        CURRENT-POINT-EXTENDING-SELECTION and
581        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
582        CURRENT-POINT-FOR-MOVEMENT.
583
5842007-08-16 08:10  gb
585
586        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
587        empatically (under Leopard) after successful (non incremental)
588        search.
589       
590        Incremental search also hilites the selection, but doesn't yet
591        manage the selection on failure.
592
5932007-08-16 07:10  gb
594
595        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
596        by invoking #/activateHemlockView on main thread; call
597        deactivate-hemlock-view on the peer.
598       
599        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
600        but I'm fairly sure that this stuff needs to happen on the main
601        thread.
602
6032007-08-09 16:10  gb
604
605        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
606        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
607
6082007-08-07 15:10  gb
609
610        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
611        beginning of buffer and end of buffer.  It's Mac standard, and I
612        use it a lot.  Home was bound to "Help".
613       
614        Make clicking the mouse while incremental searching exit instead of
615        abort, leaving the insertion point where you click instead of where
616        the isearch was started.
617
6182007-08-06 23:10  gb
619
620        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
621        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
622        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
623        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
624        hemlock key event, set the hemlock shift bit if the the Cocoa shift
625        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
626        bit cleared and the keysym downcased (if necessary).  Leave
627        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
628        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
629        deactivates the region ("collapses the selection") if the shift bit
630        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
631        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
632        hopefully all) movement commands, to address ticket:36 .  Define a
633        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
634        to it to address ticket:44 .
635
6362007-08-06 19:10  gb
637
638        * objc-bridge/objc-support.lisp: careful with db stuff
639
6402007-08-04 13:12  gb
641
642        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
643        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
644         (Should maybe do this on mousedown in the echo area, too.) Some
645        indentation changes.
646
6472007-08-04 12:14  gb
648
649        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
650        :abort key event.
651
6522007-08-04 12:13  gb
653
654        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
655        title for show lossage command.
656
6572007-08-04 12:12  gb
658
659        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
660        left mouse down, so that we can use #k"leftdown".
661
6622007-08-04 12:11  gb
663
664        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
665
6662007-08-03 15:10  gb
667
668        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
669
6702007-08-03 10:10  gb
671
672        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
673        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
674
6752007-08-03 09:10  gb
676
677        * level-0/l0-array.lisp: Define list-to-vector.
678
6792007-08-02 07:16  gb
680
681        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
682        #/changeFont:; use targeted messages.  Ensure that font panel picks
683        up the right font.
684
6852007-08-02 07:16  gb
686
687        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
688        default.
689
6902007-08-02 07:15  gb
691
692        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
693        view, echo area) unselectable when activating via Hemlock command.
694        Text views don't use font panel by default; enable/disable font
695        panel when setting text color.
696
6972007-08-02 07:14  gb
698
699        * cocoa-ide/.cvsignore: New.
700
7012007-08-02 07:13  gb
702
703        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
704        CREATE-INTERFACES.
705
7062007-08-02 07:12  gb
707
708        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
709
7102007-08-02 07:11  gb
711
712        * library/parse-ffi.lisp: Don't be verbose about explict struct
713        returns.
714
7152007-08-02 07:10  gb
716
717        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
718        anymore.
719
7202007-07-31 19:10  gb
721
722        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
723        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
724
7252007-07-31 07:12  gb
726
727        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
728        to #o644 (not #o666); make sure that it's actually used when
729        creating the image (even if not prepending a kernel to the image.)
730
7312007-07-31 07:11  gb
732
733        * level-1/l1-application.lisp: When processing --version option,
734        don't write to *terminal-io* (which doesn't exist yet.)
735
7362007-07-22 23:50  gb
737
738        * release-notes.txt: Add more stuff.
739
7402007-07-22 23:11  gb
741
742        * level-1/version.lisp: Bump.
743
7442007-07-22 23:10  gb
745
746        * release-notes.txt: Update for 1.1-pre-070722.
747
7482007-07-22 21:11  gb
749
750        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
751
7522007-07-22 21:10  gb
753
754        * cocoa-ide/README: New file.
755
7562007-07-22 18:51  gb
757
758        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
759        package.
760
7612007-07-22 18:50  gb
762
763        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
764
7652007-07-22 18:49  gb
766
767        * level-1/version.lisp: Bump.
768
7692007-07-22 18:48  gb
770
771        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
772        Allocate callback trampolines via mmap on ppc, too.
773
7742007-07-22 18:47  gb
775
776        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
777        RUN-PROGRAM to merge-pathnames.
778
7792007-07-22 18:46  gb
780
781        * level-1/l1-utils.lisp: Don't define BEEP.
782
7832007-07-22 18:46  gb
784
785        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
786        was counting chars (nchars) twice.
787
7882007-07-22 18:45  gb
789
790        * level-1/l1-streams.lisp: selection-stream changes.
791
7922007-07-22 18:44  gb
793
794        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
795        about restarts in backtrace context.
796
7972007-07-22 18:43  gb
798
799        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
800        can be overridden.
801
8022007-07-22 18:42  gb
803
804        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
805        *MODULE-SEARCH-PATH*.
806
8072007-07-22 18:41  gb
808
809        * level-1/l1-format.lisp: Handling of * format directive when
810        dealing with circularity screws up other things that expect
811        *FORMAT-ARGUMENTS* to share structure with
812        *FORMAT-ORIGINAL-ARGUMENTS*.
813
8142007-07-22 18:40  gb
815
816        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
817        ENSURE-DIRECTORY-NAMESTRING.
818
8192007-07-22 18:40  gb
820
821        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
822        interactive break.
823
8242007-07-22 18:39  gb
825
826        * level-1/l1-error-system.lisp: Stream error context stuff.
827
8282007-07-22 18:38  gb
829
830        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
831        (e.g., as NSExceptions.)
832
8332007-07-22 18:37  gb
834
835        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
836        CLASS-SLOT-INITARGS.
837
8382007-07-22 18:36  gb
839
840        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
841        allocation stuff (which uses mmap to ensure that the callback is in
842        executable memory) here, since it'll be needed on ppc64 leopard, at
843        least.
844
8452007-07-22 18:35  gb
846
847        * level-1/l1-application.lisp: Argument handling and interactive
848        stream initialization happens in a :before method on
849        (toplevel-function application).
850
8512007-07-22 18:34  gb
852
853        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
854        special args/locals, too.
855
8562007-07-22 18:33  gb
857
858        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
859        for backtrace/inspect someday.
860
8612007-07-22 18:33  gb
862
863        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
864
8652007-07-22 18:32  gb
866
867        * lib/macros.lisp: Callbacks that try to do magic foreign error
868        stuff use HANDLER-BIND, not HANDLER-CASE.
869       
870        Other callback-changes to reduce incidental consing sometimes.
871
8722007-07-22 18:31  gb
873
874        * lib/backtrace.lisp: %show-args-and-locals,
875        %stack-frames-in-context: changes for new backtrace presentation.
876
8772007-07-22 18:30  gb
878
879        * lib/compile-ccl.lisp: Remove some duplicate definitions.
880
8812007-07-22 18:29  gb
882
883        * lib/describe.lisp: Some (signigicant) stack-frame changes.
884
8852007-07-22 18:28  gb
886
887        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
888
8892007-07-22 18:27  gb
890
891        * lib/arglist.lisp: Provide -some- arglist info for special
892        operators.  ARG-NAMES-FROM-MAP.
893
8942007-07-22 18:27  gb
895
896        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
897
8982007-07-22 18:26  gb
899
900        * lib/source-files.lisp: Comment formatting.
901
9022007-07-22 18:25  gb
903
904        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
905        to provide context.
906
9072007-07-22 18:24  gb
908
909        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
910        get confused by null register values, etc.
911
9122007-07-22 18:23  gb
913
914        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
915        not ppc32/ppc64.
916
9172007-07-22 18:22  gb
918
919        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
920        64-bit key-scrambling stuff.
921
9222007-07-22 18:21  gb
923
924        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
925
9262007-07-22 18:21  gb
927
928        * level-0/l0-utils.lisp: s32->u32, u32->s32.
929
9302007-07-22 18:20  gb
931
932        * level-0/l0-error.lisp: foreign exception error stuff.
933
9342007-07-22 18:19  gb
935
936        * level-1/l1-sockets.lisp: Sockets created with :format :binary
937        don't have element-type of character, though this crap is all
938        pretty nebulous.
939
9402007-07-22 18:18  gb
941
942        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
943
9442007-07-22 18:17  gb
945
946        * library/pty.lisp: set-pty-raw.
947
9482007-07-22 18:16  gb
949
950        * library/hemlock.lisp: Moved elsewhere.
951
9522007-07-22 18:15  gb
953
954        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
955        frames.
956
9572007-07-22 18:14  gb
958
959        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
960
9612007-07-22 18:14  gb
962
963        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
964        exception bit on interrupt.
965
9662007-07-22 18:13  gb
967
968        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
969        tcr flag bits, including new one for foreign exceptions.
970
9712007-07-22 18:12  gb
972
973        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
974
9752007-07-22 18:11  gb
976
977        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
978        exceptions.
979
9802007-07-22 18:10  gb
981
982        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
983        stack for pthread.  Foreign exception callbacks: put some 0s on the
984        stack for callback.
985
9862007-07-22 18:09  gb
987
988        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
989
9902007-07-22 18:08  gb
991
992        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
993        ensure_stack_limit(): if stack size is constrained by limits, don't
994        exceed those limits.
995
9962007-07-22 18:08  gb
997
998        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
999
10002007-07-22 18:07  gb
1001
1002        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
1003
10042007-07-22 18:06  gb
1005
1006        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
1007
10082007-07-22 18:03  gb
1009
1010        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
1011        OpenMCL.app/Contents/MacOS/dppccl,
1012        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
1013        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1014        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1015        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1016        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
1017        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
1018        ib,
1019        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
1020        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
1021        cts.nib,
1022        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
1023        lasses.nib,
1024        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
1025        nfo.nib,
1026        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
1027        eyedobjects.nib,
1028        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
1029        nib,
1030        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
1031        ,
1032        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
1033        ects.nib,
1034        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
1035        .nib,
1036        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
1037        b,
1038        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
1039        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1040        OpenMCL.app/Contents/Resources/Help/index.html,
1041        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
1042        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
1043        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
1044        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
1045        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
1046        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
1047        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
1048        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
1049        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1050        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1051        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1052        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
1053        rings,
1054        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1055        /classes.nib,
1056        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1057        /info.nib,
1058        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1059        /keyedobjects.nib,
1060        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1061        ctor.nib/classes.nib,
1062        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1063        ctor.nib/info.nib,
1064        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1065        ctor.nib/keyedobjects.nib,
1066        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1067        b/classes.nib,
1068        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1069        b/info.nib,
1070        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1071        b/keyedobjects.nib,
1072        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1073        ib/classes.nib,
1074        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1075        ib/info.nib,
1076        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1077        ib/keyedobjects.nib,
1078        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1079        ib/classes.nib,
1080        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1081        ib/info.nib,
1082        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1083        ib/keyedobjects.nib,
1084        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1085        nib/classes.nib,
1086        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1087        nib/info.nib,
1088        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1089        nib/keyedobjects.nib,
1090        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1091        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1092        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1093        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1094        cocoa-ide/hemlock/hemlock11.cursor,
1095        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1096        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1097        cocoa-ide/hemlock/doc/.cvsignore,
1098        cocoa-ide/hemlock/doc/cim/.cvsignore,
1099        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1100        cocoa-ide/hemlock/doc/cim/cim.mss,
1101        cocoa-ide/hemlock/doc/misc/.cvsignore,
1102        cocoa-ide/hemlock/doc/misc/compilation.order,
1103        cocoa-ide/hemlock/doc/misc/hemlock.log,
1104        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1105        cocoa-ide/hemlock/doc/misc/notes.txt,
1106        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1107        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1108        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1109        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1110        cocoa-ide/hemlock/doc/user/.cvsignore,
1111        cocoa-ide/hemlock/doc/user/commands.mss,
1112        cocoa-ide/hemlock/doc/user/intro.mss,
1113        cocoa-ide/hemlock/doc/user/lisp.mss,
1114        cocoa-ide/hemlock/doc/user/mail.mss,
1115        cocoa-ide/hemlock/doc/user/netnews.mss,
1116        cocoa-ide/hemlock/doc/user/special-modes.mss,
1117        cocoa-ide/hemlock/doc/user/user.mss,
1118        cocoa-ide/hemlock/maint/.cvsignore,
1119        cocoa-ide/hemlock/maint/publish,
1120        cocoa-ide/hemlock/resources/.cvsignore,
1121        cocoa-ide/hemlock/resources/XKeysymDB,
1122        cocoa-ide/hemlock/resources/mh-scan,
1123        cocoa-ide/hemlock/resources/spell-dictionary.text,
1124        cocoa-ide/hemlock/src/.cvsignore,
1125        cocoa-ide/hemlock/src/bindings-gb.lisp,
1126        cocoa-ide/hemlock/src/bindings.lisp,
1127        cocoa-ide/hemlock/src/buffer.lisp,
1128        cocoa-ide/hemlock/src/charmacs.lisp,
1129        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1130        cocoa-ide/hemlock/src/command.lisp,
1131        cocoa-ide/hemlock/src/comments.lisp,
1132        cocoa-ide/hemlock/src/completion.lisp,
1133        cocoa-ide/hemlock/src/cursor.lisp,
1134        cocoa-ide/hemlock/src/decls.lisp,
1135        cocoa-ide/hemlock/src/defsyn.lisp,
1136        cocoa-ide/hemlock/src/doccoms.lisp,
1137        cocoa-ide/hemlock/src/echo.lisp,
1138        cocoa-ide/hemlock/src/echocoms.lisp,
1139        cocoa-ide/hemlock/src/edit-defs.lisp,
1140        cocoa-ide/hemlock/src/filecoms.lisp,
1141        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1142        cocoa-ide/hemlock/src/font.lisp,
1143        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1144        cocoa-ide/hemlock/src/htext1.lisp,
1145        cocoa-ide/hemlock/src/htext2.lisp,
1146        cocoa-ide/hemlock/src/htext3.lisp,
1147        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1148        cocoa-ide/hemlock/src/indent.lisp,
1149        cocoa-ide/hemlock/src/interp.lisp,
1150        cocoa-ide/hemlock/src/kbdmac.lisp,
1151        cocoa-ide/hemlock/src/key-event.lisp,
1152        cocoa-ide/hemlock/src/keysym-defs.lisp,
1153        cocoa-ide/hemlock/src/killcoms.lisp,
1154        cocoa-ide/hemlock/src/line.lisp,
1155        cocoa-ide/hemlock/src/linimage.lisp,
1156        cocoa-ide/hemlock/src/lispdep.lisp,
1157        cocoa-ide/hemlock/src/lispmode.lisp,
1158        cocoa-ide/hemlock/src/listener.lisp,
1159        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1160        cocoa-ide/hemlock/src/modeline.lisp,
1161        cocoa-ide/hemlock/src/morecoms.lisp,
1162        cocoa-ide/hemlock/src/package.lisp,
1163        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1164        cocoa-ide/hemlock/src/register.lisp,
1165        cocoa-ide/hemlock/src/ring.lisp,
1166        cocoa-ide/hemlock/src/rompsite.lisp,
1167        cocoa-ide/hemlock/src/search1.lisp,
1168        cocoa-ide/hemlock/src/search2.lisp,
1169        cocoa-ide/hemlock/src/searchcoms.lisp,
1170        cocoa-ide/hemlock/src/srccom.lisp,
1171        cocoa-ide/hemlock/src/streams.lisp,
1172        cocoa-ide/hemlock/src/struct.lisp,
1173        cocoa-ide/hemlock/src/syntax.lisp,
1174        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1175        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1176        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1177        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1178        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1179        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1180        cocoa-ide/hemlock/src/archive/bufed.lisp,
1181        cocoa-ide/hemlock/src/archive/debug.lisp,
1182        cocoa-ide/hemlock/src/archive/dired.lisp,
1183        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1184        cocoa-ide/hemlock/src/archive/display.lisp,
1185        cocoa-ide/hemlock/src/archive/dylan.lisp,
1186        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1187        cocoa-ide/hemlock/src/archive/group.lisp,
1188        cocoa-ide/hemlock/src/archive/highlight.lisp,
1189        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1190        cocoa-ide/hemlock/src/archive/input.lisp,
1191        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1192        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1193        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1194        cocoa-ide/hemlock/src/archive/mh.lisp,
1195        cocoa-ide/hemlock/src/archive/netnews.lisp,
1196        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1197        cocoa-ide/hemlock/src/archive/pascal.lisp,
1198        cocoa-ide/hemlock/src/archive/rcs.lisp,
1199        cocoa-ide/hemlock/src/archive/screen.lisp,
1200        cocoa-ide/hemlock/src/archive/scribe.lisp,
1201        cocoa-ide/hemlock/src/archive/shell.lisp,
1202        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1203        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1204        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1205        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1206        cocoa-ide/hemlock/src/archive/srccom.lisp,
1207        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1208        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1209        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1210        cocoa-ide/hemlock/src/archive/window.lisp,
1211        cocoa-ide/hemlock/src/archive/winimage.lisp,
1212        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1213        cocoa-ide/hemlock/src/elisp/.cvsignore,
1214        cocoa-ide/hemlock/src/elisp/base.lisp,
1215        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1216        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1217        cocoa-ide/hemlock/src/elisp/compile.lisp,
1218        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1219        cocoa-ide/hemlock/src/elisp/implementation-needed,
1220        cocoa-ide/hemlock/src/elisp/internals.lisp,
1221        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1222        cocoa-ide/hemlock/src/elisp/packages.lisp,
1223        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1224        cocoa-ide/hemlock/src/spell/.cvsignore,
1225        cocoa-ide/hemlock/src/spell/build.lisp,
1226        cocoa-ide/hemlock/src/spell/classes.lisp,
1227        cocoa-ide/hemlock/src/spell/constants.lisp,
1228        cocoa-ide/hemlock/src/spell/correlate.lisp,
1229        cocoa-ide/hemlock/src/spell/flags.lisp,
1230        cocoa-ide/hemlock/src/spell/hashing.lisp,
1231        cocoa-ide/hemlock/src/spell/io.lisp,
1232        cocoa-ide/hemlock/src/spell/package.lisp,
1233        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1234        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1235        cocoa-ide/hemlock/src/spell/spell.asd,
1236        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1237        cocoa-ide/hemlock/src/tty/.cvsignore,
1238        cocoa-ide/hemlock/src/tty/termcap.lisp,
1239        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1240        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1241        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1242        cocoa-ide/hemlock/src/wire/.cvsignore,
1243        cocoa-ide/hemlock/src/wire/Notes,
1244        cocoa-ide/hemlock/src/wire/package.lisp,
1245        cocoa-ide/hemlock/src/wire/port.lisp,
1246        cocoa-ide/hemlock/src/wire/remote.lisp,
1247        cocoa-ide/hemlock/src/wire/wire.lisp,
1248        cocoa-ide/hemlock/unused/.cvsignore,
1249        cocoa-ide/hemlock/unused/bit-stream.lisp,
1250        cocoa-ide/hemlock/unused/clx-ext.lisp,
1251        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1252        cocoa-ide/hemlock/unused/gosmacs.lisp,
1253        cocoa-ide/hemlock/unused/hacks.lisp,
1254        cocoa-ide/hemlock/unused/hemcom.lisp,
1255        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1256        cocoa-ide/hemlock/unused/keytran.lisp,
1257        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1258        cocoa-ide/hemlock/unused/spell-build.lisp,
1259        cocoa-ide/hemlock/unused/struct-ed.lisp,
1260        cocoa-ide/hemlock/unused/tty-stream.lisp,
1261        cocoa-ide/hemlock/website/.cvsignore,
1262        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1263        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1264        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1265        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1266        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1267        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1268        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1269        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1270        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1271        examples/objc-clos.lisp, examples/objc-package.lisp,
1272        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1273        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1274        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1275        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1276        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1277        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1278        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1279        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1280        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1281        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1282        hemlock/doc/misc/perq-hemlock.log,
1283        hemlock/doc/misc/things-to-do.txt,
1284        hemlock/doc/scribe-converter/.cvsignore,
1285        hemlock/doc/scribe-converter/NOTES,
1286        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1287        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1288        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1289        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1290        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1291        hemlock/maint/publish, hemlock/resources/.cvsignore,
1292        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1293        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1294        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1295        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1296        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1297        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1298        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1299        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1300        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1301        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1302        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1303        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1304        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1305        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1306        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1307        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1308        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1309        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1310        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1311        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1312        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1313        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1314        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1315        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1316        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1317        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1318        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1319        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1320        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1321        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1322        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1323        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1324        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1325        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1326        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1327        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1328        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1329        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1330        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1331        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1332        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1333        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1334        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1335        hemlock/src/table.lisp, hemlock/src/text.lisp,
1336        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1337        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1338        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1339        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1340        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1341        hemlock/src/elisp/base.lisp,
1342        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1343        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1344        hemlock/src/elisp/hemlock-shims.lisp,
1345        hemlock/src/elisp/implementation-needed,
1346        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1347        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1348        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1349        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1350        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1351        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1352        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1353        hemlock/src/spell/spell-aug.lisp,
1354        hemlock/src/spell/spell-dictionary.text,
1355        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1356        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1357        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1358        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1359        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1360        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1361        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1362        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1363        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1364        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1365        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1366        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1367        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1368        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1369        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1370        objc-bridge/fake-cfbundle-path.lisp,
1371        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1372        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1373        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1374        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1375        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1376        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1377        things moved from "examples" to one of these directories,
1378        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1379        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1380        "ide-1.0" branch for details.
1381
13822007-06-15 19:10  gb
1383
1384        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1385
13862007-06-15 14:10  gb
1387
1388        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1389        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1390        (shouldn't get here if we're catching that upstream, but ...)
1391
13922007-06-01 08:34  gb
1393
1394        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1395        caught most places.
1396
13972007-06-01 08:33  gb
1398
1399        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1400        if it can't find the package, accepts a stream argument in order to
1401        signal that type of error.  (Note that this has never been
1402        recoverable in general, especially in the case where the input
1403        stream is *terminal-io* or shares its input stream.)
1404
14052007-06-01 08:32  gb
1406
1407        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1408        reporting themselves.
1409
14102007-06-01 08:31  gb
1411
1412        * level-1/l1-error-system.lisp: Define and use
1413        STREAM-ERROR-CONTEXT.
1414
14152007-06-01 08:30  gb
1416
1417        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1418        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1419        probably have been caught earlier.
1420
14212007-06-01 08:29  gb
1422
1423        * level-1/l1-streams.lisp: Try to provide some context -
1424        "surrounding characters" - for reader/stream errors on character
1425        input streams.
1426
14272007-06-01 08:28  gb
1428
1429        * level-1/l1-unicode.lisp: Get number of args right in call to
1430        STRING-ENCODED-LENGTH-IN-BYTES from
1431        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1432
14332007-06-01 08:28  gb
1434
1435        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1436        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1437        order.  Both functions are usually open-coded (and the inlined
1438        versions seem to be OK), but the ObjC bridge funcalls these
1439        functions when getting/setting foreign slots of the appropriate
1440        type.
1441
14422007-06-01 08:27  gb
1443
1444        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1445        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1446        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1447
14482007-06-01 08:26  gb
1449
1450        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1451        all of it" case in %CSTR-POINTER; deal with all other cases in
1452        %CSTR-SEGMENT-POINTER.
1453
14542007-06-01 08:25  gb
1455
1456        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1457        under return address, exception callback frame (xcf) on stack.
1458       
1459        handle-udf-call: don't try to fix up the stack if we try to
1460        continue; let kernel deal with this after the callback.
1461
14622007-06-01 08:24  gb
1463
1464        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1465        return address on the top of the stack when this is entered
1466        (#-of-arguments traps).  Put it in the right place when building
1467        the frame.
1468       
1469        create_exception_callback_frame: look for tra on top of lisp stack,
1470        not in register (usually.)
1471       
1472        handle_error(): if we return after calling out for int #xc7 (call
1473        to undefined function), fix up the stack and other registers so
1474        that we can return the value(s) returned by the lisp-side handler.
1475        (It's hard for the lisp-side handler to do the stack manipulation,
1476        because of the xcf on the stack and because of the need to deal
1477        with the return address on the stack.)
1478
14792007-06-01 08:23  gb
1480
1481        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1482        lea/jmp: push ra0 on stack before trap, for the benefit of
1483        create_exception_callback_frame().
1484
14852007-06-01 08:22  gb
1486
1487        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1488
14892007-06-01 08:22  gb
1490
1491        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1492        write a BOM here.
1493
14942007-06-01 08:21  gb
1495
1496        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1497        since the switch to the new tra scheme.
1498
14992007-06-01 08:19  gb
1500
1501        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1502        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1503
15042007-05-12 18:27  gb
1505
1506        * release-notes.txt: Update for 070512.
1507
15082007-05-12 18:27  gb
1509
1510        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1511
15122007-05-12 18:26  gb
1513
1514        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1515
15162007-05-12 18:25  gb
1517
1518        * level-1/version.lisp: Bump.
1519
15202007-05-12 18:24  gb
1521
1522        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1523        heap by more than what we need if GC is obviously disabled.
1524
15252007-05-12 18:23  gb
1526
1527        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1528        suppress overflow checking in some cases.
1529
15302007-05-12 18:22  gb
1531
1532        * compiler/X86/x862.lisp: Fix indentation.
1533
15342007-05-12 18:22  gb
1535
1536        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1537        beyond segment if GC (obviously) disabled.
1538
15392007-05-12 18:21  gb
1540
1541        * level-1/l1-streams.lisp: Fix typo.
1542
15432007-05-12 18:20  gb
1544
1545        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1546        separate character encode/decode limits.
1547
15482007-05-12 18:19  gb
1549
1550        * level-1/l1-unicode.lisp: Start to bootstrap separate
1551        encode/decode limits.
1552
15532007-05-12 18:18  gb
1554
1555        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1556        nonsense when referencing mxcsr in debug_show_fpu().
1557
15582007-05-12 18:17  gb
1559
1560        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1561        earlier.  Sheesh.
1562
15632007-05-12 18:17  gb
1564
1565        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1566
15672007-05-12 18:16  gb
1568
1569        * level-1/version.lisp: Bump, for now.
1570
15712007-05-12 18:15  gb
1572
1573        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1574        ABI version.
1575
15762007-05-12 18:14  gb
1577
1578        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1579        new TRA interpretation.
1580
15812007-05-12 18:13  gb
1582
1583        * lisp-kernel/x86-spjump64.s: nmkunwind.
1584
15852007-05-12 18:12  gb
1586
1587        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1588        nMake_Catch handles return addresses on stack.  repret, for use
1589        when a one-byte ret instruction is a branch target or is preceded
1590        by a conditional branch.
1591
15922007-05-12 18:11  gb
1593
1594        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1595        exception contexts.
1596
15972007-05-12 18:11  gb
1598
1599        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1600        exception context; new TRA handling.
1601
16022007-05-12 18:10  gb
1603
1604        * lisp-kernel/x86-exceptions.c: New tra handling.
1605        new_heap_segment: try to avoid requesting too much when user sets
1606        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1607        down to fault handler, don't call out to lisp on faults in foreign
1608        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1609
16102007-05-12 18:08  gb
1611
1612        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1613        assignments.
1614
16152007-05-12 18:07  gb
1616
1617        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1618        sequence.
1619
16202007-05-12 18:06  gb
1621
1622        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1623
16242007-05-12 18:05  gb
1625
1626        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1627        that're branch targets or that follow conditional branches.
1628
16292007-05-12 18:04  gb
1630
1631        * lisp-kernel/thread_manager.c: Conditionalize for
1632        USE_MACH_EXCEPTION_LOCK.
1633
16342007-05-12 18:03  gb
1635
1636        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1637
16382007-05-12 18:02  gb
1639
1640        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1641        explicit blr.
1642
16432007-05-12 18:01  gb
1644
1645        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1646         Gee, I hope that works.
1647
16482007-05-12 18:00  gb
1649
1650        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1651
16522007-05-12 17:59  gb
1653
1654        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1655        using the mechanism.
1656
16572007-05-12 17:59  gb
1658
1659        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1660        extend with (possibly very large) lisp_heap_gc_threshold, try
1661        smaller values.
1662       
1663        Pass "old_valence" to exception handlers; don't call out to lisp on
1664        memory faults from foreign code.
1665
16662007-05-12 17:58  gb
1667
1668        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1669
16702007-05-12 17:57  gb
1671
1672        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1673        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1674        be correct/necessary.
1675
16762007-05-12 17:56  gb
1677
1678        * lisp-kernel/lisp-debug.c: lisp register display changes for
1679        x86-64.  Get FPU display working on x86-64.
1680
16812007-05-12 17:55  gb
1682
1683        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1684        calling-sequence change.
1685
16862007-05-12 17:54  gb
1687
1688        * lisp-kernel/image.h: New ABI version.
1689
16902007-05-12 17:54  gb
1691
1692        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1693        could; if only I could ...
1694
16952007-05-12 17:53  gb
1696
1697        * lib/x8664env.lisp: More imm temps! (one more ...).
1698
16992007-05-12 17:52  gb
1700
1701        * lib/nfcomp.lisp: Bump current fasl version.
1702
17032007-05-12 17:51  gb
1704
1705        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1706        in cross-compiled code.
1707
17082007-05-12 17:50  gb
1709
1710        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1711        interface dir, because of cross-compilation issues.
1712
17132007-05-12 17:49  gb
1714
1715        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1716        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1717
17182007-05-12 17:49  gb
1719
1720        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1721        transition.
1722
17232007-05-12 17:48  gb
1724
1725        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1726
17272007-05-12 17:47  gb
1728
1729        * lib/encapsulate.lisp: Add a comment.
1730
17312007-05-12 17:46  gb
1732
1733        * library/hash-cons.lisp: Very small lap change.
1734
17352007-05-12 17:45  gb
1736
1737        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1738        %FIXNUM-SET-MACPTR elsewhere.
1739
17402007-05-12 17:44  gb
1741
1742        * level-1/linux-files.lisp: File-mapped vectors.
1743
17442007-05-12 17:43  gb
1745
1746        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1747        :new-version if pathname-version of filename is :NEWEST.
1748
17492007-05-12 17:43  gb
1750
1751        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1752        with a CONDITION object.
1753
17542007-05-12 17:42  gb
1755
1756        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1757
17582007-05-12 17:41  gb
1759
1760        * level-1/l1-pathnames.lisp: If there's no host component in a
1761        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1762
17632007-05-12 17:40  gb
1764
1765        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1766        listener stack sizes now static.
1767
17682007-05-12 17:39  gb
1769
1770        * level-1/l1-files.lisp: Pathname arcana.
1771
17722007-05-12 17:38  gb
1773
1774        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1775        SIGINT.
1776
17772007-05-12 17:38  gb
1778
1779        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1780        changes.
1781
17822007-05-12 17:37  gb
1783
1784        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1785       
1786        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1787
17882007-05-12 17:36  gb
1789
1790        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1791
17922007-05-12 17:35  gb
1793
1794        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1795        here.
1796
17972007-05-12 17:34  gb
1798
1799        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1800
18012007-05-12 17:33  gb
1802
1803        * level-0/X86/x86-utils.lisp: New calling sequence.
1804
18052007-05-12 17:32  gb
1806
1807        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1808        EQL.
1809
18102007-05-12 17:32  gb
1811
1812        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1813        be careful with %rcx (now %imm2) in shift instructions.
1814
18152007-05-12 17:30  gb
1816
1817        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1818        sequence.
1819
18202007-05-12 17:29  gb
1821
1822        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1823        new-calling-sequence changes.
1824
18252007-05-12 17:27  gb
1826
1827        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1828        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1829        %temp2, and no need to be so careful with it.
1830
18312007-05-12 17:26  gb
1832
1833        * compiler/vinsn.lisp: global label-valued temporaries.
1834
18352007-05-12 17:25  gb
1836
1837        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1838
18392007-05-12 17:24  gb
1840
1841        * compiler/nx0.lisp: Try to do a little type inference for more
1842        flavors of AREF.
1843
18442007-05-12 17:23  gb
1845
1846        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1847        afunc (or equivalent) as a non-nil second value.
1848
18492007-05-12 17:22  gb
1850
1851        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1852        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1853        less nasty.
1854
18552007-05-12 17:21  gb
1856
1857        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1858        calling sequence, new tra/talign scheme.
1859
18602007-05-12 17:21  gb
1861
1862        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1863        rip)).
1864
18652007-05-12 17:20  gb
1866
1867        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1868        rip-relative label refs.
1869
18702007-05-12 17:19  gb
1871
1872        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1873        support :talign directive in vinsn templates.
1874
18752007-05-12 17:18  gb
1876
1877        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1878        is a register ...
1879
18802007-05-12 17:17  gb
1881
1882        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1883        for most things, except calls to subprims that manipulate the
1884        stack.
1885
18862007-05-12 17:16  gb
1887
1888        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1889        cross-compilation with x86-64 targets a little easier, by using a
1890        cross-ftd interface directory.
1891
18922007-05-12 17:16  gb
1893
1894        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1895        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1896        scheme.
1897
18982007-05-12 17:15  gb
1899
1900        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1901        unwind-protect uses nmkunwind (more happens out-of-line.)
1902
19032007-05-12 17:14  gb
1904
1905        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1906
19072007-05-12 17:13  gb
1908
1909        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1910
19112007-05-12 17:12  gb
1912
1913        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1914
19152007-05-12 17:11  gb
1916
1917        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1918        %GET-KERNEL-GLOBAL-PTR actually work.
1919
19202007-05-07 19:10  gb
1921
1922        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1923        returns a CONS, signal the right flavor of TYPE-ERROR if it
1924        doesn't.
1925
19262007-05-05 18:10  gb
1927
1928        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1929        the hash table, it tries to enable the GC before doing so.
1930
19312007-05-04 22:10  gb
1932
1933        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1934        finds in the environment, not just non-nil.
1935
19362007-05-01 18:10  gb
1937
1938        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1939        computation for GC-VERBOSE entry.
1940
19412007-05-01 06:11  gb
1942
1943        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1944        utf-16 variants.
1945       
1946        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1947        function.
1948
19492007-05-01 06:10  gb
1950
1951        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1952        darwin ppc64 thread state structure, just like Apple does.  Can I
1953        blame them for getting this wrong, please ?
1954       
1955        Use the right argument names in ppc64 cmain callback; can't blame
1956        Apple.
1957
19582007-04-30 23:12  gb
1959
1960        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1961        on Darwin, and should probably be removed completely.  Now that
1962        it's explicitly extern, don't try to reference it at runtime on
1963        linuxppc.
1964
19652007-04-30 23:11  gb
1966
1967        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1968        referenced at runtime and explicitly extern, so make sure that it's
1969        initialized on all platforms.
1970
19712007-04-30 23:10  gb
1972
1973        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1974        oxymoron - is specific to Darwin.
1975
19762007-04-21 00:10  gb
1977
1978        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1979        directory after translating logical pathnames; it's generally
1980        meaningless to do PROBE-FILE on the directory component of a
1981        logical pathname.
1982
19832007-04-19 15:10  gb
1984
1985        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1986        if it conflicts with an immediate temporary (we'll need all the imm
1987        temps we have on x86-64.)
1988
19892007-04-17 20:10  gb
1990
1991        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1992        version of recent aset2/aset3 register-conflict changes.
1993
19942007-04-16 15:10  gb
1995
1996        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1997        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1998
19992007-04-16 14:11  gb
2000
2001        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
2002        :signed-doublewod.
2003
20042007-04-16 13:10  gb
2005
2006        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
2007        Memory-fault errors on PPC, too.
2008
20092007-04-16 04:34  gb
2010
2011        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
2012        renaming nonsense.
2013
20142007-04-16 02:12  gb
2015
2016        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
2017
20182007-04-16 02:11  gb
2019
2020        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
2021
20222007-04-16 02:10  gb
2023
2024        * level-1/l1-error-system.lisp: Change wording of
2025        INVALID-MEMORY-ACCESS error message, a little.
2026
20272007-04-16 01:13  gb
2028
2029        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
2030        memory faults.
2031
20322007-04-16 01:12  gb
2033
2034        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
2035        now.
2036
20372007-04-16 01:11  gb
2038
2039        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
2040        INVALID-MEMORY-ACCESS condition.
2041
20422007-04-16 01:10  gb
2043
2044        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
2045
20462007-04-15 19:11  gb
2047
2048        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
2049        aset2/aset3 changes.
2050
20512007-04-15 19:10  gb
2052
2053        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
2054        it's an imm-reg; we need another imm-reg to do some index
2055        calculations.
2056
20572007-04-14 18:10  gb
2058
2059        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
2060        unscramble what it means for an interrupt to be pending on x86-64.
2061
20622007-04-14 00:13  gb
2063
2064        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
2065        generated when it is in ... unmentionable OS releases.
2066
20672007-04-14 00:11  gb
2068
2069        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
2070        work around laughable Apple ld64 gibberish.
2071
20722007-04-12 02:11  gb
2073
2074        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
2075        two-dimensional arrays: need to target specific registers if array
2076        has element type T.
2077
20782007-04-12 02:10  gb
2079
2080        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2081        appropriate, not :x86-64 twice.
2082
20832007-04-11 05:10  gb
2084
2085        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2086        for bivalent streams.
2087       
2088        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2089        maintain the element-type separately, just look in ioblock.
2090        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2091
20922007-04-10 22:10  gb
2093
2094        * lisp-kernel/x86-spentry64.s: Branch at
2095        C(egc_store_node_conditional_success_test) should bracnch
2096        backwards, not forwards.  (This was leading to spurious
2097        "<something> is not a proper list" errors, because the next label
2098        named "0" is in middle of the the _SPprogvsage code that tests for
2099        a proper list.)
2100
21012007-04-10 00:11  gb
2102
2103        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2104        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2105        RLET or equivalent to avoid making GCable pointers for ObjC
2106        dispatch function args; trust the compiler to do that for us.
2107
21082007-04-10 00:10  gb
2109
2110        * examples/bridge.lisp: If any method defined on a message passes a
2111        structure by value, install a compiler macro on the dispatch
2112        function.
2113       
2114        In that compiler, look for apparent calls to know structure
2115        constructors; replace those with calls to the corresponding
2116        initialization function, and stack-allocate a structure instance
2117        around the call.  (Suggested by Kevin Reid, and something that
2118        SEND/SLET did - sort of - that the new approach didn't.)
2119       
2120        Keep track of info about common foreign structs (initializer,
2121        constructor, etc.) to make doing stuff like this easier.
2122
21232007-04-09 16:10  gb
2124
2125        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2126        the result of sending the init message is a null pointer, return a
2127        null pointer.
2128
21292007-04-09 00:10  gb
2130
2131        * release-notes.txt: Update for 070408.
2132       
2133        (Yes, it's 070409 here already ...)
2134
21352007-04-08 15:12  gb
2136
2137        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2138
21392007-04-08 15:10  gb
2140
2141        * xdump/faslenv.lisp: Bump min fasl version.
2142
21432007-04-08 14:11  gb
2144
2145        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2146        jump table, to work around (still more) Apple ld64 nonsense.
2147
21482007-04-08 13:14  gb
2149
2150        * lib/nfcomp.lisp: Bump current fasl version.
2151
21522007-04-08 13:13  gb
2153
2154        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2155
21562007-04-08 13:12  gb
2157
2158        * xdump/faslenv.lisp: Bump max fasl version.
2159
21602007-04-08 13:11  gb
2161
2162        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2163        people who try to build this kernel on an x86 mac will take longer
2164        to realize that that's usually a bad idea.
2165
21662007-04-08 12:09  gb
2167
2168        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2169        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2170        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2171        cocoa-window.lisp, cocoa.lisp:
2172        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2173       
2174        Some changes in font, nsstring stuff to avoid using deprecated
2175        featurs.
2176
21772007-04-08 12:07  gb
2178
2179        * examples/: webkit.lisp, addressbook.lisp:
2180        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2181       
2182        Use OBJC:LOAD-FRAMEWORK.
2183
21842007-04-08 12:06  gb
2185
2186        * examples/tiny.lisp:
2187        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2188
21892007-04-08 12:05  gb
2190
2191        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2192        rubix.lisp:
2193        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2194       
2195        Handle CGFLOAT issues in mouse event handlers.
2196
21972007-04-08 12:04  gb
2198
2199        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2200       
2201        Define "foreign struct classes" for several common structure types
2202        (rectangle, point, size); generate inlined accessors for their
2203        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2204        macros.
2205       
2206        #/ reader macro: reads a string containing "constituent" characters
2207        (including #\:), preserving case.  Does a little bit of
2208        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2209        package.
2210       
2211        Try to deal with cases where foreign type info may be parsed or
2212        unparsed.
2213       
2214        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2215         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2216        message info, tries to determine ambiguity, calls signature
2217        function (possibly after trying to resolve ambiguity.)
2218       
2219        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2220        calling a signature function that knows how to dispatch to SUPER
2221        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2222       
2223        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2224        OBJC-DISPATCH-FUNCTION.
2225       
2226        Handle PROTOCOLs differently in ambiguous SEND.
2227
22282007-04-08 12:04  gb
2229
2230        * examples/objc-runtime.lisp: Compile message send functions per
2231        signature.  Handle vararg message sends, partly at runtime.  INIT
2232        messages just have their signature info precomputed.  Defining a
2233        named OBJC-CLASS makes the class name a static variable whose value
2234        is the class (and likewise for the metaclass.)
2235        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2236        OBJC:DEFMETHOD and support for it.
2237
22382007-04-08 12:03  gb
2239
2240        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2241         Avoid some deprecated C-string stuff (but wimp out and assume
2242        ASCII.) Keep track of objc-class-count, provide
2243        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2244        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2245        etc. elsewhere.
2246
22472007-04-08 12:02  gb
2248
2249        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2250        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2251        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2252        about as lightweight as MAKE-OBJC-INSTANCE.)
2253
22542007-04-08 12:01  gb
2255
2256        * examples/name-translation.lisp:
2257        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2258        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2259
22602007-04-08 12:00  gb
2261
2262        * examples/objc-package.lisp: New file; export more stuff.  Import
2263        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2264        pseudo-GFs.
2265
22662007-04-08 11:59  gb
2267
2268        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2269        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2270        Intern integer types up to 64 bits.
2271
22722007-04-08 11:59  gb
2273
2274        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2275        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2276        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2277        COPY-RECORD.
2278
22792007-04-08 11:58  gb
2280
2281        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2282        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2283        missing brackets.
2284
22852007-04-08 11:57  gb
2286
2287        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2288        not Darwin.  In Darwin, evactuate off of the lisp stack while
2289        interrupts are still disabled.
2290
22912007-04-08 11:56  gb
2292
2293        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2294        (where Apple hasn't yet invented the notion that it needs to be
2295        thread-specific.)
2296
22972007-04-08 11:55  gb
2298
2299        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2300        destroying TCR.
2301
23022007-04-08 11:54  gb
2303
2304        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2305        worked around an old Darwin bug.
2306
23072007-04-08 11:53  gb
2308
2309        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2310
23112007-04-08 11:52  gb
2312
2313        * lisp-kernel/image.c: Don't nuke null pointers.
2314
23152007-04-08 11:52  gb
2316
2317        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2318
23192007-04-08 11:51  gb
2320
2321        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2322        of macptr.domain, macptr.type.
2323
23242007-04-08 11:50  gb
2325
2326        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2327
23282007-04-08 11:49  gb
2329
2330        * library/lispequ.lisp: add pkg.intern-hook to package.
2331
23322007-04-08 11:48  gb
2333
2334        * lib/describe.lisp: Start trying to conditionalize some of the
2335        stack-frame inspector stuff.
2336
23372007-04-08 11:48  gb
2338
2339        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2340        64-bit word components, with FP fields passed in registers.  This
2341        requires some special handling ("hybrid" parameters) in the
2342        compiler and %FF-CALL.
2343
23442007-04-08 11:47  gb
2345
2346        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2347        endianness.
2348
23492007-04-08 11:46  gb
2350
2351        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2352
23532007-04-08 11:45  gb
2354
2355        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2356        in %SOURCE-FILES-LIKE-EM.
2357
23582007-04-08 11:44  gb
2359
2360        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2361
23622007-04-08 11:43  gb
2363
2364        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2365        MAKE-XREF-ENTRY.
2366
23672007-04-08 11:43  gb
2368
2369        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2370
23712007-04-08 11:42  gb
2372
2373        * level-1/version.lisp: Bump; new snapshots tomorrow.
2374
23752007-04-08 11:41  gb
2376
2377        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2378
23792007-04-08 11:40  gb
2380
2381        * level-1/linux-files.lisp: Very long timeout for
2382        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2383        if we have to wait at all.
2384       
2385        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2386       
2387        Make PIPE code slightly easier to read.
2388
23892007-04-08 11:39  gb
2390
2391        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2392
23932007-04-08 11:38  gb
2394
2395        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2396        CHARACTER-ENCODING, use it to determine number/sequence of octets
2397        used to encode NUL.
2398
23992007-04-08 11:38  gb
2400
2401        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2402       
2403        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2404        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2405        so that echoing looks more natural.
2406
24072007-04-08 11:37  gb
2408
2409        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2410        object.
2411
24122007-04-08 11:36  gb
2413
2414        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2415        changes manually and most of the effects were cosmetic.
2416        TOPLEVEL-PRINT takes an output stream arg.
2417
24182007-04-08 11:35  gb
2419
2420        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2421
24222007-04-08 11:34  gb
2423
2424        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2425        interrupt is obviously pending.
2426
24272007-04-08 11:33  gb
2428
2429        * level-1/l1-io.lisp: Change pointer printing.
2430
24312007-04-08 11:33  gb
2432
2433        * level-1/l1-init.lisp: +NULL-PTR+.
2434
24352007-04-08 11:31  gb
2436
2437        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2438        preferred name for DEFGLOBAL.
2439
24402007-04-08 11:30  gb
2441
2442        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2443        for DEFGLOBAL.
2444       
2445        Mechanism for associating a (built-in) class with a foreign type
2446        ordinal.
2447
24482007-04-08 11:29  gb
2449
2450        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2451        for DEFGLOBAL.
2452       
2453        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2454        likely the global value of some symbol.)
2455
24562007-04-08 11:28  gb
2457
2458        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2459        DEFGLOBAL.
2460       
2461        Standard CL streams now bound per-thread.
2462       
2463        Install standard foreign types here, not every time that
2464        FOREIGN-TYPES is loaded.
2465       
2466        Canonicalize foreign type ordinals as soon as we can.  (This is
2467        part of a scheme to give foreign types "ordinals' that can be used
2468        to assert pointer types; we need some of those ordinal numbers to
2469        be pre-assigned, since we can't reference foreign types early in
2470        the cold load.)
2471
24722007-04-08 11:27  gb
2473
2474        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2475        DEFGLOBAL.  GCABLE-PTR-P.
2476
24772007-04-07 21:25  gb
2478
2479        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2480         Handle maintenance of auto-export packages differently.
2481        $fasl-timm just needs an :int, not a :long.
2482
24832007-04-07 21:24  gb
2484
2485        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2486        "functional", not random symbol guts.
2487
24882007-04-07 21:23  gb
2489
2490        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2491        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2492        interrupts are re-enabled.
2493
24942007-04-07 21:22  gb
2495
2496        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2497
24982007-04-07 21:20  gb
2499
2500        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2501        %PTR-STORE-FIXNUM-CONDITIONAL.
2502
25032007-04-07 21:19  gb
2504
2505        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2506        in DarwinPPC64 #'%FF-CALL.
2507
25082007-04-07 21:19  gb
2509
2510        * compiler/optimizers.lisp: When trying to infer result type of
2511        MAKE-ARRAY call, unquote quoted type specifier.
2512       
2513        Strength-reduce FLOAT when second argument is of known type.
2514
25152007-04-07 21:18  gb
2516
2517        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2518
25192007-04-07 21:17  gb
2520
2521        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2522        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2523        Parse %short-float, %double-float when no "result" arg; can at
2524        least try to constant-fold late and/or do some cases if we have
2525        more type info.
2526
25272007-04-07 21:16  gb
2528
2529        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2530        be bound" error message.
2531
25322007-04-07 21:15  gb
2533
2534        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2535        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2536
25372007-04-07 21:14  gb
2538
2539        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2540        remaning GPR/FPR counts even if arg is "simple" and passes straight
2541        through to %FF-CALL.
2542
25432007-04-07 21:13  gb
2544
2545        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2546        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2547        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2548        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2549        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2550
25512007-04-07 21:12  gb
2552
2553        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2554        for Darwin structure-passing ABI.
2555
25562007-04-07 21:10  gb
2557
2558        * OpenMCL.app/Contents/Resources/English.lproj/:
2559        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2560        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2561        OpenmclInspector.nib/keyedobjects.nib,
2562        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2563        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2564        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2565        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2566        representation, not binary.
2567
25682007-04-06 22:10  gb
2569
2570        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2571        (RLIMIT_AS) current resource limit to max limit, since some distros
2572        limit it.
2573
25742007-04-03 03:11  gb
2575
2576        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2577        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2578
25792007-04-02 22:10  gb
2580
2581        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2582        arg in utf-16 encode, missing #x in little-endian bom-marker
2583        definition.)
2584
25852007-03-14 23:10  gb
2586
2587        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2588
25892007-03-14 05:11  gb
2590
2591        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2592        generate-callback-bindings.
2593
25942007-03-13 06:10  gb
2595
2596        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2597
25982007-03-13 03:58  gb
2599
2600        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2601
26022007-03-12 05:11  gb
2603
2604        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2605        little.
2606
26072007-03-12 05:10  gb
2608
2609        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2610        %EXTERNAL-CALL-EXPANDER.
2611
26122007-03-12 05:09  gb
2613
2614        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2615        encapsulation, and a lock.
2616
26172007-03-12 05:08  gb
2618
2619        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2620        thread-local.
2621
26222007-03-12 02:25  gb
2623
2624        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2625        deal with variations in Mach behavior: "exception" may be
2626        EXC_BAD_ACCESS when an illegal instruction causes a "general
2627        protection fault".
2628
26292007-03-09 15:56  gb
2630
2631        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2632        NIL ...)
2633
26342007-03-09 00:01  gb
2635
2636        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2637
26382007-03-09 00:00  gb
2639
2640        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2641        *OPEN-FILE-STREAMS*.
2642
26432007-03-09 00:00  gb
2644
2645        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2646        open-file-streams.
2647
26482007-03-08 23:59  gb
2649
2650        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2651        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2652
26532007-03-08 23:58  gb
2654
2655        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2656        associated with it.
2657
26582007-03-08 23:57  gb
2659
2660        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2661
26622007-03-08 23:47  gb
2663
2664        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2665        hash-table, it fills the hash-table vector with "free" markers.
2666        (There may already be lots of "deleted" markers in the table.)
2667
26682007-03-08 22:26  gb
2669
2670        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2671
26722007-03-08 22:24  gb
2673
2674        * lib/numbers.lisp: printing random-state: don't shift seeds.
2675
26762007-03-08 22:24  gb
2677
2678        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2679
26802007-03-08 22:24  gb
2681
2682        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2683
26842007-03-08 22:23  gb
2685
2686        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2687
26882007-03-08 22:23  gb
2689
2690        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2691        %next-random-pair.
2692
26932007-03-08 22:22  gb
2694
2695        * level-0/l0-numbers.lisp: And, while we're at it: do the
2696        next-random-seed permutation in %next-random-pair, which accepts
2697        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2698        in lisp on 64-bit platforms.
2699
27002007-03-08 22:20  gb
2701
2702        * level-0/l0-numbers.lisp: Don't shift random seeds.
2703
27042007-03-08 03:30  gb
2705
2706        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2707        rather than >= #x80, because of the new way that
2708        uuo-error-slot-unbound is encoded.
2709
27102007-03-08 03:28  gb
2711
2712        * compiler/X86/x86-disassemble.lisp: Recognize
2713        uuo-error-slot-unbound.
2714
27152007-03-08 03:28  gb
2716
2717        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2718        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2719
27202007-03-07 08:29  gb
2721
2722        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2723
27242007-03-07 07:45  gb
2725
2726        * level-1/linux-files.lisp: For #+linux-target, try to use
2727        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2728        if that fails.  (CPU-COUNT is called early in the cold load, before
2729        we can make the file-stream necessary to do the parsing.)
2730
27312007-03-07 07:33  gb
2732
2733        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2734        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2735
27362007-03-07 07:25  gb
2737
2738        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2739        el-bizarro syscall mask, pass the magic number 0x1e as a second
2740        arg, just in case.
2741
27422007-03-07 07:24  gb
2743
2744        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2745        before accessing *OPEN-FILE-STREAMS*.
2746
27472007-03-07 07:23  gb
2748
2749        * level-1/l1-readloop.lisp: Add comment about
2750        *OPEN-FILE-STREAMS-LOCK*.
2751
27522007-03-07 07:23  gb
2753
2754        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2755
27562007-03-07 07:21  gb
2757
2758        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2759        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2760
27612007-03-07 07:05  gb
2762
2763        * xdump/heap-image.lisp: Bump current image version.
2764
27652007-03-07 07:02  gb
2766
2767        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2768        "calls" want an argument in ecx.  Set that arg to 0 for now.
2769
27702007-03-07 07:01  gb
2771
2772        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2773        "real" locks; those updates can be simplified.
2774       
2775        lock_recursive_lock: no (ignored) timeout arg.
2776
27772007-03-07 06:59  gb
2778
2779        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2780        support the old one.
2781
27822007-03-07 06:59  gb
2783
2784        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2785        prototype.  Change declaration of LOCK macro: no null timespec
2786        required.  RECURSIVE_LOCKs have spinlock fields.
2787
27882007-03-07 06:56  gb
2789
2790        * level-1/version.lisp: bump, indicate work-in-progress development
2791        version.
2792
27932007-03-07 06:56  gb
2794
2795        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2796        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2797        rather than something lower-level.
2798
27992007-03-07 06:53  gb
2800
2801        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2802        to obtain them before yielding.
2803
28042007-03-07 06:52  gb
2805
2806        * level-0/l0-io.lisp: Move YIELD elsewhere.
2807
28082007-03-07 06:51  gb
2809
2810        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2811        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2812        layout.
2813
28142007-03-02 05:10  gb
2815
2816        * level-1/l1-application.lisp: Toplevel function: initial-listener
2817        class is 'TTY-LISTENER.
2818
28192007-03-02 05:09  gb
2820
2821        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2822        message.
2823
28242007-03-02 05:09  gb
2825
2826        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2827       
2828        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2829        For TTY-LISTENER, call QUIT.
2830
28312007-03-02 05:08  gb
2832
2833        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2834        EXIT-INTERACTIVE-PROCESS instead.
2835       
2836        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2837
28382007-03-02 05:06  gb
2839
2840        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2841
28422007-03-02 05:06  gb
2843
2844        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2845        of null pointers into body.
2846
28472007-03-02 05:05  gb
2848
2849        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2850        consus-interruptus.
2851
28522007-03-02 05:05  gb
2853
2854        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2855        <constant> if constant is of type <type>.)
2856       
2857        Do we need an ignore-errors here ? Or does <type> need to be
2858        defined ?
2859
28602007-03-02 05:03  gb
2861
2862        * compiler/X86/x862.lisp: Do the / * thing.
2863
28642007-03-02 05:02  gb
2865
2866        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2867        :call attribute.
2868
28692007-03-01 04:04  gb
2870
2871        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2872        new binding frame
2873
28742007-02-28 07:04  gb
2875
2876        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2877        rather than %rbp; trust callback_for_interrupt() to preserve it.
2878
28792007-02-28 07:03  gb
2880
2881        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2882        callback_for_interrupt().
2883
28842007-02-28 05:18  gb
2885
2886        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2887        counts) that may wind up on the vstack.
2888       
2889        Since those tiny things might be tagged as headers, walk the vstack
2890        with new "headerless" functions that ignore headers.
2891
28922007-02-28 05:16  gb
2893
2894        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2895        before the alloc trap and interrupting, back out of the
2896        modification to save_allocptr (and allocptr register) and set
2897        *interrupt_displacement.
2898
28992007-02-23 10:13  gb
2900
2901        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2902        only makes sense for cases where we have to guess; a bitfield
2903        that's 8 bits wide still has an alignment of 1.
2904       
2905        Factor in the alignment of the containing int when bitfields are
2906        involved.
2907       
2908        When parsing a record type, set the "bits" slot of each field.
2909        (Not too many things look at that slot, but we want the effect of
2910        loading a record from the database to match the effect of parsing a
2911        definition as exactly as possible, and to be able to use EQUALP to
2912        compare the results.)
2913
29142007-02-23 10:06  gb
2915
2916        * lib/db-io.lisp: Some extra fields in
2917        objc-message-info/objc-method-info structures.
2918       
2919        When calculating overall alignment of a structure, treat bitfields
2920        as if they were :unsigned-int (since there's a "containing"
2921        unsigned int that affects alignment.  N.B: this should be imposed
2922        for anything that has an alignment of 1, not just a size of 1.)
2923       
2924        When loading integer types, try to use the precomputed types rather
2925        than consing a new one.  This (a) reduces consing a little (b) is
2926        more likely to get the alignment correct.  For (b), we really need
2927        to distinguish between bitfields and addressable integers.
2928
29292007-02-23 09:30  gb
2930
2931        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2932
29332007-02-22 02:33  gb
2934
2935        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2936
29372007-02-22 02:28  gb
2938
2939        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2940        heap size right ...).
2941
29422007-02-22 02:27  gb
2943
2944        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2945        traditional (sysv) style of hash maps, if it understands that
2946        option.
2947
29482007-02-21 06:01  gb
2949
2950        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2951        has been consed since last GC.  (There are some fenceposts there.)
2952       
2953        verbose GC herald tries to indicate how much is allocated in the
2954        area being GCed.
2955
29562007-02-21 05:58  gb
2957
2958        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2959        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2960
29612007-02-21 05:57  gb
2962
2963        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2964        uuo-gc-trap.
2965
29662007-02-19 04:50  gb
2967
2968        * lib/foreign-types.lisp: Use keywords more consistently.
2969       
2970        (Note: there seems to be a bug which is keeping the cdb data
2971        structures from getting defined correctly at load time; the
2972        workaround is to compile foreign-types.lisp - which defines them -
2973        in the same session as and before db-io - which uses them - is
2974        compiled.)
2975
29762007-02-19 04:48  gb
2977
2978        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2979        error.
2980
29812007-02-19 04:42  gb
2982
2983        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2984        the error function.
2985
29862007-02-19 04:40  gb
2987
2988        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2989        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2990
29912007-02-19 04:40  gb
2992
2993        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2994        FUNCALLABLE-STANDARD-OBJECT.
2995       
2996        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2997        creating a GF.
2998
29992007-02-19 04:36  gb
3000
3001        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
3002        funcallable-stanard-objects better.
3003
30042007-02-19 04:34  gb
3005
3006        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
3007        CCL, OPENMCL-MOP.
3008
30092007-02-19 02:09  gb
3010
3011        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
3012        FUNCALLABLE-STANDARD-CLASS.
3013
30142007-02-19 02:07  gb
3015
3016        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
3017        error message.
3018
30192007-02-15 02:46  gb
3020
3021        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
3022        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
3023
30242007-02-15 02:45  gb
3025
3026        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
3027        methods yet.
3028
30292007-02-14 02:39  gb
3030
3031        * release-notes.txt: Fix a typo.
3032
30332007-02-14 02:35  gb
3034
3035        * release-notes.txt: Update for 070214 snapshots.
3036
30372007-02-13 23:36  gb
3038
3039        * level-1/version.lisp: Bump.
3040
30412007-02-13 23:36  gb
3042
3043        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
3044        image-abi-version.
3045
30462007-02-13 23:29  gb
3047
3048        * xdump/faslenv.lisp: Finish bumping fasl version.
3049
30502007-02-13 23:15  gb
3051
3052        * lib/nfcomp.lisp: Bump current fasl version.
3053
30542007-02-13 23:02  gb
3055
3056        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
3057
30582007-02-13 22:45  gb
3059
3060        * xdump/faslenv.lisp: Start bumping fasl-version.
3061
30622007-02-13 22:41  gb
3063
3064        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
3065        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
3066
30672007-02-13 21:16  gb
3068
3069        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
3070        that contain incompatible definitions of some math library stuff
3071        ("log" either has to do with logarithms or logging ...).
3072
30732007-02-13 18:42  gb
3074
3075        * lib/misc.lisp: Change the way that TIME is reported by default:
3076        mention the number of available CPU cores, don't assume that
3077        there's that much of a relationship between CPU time and wall-clock
3078        time.
3079
30802007-02-13 18:41  gb
3081
3082        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3083        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3084        when :execute, too.
3085
30862007-02-13 18:35  gb
3087
3088        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3089        offset arg is required.
3090
30912007-02-13 18:12  gb
3092
3093        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3094        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3095
30962007-02-13 18:10  gb
3097
3098        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3099        cons.)
3100
31012007-02-13 18:10  gb
3102
3103        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3104        are more/other float-size issues deeper down in the code.
3105
31062007-02-13 18:09  gb
3107
3108        * examples/objc-support.lisp: Fixup the x86-64 error-return
3109        callback trampiline code (was missing a byte of machine code.)
3110
31112007-02-13 18:08  gb
3112
3113        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3114        jmp-buf to safe/sane values.
3115
31162007-02-13 18:07  gb
3117
3118        * examples/cocoa-window.lisp: Don't change-class
3119        *cocoa-event-process* until we start to run the event loop.
3120       
3121        Don't do _deallocHardCore: explicitly.
3122
31232007-02-13 17:35  gb
3124
3125        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3126        DOUBLE-FLOAT aliases just one gpr.
3127
31282007-02-13 17:34  gb
3129
3130        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3131
31322007-02-13 17:34  gb
3133
3134        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3135        32-bit ints, not "long".
3136
31372007-02-13 17:33  gb
3138
3139        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3140        for each scalar, not each arg.
3141       
3142        Fix some backquoting/indentation.
3143
31442007-02-13 17:31  gb
3145
3146        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3147
31482007-02-12 16:23  gb
3149
3150        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3151
31522007-02-11 20:22  gb
3153
3154        * examples/bridge.lisp: method-typestring needs to be
3155        conditionalized.  How has this been working ?
3156
31572007-02-11 20:22  gb
3158
3159        * examples/cocoa-editor.lisp: remove some debugging code.
3160
31612007-02-11 20:21  gb
3162
3163        * examples/objc-runtime.lisp: %mlist-containing is
3164        #-apple-objc-2.0.
3165
31662007-02-11 20:21  gb
3167
3168        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3169
31702007-02-11 05:35  gb
3171
3172        * level-1/version.lisp: Bump.
3173
31742007-02-11 05:28  gb
3175
3176        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3177        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3178        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3179        an optional argument; default to the Tiger SDK.
3180
31812007-02-11 05:26  gb
3182
3183        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3184        an errror.
3185
31862007-02-11 05:26  gb
3187
3188        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3189        Leopard renaming.  Suffer.
3190
31912007-02-11 05:25  gb
3192
3193        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3194        an existing process (so that the listener process appears to be
3195        "persistent".)
3196
31972007-02-11 05:24  gb
3198
3199        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3200        make the initial-listener object persistent acrosss
3201        SAVE-APPLICATION.
3202
32032007-02-11 00:01  gb
3204
3205        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3206       
3207        Handle callback-error-returns on x86-64.
3208
32092007-02-11 00:00  gb
3210
3211        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3212        use %ptr<, to hide word-size differences.
3213       
3214        __NSConstantStringClassReference isn't what it used to be, so look
3215        up NSConstantStringClass the hard way.
3216       
3217        Handle ns-exception/lisp-error stuff on x86-64.
3218       
3219        Do arg/result coercions differently.  Does any code depend on
3220        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3221        MACPTRs).
3222       
3223        Use the new FFI interface for message-sends, callbacks to try to
3224        hide platform-specific ABI issues.
3225       
3226        The _deallocate-hook mechanism - which never really worked -
3227        probably can't work on Objc-2.0.
3228
32292007-02-10 23:54  gb
3230
3231        * examples/bridge.lisp: Make structure return-type explicit in
3232        objc-message-send calls in send/stret and variants.
3233
32342007-02-10 22:34  gb
3235
3236        * examples/cocoa-window.lisp: Some indentation changes and slight
3237        reorganization of the code; shouldn't be any functional/semantic
3238        changes.
3239
32402007-02-10 22:30  gb
3241
3242        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3243        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3244        appropriate; other changes for 64-bit platforms, Objc-2.0.
3245
32462007-02-10 22:28  gb
3247
3248        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3249        CG-FLOATs when appropriate.
3250
32512007-02-10 22:28  gb
3252
3253        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3254
32552007-02-10 22:28  gb
3256
3257        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3258
32592007-02-10 22:27  gb
3260
3261        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3262        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3263        ignore-errors when trying to parse the last arglist form as a
3264        foreign type.
3265
32662007-02-10 22:26  gb
3267
3268        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3269        expansion ...
3270
32712007-02-10 22:26  gb
3272
3273        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3274        use %rdx and %r11 to hold target address.
3275
32762007-02-10 22:23  gb
3277
3278        * library/pty.lisp: Unicode stuff when accessing control char
3279        array; conditionalize for #+darwin-target, not just
3280        #+darwinppc-target.
3281
32822007-02-10 22:22  gb
3283
3284        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3285        ppc-specific; the comment dated from the days of 68K MCL.)
3286
32872007-02-10 22:21  gb
3288
3289        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3290        return 32 bits at a time, to avoid consing little bignums.
3291
32922007-02-10 22:15  gb
3293
3294        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3295
32962007-02-10 22:15  gb
3297
3298        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3299        count, not total byte count.
3300       
3301        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3302        the PPC case, as well.)
3303
33042007-02-10 22:11  gb
3305
3306        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3307        "zero-extend-s8" vinsn, but there does need to be a
3308        "zero-extend-u8".
3309
33102007-02-10 05:38  gb
3311
3312        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3313        #'VALUES.
3314
33152007-02-10 05:38  gb
3316
3317        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3318        ARGLIST can say -something- about lap functions that don't take a
3319        fixed number of arguments.
3320
33212007-02-07 02:54  gb
3322
3323        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3324        "e".
3325
33262007-02-02 02:32  gb
3327
3328        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3329        objc-support.lisp: Start to integrate with FFI changes.  No more
3330        %SEND, process and precompile "init" messages when interfaces are
3331        accessed.  (Note: should try to handle varargs init messages, even
3332        if we have to call %FF-CALL at runtime.)
3333
33342007-02-02 02:31  gb
3335
3336        * examples/: addressbook.lisp, webkit.lisp: Change the
3337        initialization code a bit.
3338
33392007-02-02 02:27  gb
3340
3341        * lib/foreign-types.lisp: Try to fix another case involving
3342        "auxiliary types".
3343       
3344        I think that the concept of auxiliary types might make sense in a
3345        context like:
3346       
3347        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3348        (:struct :bar (:x :int) (:y :int)))))
3349       
3350        In that case, :struct :bar is local to the definition.  In the
3351        similar case:
3352       
3353        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3354        (:struct :bar))))
3355       
3356        :BAR is presumably defined (globally) elsewhere.
3357
33582007-02-02 02:17  gb
3359
3360        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3361         (Setting "SDK=" will hopefully work with older version of xcode.)
3362
33632007-02-02 02:15  gb
3364
3365        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3366
33672007-01-31 23:26  gb
3368
3369        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3370        argument in ppc2-poweropen-foreign-args.
3371
33722007-01-31 22:47  gb
3373
3374        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3375        components from registers.
3376
33772007-01-31 22:45  gb
3378
3379        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3380        brackets are returned verbatim, not downcased.
3381
33822007-01-31 22:44  gb
3383
3384        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3385        accepts :registers.
3386
33872007-01-31 16:36  gb
3388
3389        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3390        New (and, so far, useless) files.
3391
33922007-01-31 16:35  gb
3393
3394        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3395        seems to be 32-bit only.
3396
33972007-01-31 16:34  gb
3398
3399        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3400
34012007-01-31 16:34  gb
3402
3403        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3404
34052007-01-31 16:33  gb
3406
3407        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3408        missing cdb file: dog bytes man; missing parent directory is more
3409        newsworthy.
3410
34112007-01-31 15:38  gb
3412
3413        * library/chud-metering.lisp: Tweak a little, so that it might work
3414        on darwinppc64 (and on darwinx8664 when purify does something
3415        there.)
3416
34172007-01-31 15:06  gb
3418
3419        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3420
34212007-01-31 02:49  gb
3422
3423        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3424
34252007-01-30 22:53  gb
3426
3427        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3428        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3429        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3430        gl/.cvsignore: new files.
3431
34322007-01-30 22:21  gb
3433
3434        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3435        new files.
3436
34372007-01-30 21:58  gb
3438
3439        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3440
34412007-01-30 21:58  gb
3442
3443        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3444        file
3445
34462007-01-30 21:49  gb
3447
3448        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3449        fun!
3450
34512007-01-30 21:40  gb
3452
3453        * library/openmcl-gtk-support.lisp: Conditionalize out the
3454        event-polling task.
3455
34562007-01-30 21:36  gb
3457
3458        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3459        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3460        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3461
34622007-01-30 21:35  gb
3463
3464        * headers/gl/C/populate.sh: process glu.h
3465
34662007-01-30 17:47  gb
3467
3468        * library/parse-ffi.lisp: Always encode explicit structure-typed
3469        function return values.
3470       
3471        Note when we see one, for now.
3472
34732007-01-30 17:45  gb
3474
3475        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3476        leading argument to be paired with a structure-typed return-type.
3477
34782007-01-30 17:43  gb
3479
3480        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3481        the first-arg hack.
3482
34832007-01-30 17:42  gb
3484
3485        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3486        support the old version.
3487       
3488        Don't check the :struct-by-value flag when encoding function
3489        args/results.  (That decision's made above our pay grade now.)
3490       
3491        When reading a :struct/:union definition, try to update an existing
3492        defintion rather than consing up a new one (this matters if the
3493        record is anonymous.)
3494
34952007-01-30 17:39  gb
3496
3497        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3498        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3499        correctly.
3500       
3501        Fix c_socket for #+linuxppc.
3502
35032007-01-30 08:20  gb
3504
3505        * level-1/version.lisp: Bump.
3506
35072007-01-30 08:20  gb
3508
3509        * lib/compile-ccl.lisp: Use make -j to build kernel.
3510
35112007-01-30 07:02  gb
3512
3513        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3514        xmm0/xmm1.
3515
35162007-01-30 07:01  gb
3517
3518        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3519        day's work turned into 2 weeks, somehow.)
3520
35212007-01-30 07:00  gb
3522
3523        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3524        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3525        stuff for x8664 (all platfroms appear to use the same ABI.)
3526
35272007-01-30 03:26  gb
3528
3529        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3530        displacement in %ATOMIC-INCF-NODE.
3531
35322007-01-29 07:27  gb
3533
3534        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3535
35362007-01-29 07:27  gb
3537
3538        * lib/ffi-darwinppc64.lisp: new callback stuff.
3539
35402007-01-29 07:27  gb
3541
3542        * lib/ffi-darwinppc32.lisp: typos-r-us.
3543
35442007-01-29 04:37  gb
3545
3546        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3547
35482007-01-29 04:37  gb
3549
3550        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3551
35522007-01-29 04:36  gb
3553
3554        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3555
35562007-01-29 04:36  gb
3557
3558        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3559
35602007-01-29 04:36  gb
3561
3562        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3563        stuff here.
3564
35652007-01-29 02:33  gb
3566
3567        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3568
35692007-01-28 21:47  gb
3570
3571        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3572        a bit more, change the API, get things working ... still a moving
3573        target.
3574
35752007-01-28 21:46  gb
3576
3577        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3578        (Other platforms still need more bootstrapping.)
3579
35802007-01-28 21:44  gb
3581
3582        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3583        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3584
35852007-01-28 03:21  gb
3586
3587        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3588        dynamic-extent, other decls separately.
3589
35902007-01-28 03:20  gb
3591
3592        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3593        use the new (ftd-based) scheme.
3594
35952007-01-28 01:43  gb
3596
3597        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3598        code's getting replaced, but fix 'em anyway.)
3599
36002007-01-28 01:42  gb
3601
3602        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3603        translated pathname and mention the fact that this might indicate a
3604        problem with "ccl:"'s logical translations.
3605
36062007-01-25 04:37  gb
3607
3608        * lib/foreign-types.lisp: Never fully understood the concept
3609        "auxiliary" foreign types, but try to canonicalize intermediate
3610        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3611        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3612        likely to return T (e.g., something registered in the FTD.
3613       
3614        It seems clear that this is the right thing when the structure
3615        reference is in global scope; I'm not sure what it'd mean for that
3616        not to be the case.
3617
36182007-01-25 04:32  gb
3619
3620        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3621        callback.
3622
36232007-01-24 23:41  gb
3624
3625        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3626        may not even compile.
3627
36282007-01-24 02:39  gb
3629
3630        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3631        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3632        for new FTD functions.
3633
36342007-01-24 02:28  gb
3635
3636        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3637        defstruct.
3638
36392007-01-23 15:28  gb
3640
3641        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3642        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3643        Return FPRs in the same place.  (Will need to re-work all of this
3644        for platform-dependent structure stuff.)
3645
36462007-01-23 15:26  gb
3647
3648        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3649        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3650        the lisp side.)
3651
36522007-01-23 15:21  gb
3653
3654        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3655        c_reg_save for saved fp args (f1-f13).
3656
36572007-01-23 15:14  gb
3658
3659        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3660        ftd hook.
3661
36622007-01-23 07:19  gb
3663
3664        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3665        (CLASS-OF non-simple-string).
3666
36672007-01-23 07:02  gb
3668
3669        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3670        array case, needed new string definition.
3671
36722007-01-23 07:01  gb
3673
3674        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3675        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3676        compiler/X86/X8664/x8664-backend.
3677
36782007-01-23 06:59  gb
3679
3680        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3681        stuff here.
3682
36832007-01-21 08:32  gb
3684
3685        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3686        "-returning-").
3687       
3688        Typecheck the :registers arg.
3689
36902007-01-21 08:32  gb
3691
3692        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3693
36942007-01-21 08:31  gb
3695
3696        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3697        stack-block.
3698
36992007-01-21 08:31  gb
3700
3701        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3702        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3703        instead.
3704
37052007-01-21 06:46  gb
3706
3707        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3708        space for 13 float registers, not 31.
3709
37102007-01-21 06:45  gb
3711
3712        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3713        x86-64.
3714
37152007-01-21 06:38  gb
3716
3717        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3718        register return without typos.
3719
37202007-01-21 06:15  gb
3721
3722        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3723        register return.
3724
37252007-01-21 06:14  gb
3726
3727        * compiler/nx1.lisp: Don't assume that passing a structure by value
3728        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3729        platform that doesn't support the convention.)
3730
37312007-01-21 06:12  gb
3732
3733        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3734        replaces .SPunused-4.
3735
37362007-01-21 06:10  gb
3737
3738        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3739        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3740        (replaces .SPunused_4).
3741
37422007-01-21 00:05  gb
3743
3744        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3745        argument/result coercion functions in os::expand-ff-call.
3746
37472007-01-20 23:53  gb
3748
3749        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3750        results when expanding an ff-call.
3751
37522007-01-20 23:52  gb
3753
3754        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3755        foreign args, results.
3756
37572007-01-20 22:31  gb
3758
3759        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3760        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3761        are to each other.  I'd guess that they're pretty close, and that
3762        x86-64 Darwin is random.)
3763
37642007-01-20 21:55  gb
3765
3766        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3767
37682007-01-20 19:34  gb
3769
3770        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3771
37722007-01-20 19:25  gb
3773
3774        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3775        right os::ff-call-expander.
3776
37772007-01-20 19:24  gb
3778
3779        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3780
37812007-01-20 19:24  gb
3782
3783        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3784        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3785        OS.
3786
37872007-01-20 19:23  gb
3788
3789        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3790        probably several more.
3791
37922007-01-20 19:22  gb
3793
3794        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3795
37962007-01-20 19:21  gb
3797
3798        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3799        extended to handle coercions at the Cocoa level, and probably needs
3800        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3801        installed by #_).
3802
38032007-01-20 19:18  gb
3804
3805        * lib/db-io.lisp: Encode, decode union types in arglists.
3806
38072007-01-20 19:17  gb
3808
3809        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3810        os::expand-ff-call.
3811       
3812        Canonicalize the :void type a bit better.
3813
38142007-01-20 19:16  gb
3815
3816        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3817
38182007-01-18 23:15  gb
3819
3820        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3821
38222007-01-18 23:15  gb
3823
3824        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3825
38262007-01-18 23:15  gb
3827
3828        * lib/systems.lisp: Add the new ffi-backend sources.
3829
38302007-01-18 23:14  gb
3831
3832        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3833        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3834        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3835        files.
3836
38372007-01-18 04:35  gb
3838
3839        * level-1/version.lisp: Bump.
3840
38412007-01-18 04:17  gb
3842
3843        * examples/bridge.lisp: Some word-size conditionalization.  Will
3844        need more work to handle struct return/asssignment correctly on all
3845        platforms.
3846
38472007-01-18 04:15  gb
3848
3849        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3850        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3851
38522007-01-18 04:13  gb
3853
3854        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3855        type casts, etc.
3856
38572007-01-18 04:12  gb
3858
3859        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3860        deprecated NSFont stuff.
3861
38622007-01-18 04:11  gb
3863
3864        * examples/objc-clos.lisp: Handle ivars, class
3865        creation/initialization differently for ObjC 2.0.
3866
38672007-01-18 04:10  gb
3868
3869        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3870
38712007-01-18 04:09  gb
3872
3873        * examples/objc-support.lisp: Note which protocols are actually
3874        used when walking classes.  (There doesn't seem to be a good way of
3875        finding a Protocol object pre-objc-2.0, and we may need to test
3876        protocol compliance to disambiguate message sends in some cases.)
3877
38782007-01-18 04:07  gb
3879
3880        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3881        necessarily darwinppc).
3882
38832007-01-18 04:06  gb
3884
3885        * examples/addressbook.lisp: Conditionalize for darwin (not
3886        necessarily darwinppc).  May want to conditionalize for bundle
3887        executable name, as well.
3888
38892007-01-18 04:05  gb
3890
3891        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3892        to sketch out structure return code (structures are often
3893        "returned" by returning field values in registers pn DarwinPPC64.)
3894
38952007-01-18 04:04  gb
3896
3897        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3898        attributes for structure args/results.
3899
39002007-01-18 04:03  gb
3901
3902        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3903         (Will need this for other platforms, too.)
3904
39052007-01-18 04:01  gb
3906
3907        * lib/macros.lisp: Arch-specific macro interface for
3908        WITH-FFCALL-RESULTS.
3909
39102007-01-18 04:00  gb
3911
3912        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3913        return value.
3914
39152007-01-18 04:00  gb
3916
3917        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3918        .SPpoweropen_ffcall_return_registers.
3919
39202007-01-18 03:59  gb
3921
3922        * library/parse-ffi.lisp: At least optionally, make structure
3923        return explicit (expecting it to be handled by higher-level code.)
3924
39252007-01-18 03:58  gb
3926
3927        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3928        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3929
39302007-01-18 03:55  gb
3931
3932        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3933        may hold OS thread context.
3934
39352007-01-18 03:54  gb
3936
3937        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3938        in ftd.
3939
39402007-01-18 03:53  gb
3941
3942        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3943        macro.
3944
39452007-01-18 03:52  gb
3946
3947        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3948        all possible result regs.  (Maybe poweropen syscall, too.)
3949
39502007-01-18 03:51  gb
3951
3952        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3953        .SPpoweropen-ff-call-return-registers.
3954
39552007-01-18 03:50  gb
3956
3957        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3958        supported, backend will return all (potential) result registers in
3959        buffer at <exp>.
3960
39612007-01-16 02:01  gb
3962
3963        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3964        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3965        functions make less sense for character streams/strings than they
3966        used to.)
3967
39682007-01-16 01:39  gb
3969
3970        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3971        defaults to :BIVALENT
3972
39732007-01-16 01:37  gb
3974
3975        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3976
39772007-01-11 23:58  gb
3978
3979        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3980        into (* (/ constant1 constant2) exp).  Not very general, but makes
3981        some foreign address arithmetic better.
3982
39832007-01-11 23:56  gb
3984
3985        * lib/macros.lisp: Simple PAREF: (paref pointer
3986        foreign-pointer-or-array-type index) does simple arithmetic for
3987        you.
3988
39892007-01-11 23:54  gb
3990
3991        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3992
39932007-01-10 15:50  gb
3994
3995        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3996        double->heap vinsn.
3997
39982007-01-09 11:33  gb
3999
4000        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
4001        cleanup and multiple values are being thrown, be sure to set
4002        tcr.xframe from the target catch frame.  This is necessary on
4003        general principles (GC safety), and especially necessary if the
4004        cleanup form does a non-local exit.
4005
40062007-01-08 22:12  gb
4007
4008        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
4009        Revive some of the old GNUstep support; add partial ObjC 2.0
4010        support (for 64-bit targets only, so far.)
4011
40122007-01-08 22:11  gb
4013
4014        * examples/cocoa.lisp: Conditionalize for darwin-target, not
4015        darwinppc-target.
4016
40172007-01-08 22:10  gb
4018
4019        * examples/cocoa-listener.lisp: Disable background layout in the
4020        listener; the whole two-thread scheme probably isn't viable, but
4021        doing this seems to suppress a timing-related symptom.
4022
40232007-01-08 22:09  gb
4024
4025        * examples/cocoa-editor.lisp: Document-begin-editing,
4026        document-end-editing: both seem to have been conditionalized
4027        backwards.
4028
40292007-01-05 16:22  gb
4030
4031        * level-0/l0-numbers.lisp: Fix another typo ...
4032
40332007-01-05 16:16  gb
4034
4035        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
4036
40372007-01-05 15:27  gb
4038
4039        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
4040        PPC32.
4041
40422007-01-05 06:20  gb
4043
4044        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
4045        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
4046        result (with the right arg) does obtain a link map.
4047       
4048        Revive shared libraries on FreeBSD, but don't do the strange
4049        Linux-specific re-opening there.  (It seems like it's possible to
4050        #_dlopen something that already has a loaded link map - like the
4051        FreeBSD dynamic linker - or something.)
4052
40532007-01-04 05:46  gb
4054
4055        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
4056        :WILD-INFERIORS.
4057
40582007-01-04 05:45  gb
4059
4060        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
4061        (which may use %gs instead of %fs for tls).
4062
40632007-01-04 05:44  gb
4064
4065        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
4066
40672007-01-04 05:44  gb
4068
4069        * level-0/l0-numbers.lisp:
4070        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
4071        accurately represented in float, do so.
4072
40732007-01-03 03:35  gb
4074
4075        * lib/sequences.lisp: Fix a few type errors, check for explicit
4076        vector-type length earlier.
4077
40782007-01-03 03:31  gb
4079
4080        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4081        preserved :WILD, don't map it to "*".
4082
40832007-01-03 03:30  gb
4084
4085        * lib/pathnames.lisp: More whack-a-mole with pathnames
4086        (specifically, preserving :WILD as name/type value and dealing with
4087        the consequences of doing so.)
4088
40892007-01-03 03:27  gb
4090
4091        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4092
40932007-01-02 09:57  gb
4094
4095        * lib/macros.lisp: Keep fixing CTYPECASE.
4096
40972007-01-02 09:57  gb
4098
4099        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4100        BASIC-CHARACTER-INPUT-STREAM returns both values.
4101       
4102        "Composite" (two-way, concatenated, etc) streams need a close
4103        protocol.
4104
41052007-01-02 07:00  gb
4106
4107        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4108        (new) version slot, as does practically everything else.
4109
41102007-01-02 06:59  gb
4111
4112        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4113        accurately coerced to floats when comparing fixnums and floats; do
4114        the logical equvalent of calling RATIONAL on the float instead.
4115
41162007-01-01 23:41  gb
4117
4118        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4119        version into returned namestring for physical pathnames.
4120
41212006-12-31 10:15  gb
4122
4123        * release-notes.txt: Update.
4124
41252006-12-31 09:13  gb
4126
4127        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4128        version.
4129
41302006-12-31 08:57  gb
4131
4132        * xdump/faslenv.lisp: Bump fasl-min-vers.
4133
41342006-12-31 08:49  gb
4135
4136        * lib/nfcomp.lisp: Bump current fasl version.
4137
41382006-12-31 08:33  gb
4139
4140        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4141        Tweak the executable start address.
4142
41432006-12-31 02:44  gb
4144
4145        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4146        ensure that there's nothing interesting in the first few pages of
4147        the address space (and ensure that those pages are mapped.)
4148
41492006-12-31 02:43  gb
4150
4151        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4152        on x86-64 (ld64 does some floating-point arithmetic, fails to
4153        account for roundoff error, and claims that 0x1000 isn't a power of
4154        2.) If you can't say anything good about a linker, it's best not to
4155        say anything at all.
4156       
4157        We can force the first segment to be mapped at 0x1000, and can
4158        waste a few pages to ensure that all low-memory pages that the lisp
4159        wants are mapped.
4160
41612006-12-31 02:33  gb
4162
4163        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4164        defensive.
4165
41662006-12-31 02:32  gb
4167
4168        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4169
41702006-12-31 02:29  gb
4171
4172        * xdump/faslenv.lisp: Bump $fasl-vers.
4173
41742006-12-31 02:28  gb
4175
4176        * level-1/version.lisp: Bump; remove "Beta" designation.
4177
41782006-12-29 20:13  gb
4179
4180        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4181        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4182        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4183        up a page on x86-64 as well.
4184
41852006-12-29 16:09  gb
4186
4187        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4188        .orged.
4189
41902006-12-29 15:32  gb
4191
4192        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4193        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4194        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4195        (including NIL) now one page higher on ppc32, as well.
4196
41972006-12-29 02:38  gb
4198
4199        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4200
42012006-12-29 01:38  gb
4202
4203        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4204        ppc64::reservation-discharge) up a page.
4205
42062006-12-29 01:37  gb
4207
4208        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4209        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4210
42112006-12-29 01:36  gb
4212
4213        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4214        backend.  ppc64 wants it one page higher than it has been, to avoid
4215        letting unmapped pages get claimed by the dynamic linker on Darwin.
4216
42172006-12-29 01:35  gb
4218
4219        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4220        that the image starts at #x1000 and aligned section data for the
4221        text section starts on the next page.
4222
42232006-12-29 01:33  gb
4224
4225        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4226        the aligned text section data starts.
4227
42282006-12-29 01:32  gb
4229
4230        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4231        etc a page higher.
4232
42332006-12-29 01:32  gb
4234
4235        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4236        already where it should be.
4237
42382006-12-29 01:32  gb
4239
4240        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4241        page higher.
4242
42432006-12-29 01:30  gb
4244
4245        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4246
42472006-12-22 01:40  gb
4248
4249        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4250
42512006-12-22 01:39  gb
4252
4253        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4254        PPC32/Darwin.
4255       
4256        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4257        test and use dlfcn functions if at least Tiger.
4258       
4259        (The old dyld functions are deprecated under Leopard, and there's
4260        reason to believe that they don't work correctly on at least ppc64/
4261        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4262        a 64-bit .dylib seems to lead to memory corruption rather than
4263        returning NSObjectFileImageInappropriateFile.
4264       
4265        The old functions work better than the dlfcn functions on pre-Tiger
4266        systems.)
4267
42682006-12-19 01:24  gb
4269
4270        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4271        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4272        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4273        producing a pathane with a non-null VERSION component, as it
4274        arguably should have been all along.
4275
42762006-12-18 13:22  gb
4277
4278        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4279        types into concrete vector types.
4280
42812006-12-18 13:04  gb
4282
4283        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4284        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4285        failing to do this leads to many test failures.)
4286
42872006-12-18 13:03  gb
4288
4289        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4290
42912006-12-18 12:57  gb
4292
4293        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4294        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4295        failing to do this leads to many test failures.)
4296
42972006-12-18 12:54  gb
4298
4299        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4300
43012006-12-16 05:28  gb
4302
4303        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4304        instructions have a minor opcode in frb and only have one source
4305        operand.
4306
43072006-12-16 05:27  gb
4308
4309        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4310        SQRT, note that there's only one operand and that it's in frb.
4311
43122006-12-16 05:25  gb
4313
4314        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4315        instructions, notably fsqrt/fqrts, which are optional and not
4316        implemented on some PPC machines.
4317
43182006-12-16 05:24  gb
4319
4320        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4321
43222006-12-14 19:47  gb
4323
4324        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4325
43262006-12-14 16:43  gb
4327
4328        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4329        double-float arithmetic vinsns should say :double-float, not
4330        :single-float.  (I suspect cut-and-paste, frankly.)
4331
43322006-12-14 16:25  gb
4333
4334        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4335        initial-thread.
4336
43372006-12-14 16:24  gb
4338
4339        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4340        error.
4341
43422006-12-14 16:14  gb
4343
4344        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4345        physical pathnames. (Yes, this is kind of silly.)
4346
43472006-12-14 16:01  gb
4348
4349        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4350        signal errors for (e.g.) failed memory allocation.
4351
43522006-12-14 16:00  gb
4353
4354        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4355        fails, signal a lisp error (what a concept.)
4356
43572006-12-14 15:51  gb
4358
4359        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4360       
4361        Might be worth revisiting this.
4362
43632006-12-14 15:50  gb
4364
4365        * lisp-kernel/x86-exceptions.c: Go back to using the
4366        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4367        from a fake context may not be reliable.
4368       
4369        When handling an interrupt with a partially created temp stack
4370        frame, do the right thing.  (That basically means reset the frame
4371        before calling out and recreating it if we return from the
4372        callout.)
4373       
4374        Handle SIGQUIT on the altstack, to provide a way of forcibly
4375        terminating threads that's a bit more GC-safe than doing it via
4376        #_pthread_cancel.
4377       
4378        Note the tcr of the gc thread on gc entry; if an exception happens
4379        in that thread, print a message and sleep for 60 seconds.
4380       
4381        Note that there's still a race condition here: if thread A gets an
4382        exception and thread B gets the mach_exception_lock (to GC) before
4383        the exception thread can handle the message, we deadlock (thread A
4384        would be suspended in the kernel and can't respond to a suspend
4385        signal.)  We can tell that this has happened and make a good guess
4386        as to why it happened, but dealing with it will require some
4387        thought.  (If we've already issued a suspend signal and eventually
4388        raise the suspended thread's resume semaphore, it'll suspend and
4389        resume once the mach exception thread makes it runnable.  Who
4390        cleans up its exception context in that case ?  Does it matter ?)
4391
43922006-12-14 15:19  gb
4393
4394        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4395        have all signals unmasked.
4396       
4397        If a tcr is dead, ensure that its stack areas are empty.
4398       
4399        Try to run shutdown_thread_tcr as a pthread cleanup action,
4400        hopefully before Mach clobbers the thread's signal mask.
4401
44022006-12-14 15:16  gb
4403
4404        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4405        TCR_AREA_LOCK.
4406
44072006-12-14 15:15  gb
4408
4409        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4410        hasn't existed in years.
4411
44122006-12-14 15:14  gb
4413
4414        * level-1/version.lisp: Bump.
4415
44162006-12-14 15:14  gb
4417
4418        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4419        termination semaphore.
4420
44212006-12-14 15:13  gb
4422
4423        * level-1/l1-processes.lisp: PROCESS objects are created with a
4424        termination semaphore.
4425
44262006-12-14 15:12  gb
4427
4428        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4429        TERMINATION-SEMAPHORE.
4430       
4431        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4432        target thread to transition from running lisp code to running
4433        foreign code without advertising that fact. Send a SIGQUIT instead,
4434        and trust the SIGQUIT handler to manage that transition.  Don't try
4435        to kill the initial thread.
4436
44372006-12-09 09:52  gb
4438
4439        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4440        their CLEAR-OUTPUT methods.
4441       
4442        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4443        their displaced-index-offsets.)
4444
44452006-12-09 09:49  gb
4446
4447        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4448        threads on x86-64.  (The PPC never got around to enabling them.)
4449
44502006-12-09 09:47  gb
4451
4452        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4453        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4454        the result of its evaluation.
4455       
4456        Some fixes in CTYPECASE handling, which hopefully didn't break
4457        anything else.
4458
44592006-12-09 09:36  gb
4460
4461        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4462        1d) index register is set - even if the index is a constant - if we
4463        think that the store needs EGC memoization.
4464       
4465        (Note that the test case that exposed this involved storing
4466        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4467        64-bit platforms.)
4468       
4469        In aref2, don't worry about reserving unscaled index registers when
4470        targeting the 1d index; the unscaled index registers aren't live
4471        after, could be NULL if the index is a constant, and any overlap
4472        between one of them and the 1d index should be handled in the
4473        vinsn(s).
4474
44752006-12-09 09:30  gb
4476
4477        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4478        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4479        class-translations.
4480
44812006-12-09 09:27  gb
4482
4483        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4484        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4485        don't segfault taking its CAR without checking.)
4486
44872006-12-06 18:48  gb
4488
4489        * level-0/X86/x86-float.lisp: x86-64 version of
4490        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4491        in %imm1 (which is undefined here ...)
4492
44932006-12-06 17:05  gb
4494
4495        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4496        right symbol for the named block.
4497       
4498        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4499        (SETF NAME).
4500
45012006-12-05 22:44  gb
4502
4503        * release-notes.txt: Update for 061205.
4504
45052006-12-05 20:31  gb
4506
4507        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4508        from putting a linkedit segment in the wrong place and making
4509        32-bit memory unmappable.
4510
45112006-12-05 20:30  gb
4512
4513        * level-1/version.lisp: Bump.
4514
45152006-12-05 20:29  gb
4516
4517        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4518
45192006-12-05 18:53  gb
4520
4521        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4522        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4523        doc string for *ALTERNATE-LINE-TERMINATOR*.
4524
45252006-12-04 15:13  gb
4526
4527        * level-1/version.lisp: Append a patchlevel to the version string,
4528        at least until new tarballs can be built.
4529
45302006-12-04 15:12  gb
4531
4532        * level-1/l1-streams.lisp: If stream element type upgrades to
4533        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4534        element-type.)
4535
45362006-12-04 13:02  gb
4537
4538        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4539        called): don't bother to shift by 0 bits.  Do shift the initial U
4540        if non-zero trailing 0 BITS (was testing for non-zero trailing
4541        DIGITS.)
4542
45432006-12-04 12:52  gb
4544
4545        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4546        element-types; do some upgrading to support some more element types
4547        (BIT -> (UNSIGNED-BYTE 8)).
4548       
4549        Maybe support arbitrarily large integer types someday soon.  Maybe
4550        not.
4551
45522006-12-04 12:48  gb
4553
4554        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4555        types (compiler stuff, mostly).
4556
45572006-12-04 12:46  gb
4558
4559        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4560        shift count of 32 (and returns 0 in that case.)
4561
45622006-12-04 12:46  gb
4563
4564        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4565        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4566        in case.)
4567
45682006-12-04 12:43  gb
4569
4570        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4571        GCD-2 ...
4572
45732006-12-04 09:26  gb
4574
4575        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4576        for STRING-INPUT-STREAMs.
4577
45782006-12-04 09:24  gb
4579
4580        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4581        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4582        shift by 0 bits.
4583
45842006-12-04 09:21  gb
4585
4586        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4587        doing %SLOT-UNBOUND-TRAP.
4588
45892006-12-04 09:21  gb
4590
4591        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4592        STREAMs, returns NIL.  STREAM-POSITION method for
4593        STRING-INPUT-STREAMs.
4594
45952006-12-04 09:19  gb
4596
4597        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4598        containing heap image.
4599
46002006-12-03 07:41  gb
4601
4602        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4603        STRING-OUTPUT-STREAMs are no-ops.
4604       
4605        Need an ioblock-based character-read-vector function for
4606        string-input-streams.
4607
46082006-12-03 07:37  gb
4609
4610        * lib/describe.lisp: Minimal DESCRIBE support for
4611        CCL::BASIC-STREAM.
4612
46132006-12-03 07:36  gb
4614
4615        * lib/macros.lisp: If :element-type is supplied in
4616        WITH-OUTPUT-TO-STRING, don't quote it.
4617
46182006-12-03 05:11  gb
4619
4620        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4621        isn't necessarily 16.
4622
46232006-12-03 05:10  gb
4624
4625        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4626        isn't necessarily 16.
4627       
4628        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4629        %slot-unbound-trap.
4630
46312006-12-03 05:09  gb
4632
4633        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4634        avoid some NO-NEXT-METHODs.
4635
46362006-12-03 02:42  gb
4637
4638        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4639        bit better.
4640
46412006-12-03 02:41  gb
4642
4643        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4644        bit.
4645
46462006-12-03 02:28  gb
4647
4648        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4649        clearing the low byte of the header, shifting it right, and
4650        comparing the index to that.  (It's not reliable to shift the index
4651        left.)
4652
46532006-12-03 02:26  gb
4654
4655        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4656        write BOM, leave that up to higher-level code.
4657       
4658        Start to write some higher-level code.
4659
46602006-12-03 02:23  gb
4661
4662        * level-1/l1-sysio.lisp: Fix some indentation.
4663
46642006-12-03 02:21  gb
4665
4666        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4667        the header word right (after clearing its low byte) and compare the
4668        index to that.  (Shifting the index left - d'oh - obviously fails
4669        for indices of large magnitude.)
4670
46712006-11-29 21:07  gb
4672
4673        * lib/db-io.lisp: Indentation change.
4674       
4675        Add CDB-ENUMERATE-KEYS.
4676
46772006-11-29 18:37  gb
4678
4679        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4680        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4681        LISTP first.  (I hope ...).  Do so.
4682
46832006-11-28 18:42  gb
4684
4685        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4686
46872006-11-28 16:14  gb
4688
4689        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4690
46912006-11-28 16:12  gb
4692
4693        * examples/objc-runtime.lisp: Wrap a (primitive)
4694        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4695        NSThread.
4696
46972006-11-28 16:09  gb
4698
4699        * examples/cocoa-listener.lisp: Don't claim that a callback
4700        parameter is ignored; use IGNORABLE instead.
4701
47022006-11-21 01:28  gb
4703
4704        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4705        conditionalization.
4706
47072006-11-21 00:55  gb
4708
4709        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4710        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4711       
4712        Basic file-socket streams.
4713
47142006-11-10 05:08  gb
4715
4716        * release-notes.txt: Update.
4717
47182006-11-10 04:28  gb
4719
4720        * lisp-kernel/image.h: Bump min image version.
4721
47222006-11-10 04:19  gb
4723
4724        * xdump/heap-image.lisp: bump current image version.
4725
47262006-11-10 04:19  gb
4727
4728        * lisp-kernel/image.h: bump current, max image version.
4729
47302006-11-10 04:10  gb
4731
4732        * xdump/faslenv.lisp: Bump min fasl version.
4733
47342006-11-10 03:56  gb
4735
4736        * lib/nfcomp.lisp: bump current fasl version.
4737
47382006-11-10 03:47  gb
4739
4740        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4741        #_exit
4742
47432006-11-10 03:46  gb
4744
4745        * compiler/X86/x862.lisp: TYPE typo.
4746
47472006-11-10 03:32  gb
4748
4749        * xdump/faslenv.lisp: Bump max fasl version.
4750
47512006-11-10 03:25  gb
4752
4753        * level-1/version.lisp: Bump.  New snapshots today!
4754
47552006-11-09 16:26  gb
4756
4757        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4758       
4759        PREPARE-TO-QUIT kill stragglers without waiting as long.
4760
47612006-11-09 15:50  gb
4762
4763        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4764       
4765        Try to run lisp code after #_exit via lazarus(); this is for some
4766        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4767       
4768        The environment in which The Undead code runs is a little funky,
4769        especially on PPC.  There might be GC implications (cstack will
4770        contain call history as of the point when #_exit called atexit
4771        handlers, vstack & tstack are emptied in lazarus()).  We should
4772        barely run any code in this environment, but we will GC a time or
4773        two ...
4774
47752006-11-09 15:45  gb
4776
4777        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4778
47792006-11-09 15:43  gb
4780
4781        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4782        protocol.
4783
47842006-11-09 15:42  gb
4785
4786        * examples/cocoa-listener.lisp: :set-document-edited for listener
4787        "documents" is a no-op.
4788
47892006-11-09 15:39  gb
4790
4791        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4792        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4793
47942006-11-09 12:50  gb
4795
4796        * compiler/X86/x862.lisp: Always check that array-ctype's
4797        dimensions are a list before taking their length.
4798
47992006-11-09 12:13  gb
4800
4801        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4802        right thing ...
4803
48042006-11-09 10:08  gb
4805
4806        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4807        Three-arg aref/(setf aref) for x8664.
4808
48092006-11-09 05:37  gb
4810
4811        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4812        errors.
4813
48142006-11-09 05:37  gb
4815
4816        * compiler/nxenv.lisp: Operators for 3d array access.
4817
48182006-11-09 05:36  gb
4819
4820        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4821        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4822        array types.
4823
48242006-11-08 12:50  gb
4825
4826        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4827        Leopard nonsense: define the stack context struct separately, make
4828        the ucontext stack field an instance of it.  (Not -sure- if that
4829        was necessary, but :poweropen-target was accidentally on *FEATURES*
4830        and foreign struct layout was using read-time condtionalization to
4831        decide whether or not to use brain-dead structure-alignment rules
4832        leftover from AIX/PowerOpen.
4833
48342006-11-08 12:46  gb
4835
4836        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4837
48382006-11-08 12:40  gb
4839
4840        * compiler/optimizers.lisp: Try to infer/insert the array type when
4841        compiler-macroexpanding MAKE-ARRAY calls.
4842
48432006-11-08 12:39  gb
4844
4845        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4846        :poweropen-alignment rules.
4847
48482006-11-08 12:38  gb
4849
4850        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4851        to poweropen structure layout rules should be an attribute of the
4852        FTD, not done via read-time conditionalization.
4853
48542006-11-08 05:15  gb
4855
4856        * level-1/version.lisp: Bump.
4857
48582006-11-08 05:15  gb
4859
4860        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4861       
4862        TODO: get rid of "bivalent" streams, but allow switching some
4863        streams (sockets) between "character mode" and "binary mode".
4864
48652006-11-08 02:39  gb
4866
4867        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4868
48692006-11-07 21:10  gb
4870
4871        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4872        ASET->%ASET3.
4873
48742006-11-07 20:40  gb
4875
4876        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4877
48782006-11-07 20:39  gb
4879
4880        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4881
48822006-11-07 20:38  gb
4883
4884        * level-0/l0-array.lisp: Use %aref2,%aref3.
4885
48862006-11-07 20:37  gb
4887
4888        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4889        vector-store vinsns.
4890
48912006-11-07 20:37  gb
4892
4893        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4894
48952006-11-07 10:28  gb
4896
4897        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4898        .SPaset3.
4899
49002006-11-07 10:27  gb
4901
4902        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4903
49042006-11-07 10:26  gb
4905
4906        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4907        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4908
49092006-11-07 10:26  gb
4910
4911        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4912        mullw/mulld.
4913
49142006-11-07 04:12  gb
4915
4916        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4917
49182006-11-06 22:07  gb
4919
4920        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4921        :fixnum-vector case.
4922
49232006-11-06 22:04  gb
4924
4925        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4926        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4927        known/declared.
4928
49292006-11-06 22:02  gb
4930
4931        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4932        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4933        versions, but it helps not to have to remember which are
4934        implemented and which aren't.)
4935
49362006-11-06 22:01  gb
4937
4938        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4939
49402006-11-06 22:00  gb
4941
4942        * compiler/nx1.lisp: New %ASET2 handling.
4943
49442006-11-06 21:59  gb
4945
4946        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4947        never assigned to.
4948
49492006-11-05 22:09  gb
4950
4951        * level-1/x86-trap-support.lisp: Try to work around
4952        incompatibilites in Tiger/Leopard headers.
4953
49542006-11-05 22:08  gb
4955
4956        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4957        the foreign function may not exist.
4958
49592006-11-05 20:41  gb
4960
4961        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4962
49632006-11-05 07:55  gb
4964
4965        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4966        x86-64, as well.
4967
49682006-11-05 07:52  gb
4969
4970        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4971
49722006-11-05 07:50  gb
4973
4974        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4975        .SPaset2.
4976
49772006-11-05 07:48  gb
4978
4979        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4980        testing simple-array-ness, add the (possibly 0) displacement from
4981        the header before handling the simple aref of the data vector.
4982
49832006-11-05 07:47  gb
4984
4985        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4986        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4987
49882006-11-05 07:46  gb
4989
4990        * level-1/version.lisp: Bump; new binaries soon.
4991
49922006-11-05 07:46  gb
4993
4994        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4995        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4996        4G seconds after an EINTR on Leopard.
4997
49982006-11-05 07:44  gb
4999
5000        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
5001        if any non-fixnum bits would be set in the result.  (Should
5002        probably make this true on all platforms; for PPC64, it's important
5003        for foreign function addresses that're ... suboptimally aligned.)
5004
50052006-11-05 07:42  gb
5006
5007        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
5008        %NANOSLEEP's second (by reference) argument contains garbage after
5009        an EINTR.  (The L word, again.)
5010
50112006-11-05 07:41  gb
5012
5013        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
5014        into the kernel.
5015
50162006-11-05 07:40  gb
5017
5018        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
5019        ppc64 functions whose addresses are not 0 mod 8, so (a) make
5020        MACPTR->FIXNUM return NIL if an address isn't representable as a
5021        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
5022        can't return a fixnum on PPC (really just affects PPC64.)
5023
50242006-11-05 07:37  gb
5025
5026        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
5027
50282006-11-05 07:36  gb
5029
5030        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5031        2d aref support/changes.
5032
50332006-11-05 07:36  gb
5034
5035        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
5036        x8664 wrt 2d aref.  Stll a ways to go.
5037
50382006-11-05 07:35  gb
5039
5040        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
5041
50422006-11-04 00:05  gb
5043
5044        * level-1/version.lisp: Bump.
5045
50462006-11-03 23:10  gb
5047
5048        * level-1/ppc-error-signal.lisp: fix parens.
5049
50502006-11-03 23:09  gb
5051
5052        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
5053        gvector types contains :struct, not :structure.
5054
50552006-11-03 23:08  gb
5056
5057        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
5058        subprim.
5059       
5060        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
5061        in the builtin functions table.
5062
50632006-11-03 15:19  gb
5064
5065        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
5066
50672006-11-03 15:18  gb
5068
5069        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
5070
50712006-11-03 15:17  gb
5072
5073        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
5074        type-error UUOs.
5075
50762006-11-03 15:16  gb
5077
5078        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5079
50802006-11-03 15:16  gb
5081
5082        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5083        (array-header) layout.
5084
50852006-11-03 13:46  gb
5086
5087        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5088        returns its argument if all members are SPECIALIZERS.
5089       
5090        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5091        arguments, for the benefit of people who haven't read the MOP spec
5092        or who don't realize that the MOP defines some things differently
5093        from CLHS.
5094
50952006-11-03 13:38  gb
5096
5097        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5098        to refer to primitive structure type.
5099       
5100        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5101
51022006-11-03 13:37  gb
5103
5104        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5105        :STRUCTURE) is on target-gvector-types.
5106
51072006-11-03 12:53  gb
5108
5109        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5110
51112006-11-03 12:52  gb
5112
5113        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5114         More to come ...
5115
51162006-11-03 12:52  gb
5117
5118        * lisp-kernel/x86-constants64.s: Define array-header layout.
5119
51202006-11-03 12:51  gb
5121
5122        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5123        encodings, new type-error constants.
5124
51252006-11-03 12:50  gb
5126
5127        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5128        traps.
5129
51302006-11-03 12:49  gb
5131
5132        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5133        constant-redefinition CERRORs.
5134
51352006-11-03 12:48  gb
5136
5137        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5138
51392006-11-03 12:47  gb
5140
5141        * level-0/l0-pred.lisp: array--header -> array-header.
5142
51432006-11-03 12:47  gb
5144
5145        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5146        add/change some 2d array stuff.
5147
51482006-11-03 12:43  gb
5149
5150        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5151        subprims; seem to be much (>5x) faster than the lisp/lap versions
5152        (though we can generally be faster still when we know the
5153        element-type and/or know whether the array is simple or explicitly
5154        displaced.)
5155
51562006-11-03 12:41  gb
5157
5158        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5159        related changes.
5160       
5161        Split the code which handles bounds/type-checking in vref out from
5162        the code which actually does the reference, so that the latter can
5163        be used in multidimensional cases.
5164       
5165        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5166        general case.)
5167
51682006-11-03 12:38  gb
5169
5170        * compiler/nx1.lisp: Change handling of 2d-aref.
5171
51722006-11-03 12:37  gb
5173
5174        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5175        general-aref2.  More changes to come (and this may affect
5176        compilation on PPC until some PPC compiler changes are
5177        made/checked-in.)
5178
51792006-11-03 12:35  gb
5180
5181        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5182        the range 128-255, rather than 64-127; more are defined.
5183
51842006-11-02 09:43  gb
5185
5186        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5187
51882006-11-02 09:37  gb
5189
5190        * compiler/arch.lisp: New error constants; work in progress ...
5191
51922006-11-01 11:40  gb
5193
5194        * lisp-kernel/errors.s: Some new constants; more to check in later.
5195
51962006-10-31 03:39  gb
5197
5198        * level-0/l0-io.lisp: You must be reading the OLD rule book
5199        (Leopard and #$EINTR).
5200
52012006-10-31 03:21  gb
5202
5203        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5204        the tcr.  Initialize "addr" before testing it ...
5205
52062006-10-31 03:21  gb
5207
5208        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5209        the tcr.
5210
52112006-10-30 20:40  gb
5212
5213        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5214        expands into something more useful.
5215
52162006-10-30 20:39  gb
5217
5218        * lisp-kernel/ppc-spentry.s: Fix ppc32
5219        misc_ref_double_float_vector.
5220
52212006-10-30 00:24  gb
5222
5223        * level-0/l0-bignum64.lisp: Enable the destructive version of
5224        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5225        provide/fix supporting functions.  Seems to work on ppc64; needs
5226        testing on x8664.
5227
52282006-10-27 17:49  gb
5229
5230        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5231
52322006-10-25 20:36  gb
5233
5234        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5235        variants): always clear the untyi-char.
5236       
5237        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5238        needs an argument.
5239       
5240        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5241        bivalent streams.
5242       
5243        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5244
52452006-10-24 12:35  gb
5246
5247        * level-1/version.lisp: Bump.
5248
52492006-10-24 01:29  gb
5250
5251        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5252        _SPdestbind1 (still used in inlining, sometimes.)
5253
52542006-10-24 01:05  gb
5255
5256        * release-notes.txt: Change the date, add/change some content.
5257
52582006-10-24 01:05  gb
5259
5260        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5261        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5262
52632006-10-24 00:56  gb
5264
5265        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5266        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5267
52682006-10-24 00:55  gb
5269
5270        * level-1/l1-streams.lisp: When recycling
5271        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5272        (Failure to do this can screw up the pretty-printer, among other
5273        things.)
5274
52752006-10-24 00:52  gb
5276
5277        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5278        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5279
52802006-10-23 17:03  gb
5281
5282        * release-notes.txt: Updated; almost ready to go (still a
5283        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5284
52852006-10-23 16:43  gb
5286
5287        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5288        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5289
52902006-10-23 16:42  gb
5291
5292        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5293        STREAM-EXTERNAL-FORMAT) methods.
5294
52952006-10-23 16:41  gb
5296
5297        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5298        stuff.
5299
53002006-10-23 08:27  gb
5301
5302        * level-1/version.lisp: Bump; binaries today, honest.
5303
53042006-10-23 08:27  gb
5305
5306        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5307
53082006-10-23 08:26  gb
5309
5310        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5311        macros were checking for the presence of an input lock ...
5312
53132006-10-23 05:40  gb
5314
5315        * level-1/l1-streams.lisp: Optimize write-string on string streams
5316        a little.
5317
53182006-10-23 05:26  gb
5319
5320        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5321        which evaluates the string form twice; don't do whatever was being
5322        done to default the element type of the string stream.
5323
53242006-10-23 05:24  gb
5325
5326        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5327        keyword/subtype checking if element-type not provided.  (Could also
5328        skip it if it's explicit and obviously OK.)
5329
53302006-10-23 05:22  gb
5331
5332        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5333        "current" allocation if nothing's reserved.
5334
53352006-10-23 05:19  gb
5336
5337        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5338        update_bytes_allocated (sign of "disp").
5339
53402006-10-22 08:02  gb
5341
5342        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5343        form like a PROGN if there are no other forms.
5344
53452006-10-22 08:01  gb
5346
5347        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5348        ioblock functions.
5349       
5350        New string-stream implementation.  Better ...
5351
53522006-10-22 07:59  gb
5353
5354        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5355        before the stream closes.
5356
53572006-10-22 07:59  gb
5358
5359        * lib/pprint.lisp: Don't assume that string output stream strings
5360        have a fill-pointer; use STREAM-POSITION instead.
5361
53622006-10-22 07:57  gb
5363
5364        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5365        functions, after all.
5366       
5367        Go through (new) ioblock-unread-char-function.
5368
53692006-10-22 07:55  gb
5370
5371        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5372        x/s
5373
53742006-10-21 18:46  gb
5375
5376        * level-1/l1-streams.lisp: Typo.
5377
53782006-10-21 18:41  gb
5379
5380        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5381        fields in pseudo sigcontexts.
5382
53832006-10-21 18:40  gb
5384
5385        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5386        twice, etc.)
5387
53882006-10-21 18:35  gb
5389
5390        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5391        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5392        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5393        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5394        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5395
53962006-10-21 16:45  gb
5397
5398        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5399        encodings!
5400
54012006-10-19 13:48  gb
5402
5403        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5404        arg_z - in %safe-get-ptr.
5405
54062006-10-19 13:22  gb
5407
5408        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5409        optional, use #\Sub char-code as replaement char.
5410
54112006-10-19 13:21  gb
5412
5413        * examples/objc-runtime.lisp: Missing close paren.
5414
54152006-10-19 13:19  gb
5416
5417        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5418        strings to/from foreign memory.
5419
54202006-10-19 13:18  gb
5421
5422        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5423
54242006-10-18 08:04  gb
5425
5426        * level-1/version.lisp: Bump.  Binaries later today ?
5427
54282006-10-18 07:38  gb
5429
5430        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5431        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5432        class becomes (or ceases to be) a properly named class.
5433       
5434        The pre-bootstrapping version handles simpler cases of that; use
5435        ALIAS-CLASS to register some early class names as type names.
5436
54372006-10-18 07:36  gb
5438
5439        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5440        system, since only symbols which name properly-named classes are
5441        type specifiers.  Changing the name of a class can either introduce
5442        or remove a properly-named class.
5443       
5444        Classes that have the kernel-p attribute shouldn't have their names
5445        changed casually.
5446
54472006-10-18 07:33  gb
5448
5449        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5450        MAKE-SOCKET, pass it down to whatever function actually creates a
5451        stream socket.
5452
54532006-10-18 02:12  gb
5454
5455        * compiler/X86/x862.lisp: Allow closed-over addresses in
5456        conditional-form, NOT.
5457
54582006-10-18 01:43  gb
5459
5460        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5461        safe_ref_addres.
5462
54632006-10-18 01:43  gb
5464
5465        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5466
54672006-10-18 01:41  gb
5468
5469        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5470        addresses/vcells to nil.
5471
54722006-10-18 01:41  gb
5473
5474        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5475        addresses to NIL.
5476       
5477        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5478        level inline.
5479
54802006-10-18 01:39  gb
5481
5482        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5483        for a few months now.  The disassembler is always the last to know.
5484
54852006-10-17 19:15  gb
5486
5487        * compiler/PPC/PPC32/ppc32-arch.lisp,
5488        compiler/PPC/PPC64/ppc64-arch.lisp,
5489        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5490        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5491        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5492        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5493        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5494        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5495       
5496        Handle memory faults to safe-ref-addres on PPC (so far).
5497       
5498        Try using SAFE-GET-PTR in objc runtime (untested).
5499
55002006-10-17 17:34  gb
5501
5502        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5503        type in acode.
5504
55052006-10-17 14:02  gb
5506
5507        * level-1/l1-unicode.lisp: BOM-ENCODING.
5508
55092006-10-17 14:02  gb
5510
5511        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5512        something.
5513       
5514        Clear the pending-bom flag when seeking.
5515
55162006-10-17 14:01  gb
5517
5518        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5519        ioblock-based character streams.
5520
55212006-10-17 13:45  gb
5522
5523        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5524        *interrupt-level* inline.
5525
55262006-10-17 13:44  gb
5527
5528        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5529        immmediate operand (xuuo).
5530
55312006-10-17 13:39  gb
5532
5533        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5534        when necessary.
5535
55362006-10-17 13:39  gb
5537
5538        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5539        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5540
55412006-10-15 17:51  gb
5542
5543        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5544       
5545        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5546
55472006-10-15 17:51  gb
5548
5549        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5550
55512006-10-15 17:50  gb
5552
5553        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5554
55552006-10-14 07:41  gb
5556
5557        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5558        ENSURING-NODE-TARGET.
5559       
5560        Inline the fixnum case of two-arg numeric comparisons.
5561
55622006-10-14 07:39  gb
5563
5564        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5565        INLINE-SUB2 support.
5566
55672006-10-14 06:30  gb
5568
5569        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5570        generated DEFSTRUCT accessors.
5571
55722006-10-14 06:27  gb
5573
5574        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5575       
5576        Do the fixnum case of two-argument subtraction inline.
5577       
5578        Inline the fixnum case of two-argument numeric comparisons.
5579       
5580        STRUCT-REF avoids typechecking when reckless.
5581
55822006-10-14 06:21  gb
5583
5584        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5585        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5586
55872006-10-14 06:20  gb
5588
5589        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5590        little differently.
5591       
5592        Add xchg-registers.
5593
55942006-10-13 04:54  gb
5595
5596        * compiler/nx1.lisp: Use new NUMCMP operator.
5597
55982006-10-13 04:53  gb
5599
5600        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5601        in effect at call time, not those in effect at definition time.
5602
56032006-10-13 04:50  gb
5604
5605        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5606        inlining issues.
5607
56082006-10-13 04:30  gb
5609
5610        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5611
56122006-10-12 19:46  gb
5613
5614        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5615        "--" is seen.
5616
56172006-10-12 19:45  gb
5618
5619        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5620        newline translation differenly (at the character I/O level, not the
5621        buffer level).
5622       
5623        All character encoding/decoding functions operate on octets, not
5624        necessarily code units.  (The stream encode/decode functions are an
5625        exception; serialization and byte ordering are handled by the
5626        stream.)
5627
56282006-10-09 16:34  gb
5629
5630        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5631        encode a character in (implicit) iso-8859-1.
5632
56332006-10-09 16:33  gb
5634
5635        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5636        a replacement character.
5637
56382006-10-09 16:31  gb
5639
5640        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5641        write/read something, even if it's a replacement character of some
5642        sort.
5643
56442006-10-09 15:19  gb
5645
5646        * level-1/l1-streams.lisp: More stuff about line termination.  When
5647        will this end ?
5648
56492006-10-09 15:19  gb
5650
5651        * lib/chars.lisp: Use a hashtable to map characters to their names.
5652         (Maybe a sparse vector ?).
5653
56542006-10-09 15:18  gb
5655
5656        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5657        their names.  (Maybe a sparse vector ?).
5658       
5659        Define #\Sub and #\Replacement_Character.
5660
56612006-10-08 21:17  gb
5662
5663        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5664        NEW-BACKTRACE for a while now.
5665
56662006-10-08 21:16  gb
5667
5668        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5669        Panther happy.
5670
56712006-10-08 20:30  gb
5672
5673        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5674
56752006-10-08 20:30  gb
5676
5677        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5678        pathname, before it's too late ...
5679
56802006-10-08 20:29  gb
5681
5682        * level-1/l1-unicode.lisp: ASCII, some other changes.
5683
56842006-10-08 20:29  gb
5685
5686        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5687        :line-termination option to MAKE-FD-STREAM.
5688
56892006-10-08 20:28  gb
5690
5691        * level-1/l1-streams.lisp: Yet another line-termination translation
5692        scheme; hopefully, the last for a while. (More tedium before it's
5693        actually installed.)
5694
56952006-10-08 20:27  gb
5696
5697        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5698        #\Paragraph_separator.
5699
57002006-10-07 20:35  gb
5701
5702        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5703
57042006-10-07 20:34  gb
5705
5706        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5707        kernel debugger if interactive streams aren't initialized yet.
5708        (We'd probably get there sooner or later in that case; try to get
5709        there sooner.)
5710
57112006-10-07 20:33  gb
5712
5713        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5714        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5715        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5716        method.)
5717
57182006-10-07 20:32  gb
5719
5720        * level-1/l1-application.lisp: Handle the (new)
5721        -K/--terminal-encoding command-line argument.
5722
57232006-10-07 11:14  gb
5724
5725        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5726        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5727        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5728
57292006-10-07 11:13  gb
5730
5731        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5732        entered when --batch is in effect.
5733
57342006-10-07 11:12  gb
5735
5736        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5737        PROCESS-EXIT-APPLICATION.
5738
57392006-10-07 11:11  gb
5740
5741        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5742        *stdout* here.
5743
57442006-10-06 04:49  gb
5745
5746        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5747        TRANSLATE slot to IO-BUFFER.
5748
57492006-10-06 04:40  gb
5750
5751        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5752
57532006-10-06 04:39  gb
5754
5755        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5756
57572006-10-06 04:38  gb
5758
5759        * level-1/version.lisp: Bump.
5760
57612006-10-06 04:38  gb
5762
5763        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5764        replacement character.
5765
57662006-10-05 14:46  gb
5767
5768        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5769
57702006-10-05 14:46  gb
5771
5772        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5773
57742006-10-05 14:46  gb
5775
5776        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5777        C-like value (all exceptions masked) before doing a callback.  (Not
5778        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5779        value, where most exceptions were unmasked, and this caused FP
5780        exceptions when calling out to foreign code with the "lispy"
5781        tcr.foreign_mxcsr in effect.)
5782       
5783        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5784        the spurious SIGTRAPs, but might be the right idea (and might save
5785        a context switch or two.)
5786       
5787        Mach exception stuff initializes rflags to exception rflags when
5788        arranging to resume thread at handler.  Leaving them uninitialized
5789        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5790        set.
5791
57922006-10-05 06:09  gb
5793
5794        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5795
57962006-10-05 06:09  gb
5797
5798        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5799        #\U+xxxx syntax.
5800
58012006-10-05 06:08  gb
5802
5803        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5804
58052006-10-05 06:07  gb
5806
5807        * level-1/l1-sysio.lisp: Try to get
5808        line-termination/external-format stuff working.
5809
58102006-10-05 05:35  gb
5811
5812        * level-1/l1-streams.lisp: Assume that character data is always
5813        encoded as one or more 8-bit octets.
5814
58152006-10-05 04:59  gb
5816
5817        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5818        just before we make the first one.
5819
58202006-10-02 08:13  gb
5821
5822        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5823        handlers, so we need to make handlers do a sigreturn after
5824        switching off the signal stack, etc.
5825
58262006-10-02 08:11  gb
5827
5828        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5829        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5830        handling for cleanup of tcr pending exception and since we can't
5831        easily restore the signal mask.)
5832       
5833        (Up until this point, SIGRETURN has been a nop on Darwin.)
5834
58352006-10-02 04:59  gb
5836
5837        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5838        earlier.
5839
58402006-10-02 04:47  gb
5841
5842        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5843        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5844        systems <= 10.4).
5845
58462006-10-02 02:46  gb
5847
5848        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5849        Try to make x86-64 version compile under 10.4 again; see if this
5850        breaks post-10.4 compilation.
5851
58522006-10-02 02:33  gb
5853
5854        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5855        x86-exceptions.h: Change things so that they compile for x86-64 on
5856        systems later than 10.4.  Almost certainly break 10.4 compilation
5857        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5858        hours on crap like this, just let me know!)
5859
58602006-09-27 20:33  gb
5861
5862        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5863
58642006-09-27 20:33  gb
5865
5866        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5867
58682006-09-27 05:46  gb
5869
5870        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5871        BASIC-STREAM classes a class prototype.
5872
58732006-09-27 05:45  gb
5874
5875        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5876        initialization, to make it easier to use MAKE-FD-STREAM to open
5877        (seekable) FILE-STREAMs.
5878
58792006-09-27 05:41  gb
5880
5881        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5882        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5883
58842006-09-27 05:39  gb
5885
5886        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5887        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5888        division-by-zero, but that should be masked when in foreign code.)
5889        Don't reload the lisp mxcsr until other registers have been popped,
5890        to make debugging easier in case it's the act of reloading the
5891        mxcsr that causes the spurious trap.)
5892
58932006-09-27 05:36  gb
5894
5895        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5896
58972006-09-27 05:35  gb
5898
5899        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5900        was parenthesized in such a way as to not return the error value on
5901        error.
5902
59032006-09-27 05:34  gb
5904
5905        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5906        passing context into the kernel makes it too difficult to debug/get
5907        backtrace, etc.)
5908
59092006-09-27 05:33  gb
5910
5911        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5912        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5913
59142006-09-27 05:05  gb
5915
5916        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5917        (mostly for BUILT-IN-CLASSes).
5918
59192006-09-26 20:49  gb
5920
5921        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5922        a BASIC-P argument.
5923
59242006-09-26 20:47  gb
5925
5926        * level-1/l1-streams.lisp: More changes.  Imagine that.
5927
59282006-09-26 20:46  gb
5929
5930        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5931        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5932
59332006-09-26 20:43  gb
5934
5935        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5936        take/return strings, not chars.
5937       
5938        Some bom stuff.
5939
59402006-09-24 20:14  gb
5941
5942        * lib/chars.lisp: Check for assumptions about character size.
5943        Remove some %i-isms (fixnum arithmetic), make assertions about type
5944        of char-code.
5945
59462006-09-24 20:12  gb
5947
5948        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5949        CHKBOUNDS function.  Simpler STRING-START-END.
5950
59512006-09-24 20:11  gb
5952
5953        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5954        Probably belongs elsewhere; some encodings may not make it at all
5955        possible.
5956
59572006-09-24 20:07  gb
5958
5959        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5960        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5961
59622006-09-24 20:00  gb
5963
5964        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5965        line-termination slot from ioblock and corresponding arg from
5966        functions which initialize it.
5967
59682006-09-24 19:59  gb
5969
5970        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5971        file-ioblock.
5972
59732006-09-24 19:58  gb
5974
5975        * level-1/l1-unicode.lisp: Buffer translation functions don't
5976        belong here; start thinking about BOM.
5977
59782006-09-24 19:57  gb
5979
5980        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5981        it's been a :u32const for the last few weeks ...
5982
59832006-09-24 04:29  gb
5984
5985        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5986        the code is within its bounds.
5987
59882006-09-24 04:27  gb
5989
5990        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5991        mappings in a vector and a hash table, rather than in an alist.
5992
59932006-09-24 04:26  gb
5994
5995        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5996        character constant fasl encoding ($fasl-char).
5997
59982006-09-23 05:31  gb
5999
6000        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
6001        sure which are the most important.)
6002
60032006-09-23 05:29  gb
6004
6005        * level-1/l1-sysio.lisp: Start to separate
6006        line-termination/external-format stuff.
6007
60082006-09-23 05:28  gb
6009
6010        * level-1/l1-streams.lisp: Lots-o-changes.
6011
60122006-09-23 05:28  gb
6013
6014        * level-1/l1-boot-2.lisp: Make initial interactive streams use
6015        UTF-8 (mostly for debugging utf-8 ...)
6016
60172006-09-21 04:07  gb
6018
6019        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
6020        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
6021        clobbered r11, sometimes didn't.)
6022
60232006-09-21 04:05  gb
6024
6025        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
6026
60272006-09-21 04:05  gb
6028
6029        * lisp-kernel/x86-exceptions.c: Save and restore errno in
6030        callback_for_interrupt.
6031
60322006-09-21 04:04  gb
6033
6034        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
6035        x86-64 ucontext/mcontext on Darwin.
6036
60372006-09-21 04:02  gb
6038
6039        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
6040        flavors.
6041       
6042        Add a type decl in %nanosleep.
6043
60442006-09-21 04:01  gb
6045
6046        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
6047        vinsns.
6048
60492006-09-21 04:01  gb
6050
6051        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
6052        values.  (Probably only matters in a few cases, like the Darwin
6053        x86-64 version of #_nanosleep, which returns a non-sign-extended
6054        "int" value if the sleep is interruted.)
6055
60562006-09-20 06:34  gb
6057
6058        * level-1/version.lisp: Bump.
6059
60602006-09-20 04:24  gb
6061
6062        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6063        slight improvements in signed-byte boxing, typechecking.
6064
60652006-09-20 04:22  gb
6066
6067        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
6068
60692006-09-20 04:21  gb
6070
6071        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
6072
60732006-09-20 04:21  gb
6074
6075        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
6076
60772006-09-20 04:20  gb
6078
6079        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6080        versions.  Need a "logical" UTF-16, which deals with byte-order
6081        marks and a means of installing a concrete encoding.  Needs
6082        testing.
6083
60842006-09-20 04:15  gb
6085
6086        * level-1/l1-streams.lisp: Numerous changes.
6087
60882006-09-20 04:15  gb
6089
6090        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6091
60922006-09-20 04:14  gb
6093
6094        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6095        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6096
60972006-09-20 04:12  gb
6098
6099        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6100        8,16,32,64
6101
61022006-09-19 01:38  gb
6103
6104        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6105        vinsns for REQUIRE-[US][8,16,32,64]
6106
61072006-09-19 01:37  gb
6108
6109        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6110        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6111        64).
6112
61132006-09-19 01:36  gb
6114
6115        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6116
61172006-09-19 01:36  gb
6118
6119        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6120        operators.
6121
61222006-09-19 01:34  gb
6123
6124        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6125        require-[us][8,16,32,64] when possible.
6126
61272006-09-19 01:34  gb
6128
6129        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6130
61312006-09-19 01:33  gb
6132
6133        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6134
61352006-09-19 01:15  gb
6136
6137        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6138        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6139
61402006-09-19 00:36  gb
6141
6142        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6143
61442006-09-18 21:42  gb
6145
6146        * lib/macros.lisp: Macros for locking the input/output locks of an
6147        ioblock, assuming that it exists.
6148
61492006-09-17 00:45  gb
6150
6151        * level-1/l1-streams.lisp: more changes
6152
61532006-09-13 06:52  gb
6154
6155        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6156        WRITE-STRING, TERPRI.
6157
61582006-09-13 06:08  gb
6159
6160        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6161
61622006-09-13 06:07  gb
6163
6164        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6165        named encoding isn't defined.
6166       
6167        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6168
61692006-09-13 06:06  gb
6170
6171        * level-1/l1-streams.lisp: More functions in the ioblock, some
6172        support for 8-bit encodings (like utf-8).  Not finished, but
6173        getting hard to bootstrap; need to check in and build on all
6174        platforms before it gets even harder.
6175
61762006-09-12 05:34  gb
6177
6178        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6179        %copy-ivector-to-pointer) in BUG.
6180
61812006-09-12 05:31  gb
6182
6183        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6184        altstack_signal_handler is entered in foreign code.  (Maybe want to
6185        signal a lisp error in some cases, but this is currently fatal and
6186        we might as well die earlier than with a stack overflow.)
6187
61882006-09-12 05:29  gb
6189
6190        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6191        direction right on FreeBSD.  (Much better than randomly scribbling
6192        on memory in the GC, as the FreeBSD port has been doing for months
6193        now ...)
6194
61952006-09-11 21:31  gb
6196
6197        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6198        intersection.
6199
62002006-09-11 21:21  gb
6201
6202        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6203
62042006-09-11 20:10  gb
6205
6206        * level-1/l1-unicode.lisp: Character encodings contain a
6207        LITERAL-CHAR-CODE-LIMIT field.
6208
62092006-09-11 20:09  gb
6210
6211        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6212        functionality for encoded streams.
6213
62142006-09-11 20:08  gb
6215
6216        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6217
62182006-09-09 04:39  gb
6219
6220        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6221        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6222
62232006-09-09 04:21  gb
6224
6225        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6226        reasonable for ^c syntax; don't do MOD for octal.
6227
62282006-09-09 04:21  gb
6229
6230        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6231        agains boxed Unicode limit
6232
62332006-09-09 03:56  gb
6234
6235        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6236        x8664 functions, hash tables.  (PPC versions should handle hash
6237        table key movement.)
6238
62392006-09-08 22:47  gb
6240
6241        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6242        #x100.
6243
62442006-09-08 22:38  gb
6245
6246        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6247        FIXNUM->CHAR: return NIL for surrogate pairs.
6248
62492006-09-08 22:33  gb
6250
6251        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6252
62532006-09-08 22:31  gb
6254
6255        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6256        sanity-check fn/lr).
6257
62582006-09-08 18:55  gb
6259
6260        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6261        necessarily want arbitrary expressions to be compiled unsafely; do
6262        want to avoid a little type-checking sometimes.)
6263
62642006-09-08 18:52  gb
6265
6266        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6267        for values in the surrogate-pairs range.  (There are other things
6268        that it could plausibly return NIL for.)
6269
62702006-09-08 18:51  gb
6271
6272        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6273        now, just purify strings.
6274
62752006-09-08 18:48  gb
6276
6277        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6278        8), which is still useful (and exactly what it used to do.)
6279
62802006-09-08 18:47  gb
6281
6282        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6283
62842006-09-08 18:44  gb
6285
6286        * level-1/level-1.lisp: Load l1-unicode.
6287
62882006-09-08 18:44  gb
6289
6290        * level-1/l1-unicode.lisp: New file.
6291
62922006-09-07 03:50  gb
6293
6294        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6295
62962006-09-07 03:44  gb
6297
6298        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6299        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6300        attribute of the backend (may need more pure space on x86-64.)
6301
63022006-09-07 03:43  gb
6303
6304        * lisp-kernel/image.h: Bump abi version.
6305
63062006-09-07 03:43  gb
6307
6308        * level-1/version.lisp: Bump.
6309
63102006-09-07 02:58  gb
6311
6312        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6313        seems to mask synchronous signals.  Unmask them in signal handlers.
6314
63152006-09-07 02:57  gb
6316
6317        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6318        signal mask.
6319
63202006-09-07 02:56  gb
6321
6322        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6323        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6324        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6325        (char are 32 bits wide on all platforms now.)
6326
63272006-09-07 00:40  gb
6328
6329        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6330        SIGNUM_FOR_PROCESS_INTERRUPT.
6331
63322006-09-07 00:12  gb
6333
6334        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6335        box_fixnum_no_flags.
6336
63372006-09-07 00:12  gb
6338
6339        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6340        vice imul).
6341
63422006-09-06 21:18  gb
6343
6344        * compiler/X86/X8664/x8664-arch.lisp: Need
6345        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6346
63472006-09-06 18:37  gb
6348
6349        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6350        strings.
6351
63522006-09-06 18:36  gb
6353
6354        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6355        typecodes.
6356
63572006-09-06 18:36  gb
6358
6359        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6360        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6361
63622006-09-06 18:35  gb
6363
6364        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6365        contains entry for 32-bit BASE-CHAR.
6366
63672006-09-06 18:35  gb
6368
6369        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6370        extracting typecodes.
6371
63722006-09-06 18:34  gb
6373
6374        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6375        32-bit-chars.
6376
63772006-09-06 18:33  gb
6378
6379        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6380        :rcontext pseudo-register name until the target backend is in
6381        place.
6382
63832006-09-06 16:39  gb
6384
6385        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6386        stuff for x8664.
6387
63882006-09-06 16:39  gb
6389
6390        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6391        don't mix!
6392
63932006-09-06 16:38  gb
6394
6395        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6396
63972006-09-06 16:38  gb
6398
6399        * level-1/linux-files.lisp: process input/output: don't assume
6400        8-bit strings.
6401
64022006-09-06 14:42  gb
6403
6404        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6405        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6406        (since that creates confustion when cross-compiling from a
6407        non-poweropen host.)
6408
64092006-09-06 00:08  gb
6410
6411        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6412        8-bit char stuff.
6413
64142006-09-06 00:08  gb
6415
6416        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6417        here.
6418
64192006-09-05 22:49  gb
6420
6421        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6422        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6423
64242006-09-05 22:42  gb
6425
6426        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6427        of a non-simple string, understand char width issues.
6428
64292006-09-05 22:41  gb
6430
6431        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6432
64332006-09-05 22:40  gb
6434
6435        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6436        string type.
6437
64382006-09-05 22:39  gb
6439
6440        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6441
64422006-09-05 22:38  gb
6443
6444        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6445
64462006-09-05 09:13  gb
6447
6448        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6449        32-bit chars, too.
6450
64512006-09-05 09:01  gb
6452
6453        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6454        defaults to 32-bit chars.
6455
64562006-09-05 05:18  gb
6457
6458        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6459
64602006-09-05 05:18  gb
6461
6462        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6463        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6464
64652006-09-05 05:17  gb
6466
6467        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6468        for char size.
6469
64702006-09-05 05:16  gb
6471
6472        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6473        strings.
6474
64752006-09-05 05:15  gb
6476
6477        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6478        lisp_char_code; this may be more portable.
6479
64802006-09-05 05:14  gb
6481
6482        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6483
64842006-09-05 05:13  gb
6485
6486        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6487        8-bit char/strings.
6488
64892006-09-05 05:13  gb
6490
6491        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6492        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6493        the coding system in use.)
6494
64952006-09-05 05:09  gb
6496
6497        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6498        assume 8-bit strings.
6499
65002006-09-05 05:08  gb
6501
6502        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6503
65042006-09-05 05:07  gb
6505
6506        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6507        when #-target-8-bit-chars.
6508
65092006-09-05 05:06  gb
6510
6511        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6512        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6513
65142006-09-05 05:05  gb
6515
6516        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6517        :SIMPLE-STRING case with constant index.
6518
65192006-09-04 17:44  gb
6520
6521        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6522        "unsigned char", and cross fingers.
6523
65242006-09-04 17:38  gb
6525
6526        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6527        lisp_char_code type, use it when printing lisp string in the kernel
6528        debugger.
6529
65302006-09-04 17:28  gb
6531
6532        * level-1/version.lisp: Bump.
6533
65342006-09-04 17:18  gb
6535
6536        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6537        conditionalized backwards in PPC64 %INIT-MISC.
6538
65392006-09-04 17:05  gb
6540
6541        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6542        from the target arch (for bootstrapping.)
6543
65442006-09-04 17:04  gb
6545
6546        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6547        type of rdtab.ttab.
6548       
6549        Don't treat (code-char #xca) as whitespace; do treat (code-char
6550        #xa0) as whitespace.  (The former happens to be how the latter was
6551        encoded in MacRoman.)
6552       
6553        Handle U+<hex> syntax in NAME-CHAR.
6554
65552006-09-04 16:16  gb
6556
6557        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6558        and the char code with #xff to get the low byte.
6559
65602006-09-04 16:15  gb
6561
6562        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6563        and the char code with #xff or 255., not with #x255.  (Cause lots
6564        of wackiness, mostly in readtable initialization.)
6565
65662006-09-04 16:12  gb
6567
6568        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6569        u8->char (which is no more) in %CHAR-CODE.
6570
65712006-09-04 06:04  gb
6572
6573        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6574        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6575
65762006-09-04 06:03  gb
6577
6578        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6579        assertion.
6580
65812006-09-04 03:44  gb
6582
6583        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6584
65852006-09-04 03:43  gb
6586
6587        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6588        crf case of UNBOX-BASE-CHAR.
6589
65902006-09-04 02:30  gb
6591
6592        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6593        error.
6594
65952006-09-04 02:29  gb
6596
6597        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6598        size.
6599
66002006-09-04 02:26  gb
6601
6602        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6603        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6604        CHAR_SIZE_32.
6605
66062006-09-04 02:24  gb
6607
6608        * compiler/PPC/PPC32/ppc32-arch.lisp,
6609        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6610        compiler/PPC/PPC64/ppc64-arch.lisp,
6611        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6612        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6613
66142006-09-04 02:23  gb
6615
6616        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6617        32-bit characters.
6618
66192006-09-04 02:22  gb
6620
6621        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6622
66232006-09-03 16:03  gb
6624
6625        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6626        conditionalize new string types.
6627
66282006-09-03 16:03  gb
6629
6630        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6631        string element size.
6632
66332006-09-03 16:02  gb
6634
6635        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6636        level-0/l0-pred.lisp: Sketch out new string types (read-time
6637        conditionalized.)
6638
66392006-09-03 15:02  gb
6640
6641        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6642        bootstrapping.
6643
66442006-09-03 14:20  gb
6645
6646        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6647
66482006-09-03 13:22  gb
6649
6650        * compiler/: X86/X8664/x8664-backend.lisp,
6651        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6652        :target-8-bit-chars on target features.
6653
66542006-09-03 13:21  gb
6655
6656        * level-0/l0-int.lisp: Some comments/indentation.
6657
66582006-09-03 13:01  gb
6659
6660        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6661        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6662
66632006-09-02 11:24  gb
6664
6665        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6666
66672006-09-02 11:15  gb
6668
6669        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6670        a hex digit.
6671
66722006-09-02 11:11  gb
6673
6674        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6675        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6676       
6677        Don't do the whole msg_server here; just do the exc_server thing.
6678       
6679        Fix a couple of Mach exception-handling bugs; at least one more may
6680        remain.
6681
66822006-09-02 11:07  gb
6683
6684        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6685        pseudo_sigreturn.
6686       
6687        Still get spurious SIGTRAPs.
6688
66892006-09-02 11:06  gb
6690
6691        * lisp-kernel/thread_manager.c: Define some things in terms of
6692        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6693       
6694        sem_wait_forever() does repeated timed waits, since I thought that
6695        Darwin was having trouble interrpting things that waited
6696        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6697
66982006-09-02 11:03  gb
6699
6700        * lisp-kernel/Threads.h: Define some things in terms of
6701        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6702        2006, Darwin still doesn't implement enough POSIX semaphore
6703        functionality to make it possible to avoid the use of Mach
6704        semaphores.
6705
67062006-09-02 11:01  gb
6707
6708        * lib/db-io.lisp:
6709        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6710        involved.
6711
67122006-09-02 11:01  gb
6713
6714        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6715        aren't bogus objects.
6716
67172006-09-02 11:00  gb
6718
6719        * level-1/l1-streams.lisp: Try to avoid things like
6720        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6721
67222006-09-02 10:59  gb
6723
6724        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6725        FORCE-OUTPUT.
6726
67272006-09-02 10:57  gb
6728
6729        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6730        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6731       
6732        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6733        chars.
6734       
6735        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6736
67372006-09-02 10:55  gb
6738
6739        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6740        don't assume 8-bit chars.
6741
67422006-08-28 17:35  gb
6743
6744        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6745        misc_set_single_float_vector.
6746
67472006-08-28 17:01  gb
6748
6749        * xdump/faslenv.lisp: Bump max fasl version.
6750
67512006-08-28 16:48  gb
6752
6753        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6754
67552006-08-28 16:33  gb
6756
6757        * xdump/faslenv.lisp: Bump (max) fasl version.
6758
67592006-08-28 16:30  gb
6760
6761        * xdump/xfasload.lisp: xloader was missing a few new ops.
6762
67632006-08-28 05:34  gb
6764
6765        * xdump/xfasload.lisp: New string stuff here, too.
6766
67672006-08-28 05:28  gb
6768
6769        * level-0/nfasload.lisp: New string stuff.
6770
67712006-08-28 04:57  gb
6772
6773        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6774        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6775
67762006-08-28 04:57  gb
6777
6778        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6779        STREAM-READ-CHAR, since it may be faster in some cases.
6780
67812006-08-28 04:56  gb
6782
6783        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6784        (don't assume ioblock-based stream.)
6785
67862006-08-28 04:55  gb
6787
6788        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6789
67902006-08-28 04:55  gb
6791
6792        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6793         (Maybe not even cosmetic.)
6794
67952006-08-28 04:54  gb
6796
6797        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6798        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6799
68002006-08-28 04:53  gb
6801
6802        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6803
68042006-08-28 04:52  gb
6805
6806        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6807        ?  For how long will limit be 2^8 ?
6808
68092006-08-28 04:51  gb
6810
6811        * level-0/nfasload.lisp: More fasl ops.
6812
68132006-08-28 04:51  gb
6814
6815        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6816        u8-vref stuff.
6817
68182006-08-28 04:50  gb
6819
6820        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6821        not be the best way to do this.
6822
68232006-08-26 13:58  gb
6824
6825        * release-notes.txt: Updated.
6826
68272006-08-26 13:50  gb
6828
6829        * release-notes.txt: Updated.
6830
68312006-08-26 13:50  gb
6832
6833        * darwin-x86-headers64/libc/.cvsignore: Added.
6834
68352006-08-26 03:17  gb
6836
6837        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6838
68392006-08-26 03:12  gb
6840
6841        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6842        problems as always, but avoids problems with Darwin x86-64 ld64
6843        segfaulting for unknown reasons.
6844
68452006-08-26 03:11  gb
6846
6847        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6848        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6849        that we can't just return to after switching off of the alt stack.)
6850
68512006-08-26 03:08  gb
6852
6853        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6854        deciding whether or not to signal overflow.
6855
68562006-08-26 03:08  gb
6857
6858        * level-1/x86-trap-support.lisp: Need an indirection to access
6859        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6860        mcontext64.ss.
6861
68622006-08-26 03:06  gb
6863
6864        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6865        easier to step through.
6866
68672006-08-26 03:05  gb
6868
6869        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6870        in case.
6871
68722006-08-25 20:35  gb
6873
6874        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6875        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6876        REMOVE-AUTO-FLUSH-STREAM.
6877       
6878        Export them, too.
6879
68802006-08-25 20:22  gb
6881
6882        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6883        STREAM-READ-LINE.
6884
68852006-08-25 20:22  gb
6886
6887        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6888        most once but doesn't have to be the last clause.
6889
68902006-08-25 20:21  gb
6891
6892        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6893        INPUT-STREAM.
6894       
6895        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6896
68972006-08-25 20:19  gb
6898
6899        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6900        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6901        so unlock those streams with extreme prejudice before closing them.
6902
69032006-08-25 20:18  gb
6904
6905        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6906        code that assumed that interfered with handling of relative logical
6907        pathnames.
6908
69092006-08-25 20:17  gb
6910
6911        * level-1/l1-events.lisp: Rename EVENT-POLL to
6912        AUTO-FLUSH-INTERACTIVE-STREAMS.
6913       
6914        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6915        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6916        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6917       
6918        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6919       
6920        REMOVE-AUTOFLUSH-STREAM.
6921
69222006-08-25 20:13  gb
6923
6924        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6925        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6926
69272006-08-23 22:59  gb
6928
6929        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6930        SIGFPE.
6931       
6932        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6933
69342006-08-23 22:58  gb
6935
6936        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6937        pretty casual about causing spurious exceptions, so ignore them.
6938
69392006-08-23 22:57  gb
6940
6941        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6942        version, with different signals to be ignored by gdb.
6943
69442006-08-23 22:56  gb
6945
6946        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6947        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6948        Use int $0 instead.
6949
69502006-08-23 22:55  gb
6951
6952        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6953        support; may need more work.
6954
69552006-08-22 02:08  gb
6956
6957        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6958        for printing integers), since it seems to need access to pthread
6959        data (and calling print_lisp_object() from GDB might fail if %gs is
6960        pointing at the lisp TCR.)
6961
69622006-08-22 02:06  gb
6963
6964        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6965        earlier in _SPffcall, before entering foreign context.  (Need to
6966        check PPC version(s) as well.)
6967       
6968        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6969        between foreign code and lisp.
6970
69712006-08-22 02:04  gb
6972
6973        * lisp-kernel/x86-macros.s: Fix a typo.
6974
69752006-08-22 02:04  gb
6976
6977        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6978
69792006-08-22 02:03  gb
6980
6981        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6982        exception handling code.
6983       
6984        Do the DARWIN_GS_HACK things to overload %gs.
6985
69862006-08-22 02:02  gb
6987
6988        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6989        for DarwinX8664.
6990
69912006-08-22 02:01  gb
6992
6993        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6994        should really have tested WORD_SIZE.
6995       
6996        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6997        not be necessary.)
6998       
6999        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
7000
70012006-08-22 01:59  gb
7002
7003        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
7004        x8664.
7005       
7006        Some PPC64 conditionalizations should really have tested WORD_SIZE.
7007
70082006-08-22 01:58  gb
7009
7010        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
7011        FreeBSDX664, DarwinX8664.
7012
70132006-08-22 01:57  gb
7014
7015        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
7016        lower seg1addr.
7017       
7018        Something in the (m4-generated) symbolic info in some .s files is
7019        screwy and causes ld64 to segfault; it's currently necesssary to
7020        use "strip -S" on the assembler-generated .o files.
7021
70222006-08-22 01:55  gb
7023
7024        * scripts/openmcl64: Untested changes for Darwinx8664.
7025
70262006-08-22 01:54  gb
7027
7028        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
7029        xload-backend-info (compiler target is :darwinx8664, not
7030        :linuxx8664).
7031
70322006-08-22 01:53  gb
7033
7034        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
7035        cross-compiling to x86 from x86.
7036
70372006-08-22 01:52  gb
7038
7039        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
7040        (not :DARWINPPC-TARGET).
7041
70422006-08-22 01:50  gb
7043
7044        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
7045
70462006-08-22 01:50  gb
7047
7048        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
7049
70502006-08-22 01:49  gb
7051
7052        * level-1/version.lisp: Bump.
7053
70542006-08-22 01:49  gb
7055
7056        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
7057        BASIC-STREAMs.
7058
70592006-08-22 01:48  gb
7060
7061        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
7062        DARWIN-TARGET, not DARWINPPC-TARGET.
7063
70642006-08-22 01:47  gb
7065
7066        * level-0/l0-init.lisp: DarwinX8664 *features*.
7067
70682006-08-22 01:47  gb
7069
7070        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
7071        really want to be DARWIN-TARGET.
7072
70732006-08-22 01:46  gb
7074
7075        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
7076        DarwinX8664.
7077
70782006-08-22 01:45  gb
7079
7080        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7081        compiling natively.
7082       
7083        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7084
70852006-08-22 01:44  gb
7086
7087        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7088        is defined, even on x86.  Use it if not compiling natively on x86.
7089
70902006-08-20 23:59  gb
7091
7092        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7093
70942006-08-20 23:58  gb
7095
7096        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7097
70982006-08-20 23:58  gb
7099
7100        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7101        prototypes for DARWIN_GS_HACK %gs segment switching.
7102
71032006-08-20 23:57  gb
7104
7105        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7106        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7107       
7108        This isn't so bad, but doing it around every ff-call might be.
7109
71102006-08-20 23:56  gb
7111
7112        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7113
71142006-08-20 23:53  gb
7115
7116        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7117
71182006-08-20 23:51  gb
7119
7120        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7121
71222006-08-20 23:51  gb
7123
7124        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7125        also temporary.
7126
71272006-08-20 23:50  gb
7128
7129        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7130        mcontext64 in x8664 Darwin is temporary.
7131
71322006-08-20 20:35  gb
7133
7134        * library/darwinx664-syscalls.lisp: typo
7135
71362006-08-20 20:35  gb
7137
7138        * library/darwinx8664-syscalls.lisp: spell name right
7139
71402006-08-20 17:10  gb
7141
7142        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7143
71442006-08-20 17:10  gb
7145
7146        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7147        (do other things still use read-time conditionals ?)
7148
71492006-08-20 17:09  gb
7150
7151        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7152        setup syscall mask.
7153
71542006-08-20 17:08  gb
7155
7156        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7157        well.
7158
71592006-08-20 17:06  gb
7160
7161        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7162        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7163        word-size issues.)
7164
71652006-08-20 17:03  gb
7166
7167        * library/darwinppc-syscalls.lisp: Mask for PPC.
7168
71692006-08-20 17:02  gb
7170
7171        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7172        level-1/linux-files.lisp: Syscall conditionalization.
7173
71742006-08-20 17:01  gb
7175
7176        * level-1/l1-streams.lisp: Syscall conditionalization.
7177       
7178        SELECTION-INPUT-STREAM created with :sharing :lock.
7179
71802006-08-20 17:00  gb
7181
7182        * examples/objc-runtime.lisp: Fencepost in
7183        POINTER-IN-CFSTRING-SECTION-P.
7184
71852006-08-20 16:16  gb
7186
7187        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7188
71892006-08-18 09:50  gb
7190
7191        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7192        x8664.  Should do this on PPC as well, and should probably offer
7193        some backward-compatible behavior for reader.
7194
71952006-08-18 09:47  gb
7196
7197        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7198        backend a little.
7199       
7200        Explicily define lisp-context-register slot in each backend (%gs
7201        for those imolementations that follow the standard ABI, %fs for
7202        Darwin.)
7203
72042006-08-18 09:44  gb
7205
7206        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7207        necessary.
7208
72092006-08-18 09:43  gb
7210
7211        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7212        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7213        slot.
7214
72152006-08-18 09:42  gb
7216
7217        * compiler/backend.lisp: Backend now has a lisp-context-register
7218        slot.
7219
72202006-08-18 09:42  gb
7221
7222        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7223
72242006-08-18 09:40  gb
7225
7226        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7227        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7228        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7229        and play like the other children.
7230
72312006-08-18 09:29  gb
7232
7233        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7234        code from the PPC version and tweak it a little; needs more work.
7235
72362006-08-18 09:27  gb
7237
7238        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7239        conditionalization.
7240
72412006-08-18 09:25  gb
7242
7243        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7244       
7245        Generate an equate for HAVE_TLS.
7246
72472006-08-18 09:23  gb
7248
7249        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7250
72512006-08-18 09:19  gb
7252
7253        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7254        absolute jumps, prefers slower ones.
7255       
7256        Move lock prefixes to their own lines, to satisfy you-know-who.
7257       
7258        If we don't have thread-local-storage (TLS), it's hard to avoid the
7259        get_tcr() call on each calback.
7260
72612006-08-18 09:13  gb
7262
7263        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7264        that we HAVE_TLS.
7265
72662006-08-17 10:41  phil
7267
7268        * examples/FFI/:
7269        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7270        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7271        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7272        Using-basic-calls-and-types/Readme.rtf,
7273        Using-basic-calls-and-types/typetest-compile.sh,
7274        Using-basic-calls-and-types/typetest.c,
7275        Using-basic-calls-and-types/typetest.lisp: Initial version
7276
72772006-08-17 10:40  phil
7278
7279        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7280        [no log message]
7281
72822006-08-08 13:07  gb
7283
7284        * lisp-kernel/darwinx8664/Makefile: New file.
7285
72862006-08-08 13:07  gb
7287
7288        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7289
72902006-08-08 13:06  gb
7291
7292        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7293
72942006-08-08 13:05  gb
7295
7296        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7297        instructions on the same line as the locked instruction.  (Maybe
7298        there's a better way to do this, than just pretending that lock is
7299        a standalone instruction, but that lock instruction does seem to be
7300        treated as a prefix.)
7301
73022006-08-08 13:03  gb
7303
7304        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7305        dlfcn) on Darwin.
7306
73072006-08-08 13:02  gb
7308
7309        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7310        doesn't define mcontext64, but lots of other things reference it.
7311        #define it here for now, but that'll likely break when the headers
7312        are fixed.
7313
73142006-08-08 12:58  gb
7315
7316        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7317
73182006-08-08 12:58  gb
7319
7320        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7321        x8664/Darwin.
7322
73232006-07-29 08:41  gb
7324
7325        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7326         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7327        needs READ/WRITE- SEQUENCE support.
7328
73292006-07-29 07:39  gb
7330
7331        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7332        lock.  TODO: evaluate whether resources are worthwhile;  used for
7333        string-output-stream allocation and DELETE-DUPLICATES.
7334
73352006-07-29 06:27  gb
7336
7337        * library/lispequ.lisp: Resources aren't thread-private, need
7338        locks.
7339
73402006-07-29 06:26  gb
7341
7342        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7343        BASIC-STREAMs.
7344
73452006-07-29 06:26  gb
7346
7347        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7348        default.
7349
73502006-07-29 06:25  gb
7351
7352        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7353        been used in 10 or 12 years.
7354
73552006-07-29 03:40  gb
7356
7357        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7358
73592006-07-29 03:40  gb
7360
7361        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7362        for now.
7363
73642006-07-29 03:39  gb
7365
7366        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7367        makes one more slot in BASIC-FILE-STREAM.
7368
73692006-07-28 04:17  gb
7370
7371        * level-1/version.lisp: Bump.
7372
73732006-07-28 04:15  gb
7374
7375        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7376        in IOBLOCK.
7377
73782006-07-28 01:17  gb
7379
7380        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7381
73822006-07-28 01:16  gb
7383
7384        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7385
73862006-07-28 00:58  gb
7387
7388        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7389        output.
7390       
7391        (SLIME probably faces the same issue; should probably do something
7392        in the auto-flush case.  Of course, it's hard to know just what to
7393        do in that case. or at least what to do safely in that case.)
7394
73952006-07-28 00:49  gb
7396
7397        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7398        FUNDAMENTAL-FILE-STREAM.
7399
74002006-07-28 00:49  gb
7401
7402        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7403
74042006-07-28 00:48  gb
7405
7406        * library/lispequ.lisp: Need an explicit
7407        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7408
74092006-07-28 00:47  gb
7410
7411        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7412
74132006-07-25 03:48  gb
7414
7415        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7416
74172006-07-24 04:55  gb
7418
7419        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7420        BASIC-STREAMs.
7421
74222006-07-24 04:55  gb
7423
7424        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7425        appear.
7426
74272006-07-24 04:51  gb
7428
7429        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7430
74312006-07-24 02:43  gb
7432
7433        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7434        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7435        implementation of it (and BASIC-FILE-STREAM soon will be.)
7436
74372006-07-23 03:05  gb
7438
7439        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7440
74412006-07-23 03:03  gb
7442
7443        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7444        and is inlined.
7445       
7446        Some bug fixes; STREAM class no longer has slots.
7447       
7448        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7449        variants; fix read-byte botch (should vector according to
7450        element-type.)
7451
74522006-07-23 02:54  gb
7453
7454        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7455        STREAM-IOBLOCK now takes 2 required args.
7456
74572006-07-23 02:54  gb
7458
7459        * level-1/version.lisp: Bump.
7460
74612006-07-23 02:53  gb
7462
7463        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7464        like.
7465
74662006-07-23 02:53  gb
7467
7468        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7469       
7470        Likewise WITH-EAGAIN.
7471
74722006-07-23 01:12  gb
7473
7474        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7475        l1-sockets.lisp: Fix a few botches.
7476       
7477        :private arg to stream creation primitives replaced with :sharing,
7478        which can have values:
7479       
7480         :private (the default; stream can only be accessed by the creating
7481        thread)
7482         :lock  (the old, often slow, default); most accesses to stream
7483        involve locking
7484         :nil or :external (stream code doesn't enforce exclusion).
7485
74862006-07-22 23:57  gb
7487
7488        * level-1/l1-streams.lisp: Bootstrapping stuff.
7489       
7490        Move along, nothing to see here.
7491
74922006-07-20 03:43  gb
7493
7494        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7495        l1-sysio.lisp: First (rough) cut at making streams "private"
7496        (effectively always locked by the "owning" thread) to reduce some
7497        locking overhead.  More to come, some of which will be a little
7498        tricky to bootstrap.
7499
75002006-07-20 01:09  gb
7501
7502        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7503        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7504        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7505
75062006-07-20 01:09  gb
7507
7508        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7509
75102006-07-20 01:08  gb
7511
7512        * level-1/version.lisp: Bump.
7513
75142006-07-20 01:07  gb
7515
7516        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7517         A little tricky to bootstrap.
7518
75192006-07-20 01:05  gb
7520
7521        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7522        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7523        (istruct-based) lisp-thread accessors.
7524
75252006-07-20 01:02  gb
7526
7527        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7528        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7529        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7530        BASIC-STREAM.
7531
75322006-07-15 15:02  gb
7533
7534        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7535        IMPOSSIBLE-NUMBER condition :REPORT method.
7536
75372006-07-15 15:00  gb
7538
7539        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7540        simple vector operations unless we're sure that the vector is a
7541        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7542        leaping into the simple-typed-vector case when the element-type was
7543        known but the vector wasn't known to be SIMPLE.
7544
75452006-07-14 05:57  gb
7546
7547        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7548
75492006-07-13 16:01  gb
7550
7551        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7552        know about FIXNUM arrays.
7553
75542006-07-11 14:23  gb
7555
7556        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7557        (2-address instructions) in natural logical, arithmetic operations.
7558
75592006-07-05 02:38  gb
7560
7561        * release-notes.txt: Update.
7562
75632006-07-05 02:22  gb
7564
7565        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7566        its removal needs to be better publicized.
7567
75682006-07-04 22:24  gb
7569
7570        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7571        PROGRAM arg to RUN-PROGRAM.
7572
75732006-07-04 22:23  gb
7574
7575        * level-1/version.lisp: Bump.
7576
75772006-06-29 02:11  gb
7578
7579        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7580        image-abi-version.
7581
75822006-06-28 05:24  gb
7583
7584        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7585        pointer on DarwinPPC32 (at the very least, that platform's
7586        xFindSymbol gets confused by anything but a null pointer/global
7587        lookup.)
7588
75892006-06-28 05:09  gb
7590
7591        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7592        "Alpha", which may be a bit generous (pretty regular deadlock,
7593        random thread creation errors, other bugs.)
7594
75952006-06-28 05:07  gb
7596
7597        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7598        x86-64 version.
7599
76002006-06-28 04:04  gb
7601
7602        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7603        identifying the cause of XMM FP exceptions.  Try to do that by
7604        looking at MXCSR bits.
7605
76062006-06-28 04:03  gb
7607
7608        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7609        indicate error return.
7610
76112006-06-28 04:03  gb
7612
7613        * level-1/: l1-sockets.lisp, linux-files.lisp,
7614        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7615
76162006-06-28 04:02  gb
7617
7618        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7619        breakpoint.
7620
76212006-06-27 18:08  gb
7622
7623        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7624
76252006-06-27 17:30  gb
7626
7627        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7628
76292006-06-27 17:27  gb
7630
7631        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7632        portable; possibly break it completely ...
7633
76342006-06-27 08:55  gb
7635
7636        * lisp-kernel/x86-exceptions.c: map the altstack
7637        read/write/execute.
7638
76392006-06-27 08:54  gb
7640
7641        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7642        FreeBSD.
7643
76442006-06-27 08:54  gb
7645
7646        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7647        <pthread_np.h>
7648
76492006-06-27 08:53  gb
7650
7651        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7652        :freebsdx8664.
7653
76542006-06-27 08:53  gb
7655
7656        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7657        testing.)
7658       
7659        Don't conditionalize as much code. Indices/offsets are
7660        platform-specific, but accessors defiend in terms of them needn't
7661        be.
7662
76632006-06-27 08:51  gb
7664
7665        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7666        comment.)
7667
76682006-06-27 08:50  gb
7669
7670        * level-0/l0-init.lisp: More freebsd x8664 features.
7671
76722006-06-27 08:50  gb
7673
7674        * scripts/openmcl64: Update for FreeBSD/amd64.
7675
76762006-06-27 08:47  gb
7677
7678        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7679        :freebsdx8664-target as a target-specific-feature.
7680
76812006-06-27 05:05  gb
7682
7683        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7684        freebsd8664/elf_x86_64.x: directory rename
7685
76862006-06-27 04:59  gb
7687
7688        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7689
76902006-06-27 04:47  gb
7691
7692        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7693
76942006-06-27 04:46  gb
7695
7696        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7697        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7698
76992006-06-27 04:45  gb
7700
7701        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7702       
7703        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7704
77052006-06-27 04:44  gb
7706
7707        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7708        suspend_resume_handler.
7709
77102006-06-27 04:44  gb
7711
7712        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7713        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7714
77152006-06-27 04:43  gb
7716
7717        * lisp-kernel/imports.s: Don't import metering-control; do import
7718        get_r_debug().
7719
77202006-06-27 04:42  gb
7721
7722        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7723        word-size stuff (here and in other versions.)
7724
77252006-06-27 04:42  gb
7726
7727        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7728        FreeBSD.
7729
77302006-06-27 04:39  gb
7731
7732        * lib/foreign-types.lisp: Signed char nonsense (should use target
7733        ftd, not reader macros here.)
7734
77352006-06-27 04:38  gb
7736
7737        * lib/compile-ccl.lisp: Some FreeBSD support.
7738
77392006-06-27 04:36  gb
7740
7741        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7742        Some FreeBSD changes/conditionalization. Maybe not enough.
7743
77442006-06-27 04:35  gb
7745
7746        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7747
77482006-06-27 04:34  gb
7749
7750        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7751
77522006-06-27 04:34  gb
7753
7754        * level-0/l0-io.lisp: FreeBSD syscalls.
7755
77562006-06-27 04:33  gb
7757
7758        * level-0/l0-init.lisp: Some FreeBSD features.
7759
77602006-06-27 04:33  gb
7761
7762        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7763        changes.
7764       
7765        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7766        and test.
7767       
7768        Now depends on an imported lisp-kernel function on ELF platforms
7769        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7770
77712006-06-27 04:30  gb
7772
7773        * level-0/.cvsignore: Ignore *fsl.
7774
77752006-06-27 04:29  gb
7776
7777        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7778        in freebsd backend.
7779
77802006-06-27 04:27  gb
7781
7782        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7783        metering-control; do import get-r-debug (for Elf shared libraries.)
7784       
7785        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7786
77872006-06-27 04:26  gb
7788
7789        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7790        Don't import metering-control; do import get-r-debug (for Elf
7791        shared libraries.)
7792
77932006-06-27 04:26  gb
7794
7795        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7796
77972006-06-26 16:38  gb
7798
7799        * compiler/X86/X8664/x8664-vinsns.lisp:
7800        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7801        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7802        constant #xffff000000000000 come from ?
7803
78042006-06-26 16:35  gb
7805
7806        * compiler/X86/x862.lisp: Fix some indentation.
7807
78082006-06-25 20:32  gb
7809
7810        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7811        change initialiation of x8664 foreign-type stuff.
7812
78132006-06-25 20:31  gb
7814
7815        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7816
78172006-06-23 19:52  gb
7818
7819        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7820        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7821
78222006-06-23 19:28  gb
7823
7824        * release-notes.txt: Update some.
7825
78262006-06-23 19:11  gb
7827
7828        * examples/gtk2-clock.lisp: New file.
7829
78302006-06-23 18:56  gb
7831
7832        * level-1/version.lisp: Bump.
7833
78342006-06-23 18:52  gb
7835
7836        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7837
78382006-06-22 13:39  gb
7839
7840        * x86-headers64/gnome2/C/.cvsignore: new
7841
78422006-06-22 13:36  gb
7843
7844        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7845
78462006-06-22 13:33  gb
7847
7848        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7849        gnome2/.cvsignore: new
7850
78512006-06-22 13:30  gb
7852
7853        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7854
78552006-06-22 13:28  gb
7856
7857        * level-1/version.lisp: Bump.
7858
78592006-06-21 15:15  gb
7860
7861        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7862        ppc-spentry.s: Define new string subtags; handle them in ppc64
7863        misc_ref/misc_set.
7864
78652006-06-21 15:14  gb
7866
7867        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7868        versions) to handle FIXNUM vectors, new UCS4 strings.
7869
78702006-06-21 15:14  gb
7871
7872        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7873        versions) to handle FIXNUM vectors, new UCS4 strings.
7874
78752006-06-21 15:12  gb
7876
7877        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7878        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7879        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7880
78812006-06-21 15:11  gb
7882
7883        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7884
78852006-06-21 15:11  gb
7886
7887        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7888        wasn't updated with the introduction of fixnum vectors, (unused)
7889        UCS4 "new"strings.
7890
78912006-06-16 03:50  gb
7892
7893        * examples/objc-support.lisp: Re-compute static NSString info after
7894        opening an extension framework.
7895
78962006-06-16 03:45  gb
7897
7898        * examples/webkit.lisp: Use new functions for augmenting
7899        interfaces, loading framework.
7900
79012006-06-16 03:43  gb
7902
7903        * examples/objc-runtime.lisp: Juggle things around so that add-on
7904        framework bundles get loaded on appication re-launch.
7905       
7906        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7907        since (a) it may not be there, or may not be where we can find it
7908        yet and (b) it's probably more reasonable to do that than it would
7909        be to teach CLOS about classes that're "discovered" when the
7910        appication's launched on a newer OS release than it was saved on.
7911
79122006-06-16 03:39  gb
7913
7914        * examples/cocoa-application.lisp: Touch tha application bundle
7915        before saving an image into it.  That -may- convincve
7916        LaunchServices to do the right thing.
7917
79182006-06-16 03:38  gb
7919
7920        * examples/objc-support.lisp: Reload any addon/framework bundles
7921        that had been loaded before the image was saved when starting a
7922        bundled application.
7923       
7924        Juggle things around, so that that works (need to be able to use
7925        low-level bridge features early.)
7926
79272006-06-16 03:36  gb
7928
7929        * lib/db-io.lisp: Disable the #? reader macro.
7930
79312006-06-14 15:42  gb
7932
7933        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7934        lfun-bits.
7935
79362006-06-12 20:24  gb
7937
7938        * lib/ppc-backtrace.lisp: PPC version of
7939        %find-register-argument-value had the same sort of fencepost as the
7940        x86-64 version had a few days ago.
7941
79422006-06-10 23:52  gb
7943
7944        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7945        its GENERIC-FUNCTION-LAMBDA-LIST.
7946
79472006-06-10 23:51  gb
7948
7949        * level-1/l1-clos.lisp: Give reader/writer method args more
7950        descriptive names. (Barely more descriptive ...)
7951
79522006-06-10 19:25  gb
7953
7954        * level-1/l1-clos-boot.lisp: Arrgh.  In
7955        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7956        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7957        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7958       
7959        This was keeping non-standard instances - like ObjC classes and
7960        metaclasses - from having some of their slots initialized
7961        correctly.
7962
79632006-06-10 19:22  gb
7964
7965        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7966        objc-metaclass: don't die if the class is unnamed (makes it easier
7967        to print classes for debugging during initialization.)
7968
79692006-06-10 13:05  gb
7970
7971        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7972        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7973
79742006-06-08 05:01  gb
7975
7976        * release-notes.txt: Update a bit.
7977
79782006-06-08 03:56  gb
7979
7980        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7981        image-abi-version.
7982
79832006-06-08 03:46  gb
7984
7985        * xdump/faslenv.lisp: Bump (min) fasl version.
7986
79872006-06-08 03:35  gb
7988
7989        * lib/nfcomp.lisp: Bump (current) fasl-version.
7990
79912006-06-08 03:28  gb
7992
7993        * lisp-kernel/linuxx8664/Makefile: -O2.
7994
79952006-06-08 03:26  gb
7996
7997        * xdump/faslenv.lisp: Bump (max) fasl version.
7998
79992006-06-08 03:18  gb
8000
8001        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
8002        doubt and claim that it's a beta.
8003
80042006-06-08 03:18  gb
8005
8006        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
8007
80082006-06-08 03:17  gb
8009
8010        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
8011        options; enable -O2.
8012
80132006-06-08 02:55  gb
8014
8015        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
8016        Handle suspend (and maybe someday resume, again) signals on the
8017        altstack, since we don't really want a signal context in the middle
8018        of the tagged lisp stack ...
8019
80202006-06-08 02:52  gb
8021
8022        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
8023        PLATFORM-exceptions.c; some constants/prototypes moved to
8024        Threads.h.
8025
80262006-06-08 02:51  gb
8027
8028        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
8029        via install_signal_handler(); thread_signal_setup() moved here, to
8030        do that installation.
8031
80322006-06-08 02:50  gb
8033
8034        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
8035       
8036        Don't call (or define) prepare_for_the_worst(), which is kind of
8037        too bad ...
8038
80392006-06-08 02:49  gb
8040
8041        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
8042
80432006-06-08 01:11  gb
8044
8045        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
8046        let OPTIMIZE proclamations persist beyond the LOAD.
8047
80482006-06-07 21:45  gb
8049
8050        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
8051
80522006-06-07 21:38  gb
8053
8054        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
8055        MMX regs.  Do maintain them in TCR.
8056
80572006-06-07 21:37  gb
8058
8059        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
8060        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
8061        temporary (old tsp), finish frame by storing into tcr.save_tsp.
8062
80632006-06-07 21:34  gb
8064
8065        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
8066
80672006-06-07 21:33  gb
8068
8069        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
8070        %stack_temp.
8071
80722006-06-07 21:32  gb
8073
8074        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
8075
80762006-06-07 21:30  gb
8077
8078        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8079        now.
8080
80812006-06-07 21:30  gb
8082
8083        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8084        (since it no longer exists ...).  Use %stack-temp in some cases.
8085
80862006-06-07 21:29  gb
8087
8088        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8089        %stack-temp is a symbolic name for an MMX register that can be used
8090        for (e.g.) linking frames on the temp/foreign stacks (or for any
8091        other purpose ...)
8092
80932006-06-07 15:29  gb
8094
8095        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8096        tcr.next_tsp in sync with %next_tsp Check to ensure that
8097        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8098        allocating on the temp stack.  (This will soon change, so that %tsp
8099        and %next_tsp will not be canonical and the tcr fields are, then
8100        will change so that %tsp and %next_tsp will cease to exist.)
8101
81022006-06-07 15:25  gb
8103
8104        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8105
81062006-06-07 15:25  gb
8107
8108        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8109        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8110        a temporary.
8111
81122006-06-07 15:23  gb
8113
8114        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8115        don't need FP regs for this.  (They're sometimes invalid and
8116        sometimes missing, which is the point of recent changes.)
8117
81182006-06-07 15:21  gb
8119
8120        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8121        to %Rnext_tsp to avoid potential m4 lossage.
8122
81232006-06-07 15:20  gb
8124
8125        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8126
81272006-06-07 15:20  gb
8128
8129        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8130
81312006-06-07 15:19  gb
8132
8133        * level-1/version.lisp: Bump.
8134
81352006-06-07 15:19  gb
8136
8137        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8138
81392006-06-07 15:18  gb
8140
8141        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8142        foreign-sp register (though some code still uses %mm5 as a
8143        temporary, the "canonical" foreign SP is maintained in the TCR.)
8144
81452006-06-07 04:52  gb
8146
8147        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8148        frame, get the foreign SP out of the TCR.
8149
81502006-06-07 04:52  gb
8151
8152        * compiler/X86/X8664/x8664-vinsns.lisp,
8153        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8154        maintain the foreign sp in both the TCR and the MMX register, but
8155        consider the TCR version to be canonical.
8156
81572006-06-07 02:46  gb
8158
8159        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8160        %tsp MMX register doesn't match the value in the tcr, trap.
8161        Likewise for %foreign-sp.
8162
81632006-06-07 01:29  gb
8164
8165        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8166        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8167        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8168       
8169        (The idea is to keep the temp/foreign stack pointers in the tcr and
8170        only use the MMX registers as temporaries, since it seems that
8171        handlers for asynchronous signals can't count on the MMX register
8172        values in the signal context being correct.  This seems to either
8173        be a Linux kernel bug or ill-considered if it's intentional
8174        behavior, but it seems better to work around it this way.)
8175       
8176        This is just an early step in bootstrapping that change; it's being
8177        checked into CVS so that it doesn't get lost (and so that I can
8178        recover to this point if/when I hose things on a later step.)
8179
81802006-06-07 01:24  gb
8181
8182        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8183        tcr.
8184
81852006-06-07 01:22  gb
8186
8187        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8188        next_tsp slot to the tcr.
8189
81902006-06-06 04:25  gb
8191
8192        * lib/ppc-metering.lisp: no hope
8193
81942006-06-06 04:22  gb
8195
8196        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8197        frame (cfp argument) could be an exception callback frame (xcf-p
8198        may be true of it), in which case the saved register value is in
8199        the xcf.xp context.  (Basically, this means look at the first frame
8200        if it's an xcf, otherwise skip it and start with the child.)
8201
82022006-06-06 01:48  gb
8203
8204        * compiler/X86/x86-lapmacros.lisp,
8205        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8206        Using imul to box fixnums is smaller and seems to be faster than
8207        using lea with a scale factor.
8208
82092006-06-05 23:56  gb
8210
8211        * lisp-kernel/thread_manager.c: I don't think that
8212        suspend_resume_handler wants to have suspend signals unmasked, does
8213        it ?
8214
82152006-06-05 12:43  gb
8216
8217        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8218
82192006-06-03 03:11  gb
8220
8221        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8222        last catch frame, do skip others (test was backwards.  As it
8223        probably had been in the single-value case at one point.)
8224
82252006-06-02 03:48  gb
8226
8227        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8228        *terminal-io*; do print it to *trace-output*.
8229
82302006-06-01 20:20  gb
8231
8232        * level-0/l0-array.lisp: There's a T in subtag.
8233
82342006-06-01 20:17  gb
8235
8236        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8237       
8238        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8239       
8240        correctly.
8241
82422006-06-01 20:16  gb
8243
8244        * compiler/nx0.lisp: Defvars for global optimization quantities
8245        moved to level-0.
8246
82472006-06-01 20:15  gb
8248
8249        * level-1/l1-files.lisp: Bind the variables which hold global
8250        compiler optimization quantities, since people persist in doing
8251        things like:
8252       
8253        (declaim (optimize
8254        <something-that-they-probably-think-has-local-effects>))
8255       
8256        without bothering to use EVAL-WHEN or otherwise thinking very
8257        clearly.
8258       
8259        Note that this means that anyone who wanted such a declamation to
8260        have persistent global effects is now SOL.  Blame whoever wrote
8261        (for instance) clx/glx.lisp.
8262
82632006-06-01 20:11  gb
8264
8265        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8266        be referenced early in the cold load.
8267
82682006-06-01 13:13  gb
8269
8270        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8271        pointer to ENCODED-GPR-LISP if we have to get the register value
8272        from an exception frame.
8273
82742006-05-30 19:27  gwking
8275
8276        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8277        1.98)
8278
82792006-05-30 17:12  gb
8280
8281        * level-1/version.lisp: bump again.
8282
82832006-05-30 16:31  gb
8284
8285        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8286        ensure that tcr.xframe is updated from the catch frame (a) in all
8287        execution paths and (b) before RSP is updated.
8288
82892006-05-30 16:30  gb
8290
8291        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8292        vectors.
8293
82942006-05-30 16:29  gb
8295
8296        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8297
82982006-05-30 16:29  gb
8299
8300        * release-notes.txt: Update some more ...
8301
83022006-05-30 16:23  gb
8303
8304        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8305        Apparently.
8306
83072006-05-30 16:15  gb
8308
8309        * release-notes.txt: updated
8310
83112006-05-30 01:58  gb
8312
8313        * level-1/version.lisp: Bump.
8314
83152006-05-30 01:48  gb
8316
8317        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8318        made copies of the signal context and siginfo on the foreign stack,
8319        don't pass the originals to interrupt_handler().
8320       
8321        (altstack_interrupt_handler() looks suspiciously like
8322        altstack_signal_handler(), which probably had the same bug a few
8323        months ago ...)
8324       
8325        Since the alternate signal stack (as we use it) isn't reentrant,
8326        the next signal (perhaps a suspend signal) overwrote the context.
8327        Which is one reason to have made a copy in the first place ...
8328
83292006-05-30 01:43  gb
8330
8331        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8332        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8333        timeout is a good idea here, make sure that the timeout isn't
8334        fooled by #$EINTR.
8335
83362006-05-30 01:39  gb
8337
8338        * level-1/linux-files.lisp: Rename the old
8339        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8340        since it basically waits indefinitely.
8341       
8342        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8343        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8344        a "timed wait" that handles interruptions, etc. when the caller
8345        just has a "raw" (native) semaphore.
8346       
8347        Change callers, endure warnings.  New binaries soon.
8348
83492006-05-30 01:36  gb
8350
8351        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8352        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8353
83542006-05-29 22:34  gb
8355
8356        * lisp-kernel/x86-exceptions.c: The
8357        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8358        too small ...
8359
83602006-05-29 14:03  gb
8361
8362        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8363        syscall-based getcwd (it doesn't work as it once did/is documented
8364        to on linuxx8664); use the library function on all platforms.
8365
83662006-05-29 14:02  gb
8367
8368        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8369        processing interrupt.
8370
83712006-05-28 17:01  gb
8372
8373        * lisp-kernel/ppc-exceptions.c: If we handle a
8374        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8375       
8376        Back out of the hack that tried to work around a Darwin bug (FP
8377        exception flags were cleared in the MSR after a thread had been
8378        interrupted via pthread_kill()), since the fix seems not to be
8379        GC-safe.
8380       
8381        Add some debugging code to print when the exception lock is
8382        acquired/released.
8383
83842006-05-28 01:10  gb
8385
8386        * level-1/solaris-files.lisp: long gone
8387
83882006-05-23 20:25  gb
8389
8390        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8391
83922006-05-22 22:59  gb
8393
8394        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8395        C/.cvsignore: New file.
8396
83972006-05-22 22:57  gb
8398
8399        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8400        thread to suspend itself.
8401
84022006-05-22 22:57  gb
8403
8404        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8405        SINGLE-FLOAT constants.
8406       
8407        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8408        64-bit arg word, regardless of whether they're also passed in
8409        f1-f13 as well.
8410
84112006-05-22 22:55  gb
8412
8413        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8414        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8415        64-bit word.
8416
84172006-05-22 22:54  gb
8418
8419        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8420        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8421
84222006-05-22 22:53  gb
8423
8424        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8425        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8426        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8427        access them.
8428
84292006-05-22 03:53  gb
8430
8431        * level-1/version.lisp: Bump.
8432
84332006-05-22 03:32  gb
8434
8435        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8436
84372006-05-22 03:31  gb
8438
8439        * compiler/X86/x862.lisp: Numeric contagion on binops,
8440        fixnum->float.
8441
84422006-05-22 03:29  gb
8443
8444        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8445        well.
8446
84472006-05-22 03:28  gb
8448
8449        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8450        earlier when creating a stack frame inline.  Doesn't seem to affect
8451        latency much.
8452
84532006-05-22 03:27  gb
8454
8455        * compiler/X86/x862.lisp: Comment formatting on the first line of
8456        the file.
8457
84582006-05-22 03:26  gb
8459
8460        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8461        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8462
84632006-05-21 07:34  gb
8464
8465        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8466
84672006-05-21 07:32  gb
8468
8469        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8470        numeric-contagion stuff for arithmetic ops.
8471
84722006-05-21 07:31  gb
8473
8474        * compiler/nx1.lisp: Use div2 for /-2.
8475
84762006-05-21 07:31  gb
8477
8478        * compiler/nx0.lisp: Binop numeric contagion.
8479
84802006-05-21 06:49  gb
8481
8482        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8483
84842006-05-21 06:49  gb
8485
8486        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8487        weird, just wrong.
8488
84892006-05-21 06:17  gb
8490
8491        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8492        SIMPLE-FIXNUM-VECTORs.
8493
84942006-05-21 06:16  gb
8495
8496        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8497        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8498
84992006-05-21 06:16  gb
8500
8501        * compiler/PPC/PPC32/ppc32-arch.lisp,
8502        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8503        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8504        vector stuff.
8505
85062006-05-21 06:15  gb
8507
8508        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8509       
8510        Fixnum vector vref/vset.
8511
85122006-05-21 06:15  gb
8513
8514        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8515        %fixnum-to-double.
8516
85172006-05-21 06:14  gb
8518
8519        * compiler/nx0.lisp: More operator result types.
8520
85212006-05-21 04:35  gb
8522
8523        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8524        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8525        specialized FIXNUM array-element-type into type system, CLOS.
8526        (Knock wood.)
8527
85282006-05-21 04:34  gb
8529
8530        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8531        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8532
85332006-05-21 04:33  gb
8534
8535        * compiler/X86/X8664/x8664-arch.lisp,
8536        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8537        subtag for :fixnum-vector.
8538
85392006-05-21 04:32  gb
8540
8541        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8542        indices correctly.
8543       
8544        64-bit vset, vref: handle :FIXNUM-VECTOR.
8545
85462006-05-21 00:22  gb
8547
8548        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8549
85502006-05-20 18:13  gb
8551
8552        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8553        stack args) without restoring/re-saving NVRs.
8554
85552006-05-19 15:07  gb
8556
8557        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8558        completion semaphore (when :WAIT is true) happens inside an
8559        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8560        interrupts.
8561
85622006-05-19 15:06  gb
8563
8564        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8565        for SEMAPHORE.
8566
85672006-05-19 12:23  gwking
8568
8569        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8570        Also changed it so that it displays all items before trying to get
8571        an answer.
8572
85732006-05-19 12:00  gwking
8574
8575        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8576
85772006-05-19 11:57  gwking
8578
8579        * .cvsignore: The *fsl wasn't cutting it for me...
8580
85812006-05-19 11:50  gb
8582
8583        * level-1/version.lisp: Bump.
8584
85852006-05-19 11:49  gb
8586
8587        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8588        syscall definitions so that it can be moused on.
8589
85902006-05-19 11:48  gb
8591
8592        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8593        .SPeabi-syscall -> .SPsyscall.
8594
85952006-05-19 11:45  gb
8596
8597        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8598        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8599        does indeed burn cache lines, but going out of line isn't cheap
8600        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8601        are in fact fixnums and no overflow is involved - seems to be about
8602        2X faster when inlined this way.  Not sure if that'll be the case
8603        on PPC.)
8604
86052006-05-19 11:40  gb
8606
8607        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8608        stuff.
8609
86102006-05-18 14:47  gb
8611
8612        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8613        in all places that do so ...), update tcr.xframe from
8614        catch_frame.xframe on all execution paths (in particular, do so
8615        before SP is restored from the catch_frame, since a tcr.xframe
8616        "beyond" SP is clearly bogus.)
8617
86182006-05-18 02:34  gb
8619
8620        * level-1/version.lisp: Bump.
8621
86222006-05-17 23:12  gb
8623
8624        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8625        for PPC, too.
8626
86272006-05-17 22:53  gb
8628
8629        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8630        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8631        if any unmasked exceptions were raised before even calling this ...
8632
86332006-05-17 22:51  gb
8634
8635        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8636        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8637
86382006-05-17 22:50  gb
8639
8640        * compiler/X86/x862.lisp: Work harder to find acode types in some
8641        cases.
8642
86432006-05-17 22:50  gb
8644
8645        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8646        registers in OP-REG.
8647       
8648        Don't want to use RET very often if at all, but disassembler should
8649        treat as as a :JUMP.
8650
86512006-05-17 22:48  gb
8652
8653        * compiler/nxenv.lisp: MUL2, DIV2.
8654
86552006-05-17 22:48  gb
8656
8657        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8658        type-inferencing (or, more accurately, paying a little more
8659        attention here and there.)
8660
86612006-05-12 20:40  gwking
8662
8663        * examples/addressbook.lisp: added examples/addressbook.lisp
8664
86652006-05-11 18:42  gb
8666
8667        * level-1/l1-application.lisp: Stop processing command-line
8668        arguments when "--" is encountered; anything after that "--" is
8669        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8670
86712006-05-11 18:42  gb
8672
8673        * lib/ccl-export-syms.lisp: Export command-line stuff
8674
86752006-05-11 18:40  gb
8676
8677        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8678        method for LOCKs.
8679
86802006-05-11 18:39  gb
8681
8682        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8683        are base-strings (and always have been in OpenMCL.)
8684
86852006-05-11 18:37  gb
8686
8687        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8688
86892006-05-11 08:11  gwking
8690
8691        * lib/db-io.lisp: Added a check that the directory exists to
8692        fid-open-output in order to make it clearer what is wrong when one
8693        is unable to rebuild interface files because they are trying to do
8694        so in a place without FFI files to read!
8695
86962006-05-11 05:14  gb
8697
8698        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8699        Bump lisp-implementation-version, image-abi-version.
8700
87012006-05-11 05:04  gb
8702
8703        * xdump/faslenv.lisp: Bump (min) fasl version.
8704
87052006-05-11 04:52  gb
8706
8707        * lib/nfcomp.lisp: Bump (current) FASL version.
8708
87092006-05-11 04:52  gb
8710
8711        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8712        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8713
87142006-05-11 04:35  gb
8715
8716        * xdump/faslenv.lisp: Bump (max) fasl version.
8717
87182006-05-11 04:32  gb
8719
8720        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8721        target-specific feature.
8722
87232006-05-11 03:35  gb
8724
8725        * compiler/PPC/PPC32/ppc32-arch.lisp,
8726        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8727        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8728        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8729        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8730        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8731        typecodes around: get rid of the (unused) old 16-bit string; add an
8732        (as yet unused) UCS-4 string type.
8733       
8734        These changes generally involve cross-compilation (or some very
8735        tricky bootstrapping that I didn't attempt)  FASL versions and
8736        kernel ABI versions will need to change, and new binaries will be
8737        made available soon.
8738
87392006-05-10 20:20  gb
8740
8741        * compiler/PPC/ppc-lapmacros.lisp,
8742        compiler/PPC/PPC32/ppc32-arch.lisp,
8743        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8744        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8745        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8746        8-bit) character code is stored in the #x0000xx00 byte of a
8747        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8748        bootstrap natively (which is why I was trying to make ppc64->ppc32
8749        cross-compilation work.)
8750       
8751        Change related macros/visnsns as well.
8752
87532006-05-10 19:00  gb
8754
8755        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8756        think that this is just hard to do right the way that it's being
8757        done.
8758
87592006-05-10 18:59  gb
8760
8761        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8762        when cross-compiling (because word-size differences aren't handled
8763        correctly by macros.)  Until the macros are fixed, don't even try
8764        ...
8765
87662006-05-10 18:58  gb
8767
8768        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8769        target::target-most-positive-fixnum (not the host's
8770        MOST-POSITIVE-FIXNUM).
8771
87722006-05-10 18:57  gb
8773
8774        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8775        few places.
8776
87772006-05-10 18:56  gb
8778
8779        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8780
87812006-05-10 18:55  gb
8782
8783        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8784        differences between host and target types, but try to turn
8785        references to FIXNUM to the appropriate target-specific type.
8786
87872006-05-09 21:01  gb
8788
8789        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8790        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8791        around to check the high bits of the char code, but all chars have
8792        been base-chars for several years now ...
8793       
8794        UNBOX-CHARACTER was unused.
8795       
8796        (This is the first step of what may be several bootstrapping steps
8797        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8798        easily-accessed char-code bits on PPC32.)
8799
88002006-05-09 11:48  gb
8801
8802        * lisp-kernel/xlbt.c: No psn in cs_area.
8803
88042006-05-09 02:42  gb
8805
8806        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8807        to mark_simple_area_range().
8808
88092006-05-09 02:33  gb
8810
8811        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8812        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8813
88142006-05-09 02:25  gb
8815
8816        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8817        the containing TCR, to make low-level debugging a bit easier.
8818
88192006-05-09 02:25  gb
8820
8821        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8822        and debugging printfs.
8823
88242006-05-09 02:24  gb
8825
8826        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8827        extra (signed_natural *) arg, for allocptr displacement.
8828
88292006-05-09 02:23  gb
8830
8831        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8832       
8833        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8834        regs/ saved TCR fields.  The general idea is that the after they
8835        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8836        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8837        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8838        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8839       
8840        On an interrupt, the caller needs to pass in a signed_natural * to
8841        pick up the allocptr displacement (if consing was interrupted at
8842        the alloc trap); the interrupt handler uses this value to fix up
8843        alloptr when it returns if consing was interrupted.
8844       
8845        This is all pretty clearly right, but something still goes wrong
8846        under some combination of high thread stress, frequent allocation,
8847        and blocking ff-calls.
8848
88492006-05-09 02:17  gb
8850
8851        * lisp-kernel/plbt.c: No psn currently available.
8852
88532006-05-09 02:16  gb
8854
8855        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8856        where it may come in handy ...
8857
88582006-05-09 02:16  gb
8859
8860        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8861        arg.
8862
88632006-05-09 02:13  gb
8864
8865        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8866
88672006-05-09 02:12  gb
8868
8869        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8870        Restore it.
8871
88722006-05-09 02:12  gb
8873
8874        * level-0/l0-error.lisp, library/lispequ.lisp,
8875        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8876        recycle $XNOCDR.
8877
88782006-05-09 02:11  gb
8879
8880        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8881        target-specific.
8882
88832006-05-09 02:11  gb
8884
8885        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8886        target-specific.
8887
88882006-05-09 00:40  gb
8889
8890        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8891        here.
8892
88932006-05-09 00:39  gb
8894
8895        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8896        x8664.
8897
88982006-05-09 00:39  gb
8899
8900        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8901        stuff up to l1-lisp-threads.lisp.
8902
89032006-05-08 22:58  gb
8904
8905        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8906        handle array and vector headers.
8907
89082006-05-08 22:57  gb
8909
8910        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8911        of which should ever happen) with the kernel.
8912
89132006-05-08 22:56  gb
8914
8915        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8916        the TCR either.
8917
89182006-05-08 22:55  gb
8919
8920        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8921
89222006-05-08 22:55  gb
8923
8924        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8925        $xsetbadvec.
8926
89272006-05-08 03:26  gb
8928
8929        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8930        flags are set to the result of decrementing %nargs at the end of
8931        the loop.
8932
89332006-05-08 03:25  gb
8934
8935        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8936        wants a list of condition args, not a single arg.
8937
89382006-05-08 03:24  gb
8939
8940        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8941        CS-AREA.
8942
89432006-05-08 03:23  gb
8944
8945        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8946        uuo_error_udf, not as a type error.
8947
89482006-05-07 16:50  gb
8949
8950        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8951        slots in a long time (they probably haven't -needed- them in even
8952        longer; I think that this had to do with the old partial MOP.)
8953        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8954        accessor in STANDARD-OBJECT-SETF-LINE-N.
8955
89562006-05-07 04:39  gb
8957
8958        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8959        file.
8960
89612006-05-07 04:34  gb
8962
8963        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8964        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8965        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8966        if code that wants both locks isn't careful to try to obtain them
8967        in some canonical order.)
8968
89692006-05-07 04:29  gb
8970
8971        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8972
89732006-05-07 04:29  gb
8974
8975        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8976
89772006-05-07 04:28  gb
8978
8979        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8980        xFindSymbol/dlsym returns 0 on x8664.
8981
89822006-05-07 04:27  gb
8983
8984        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8985        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8986        I'd mistakenly decided that it was faster to go through memory than
8987        to use these instructions.  It seems to actually be substantially
8988        slower, as one would expect.)
8989
89902006-05-07 04:25  gb
8991
8992        * compiler/X86/x86-asm.lisp: Add support for
8993        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8994
89952006-05-07 04:21  gb
8996
8997        * library/hash-cons.lisp: Fix doc in comments.
8998
89992006-05-07 04:21  gb
9000
9001        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
9002
90032006-05-07 04:20  gb
9004
9005        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
9006
90072006-05-07 04:19  gb
9008
9009        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
9010        TARGET-backtrace.lisp.
9011
90122006-05-07 04:18  gb
9013
9014        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
9015        BOGUS-THING-P to TARGET-thread-utils.lisp.
9016
90172006-05-07 04:17  gb
9018
9019        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
9020        BOGUS-THING-P support here.
9021
90222006-05-07 04:16  gb
9023
9024        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
9025        to psn.
9026
90272006-05-06 15:27  gb
9028
9029        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
9030        to the "natural" case.
9031
90322006-05-06 15:26  gb
9033
9034        * compiler/X86/x862.lisp: Pass the right number of args to
9035        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
9036
90372006-05-06 15:26  gb
9038
9039        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
9040
90412006-05-06 02:09  gb
9042
9043        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
9044        A and tries to obtain lock B, and thread Y holds lock B and tries
9045        to obtain lock A, what is that a classic case of ?
9046       
9047        Try to avoid that classic deadlock case in shutdown_thread_tcr()
9048        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
9049        two locks at the same time, and that's always a bit dangerous; it
9050        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
9051        that must be owned in order to manipulate either the tcr or area
9052        queues.
9053
90542006-05-06 02:04  gb
9055
9056        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
9057        %REALPATH of the current directory namestring, as it does by
9058        default on some platforms (but not Linux.)
9059
90602006-05-05 20:08  gb
9061
9062        * compiler/X86/x862.lisp: x862-ff-call: really implement the
9063        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
9064        the el-bizarro <- with a (temp) node target.
9065
90662006-05-05 20:06  gb
9067
9068        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
9069        relative to the tagged entrypoint, not to the start of the
9070        underlying function-vector.)
9071
90722006-05-05 13:24  gb
9073
9074        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
9075        heap-consing an &REST arg.  (%allocptr and %next-method-context are
9076        the same register, so &rest clobbbers %next-method-context.)
9077       
9078        Could make separate entry points, so that this is only done when
9079        %next-method-context needs to be preserved ...
9080
90812006-05-05 13:21  gb
9082
9083        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9084
90852006-05-05 02:23  gb
9086
9087        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9088
90892006-05-05 02:23  gb
9090
9091        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9092
90932006-05-05 01:37  gb
9094
9095        * level-1/version.lisp: Bump du jour.
9096
90972006-05-05 01:36  gb
9098
9099        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9100        between the first 6 words of the outgoing frame (from which GPRs
9101        will be loaded) and other words (which stay on the stack); after
9102        the first 8 FP args, floats have to be passed on the stack, even if
9103        there's still room in the first 6 words of the outgoing frame.
9104       
9105        Need to understand the struct-by-value rules better: can a struct
9106        be passed partly in registers and partly on the stack ? RTFM (or,
9107        in this case, TF ABI spec.)
9108
91092006-05-05 01:31  gb
9110
9111        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9112        case should store relative to "other-offset" (rather than   
9113        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9114        - both the single and double-float cases were incrementing
9115        "other-offset"     twice when more than 8 FP args were involved.
9116        This had the effect of     storing floats into every other word and
9117        writing beyond the bounds of     the outgoing stack frame, possibly
9118        overwriting return addresses on the     foreign stack.
9119
91202006-05-04 23:12  gb
9121
9122        * level-1/l1-streams.lisp: James Bielman's fix to
9123        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9124
91252006-05-04 18:30  gb
9126
9127        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9128        decrement FPR-ARG-OFFSET by 8, not -8.
9129       
9130        (This could cause values outside of the stack frame to be read, but
9131        I still haven't found what's writing beyond the frame bounds.)
9132
91332006-05-04 18:27  gb
9134
9135        * lib/x86-backtrace.lisp: If its argument is an exception callback
9136        frame, %CFP-LFUN tries to determine the relative PC associated with
9137        the frame's nominal function and return that as a second value
9138        (just as it does for a real frame.)
9139       
9140        I think that this should work a high percentage of the time, but
9141        callers should generally be prepared to deal with a NULL second
9142        return value from %CFP-LFUN.
9143
91442006-05-04 11:12  gb
9145
9146        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9147        since we're using the same stack pointer to return values as we are
9148        to find arguments, don't try to "optimize" its initialization.
9149
91502006-05-03 18:52  gb
9151
9152        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9153        a little.  Don't coerce single float results to double; bind
9154        stack-ptr variable even if no args (might be a return value form
9155        that references it.) Failure to do the latter was creating a weird
9156        free variable reference that wasn't handled by the fasloader.
9157
91582006-05-03 18:50  gb
9159
9160        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9161
91622006-05-03 18:49  gb
9163
9164        * lib/nfcomp.lisp: Indent a comment.
9165
91662006-05-03 18:16  gb
9167
9168        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9169        that might involve a variable-length arglist (at this level,
9170        always), set %rax to the number (0-8) of FP arguments passed in xmm
9171        registers.
9172
91732006-05-03 13:26  gb
9174
9175        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9176        ~15, not ~!5.  (This was causing segfaults on return from
9177        interrupts sometimes.)
9178
91792006-05-03 13:24  gb
9180
9181        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9182        by SWANK/SLIME.
9183
91842006-05-03 13:23  gb
9185
9186        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9187        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9188        seems to get many things wrong.)
9189
91902006-05-03 11:37  gb
9191
9192        * level-1/version.lisp: You mist have yesterday's version.
9193
91942006-05-03 11:37  gb
9195
9196        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9197        LAP.
9198
91992006-05-03 11:36  gb
9200
9201        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9202        #+x8664-target.
9203
92042006-05-03 11:36  gb
9205
9206        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9207        it can just check for a 2-digit bignum header if it has something
9208        of tag TAG-MISC.
9209
92102006-05-03 11:34  gb
9211
9212        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9213        destinations.
9214
92152006-05-03 11:33  gb
9216
9217        * compiler/X86/x86-disassemble.lisp: Recognize
9218        uuo-error-eep-unresolved.
9219
92202006-05-02 18:07  gb
9221
9222        * level-1/version.lisp: Bump.
9223
92242006-05-02 18:07  gb
9225
9226        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9227        (mostly ?) unused and currently PPC-specific, if it works at all
9228        ...
9229
92302006-05-02 10:27  gb
9231
9232        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9233        for STRING-INPUT-STREAMs; it's not clear what such a method should
9234        do (and fairly clear that it shouldn't do what the previous
9235        definition was doing.)
9236
92372006-05-02 10:26  gb
9238
9239        * lib/format.lisp: clear input from *query-io*, not from
9240        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9241
92422006-05-02 10:26  gb
9243
9244        * library/hash-cons.lisp: x8664 lap
9245
92462006-05-02 10:26  gb
9247
9248        * lisp-kernel/x86-gc.c: hons area stuff
9249
92502006-04-29 09:14  gb
9251
9252        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9253        overflow (on value/temp stacks).
9254
92552006-04-29 09:13  gb
9256
9257        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9258        callback.
9259
92602006-04-29 09:10  gb
9261
9262        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9263       
9264        No linker script.
9265       
9266        Use -lthr, which offers 1:1 threads.
9267
92682006-04-29 09:09  gb
9269
9270        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9271
92722006-04-29 09:01  gb
9273
9274        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9275
92762006-04-29 09:00  gb
9277
9278        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9279        anything cares ...)
9280
92812006-04-29 08:59  gb
9282
9283        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9284
92852006-04-29 08:58  gb
9286
9287        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9288
92892006-04-29 08:58  gb
9290
9291        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9292
92932006-04-28 21:28  gb
9294
9295        * level-1/version.lisp: bump.
9296
92972006-04-28 21:27  gb
9298
9299        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9300        version).
9301
93022006-04-28 21:24  gb
9303
9304        * lib/ppc-backtrace.lisp: Fix typo.
9305
93062006-04-28 21:23  gb
9307
9308        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9309       
9310        Change the command/keyword parser a little, so that :FOO is just
9311        :FOO and not (:FOO).
9312       
9313        Change :B break loop command (and :F) to allow focusing on a range
9314        of frames, and change PRINT-CALL-HISTORY to more easily support
9315        that.
9316
93172006-04-28 19:37  gb
9318
9319        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9320        LOAD-CONSTANT form.
9321
93222006-04-28 19:34  gb
9323
9324        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9325        Factor out a little more.  Time to see what's broken on PPC ...
9326
93272006-04-28 19:34  gb
9328
9329        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9330        around colon-commands optional.
9331
93322006-04-28 04:11  gb
9333
9334        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9335        debugger's register display code.
9336
93372006-04-28 04:11  gb
9338
9339        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9340        on the stack is bogus.
9341
93422006-04-28 04:10  gb
9343
9344        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9345        ...) when calling back for an exception.
9346
93472006-04-28 03:36  gb
9348
9349        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9350       
9351        xcf struct.
9352
93532006-04-28 03:36  gb
9354
9355        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9356
93572006-04-28 03:36  gb
9358
9359        * lib/x86-backtrace.lisp: Implemented some stuff.
9360       
9361        Backtrace (sort of) works on x8664 now; need to find register
9362        values,  hide tagged return addresses, a few other things.
9363
93642006-04-28 03:34  gb
9365
9366        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9367
93682006-04-28 03:34  gb
9369
9370        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9371
93722006-04-28 03:33  gb
9373
9374        * level-1/x86-trap-support.lisp: Flags register accessor.
9375       
9376        New exception callback scheme.
9377
93782006-04-28 03:33  gb
9379
9380        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9381        changing.
9382
93832006-04-28 03:32  gb
9384
9385        * level-1/x86-error-signal.lisp: New exception callback stuff.
9386
93872006-04-28 03:32  gb
9388
9389        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9390
93912006-04-28 03:32  gb
9392
9393        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9394        files.
9395
93962006-04-28 03:31  gb
9397
9398        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9399        have exception callback frames ...
9400
94012006-04-28 03:30  gb
9402
9403        * level-1/l1-error-system.lisp: Tweak :report method for
9404        wrong-number-of-args errors.
9405
94062006-04-28 03:30  gb
9407
9408        * level-0/X86/x86-def.lisp: Implement APPLY+.
9409
94102006-04-28 03:29  gb
9411
9412        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9413
94142006-04-28 03:27  gb
9415
9416        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9417       
9418        CHECK-NARGS: don't enforce upper bound if it's null.
9419
94202006-04-28 03:17  gb
9421
9422        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9423
94242006-04-28 03:16  gb
9425
9426        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9427        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9428
94292006-04-26 14:18  gb
9430
9431        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9432
94332006-04-26 14:17  gb
9434
9435        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9436        prepared" to do so) if its argument isn't a function designator, so
9437        don't quietly call METHOD-FUNCTION for the user.
9438
94392006-04-26 13:56  gb
9440
9441        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9442        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9443
94442006-04-26 03:59  gb
9445
9446        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9447        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9448        exceptions will be pending when we start an ff-call (and the mxcsr
9449        is loaded from that location.)
9450       
9451        tcr.ffi_exception will then contain non-zero exception bits iff the
9452        most recent ff-call raised a (probably masked) FP exception.
9453       
9454        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9455
94562006-04-26 03:55  gb
9457
9458        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9459
94602006-04-26 03:23  gb
9461
9462        * lisp-kernel/x86-constants64.s: Update comment on
9463        tcr.ffi_exception.
9464
94652006-04-26 03:22  gb
9466
9467        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9468        from ffcall.  (Should maybe clear exception bits on entry to
9469        foreign state, so we're sure that any exception bits set in the
9470        tcr.ffi_exception slot were caused by the most recent ff-call.)
9471
94722006-04-26 03:20  gb
9473
9474        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9475        ffcall, compare them to unmasked exception bits in current MXCSR,
9476        maybe raise FP exception.  (Note: compile this change and rebuild
9477        image before making corresponding kernel change.)
9478
94792006-04-26 02:31  gb
9480
9481        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9482        LOGAND-2, not to LOGXOR-2.  Sheesh.
9483
94842006-04-26 02:01  gb
9485
9486        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9487        bit numbers as tests of the sign bit.   (This is probably best
9488        viewed as being "formally undefined", but it's not too expensive to
9489        check for that.  The case where the bit number's negative is
9490        definitely undefined; I think that it also gets treated as a test
9491        of the sign bit.)
9492
94932006-04-26 01:58  gb
9494
9495        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9496        negative.
9497
94982006-04-26 01:32  gb
9499
9500        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9501        61.  (Should check here for negative bit .)
9502
95032006-04-26 01:31  gb
9504
9505        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9506        context" error - which typically indicates a fault during exception
9507        processing - pass the context in to the kernel debugger.
9508
95092006-04-26 01:30  gb
9510
9511        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9512
95132006-04-26 00:56  gb
9514
9515        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9516        if it compares all corresponding digits, rather than repeatedly
9517        comparing the 0th digits N times ...
9518
95192006-04-25 17:38  gb
9520
9521        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9522        is 0, not if disp is 0.  ash: always make a signed integer out of
9523        the result,  since arg is always signed.
9524
95252006-04-25 17:37  gb
9526
9527        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9528        bit, so (for instance) (- 0.0d0) is -0.0d0.
9529
95302006-04-25 17:36  gb
9531
9532        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9533        time.
9534
95352006-04-25 17:35  gb
9536
9537        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9538        operand is in target reg (2-address issue.)
9539
95402006-04-24 16:42  gb
9541
9542        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9543        Apparently, pretty hard.  It was doing a logical shift right when
9544        typechecking the value, so negative values were rejected.
9545
95462006-04-24 16:41  gb
9547
9548        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9549        callback now takes a 'signo' argument.
9550
95512006-04-24 16:40  gb
9552
9553        * level-1/x86-trap-support.lisp: Initial support for handling
9554        arithmetic errors.  Will need more work to get operation and
9555        operands right.
9556
95572006-04-24 16:39  gb
9558
9559        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9560
95612006-04-24 13:58  gb
9562
9563        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9564        uuo-error-reg-not-type case.
9565
95662006-04-24 13:57  gb
9567
9568        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9569        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9570        another story.)
9571
95722006-04-24 13:55  gb
9573
9574        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9575        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9576        boxed, either.
9577
95782006-04-24 12:02  gb
9579
9580        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9581        _SPtcallnfngen: several bugs, which were already fixed in similar
9582        variants.
9583
95842006-04-24 12:01  gb
9585
9586        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9587        Deutch/Waite/Schorr marker.
9588
95892006-04-24 12:00  gb
9590
9591        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9592        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9593
95942006-04-24 11:59  gb
9595
9596        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9597
95982006-04-24 11:58  gb
9599
9600        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9601        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9602        DOUBLE-FLOAT.
9603
96042006-04-24 11:58  gb
9605
9606        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9607        high and low words of the mantissa, to ensure that no hidden bits
9608        are set.  (Some such bits were set, causing many double-float
9609        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9610
96112006-04-24 02:21  gb
9612
9613        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9614        image.
9615       
9616        (Don't expect it to have any contents yet; that'll require several
9617        more changes.   This is all intended to support PURIFY on x8664,
9618        where we'll want to ensure that any constant referenced by a
9619        function in readonly/pure memory has a fixed, static address.)
9620
96212006-04-24 02:14  gb
9622
9623        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9624        section makes NUM_IMAGE_SECTIONS 4.
9625
96262006-04-24 02:13  gb
9627
9628        * lisp-kernel/area.h: Typo in the definition of
9629        AREA_MANAGED_STATIC.
9630
96312006-04-24 02:12  gb
9632
9633        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9634        more areas.
9635
96362006-04-24 02:12  gb
9637
9638        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9639        addresses of instructions (not pointers thereto ...)
9640
96412006-04-24 02:11  gb
9642
9643        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9644        (mostly so that I could step through it to remember how it worked
9645        ...).
9646
96472006-04-24 02:10  gb
9648
9649        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9650        indirection.
9651
96522006-04-24 02:09  gb
9653
9654        * lisp-kernel/x86-gc.c: Remove a sanity check.
9655
96562006-04-24 02:09  gb
9657
9658        * xdump/xfasload.lisp: Create (empty) managed-static section
9659        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9660
96612006-04-24 02:08  gb
9662
9663        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9664        section.
9665
96662006-04-24 02:07  gb
9667
9668        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9669        fds, take CLOSE-ON-ERROR more seriously.
9670
96712006-04-24 02:06  gb
9672
9673        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9674        %CURRENT-FRAME-PTR) on PPC32/64.
9675
96762006-04-24 00:50  gb
9677
9678        * level-1/version.lisp: Bump.  Getting there ...
9679
96802006-04-24 00:50  gb
9681
9682        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9683       
9684        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9685        so pass them as a pointer to avoid word-size issues.
9686
96872006-04-24 00:48  gb
9688
9689        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9690        things that had been missing.
9691
96922006-04-24 00:48  gb
9693
9694        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9695        UUOs.
9696
96972006-04-24 00:48  gb
9698
9699        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9700
97012006-04-24 00:47  gb
9702
9703        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9704
97052006-04-24 00:47  gb
9706
9707        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9708
97092006-04-24 00:47  gb
9710
9711        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9712
97132006-04-24 00:46  gb
9714
9715        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9716        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9717        need to boostrap on PPC).
9718       
9719        Parse %FOREIGN-STACK-POINTER.
9720
97212006-04-22 03:30  gb
9722
9723        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9724        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9725        because (a) nothing else will and (b) the tcr will likely become
9726        unmapped soon, and we don't want things that walk the tcr list to
9727        segfault.
9728
97292006-04-22 03:27  gb
9730
9731        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9732        find_foreign_rsp; call Bug() and exit() if the context has no
9733        fpregs.  (That's a symptom, not the proble, but it's slightly
9734        better to do this than to double fault, which is what seems to be
9735        happening.)
9736
97372006-04-21 10:12  gb
9738
9739        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9740        worry about consing, write-barrier stuff.
9741
97422006-04-21 10:11  gb
9743
9744        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9745        (condition codes.)
9746
97472006-04-21 10:11  gb
9748
9749        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9750        (again.)
9751       
9752        Define enumeration constants for matching the instructions that can
9753        occur during consing.
9754
97552006-04-21 10:09  gb
9756
9757        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9758        store_node_conditional, in case pc_luser_xp() needs to complete the
9759        memoization.
9760
97612006-04-21 02:50  gb
9762
9763        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9764        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9765        allowed.
9766
97672006-04-21 02:49  gb
9768
9769        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9770        line up with GPRs.
9771
97722006-04-21 02:48  gb
9773
9774        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9775        #+64-bit-target, not #+ppc64-target.
9776
97772006-04-21 02:47  gb
9778
9779        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9780        amount.
9781
97822006-04-21 02:46  gb
9783
9784        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9785        unique to PPC64 (but do depend on #+64-bit-target).
9786
97872006-04-21 02:46  gb
9788
9789        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9790        confuse PROGV; remove them, for now.
9791
97922006-04-20 23:35  gb
9793
9794        * lisp-kernel/x86-spentry64.s: In the bignum case of
9795        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9796        whatever the code was trying to do there.
9797       
9798        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9799        and arg_z from the correct offsets within the lexpr.
9800
98012006-04-20 04:48  gb
9802
9803        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9804        force it to always be used, for now.
9805
98062006-04-19 17:11  gb
9807
9808        * lisp-kernel/pmcl-kernel.c: (Very) different
9809        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9810
98112006-04-19 17:10  gb
9812
9813        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9814        Solaris.
9815
98162006-04-19 00:35  gb
9817
9818        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9819        reversing-pointer marker should work.  (Perhaps it's a strong
9820        argument for implementing "purify" soon.)
9821
98222006-04-19 00:34  gb
9823
9824        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9825        function-boundary-marker.
9826
98272006-04-19 00:33  gb
9828
9829        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9830
98312006-04-18 19:35  gb
9832
9833        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9834        multiple-value case of THROW: don't want to do unbind_to if tcr's
9835        db-link matches target catch frame's.
9836
98372006-04-18 19:33  gb
9838
9839        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9840        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9841        synch with x86-asm.
9842
98432006-04-18 19:33  gb
9844
9845        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9846        :R in break messages.
9847       
9848        Say more about :C in :R.
9849
98502006-04-18 19:32  gb
9851
9852        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9853        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9854        seems to have been fixed.
9855
98562006-04-18 19:31  gb
9857
9858        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9859        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9860        horrible kludge, but it only happens once.)
9861
98622006-04-18 19:19  gb
9863
9864        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9865        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9866        to have been fixed.
9867
98682006-04-18 19:18  gb
9869
9870        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9871        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9872        ends of its arguments and ignoring the first few bytes (as well as
9873        doing misaligned memory references.)
9874
98752006-04-18 19:16  gb
9876
9877        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9878        This'll require some thought, mostly because of the reserved-frame
9879        issue(s).
9880
98812006-04-18 06:21  gb
9882
9883        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9884        adventures are about to end, I'm afraid.
9885
98862006-04-18 06:04  gb
9887
9888        * level-1/version.lisp: Daily bump.
9889
98902006-04-18 05:59  gb
9891
9892        * level-1/l1-sockets.lisp: Comment indentation.
9893
98942006-04-18 05:56  gb
9895
9896        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9897
98982006-04-18 05:55  gb
9899
9900        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9901        ppc-def (that means that there will need to be an APPLY+ for
9902        x8664).
9903
99042006-04-18 05:38  gb
9905
9906        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9907        compiler and x8664-vinsn-templates to agree on vinsn-names and
9908        implement some vinsns that had been missing.  (About 15 or so
9909        undefined vinsns remain.)
9910
99112006-04-18 05:37  gb
9912
9913        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9914        opcode ordinals in vinsn templates (e.g., in case new instructions
9915        are defined in the assembler) wasn't checking to see if vinsn
9916        templates named in the hash table were defined.  (It was apparently
9917        getting away with this because CONSP was broken.)  So, don't try to
9918        fixup opcode ordinals in NIL, and optionally report templates
9919        that're referenced but not defined.
9920
99212006-04-18 04:38  gb
9922
9923        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9924        (which only sets the low 8 bits of its destination), then comparing
9925        all 64-bits of the destination to a zero-extended 32-bit constant.
9926        (E.g., CONSP had little chance of being right all other things
9927        being equal, but may have been right more than one in 2^56 times if
9928        some random preceding instruction had zeroed the upper 56 bits.)
9929       
9930        (It's also shorter to do an 8-bit compare.)
9931
99322006-04-18 03:11  gb
9933
9934        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9935
99362006-04-18 02:51  gb
9937
9938        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9939        happy (well, as happy as they're going to be ...), back to finding
9940        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9941
99422006-04-18 01:26  gb
9943
9944        * lisp-kernel/thread_manager.c: Some Solaris changes.
9945
99462006-04-18 00:48  gb
9947
9948        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9949        installs in /usr/sfw/bin is both newer and buggier than the version
9950        available on the "Solaris Companion" disk, which gets installed in
9951        /opt/sfw/bin.
9952       
9953        Ordinarily, I'd wonder why a "companion" disk offers to install
9954        software that's bundled as part of the installation (especially old
9955        versions of that software.)  Now I know.
9956
99572006-04-18 00:45  gb
9958
9959        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9960
99612006-04-18 00:45  gb
9962
9963        * lisp-kernel/m4macros.m4: Fix changecom.
9964
99652006-04-18 00:11  gb
9966
9967        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9968        but is otherwise fine with single-line /* */.
9969
99702006-04-18 00:09  gb
9971
9972        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9973        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9974        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9975        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9976        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9977        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9978        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9979        like Darwin as, but we're back to single-line /* */, which is often
9980        pretty ugly and not well-supported by Emacs.
9981
99822006-04-17 23:23  gb
9983
9984        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9985        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9986        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9987        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9988        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9989        by Emacs and by all current GAS versions (but see ARM conventions.)
9990         No more jerking around with this, knock wood.
9991
99922006-04-17 23:23  gb
9993
9994        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9995        case where caller provided args before the lexpr, which is much
9996        harder than the simple case.
9997       
9998        Use #/newline for comment delimiters, which is supported by Emacs
9999        and by all current GAS versions (but see ARM conventions.)  No more
10000        jerking around with this, knock wood.
10001
100022006-04-17 23:20  gb
10003
10004        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
10005        when numbers differed greatly in magnitude.  Current (binary)
10006        algorithm is usually OK.
10007
100082006-04-17 23:17  gb
10009
10010        * compiler/X86/x86-lap.lisp: Condition name should be
10011        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
10012        not the problem.  Name wasn't spelled correctly in code that
10013        signals the condition, anyway.
10014
100152006-04-17 16:34  gb
10016
10017        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
10018        argument, takes a new boolean to distinguish current tcr from
10019        others.  (The current tcr is only lusered on an interrupt; others
10020        are only lusered on GC entry.)
10021
100222006-04-17 16:33  gb
10023
10024        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
10025        here.  (No deep reason not to share the new x86 signature on all
10026        architectures.)
10027
100282006-04-17 16:32  gb
10029
10030        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
10031        here.  (No deep reason not to share the new x86 signature on all
10032        architectures.)
10033
100342006-04-17 16:31  gb
10035
10036        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
10037        platform-dependent.
10038
100392006-04-17 06:49  gb
10040
10041        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
10042        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
10043        already.
10044
100452006-04-17 06:17  gb
10046
10047        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
10048        truly portable type name.
10049
100502006-04-17 06:16  gb
10051
10052        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
10053        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
10054        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
10055        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
10056        work if they're at the start of a line in Linux GAS.  Try /* */
10057        comments, but limit them to a single line.  (May ultimately be
10058        better to use m4 dnl - carefully - and avoid end-of-line comments.)
10059
100602006-04-17 05:28  gb
10061
10062        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10063        x86-subprims64.s, x86-uuo.s: // comments.
10064
100652006-04-17 05:28  gb
10066
10067        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
10068        conditionalization.
10069
100702006-04-17 05:27  gb
10071
10072        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
10073        accessors, etc.)
10074
100752006-04-17 05:26  gb
10076
10077        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
10078        the sigstack trampoline stuff.)
10079
100802006-04-17 05:25  gb
10081
10082        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10083        integer types.
10084
100852006-04-17 05:24  gb
10086
10087        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10088        x86-constants64.s: // comments.
10089
100902006-04-17 05:23  gb
10091
10092        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10093        Solaris mmap() is ... unusual.
10094
100952006-04-17 05:21  gb
10096
10097        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10098        since Solaris version of GAS doen't handle multi-line comments (/*
10099        ... */).  It -seems- that other assemblers do handle them
10100        correctly; we'll see.
10101       
10102        Some Solaris conditionalization (ELFstabs, etc.)
10103
101042006-04-17 05:20  gb
10105
10106        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10107         We'll see what this breaks.
10108
101092006-04-17 05:19  gb
10110
10111        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10112        SOLARIS is defined.
10113
101142006-04-17 05:18  gb
10115
10116        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10117        registers in predictable order.
10118
101192006-04-17 05:17  gb
10120
10121        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10122        single-line comments, since Solaris version of GAS doen't handle
10123        multi-line comments (/* ... */).  It -seems- that other assemblers
10124        do handle them correctly; we'll see.
10125
101262006-04-17 05:15  gb
10127
10128        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10129
101302006-04-17 05:15  gb
10131
10132        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10133       
10134        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10135        platforms ?
10136
101372006-04-17 05:01  gb
10138
10139        * lisp-kernel/solarisx64/Makefile: new file
10140
101412006-04-17 04:56  gb
10142
10143        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10144        change the name/usage of the linker script.
10145       
10146        Stop using the linker script (since spjump is the only thing in the
10147        kernel that has to be at a fixed address and we can copy it there.)
10148       
10149        Don't disable the EGC.
10150
101512006-04-17 04:54  gb
10152
10153        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10154        the spjump table, exported for C (so that spjump can be mapped into
10155        low memory.)
10156
101572006-04-17 04:54  gb
10158
10159        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10160       
10161        If the tlb's too small when trying to bind a special, push the
10162        binding index of the symbol we're binding (for the benefit of the
10163        handler.)
10164
101652006-04-17 04:52  gb
10166
10167        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10168        code words than it has elements (can't happen, unless the
10169        function's code-words word is garbage, which seems to happen when
10170        closures get consed up in non-zeroed memory.)
10171       
10172        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10173        %nargs.q), which sometimes contains something tagged and
10174        non-immediate.
10175
101762006-04-17 04:48  gb
10177
10178        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10179        to ensure that everythings's zeroed.
10180       
10181        x8664 implementation of extend_tcr_tlb().
10182       
10183        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10184        in call to update_bytes_allocated().
10185       
10186        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10187        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10188        bug, and possibly some other instabiliy.)
10189       
10190        handle_exception: keep trying to guess how to distinguish memory
10191        faults from other sources of SIGSEGV.
10192       
10193        On debug traps, advance the PC past the UUO before entering the
10194        debugger.
10195       
10196        Handle XUUO_TLB_TOO_SMALL.
10197
101982006-04-17 04:42  gb
10199
10200        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10201        reserved_frame_marker.
10202
102032006-04-17 04:42  gb
10204
10205        * lisp-kernel/thread_manager.c: Remove implementation of
10206        extend_tcr_tlb().
10207
102082006-04-17 04:41  gb
10209
10210        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10211        extend_tcr_tlb().
10212
102132006-04-17 04:41  gb
10214
10215        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10216
102172006-04-17 04:40  gb
10218
10219        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10220        that we don't need to use a linker script.
10221
102222006-04-17 04:40  gb
10223
10224        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10225        target xxx-exceptions.h now.
10226
102272006-04-17 04:39  gb
10228
10229        * lib/misc.lisp: Some comment formatting/editing.
10230
102312006-04-17 04:38  gb
10232
10233        * level-1/version.lisp: Bump.
10234
102352006-04-17 04:38  gb
10236
10237        * level-1/l1-readloop.lisp: Some debugging code in the code which
10238        creates the final closure.  It seems that when it's bad, it's bad
10239        on creation (here.)
10240
102412006-04-17 04:37  gb
10242
10243        * level-1/l1-processes.lisp: Some debugging code in
10244        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10245        final closure to be trashed.
10246       
10247        I don't think that other threads were getting their allocptr's
10248        nullified correctly by the GC/normalize_tcr(); with the current
10249        debugging code in place, it seems like the closure is consed on top
10250        of something other than free, thread-private heap memory (when it's
10251        bad, it fails the first check here.  I'm not sure that the latest
10252        round of GC/normalize-tcr() changes have fixed the problem, but I
10253        haven't seen it in a while now, either.)
10254
102552006-04-17 04:32  gb
10256
10257        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10258        disassembly, etc.).
10259
102602006-04-17 04:31  gb
10261
10262        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10263        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10264        (anymore.)
10265       
10266        Subprims are down in low memory again; make INIT-CLOSURE skip
10267        setting the high byte of .SPcall-closure's address if it's zero.
10268
102692006-04-17 04:28  gb
10270
10271        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10272        which may help backtrace.
10273
102742006-04-17 04:26  gb
10275
10276        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10277        (interface/implementation.)
10278
102792006-04-15 09:20  gb
10280
10281        * level-1/x86-callback-support.lisp: Ensure that callback
10282        trampolines are allocated in executable memory.
10283
102842006-04-15 09:12  gb
10285
10286        * lib/dumplisp.lisp: Refresh external entry points before reviving
10287        callbacks.  Reset callback storage before reviving callbacks.
10288
102892006-04-15 09:10  gb
10290
10291        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10292        error message with a %.  (Where did that come from ?)
10293
102942006-04-15 09:08  gb
10295
10296        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10297        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10298        is executable.
10299
103002006-04-14 09:02  gb
10301
10302        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10303
103042006-04-14 08:21  gb
10305
10306        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10307        shorthand for the nearest matching year.
10308
103092006-04-14 08:20  gb
10310
10311        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10312        when : was missing.
10313
103142006-04-13 23:09  gb
10315
10316        * lib/ppc-backtrace.lisp: Eschew missing parens.
10317
103182006-04-13 23:08  gb
10319
10320        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10321
103222006-04-13 23:08  gb
10323
10324        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10325        ARGLIST-FROM-MAP.
10326
103272006-04-13 23:02  gb
10328
10329        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10330        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10331        about returning a second value; returns values NIL, T for functions
10332        that take no args and don't have a symbol map.
10333
103342006-04-13 22:53  gb
10335
10336        * level-1/l1-lisp-threads.lisp: Try to make args to
10337        NTH-VALUE-IN-FRAME et al a little saner.
10338
103392006-04-13 22:37  gb
10340
10341        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10342        type.
10343
103442006-04-13 22:36  gb
10345
10346        * level-1/version.lisp: Bump.
10347
103482006-04-13 22:35  gb
10349
10350        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10351        trying to find the cause of the crash-on-quit bug.
10352
103532006-04-13 07:30  gb
10354
10355        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10356
103572006-04-13 07:29  gb
10358
10359        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10360        stuff to target-backtrace.
10361
103622006-04-13 06:45  gb
10363
10364        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10365
103662006-04-13 06:44  gb
10367
10368        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10369        x8664.
10370
103712006-04-13 06:44  gb
10372
10373        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10374        bytes of %nargs_q contain arg count.
10375
103762006-04-13 06:43  gb
10377
10378        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10379
103802006-04-13 06:43  gb
10381
10382        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10383        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10384        APPLY.
10385
103862006-04-13 06:42  gb
10387
10388        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10389
103902006-04-13 06:41  gb
10391
10392        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10393        operands.
10394
103952006-04-13 06:41  gb
10396
10397        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10398        "vector-lists" instead of adjustable arrays, simplify handling of
10399        constant expressions.  Still conses hysterically; need to find out
10400        where and tone it down a bit, if possible.
10401
104022006-04-13 06:39  gb
10403
10404        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10405        operands; maybe no lap constant-expressions.
10406
104072006-04-13 06:39  gb
10408
10409        * compiler/X86/x86-asm.lisp: Don't need
10410        *lap-constant-0-expression*.
10411
104122006-04-13 00:46  gb
10413
10414        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10415        linker script.
10416
104172006-04-13 00:45  gb
10418
10419        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10420        2.16.1 (Thanks to James Bielman).
10421
104222006-04-12 18:53  gb
10423
10424        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10425        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10426        of this seems to have to do with C++ static constructors, which
10427        aren't really relevant here.)
10428
104292006-04-12 18:28  gb
10430
10431        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10432        between %Rforeign_sp and GPRs.
10433
104342006-04-12 18:22  gb
10435
10436        * lisp-kernel/linuxx8664/Makefile: egc flag
10437
104382006-04-12 18:08  gb
10439
10440        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10441        where we're losing here.
10442
104432006-04-12 18:07  gb
10444
10445        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10446        write barrier code, crap out if so.
10447
104482006-04-12 18:06  gb
10449
10450        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10451        (presumably in a Makefile).
10452
104532006-04-12 14:50  gb
10454
10455        * level-1/version.lisp: Bump.
10456
104572006-04-12 14:46  gb
10458
10459        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10460        x86-backtrace.lisp: new target backtrace stuff.
10461
104622006-04-12 14:45  gb
10463
10464        * lib/backtrace.lisp: Start splitting things up, ideally into a
10465        mostly abstract API and gory platform- dependent implementation
10466        details.
10467
104682006-04-11 21:40  gb
10469
10470        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10471        the damned thing on.  (A little painful with integrity checking
10472        enabled, as it still is by default.)
10473       
10474        TODO:
10475       
10476        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10477        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10478        exception handling - check UUO usage in kernel, disassembler,
10479        exception handlers - stack overflow recovery
10480
104812006-04-11 21:24  gb
10482
10483        * lisp-kernel/x86-gc.c: Skip over function code in
10484        check_refmap_consistency.
10485
104862006-04-11 21:23  gb
10487
10488        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10489        backwards.
10490
104912006-04-11 19:11  gb
10492
10493        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10494
104952006-04-11 19:11  gb
10496
10497        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10498        a closure, no lfname slot in closure.
10499
105002006-04-11 16:29  gb
10501
10502        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10503        area.
10504
105052006-04-11 16:29  gb
10506
10507        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10508        between lisp/foreign code.
10509
105102006-04-11 16:29  gb
10511
10512        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10513        bit-order problems.)
10514       
10515        Maintain the MXCSR on transitions between lisp/foreign code.
10516
105172006-04-11 16:28  gb
10518
10519        * lisp-kernel/x86-macros.s: Access globals in expressions.
10520
105212006-04-11 16:27  gb
10522
10523        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10524        need some bootstrapping stuff (function boundary markers) for a few
10525        reasons, as will DWS marker.
10526
105272006-04-11 16:27  gb
10528
10529        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10530        the siginfo error code.
10531
105322006-04-11 16:26  gb
10533
10534        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10535        fields in tcr.
10536
105372006-04-11 16:25  gb
10538
10539        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10540
105412006-04-11 16:25  gb
10542
10543        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10544        when starting a lisp thread.  (It'll be saner when FP exceptions
10545        are handled.)
10546
105472006-04-11 16:24  gb
10548
10549        * level-1/x86-error-signal.lisp: Recognize what complaints about
10550        non-uvectors are trying to tell us.
10551
105522006-04-11 16:23  gb
10553
10554        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10555        vectors.
10556
105572006-04-11 16:23  gb
10558
10559        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10560        Ses.  Define classes for function/symbol vectors.
10561
105622006-04-11 16:22  gb
10563
10564        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10565
105662006-04-11 16:21  gb
10567
10568        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10569        needs to add a function boundary marker (but we can stop padding
10570        each closure with a null function name slot.)
10571
105722006-04-11 16:20  gb
10573
10574        * compiler/X86/X8664/x8664-arch.lisp: Define
10575        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10576
105772006-04-11 16:19  gb
10578
10579        * compiler/X86/x862.lisp: Emit a function boundary marker between
10580        code and constants. (For GC reasons.) Change closure initialization
10581        to account for it.
10582
105832006-04-11 16:18  gb
10584
10585        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10586        between code and constants. (For GC reasons.)
10587
105882006-04-11 16:17  gb
10589
10590        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10591
105922006-04-11 16:17  gb
10593
10594        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10595       
10596        See if we can get by without 68K condition code ...
10597
105982006-04-11 06:53  gb
10599
10600        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10601        soon.
10602
106032006-04-11 06:53  gb
10604
10605        * lib/numbers.lisp: Infinity constants conditionalized on/off
10606        during MXCSR adventures.  On now.
10607
106082006-04-11 06:52  gb
10609
10610        * lib/describe.lisp: Comment indentation.
10611       
10612        No such thing as an interpreted function; hasn't been for years.
10613
106142006-04-11 06:51  gb
10615
10616        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10617        al.
10618
106192006-04-11 06:51  gb
10620
10621        * level-1/version.lisp: Bumped yesterday.
10622
106232006-04-11 06:50  gb
10624
10625        * level-1/l1-error-signal.lisp: Comments.
10626
106272006-04-11 06:50  gb
10628
10629        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10630        at least.
10631
106322006-04-11 06:50  gb
10633
10634        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10635        a fixnum constant is boxed in %SET-MXCSR.
10636
106372006-04-11 06:49  gb
10638
10639        * level-0/X86/x86-def.lisp: Get info about register usage.
10640
106412006-04-11 06:49  gb
10642
10643        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10644        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10645        though that it was dealing with a scaled index.
10646
106472006-04-11 06:48  gb
10648
10649        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10650        aref.
10651
106522006-04-11 06:48  gb
10653
10654        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10655        do something about FRAG-CODE-BUFFERs, and need to tone down
10656        expression overkill.
10657
106582006-04-11 06:46  gb
10659
10660        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10661        for when opcode ordinals change.
10662
106632006-04-11 06:46  gb
10664
10665        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10666        UUO-ERROR-ARRAY-RANK.
10667       
10668        Vinsn template fixup mechanism, for when opcode ordinals change.
10669
106702006-04-11 06:45  gb
10671
10672        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10673
106742006-04-11 06:45  gb
10675
10676        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10677
106782006-04-11 06:44  gb
10679
10680        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10681        specialized list header initialization.
10682
106832006-04-11 06:43  gb
10684
10685        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10686        2d float arrays.
10687
106882006-04-10 10:19  gb
10689
10690        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10691        foreign SP properly obeying C alignment conventions.  In order to
10692        get it aligned for lisp usage during the callback, an extra word
10693        needs to be pushed before the backpointer to the old foreign RSP.
10694
106952006-04-10 10:18  gb
10696
10697        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10698        is 16-byte aligned, so that the foreign stack pointer is aligned
10699        according to C conventions when we enter the signal handler on that
10700        stack.
10701
107022006-04-10 10:13  gb
10703
10704        * lib/numbers.lisp: Define FP infinities, since we're running with
10705        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10706        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10707        an unmasked FP exception was raised and unhandled.)
10708
107092006-04-10 10:10  gb
10710
10711        * lib/level-2.lisp: Remove the WARN and the conditionalization
10712        around bit/bitfield accessors on X8664.
10713
107142006-04-10 10:09  gb
10715
10716        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10717        from memory, we say "ldmxcsr".  We want to do such a load in order
10718        to write new values into the mxcsr.  To store it in memory, we say
10719        "stmxcsr".  We want to do such a store (and a subsequent load from
10720        memory) in order to access the value of the mxcsr.  Simple, no ?
10721
107222006-04-10 10:07  gb
10723
10724        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10725        %GET-BIT/%SET-BIT.
10726
107272006-04-10 08:29  gb
10728
10729        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10730        addition/multiplication: either arg can overlap result (and often
10731        will).  Float subtraction/division: caller should ensure that
10732        result and second arg are disjoint.
10733
107342006-04-10 08:27  gb
10735
10736        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10737        that result doesn't overlap second argument for non-commutative
10738        operations.
10739
107402006-04-10 08:26  gb
10741
10742        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10743
107442006-04-10 05:12  gb
10745
10746        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10747        malloc them.
10748
107492006-04-10 05:12  gb
10750
10751        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10752
107532006-04-10 05:11  gb
10754
10755        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10756        good reason not to.
10757
107582006-04-10 04:39  gb
10759
10760        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10761        are always big-endian.
10762
107632006-04-10 04:38  gb
10764
10765        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10766        reachable via a TRA, update the variable "dnode" so that the
10767        correct bits get set.
10768
107692006-04-10 04:37  gb
10770
10771        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10772
107732006-04-10 04:37  gb
10774
10775        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10776        a bit simpler.
10777
107782006-04-10 04:36  gb
10779
10780        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10781        the MAKE-LOAD-FORM method for hashtables.
10782
107832006-04-09 09:17  gb
10784
10785        * lisp-kernel/thread_manager.c: Inflate control stack size on
10786        x8664, until DWS marker works (and do so correctly this time).
10787
107882006-04-09 09:12  gb
10789
10790        * lisp-kernel/thread_manager.c: Inflate control stack size on
10791        x8664, until DWS marker works.
10792
107932006-04-09 09:09  gb
10794
10795        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10796        #+x86-target DBG trap.
10797
107982006-04-09 08:57  gb
10799
10800        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10801        (Should be exactly the same code, but may not have been 15 years
10802        ago or whenever this was written.)
10803
108042006-04-09 08:56  gb
10805
10806        * lisp-kernel/x86-spentry64.s,
10807        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10808        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10809
108102006-04-09 03:52  gb
10811
10812        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10813        condition_to_boolean.  Not clear why this is necessary, but it
10814        seems to be.
10815
108162006-04-09 03:24  gb
10817
10818        * lisp-kernel/x86-macros.s: Use shorter sequence in
10819        condition_to_boolean.
10820
108212006-04-09 02:32  gb
10822
10823        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10824        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10825        other things being equal.
10826
108272006-04-09 01:37  gb
10828
10829        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10830        operands backwards.
10831
108322006-04-09 01:37  gb
10833
10834        * compiler/optimizers.lisp: Comment formatting.
10835
108362006-04-09 01:29  gb
10837
10838        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10839        bsr/xorl != clz when (zerop n).
10840
108412006-04-08 21:25  gb
10842
10843        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10844        current thread before entering kernel debugger.
10845
108462006-04-08 21:21  gb
10847
10848        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10849        (TARGET-XLOAD-MODULES).
10850
108512006-04-08 21:21  gb
10852
10853        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10854
108552006-04-08 21:20  gb
10856
10857        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10858
108592006-04-08 20:46  gb
10860
10861        * lib/foreign-types.lisp: Add missing paren ...
10862
108632006-04-08 20:45  gb
10864
10865        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10866
108672006-04-08 20:44  gb
10868
10869        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10870        structs by value, sort of.
10871
108722006-04-08 20:43  gb
10873
10874        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10875
108762006-04-08 20:42  gb
10877
10878        * library/hash-cons.lisp: Port some of this to x8664; need to add
10879        code to maintain "used" bitmap.
10880
108812006-04-08 20:42  gb
10882
10883        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10884        short term.
10885
108862006-04-08 20:41  gb
10887
10888        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10889        someday fix this crap.
10890
108912006-04-08 20:40  gb
10892
10893        * lib/describe.lisp: Conditionalize, a little.
10894
108952006-04-08 20:40  gb
10896
10897        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10898
108992006-04-08 20:39  gb
10900
10901        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10902
109032006-04-08 20:39  gb