source: trunk/ccl/ChangeLog @ 7280

Last change on this file since 7280 was 7280, 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.6 KB
Line 
12007-09-23 09:12  gb
2
3        * xdump/xfasload.lisp: Handle saving svn revision as string or
4        fixnum.
5
62007-09-23 09:11  gb
7
8        * lib/misc.lisp: Try to use "svnversion" to get svn version info in
9        LOCAL-SVN-REVISION.
10
112007-09-22 23:13  gb
12
13        * xdump/xfasload.lisp: Set *openmcl-svn-revision* to the value of
14        (LOCAL-SVN-REVISION) when writing the bootstrapping image; this
15        will show up in the Welcome banner and LISP-IMPLEMENTATION-VERSION.
16          May want to tweak this some more, but it may make it easier to
17        determine what you're running relative to what's in SVN/CVS.
18
192007-09-22 23:12  gb
20
21        * level-1/version.lisp: Replace *OPENMCL-SUFFIX* (the thing which
22        had the date in it) with *OPENMCL-SVN-REVISION*, which is defvar'ed
23        to NIL here.  (It may be set early in the cold load or via the
24        xloader.)
25
262007-09-22 23:11  gb
27
28        * lib/pathnames.lisp: Treat NIL and :UNSPECIFIC name/type
29        components in the pattern consistently in %FILE*=.
30
312007-09-22 23:10  gb
32
33        * lib/misc.lisp: LOCAL-SVN-REVISION tries to determine the (local)
34        svn revision, by looking for a .svnrev file (used in the svn->cvs
35        synching process) or by parsing "svn info" output.
36
372007-09-21 12:10  gb
38
39        * cocoa-ide/cocoa-editor.lisp: Rename "cache" to "mirror" in
40        hemlock-text-storage.  This clarifies the purpose of the slot and
41        avoids confusion with buffer caches, which are completely
42        different.
43
442007-09-20 21:10  gb
45
46        * level-1/linux-files.lisp: Make the pipe streams created by
47        RUN-PROGRAM be basic streams
48
492007-09-19 15:10  gb
50
51        * lib/macros.lisp: Prevent unused gensym warnings in
52        with-accessors.  Same fix that Gary Palter did to with-slots.
53
542007-09-19 02:11  gb
55
56        * lib/backtrace-lds.lisp: FRAME-REQUIRED-ARGS: try to make better.
57        This is only used by SLIME; it was once used for frame restarting.
58        Try to make the result reasonable in the SLIME case.
59
602007-09-19 02:10  gb
61
62        * lib/arglist.lisp: ARGLIST-FROM-MAP: don't be afraid to say
63        &LEXPR.  ARG-NAMES-FROM-MAP: &rest in map before &keys now.
64
652007-09-18 21:10  gb
66
67        * lib/macros.lisp: In WITH-SLOTS, if there are bindings, declare
68        the gensym'ed instance symbol IGNORABLE just in case none of the
69        symbol macros are actuall used.
70
712007-09-18 05:10  gb
72
73        * level-0/l0-numbers.lisp: Typo in constant again.
74
752007-09-17 21:10  gb
76
77        * level-1/sysutils.lisp: Return all three values from
78        CCL::PRINT-DEFERRED-WARNINGS
79
802007-09-17 06:10  gb
81
82        * level-0/l0-numbers.lisp: Simply clearing the top bit of the
83        intermediate result from %NEXT-RANDOM-PAIR had the effect of using
84        doing (mod result (expt 2 31)), not (mod result (1- (expt 2 31))).
85        Do a real MOD to obtain the next item in the series and update the
86        state with that value.  (This means that the high bit of the high
87        half of the result is always clear; or in the sign bit from the low
88        half.)
89
902007-09-16 18:10  gb
91
92        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
93        ...
94
952007-09-16 17:10  gb
96
97        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
98        before key arg(s), so assign it an address before processing &key
99        initforms.
100
1012007-09-15 17:10  gb
102
103        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
104        -LENGTH* when printing break messages.
105
1062007-09-13 20:10  gb
107
108        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
109        :element-type to ccl:run-program to allow for binary streams
110
1112007-09-13 06:55  gb
112
113        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
114        src/elisp/README, src/spell/README: Restore some README files,
115        which had somehow gotten lost in translation.
116
1172007-09-13 06:54  gb
118
119        *
120        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
121        ib/: classes.nib, info.nib, keyedobjects.nib: not used
122
1232007-09-13 06:52  gb
124
125        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
126        for certain kinds of MULTIPLE-VALUE-CALL differently; in
127        particular, note the effect of pushing such a label on stack depth.
128
1292007-09-13 06:50  gb
130
131        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
132        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
133        containing directory exists in cvs.
134
1352007-09-06 14:10  gb
136
137        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
138        write-info-plist
139
1402007-09-04 23:11  gb
141
142        * cocoa-ide/cocoa-editor.lisp: New! Improved!
143       
144        The code which arranges for editing changes to be processed in the
145        main thread now does so via an NSInvocation (ObjC's notion of a
146        closure, sort of); the methods which run in the main thread handle
147        the job of synchronizing the underlying the Hemlock string and the
148        "real" NSMutableAttributedString as well as informing the text
149        system of pending editing changes via
150        #/edited:range:changeInLength:.  The code which processes deletions
151        does the change processing before modifying the string (other
152        methods do it after the change); this seems to be necessary to
153        avoid some things that could cause ticket:50.  (I'm not sure if
154        this fixes ticket:50, but it does seem to fix a reproducible case.)
155       
156        The #/replaceCharactersInRange:withString: method on
157        hemlock-text-storage (which handles buffer changes originating from
158        non-Hemlock sources) is careful to use a :right-inserting temporary
159        mark when modifying the buffer, to help ensure that
160        insertions/deletions take place at the correct absolute position.
161        (This may at least partially address bugs related to things getting
162        confused/out-of-bounds errors when doing lots of cutting and
163        pasting, though it's hard to know without reproducible cases.)
164       
165        The macros NSSTRING-ENCODING-TO-NSINTEGER and
166        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
167        least one of them wasn't.)
168       
169        The handling of text encoding for editor documents has changed in a
170        few ways.  If "automatic" encoding is used in an "Open ..." dialog
171        and is successfully able to infer a text file's encoding, the
172        encoding that was inferred becomes the document's encoding (used in
173        subsequent "save" operations.)  On some OSX versions, the automatic
174        detection mechanism can only recognize UTF-16 files that contain a
175        leading BOM (and the editor's code for dealing with the automatic
176        mechanism didn't expect this to ever work.)  On other systems, the
177        automatic mechanism can return something correct (I've seen UTF-8)
178        but possibly suboptimal.
179       
180        The Open... dialog now defaults to something derived from the
181        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
182        "automatic" is a little unpredictable, the new default is probably
183        better.
184       
185        The NSDocument mechanism for creating backup files (with names of
186        the form "name~.ext") is not used; when backup files are created,
187        we try to copy the original to a file whose name conforms to the
188        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
189        seem to work better when the Emacs scheme is used (though I suppose
190        some people might prefer the NSDocument scheme and we could make
191        this a preference.)
192
1932007-09-04 22:11  gb
194
195        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
196        creating a Listener, since (a) that method's deprecated in favor of
197        #/setFileURL: and (b) a newly-created Listener doesn't really have
198        an associated filename, and so shouldn't get the icon and popup in
199        its titlebar.
200       
201        Do arrange that (unless/until a listener document is saved to a
202        file) its window title is based on the underlying Hemlock buffer's
203        name.  (If one ever attempts to save a listener document, the
204        proposed file name is the internal NSDocument name; we might or
205        might not want to change that.)
206
2072007-09-04 22:10  gb
208
209        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
210        *MODELINE-FONT-NAME*, -SIZE*.
211
2122007-09-04 19:13  gb
213
214        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
215        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
216        which was supposed to allow us to track the high end of a range of
217        pages that'd been written to and not freed (so we'd zero them
218        lazily when they were reallocated.)  Such a scheme would really
219        need to track both ends of such a range, and the old scheme wound
220        up being overly zealous and often zeroed pages that were already
221        zeroed.  Zero the range between the old free pointer and the new
222        one after each GC, instead.
223       
224        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
225        carefully.
226
2272007-09-04 19:12  gb
228
229        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
230        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
231
2322007-09-04 19:11  gb
233
234        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
235        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
236        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
237        this in the PPC backends.
238       
239        (This needs testing ...)
240
2412007-09-04 19:10  gb
242
243        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
244        :single-float callback results have been coerced to :double-float
245        on x8664.
246
2472007-09-03 18:10  gb
248
249        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
250        selection or the symbol around point, regardless of global parsing
251        state (Ticket:95).  While in there, make meta-. with a numarg
252        prompt for symbol to look up.
253
2542007-08-30 20:10  gb
255
256        * level-1/l1-error-system.lisp: Add a restart for unbound
257        variable/undefined function errors -- if there is a unique
258        bound/fbound symbol of the same name in another package, offer to
259        use it instead.
260
2612007-08-30 19:10  gb
262
263        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
264        inaccesible files; it might return an exit status of 2 if it finds
265        such files, so treat that as "success" for now (ticket:98).
266
2672007-08-30 18:11  gb
268
269        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
270        Variable command output (ticket:97).
271
2722007-08-30 18:10  gb
273
274        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
275        VARIABLE-VALUE to access buffer's package (ticket:82).
276
2772007-08-30 15:11  gb
278
279        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
280        code to copy user-supplied nibfiles into a saved application bundle
281
2822007-08-30 14:10  gb
283
284        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
285        all callers of current-point-for-deletion handle the nil return
286        value case.  This fixes ticket:85
287
2882007-08-29 20:11  gb
289
290        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
291        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
292        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
293        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
294        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
295        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
296        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
297        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
298        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
299        hemlock/src/fill.lisp, hemlock/src/font.lisp,
300        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
301        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
302        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
303        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
304        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
305        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
306        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
307        hemlock/src/macros.lisp, hemlock/src/main.lisp,
308        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
309        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
310        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
311        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
312        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
313        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
314        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
315        hemlock/src/text.lisp, hemlock/src/undo.lisp,
316        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
317        hemlock/src/archive/auto-save.lisp,
318        hemlock/src/archive/bit-display.lisp,
319        hemlock/src/archive/bit-screen.lisp,
320        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
321        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
322        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
323        hemlock/src/archive/eval-server.lisp,
324        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
325        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
326        hemlock/src/archive/lisp-lib.lisp,
327        hemlock/src/archive/lispbuf.lisp,
328        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
329        hemlock/src/archive/netnews.lisp,
330        hemlock/src/archive/overwrite.lisp,
331        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
332        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
333        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
334        hemlock/src/archive/spell-corr.lisp,
335        hemlock/src/archive/spell-rt.lisp,
336        hemlock/src/archive/spellcoms.lisp,
337        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
338        hemlock/src/archive/ts-stream.lisp,
339        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
340        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
341        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
342        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
343        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
344        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
345        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
346        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
347        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
348        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
349        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
350        hemlock/website/index.html.in: umm, load cocoa-grep where it will
351        work...
352
3532007-08-29 20:10  gb
354
355        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
356
3572007-08-29 13:11  gb
358
359        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
360
3612007-08-29 12:12  gb
362
363        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
364        arg (simple case), move point to the location of the temporary mark
365        after calling the indent function.
366
3672007-08-29 12:11  gb
368
369        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
370        returns 2 values: the "column" (with tabs expanded) of the first
371        non-whitespace character on the line and that character's position.
372         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
373        position if no changes are necessary.
374
3752007-08-29 12:10  gb
376
377        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
378        method, make an NS-MUTABLE-STRING even if the string from the
379        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
380        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
381         mutable.) For ticket:84.
382
3832007-08-28 23:10  gb
384
385        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
386        hi::scroll-window actually scroll, not just move insertion point
387        around.  Fixes ticket:88.
388
3892007-08-26 13:11  gb
390
391        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
392        keyword argument to build-application: main-nib-name; names the
393        nigfile that is to be the main nib of the built application
394
3952007-08-26 12:10  gb
396
397        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
398        application bulder to trunk
399
4002007-08-25 02:13  gb
401
402        * cocoa-ide/cocoa-listener.lisp:
403        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
404        #\^d after sending the string.  (This is just a workaround for
405        ticket:82; the trailing #\^d is just treated as whitespace and
406        terminates calls to READ.  We really want some way of recognizing
407        "end of selection" and treating that like a transient EOF in some
408        cases.)
409
4102007-08-25 02:12  gb
411
412        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
413        #/openDocumentWithContentsOfURL:display:error:, since calling
414        #/openDocumentWithContentsOfURL:display: complains that
415        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
416        Cocoa.  (Note that we'd been calling
417        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
418        implementation without incident.)
419
4202007-08-25 02:11  gb
421
422        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
423        notes buffer modification.
424
4252007-08-25 02:10  gb
426
427        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
428        modification.
429
4302007-08-23 17:17  gb
431
432        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
433        method.
434
4352007-08-23 17:16  gb
436
437        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
438        #/editingInProgress method.  Add some more (conditionalized) debug
439        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
440        command thread as well as in Cocoa thread.  Make sure that Hemlock
441        command thread has bindings of command-processing data structures,
442        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
443        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
444        only set by isearch when it exits.
445
4462007-08-23 17:15  gb
447
448        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
449        font name and size; initially, Monaco 9.  (Not yet changeable
450        through preferences panel.) Adjust outline view's row height based
451        on font height.  Set the data cell to "non-editable" (could have
452        done this in IB).  Provide handlers for some menu commands
453        (continue, restarts, exitBreak); no need to validate menu items for
454        them (those commands should be available whenever backtrace dialog
455        is active.)
456
4572007-08-23 17:14  gb
458
459        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
460        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
461
4622007-08-23 17:13  gb
463
464        * cocoa-ide/hemlock/src/package.lisp: Export
465        RECURSIVE-GET-KEY-EVENT.
466
4672007-08-23 17:12  gb
468
469        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
470        read symbol for arglist.  (Should probably be more careful
471        elsewhere, too.)
472
4732007-08-23 17:11  gb
474
475        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
476        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
477        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
478
4792007-08-23 17:10  gb
480
481        * cocoa-ide/hemlock/src/echo.lisp: Don't call
482        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
483        still be pending on the echo area (how ?), and
484        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
485        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
486
4872007-08-23 16:11  gb
488
489        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
490        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
491        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
492        events in some modal loop in a command.  (The idea is that toplevel
493        editing commands inhibit redisplay in the main buffer while they're
494        active; commands which recursively process key events and which may
495        make changes to that buffer should allow redisplay while they're
496        waiting in RECURSIVE-GET-KEY-EVENT.)
497
4982007-08-23 16:10  gb
499
500        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
501        revert.
502
5032007-08-18 19:11  gb
504
505        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
506        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
507        race conditions where two threads try to update a distpatch table
508        index with different {wrapper, combined-method} pairs at the same
509        time.  (As it's written, if the store-conditional fails because a
510        slot that we thought was free is now in use, we simply don't cache
511        the pair and get a cache miss the next time; that may or may not be
512        more work than repeating the whole process would be.)
513       
514        The store-conditional is used on attempt to update the
515        combined-method slot in the pair; the wrapper slot is only updated
516        if the store-conditional succeeds.  Code which probes the wrapper
517        slots shouldn't be confused by a half-updated pair (should never
518        see a non-null wrapper slot and a null combined-method slot.)
519
5202007-08-18 17:11  gb
521
522        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
523        %DECODE-TYPE.
524
5252007-08-18 16:10  gb
526
527        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
528        determine if selection highlighting can be used, since
529        #_class_respondsToSelector requires ObjC-2.0)
530
5312007-08-16 08:22  gb
532
533        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
534        extended selection highlighting if it's supported.
535       
536        Clear the shift bit from key events associated with standard-chars.
537
5382007-08-16 08:20  gb
539
540        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
541        bound to movement commands run different commands.
542       
543        Left-mouse has the :mouse-exit logical attribute.
544
5452007-08-16 08:19  gb
546
547        * cocoa-ide/hemlock/src/buffer.lisp:
548        CURRENT-POINT-COLLAPSING-SELECTION and
549        CURRENT-POINT-EXTENDING-SELECTION replace
550        CURRENT-POINT-FOR-MOVEMENT.
551
5522007-08-16 08:18  gb
553
554        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
555        translation.
556       
557        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
558        selection highlighting under Leopard.
559
5602007-08-16 08:16  gb
561
562        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
563        "shifted" and "unshifted" variants.
564
5652007-08-16 08:15  gb
566
567        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
568        attribute.
569
5702007-08-16 08:14  gb
571
572        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
573        bit for standard-char (and upper-case.) This means that
574        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
575        (in which the shift modifier isn't explicitly set) and that
576        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
577        modifier is set in the latter.)
578
5792007-08-16 08:13  gb
580
581        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
582        the buffer if the line's already indented properly.
583       
584        Movement commands come in two variants: those that collapse and
585        those that extend the selection.
586
5872007-08-16 08:12  gb
588
589        * cocoa-ide/hemlock/src/package.lisp: Export
590        CURRENT-POINT-EXTENDING-SELECTION and
591        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
592        CURRENT-POINT-FOR-MOVEMENT.
593
5942007-08-16 08:10  gb
595
596        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
597        empatically (under Leopard) after successful (non incremental)
598        search.
599       
600        Incremental search also hilites the selection, but doesn't yet
601        manage the selection on failure.
602
6032007-08-16 07:10  gb
604
605        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
606        by invoking #/activateHemlockView on main thread; call
607        deactivate-hemlock-view on the peer.
608       
609        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
610        but I'm fairly sure that this stuff needs to happen on the main
611        thread.
612
6132007-08-09 16:10  gb
614
615        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
616        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
617
6182007-08-07 15:10  gb
619
620        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
621        beginning of buffer and end of buffer.  It's Mac standard, and I
622        use it a lot.  Home was bound to "Help".
623       
624        Make clicking the mouse while incremental searching exit instead of
625        abort, leaving the insertion point where you click instead of where
626        the isearch was started.
627
6282007-08-06 23:10  gb
629
630        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
631        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
632        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
633        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
634        hemlock key event, set the hemlock shift bit if the the Cocoa shift
635        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
636        bit cleared and the keysym downcased (if necessary).  Leave
637        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
638        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
639        deactivates the region ("collapses the selection") if the shift bit
640        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
641        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
642        hopefully all) movement commands, to address ticket:36 .  Define a
643        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
644        to it to address ticket:44 .
645
6462007-08-06 19:10  gb
647
648        * objc-bridge/objc-support.lisp: careful with db stuff
649
6502007-08-04 13:12  gb
651
652        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
653        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
654         (Should maybe do this on mousedown in the echo area, too.) Some
655        indentation changes.
656
6572007-08-04 12:14  gb
658
659        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
660        :abort key event.
661
6622007-08-04 12:13  gb
663
664        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
665        title for show lossage command.
666
6672007-08-04 12:12  gb
668
669        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
670        left mouse down, so that we can use #k"leftdown".
671
6722007-08-04 12:11  gb
673
674        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
675
6762007-08-03 15:10  gb
677
678        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
679
6802007-08-03 10:10  gb
681
682        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
683        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
684
6852007-08-03 09:10  gb
686
687        * level-0/l0-array.lisp: Define list-to-vector.
688
6892007-08-02 07:16  gb
690
691        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
692        #/changeFont:; use targeted messages.  Ensure that font panel picks
693        up the right font.
694
6952007-08-02 07:16  gb
696
697        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
698        default.
699
7002007-08-02 07:15  gb
701
702        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
703        view, echo area) unselectable when activating via Hemlock command.
704        Text views don't use font panel by default; enable/disable font
705        panel when setting text color.
706
7072007-08-02 07:14  gb
708
709        * cocoa-ide/.cvsignore: New.
710
7112007-08-02 07:13  gb
712
713        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
714        CREATE-INTERFACES.
715
7162007-08-02 07:12  gb
717
718        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
719
7202007-08-02 07:11  gb
721
722        * library/parse-ffi.lisp: Don't be verbose about explict struct
723        returns.
724
7252007-08-02 07:10  gb
726
727        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
728        anymore.
729
7302007-07-31 19:10  gb
731
732        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
733        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
734
7352007-07-31 07:12  gb
736
737        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
738        to #o644 (not #o666); make sure that it's actually used when
739        creating the image (even if not prepending a kernel to the image.)
740
7412007-07-31 07:11  gb
742
743        * level-1/l1-application.lisp: When processing --version option,
744        don't write to *terminal-io* (which doesn't exist yet.)
745
7462007-07-22 23:50  gb
747
748        * release-notes.txt: Add more stuff.
749
7502007-07-22 23:11  gb
751
752        * level-1/version.lisp: Bump.
753
7542007-07-22 23:10  gb
755
756        * release-notes.txt: Update for 1.1-pre-070722.
757
7582007-07-22 21:11  gb
759
760        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
761
7622007-07-22 21:10  gb
763
764        * cocoa-ide/README: New file.
765
7662007-07-22 18:51  gb
767
768        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
769        package.
770
7712007-07-22 18:50  gb
772
773        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
774
7752007-07-22 18:49  gb
776
777        * level-1/version.lisp: Bump.
778
7792007-07-22 18:48  gb
780
781        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
782        Allocate callback trampolines via mmap on ppc, too.
783
7842007-07-22 18:47  gb
785
786        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
787        RUN-PROGRAM to merge-pathnames.
788
7892007-07-22 18:46  gb
790
791        * level-1/l1-utils.lisp: Don't define BEEP.
792
7932007-07-22 18:46  gb
794
795        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
796        was counting chars (nchars) twice.
797
7982007-07-22 18:45  gb
799
800        * level-1/l1-streams.lisp: selection-stream changes.
801
8022007-07-22 18:44  gb
803
804        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
805        about restarts in backtrace context.
806
8072007-07-22 18:43  gb
808
809        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
810        can be overridden.
811
8122007-07-22 18:42  gb
813
814        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
815        *MODULE-SEARCH-PATH*.
816
8172007-07-22 18:41  gb
818
819        * level-1/l1-format.lisp: Handling of * format directive when
820        dealing with circularity screws up other things that expect
821        *FORMAT-ARGUMENTS* to share structure with
822        *FORMAT-ORIGINAL-ARGUMENTS*.
823
8242007-07-22 18:40  gb
825
826        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
827        ENSURE-DIRECTORY-NAMESTRING.
828
8292007-07-22 18:40  gb
830
831        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
832        interactive break.
833
8342007-07-22 18:39  gb
835
836        * level-1/l1-error-system.lisp: Stream error context stuff.
837
8382007-07-22 18:38  gb
839
840        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
841        (e.g., as NSExceptions.)
842
8432007-07-22 18:37  gb
844
845        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
846        CLASS-SLOT-INITARGS.
847
8482007-07-22 18:36  gb
849
850        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
851        allocation stuff (which uses mmap to ensure that the callback is in
852        executable memory) here, since it'll be needed on ppc64 leopard, at
853        least.
854
8552007-07-22 18:35  gb
856
857        * level-1/l1-application.lisp: Argument handling and interactive
858        stream initialization happens in a :before method on
859        (toplevel-function application).
860
8612007-07-22 18:34  gb
862
863        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
864        special args/locals, too.
865
8662007-07-22 18:33  gb
867
868        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
869        for backtrace/inspect someday.
870
8712007-07-22 18:33  gb
872
873        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
874
8752007-07-22 18:32  gb
876
877        * lib/macros.lisp: Callbacks that try to do magic foreign error
878        stuff use HANDLER-BIND, not HANDLER-CASE.
879       
880        Other callback-changes to reduce incidental consing sometimes.
881
8822007-07-22 18:31  gb
883
884        * lib/backtrace.lisp: %show-args-and-locals,
885        %stack-frames-in-context: changes for new backtrace presentation.
886
8872007-07-22 18:30  gb
888
889        * lib/compile-ccl.lisp: Remove some duplicate definitions.
890
8912007-07-22 18:29  gb
892
893        * lib/describe.lisp: Some (signigicant) stack-frame changes.
894
8952007-07-22 18:28  gb
896
897        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
898
8992007-07-22 18:27  gb
900
901        * lib/arglist.lisp: Provide -some- arglist info for special
902        operators.  ARG-NAMES-FROM-MAP.
903
9042007-07-22 18:27  gb
905
906        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
907
9082007-07-22 18:26  gb
909
910        * lib/source-files.lisp: Comment formatting.
911
9122007-07-22 18:25  gb
913
914        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
915        to provide context.
916
9172007-07-22 18:24  gb
918
919        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
920        get confused by null register values, etc.
921
9222007-07-22 18:23  gb
923
924        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
925        not ppc32/ppc64.
926
9272007-07-22 18:22  gb
928
929        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
930        64-bit key-scrambling stuff.
931
9322007-07-22 18:21  gb
933
934        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
935
9362007-07-22 18:21  gb
937
938        * level-0/l0-utils.lisp: s32->u32, u32->s32.
939
9402007-07-22 18:20  gb
941
942        * level-0/l0-error.lisp: foreign exception error stuff.
943
9442007-07-22 18:19  gb
945
946        * level-1/l1-sockets.lisp: Sockets created with :format :binary
947        don't have element-type of character, though this crap is all
948        pretty nebulous.
949
9502007-07-22 18:18  gb
951
952        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
953
9542007-07-22 18:17  gb
955
956        * library/pty.lisp: set-pty-raw.
957
9582007-07-22 18:16  gb
959
960        * library/hemlock.lisp: Moved elsewhere.
961
9622007-07-22 18:15  gb
963
964        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
965        frames.
966
9672007-07-22 18:14  gb
968
969        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
970
9712007-07-22 18:14  gb
972
973        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
974        exception bit on interrupt.
975
9762007-07-22 18:13  gb
977
978        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
979        tcr flag bits, including new one for foreign exceptions.
980
9812007-07-22 18:12  gb
982
983        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
984
9852007-07-22 18:11  gb
986
987        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
988        exceptions.
989
9902007-07-22 18:10  gb
991
992        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
993        stack for pthread.  Foreign exception callbacks: put some 0s on the
994        stack for callback.
995
9962007-07-22 18:09  gb
997
998        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
999
10002007-07-22 18:08  gb
1001
1002        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
1003        ensure_stack_limit(): if stack size is constrained by limits, don't
1004        exceed those limits.
1005
10062007-07-22 18:08  gb
1007
1008        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
1009
10102007-07-22 18:07  gb
1011
1012        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
1013
10142007-07-22 18:06  gb
1015
1016        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
1017
10182007-07-22 18:03  gb
1019
1020        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
1021        OpenMCL.app/Contents/MacOS/dppccl,
1022        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
1023        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1024        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1025        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1026        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
1027        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
1028        ib,
1029        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
1030        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
1031        cts.nib,
1032        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
1033        lasses.nib,
1034        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
1035        nfo.nib,
1036        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
1037        eyedobjects.nib,
1038        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
1039        nib,
1040        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
1041        ,
1042        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
1043        ects.nib,
1044        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
1045        .nib,
1046        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
1047        b,
1048        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
1049        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1050        OpenMCL.app/Contents/Resources/Help/index.html,
1051        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
1052        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
1053        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
1054        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
1055        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
1056        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
1057        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
1058        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
1059        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1060        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1061        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1062        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
1063        rings,
1064        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1065        /classes.nib,
1066        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1067        /info.nib,
1068        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1069        /keyedobjects.nib,
1070        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1071        ctor.nib/classes.nib,
1072        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1073        ctor.nib/info.nib,
1074        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1075        ctor.nib/keyedobjects.nib,
1076        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1077        b/classes.nib,
1078        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1079        b/info.nib,
1080        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1081        b/keyedobjects.nib,
1082        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1083        ib/classes.nib,
1084        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1085        ib/info.nib,
1086        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1087        ib/keyedobjects.nib,
1088        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1089        ib/classes.nib,
1090        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1091        ib/info.nib,
1092        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1093        ib/keyedobjects.nib,
1094        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1095        nib/classes.nib,
1096        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1097        nib/info.nib,
1098        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1099        nib/keyedobjects.nib,
1100        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1101        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1102        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1103        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1104        cocoa-ide/hemlock/hemlock11.cursor,
1105        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1106        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1107        cocoa-ide/hemlock/doc/.cvsignore,
1108        cocoa-ide/hemlock/doc/cim/.cvsignore,
1109        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1110        cocoa-ide/hemlock/doc/cim/cim.mss,
1111        cocoa-ide/hemlock/doc/misc/.cvsignore,
1112        cocoa-ide/hemlock/doc/misc/compilation.order,
1113        cocoa-ide/hemlock/doc/misc/hemlock.log,
1114        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1115        cocoa-ide/hemlock/doc/misc/notes.txt,
1116        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1117        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1118        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1119        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1120        cocoa-ide/hemlock/doc/user/.cvsignore,
1121        cocoa-ide/hemlock/doc/user/commands.mss,
1122        cocoa-ide/hemlock/doc/user/intro.mss,
1123        cocoa-ide/hemlock/doc/user/lisp.mss,
1124        cocoa-ide/hemlock/doc/user/mail.mss,
1125        cocoa-ide/hemlock/doc/user/netnews.mss,
1126        cocoa-ide/hemlock/doc/user/special-modes.mss,
1127        cocoa-ide/hemlock/doc/user/user.mss,
1128        cocoa-ide/hemlock/maint/.cvsignore,
1129        cocoa-ide/hemlock/maint/publish,
1130        cocoa-ide/hemlock/resources/.cvsignore,
1131        cocoa-ide/hemlock/resources/XKeysymDB,
1132        cocoa-ide/hemlock/resources/mh-scan,
1133        cocoa-ide/hemlock/resources/spell-dictionary.text,
1134        cocoa-ide/hemlock/src/.cvsignore,
1135        cocoa-ide/hemlock/src/bindings-gb.lisp,
1136        cocoa-ide/hemlock/src/bindings.lisp,
1137        cocoa-ide/hemlock/src/buffer.lisp,
1138        cocoa-ide/hemlock/src/charmacs.lisp,
1139        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1140        cocoa-ide/hemlock/src/command.lisp,
1141        cocoa-ide/hemlock/src/comments.lisp,
1142        cocoa-ide/hemlock/src/completion.lisp,
1143        cocoa-ide/hemlock/src/cursor.lisp,
1144        cocoa-ide/hemlock/src/decls.lisp,
1145        cocoa-ide/hemlock/src/defsyn.lisp,
1146        cocoa-ide/hemlock/src/doccoms.lisp,
1147        cocoa-ide/hemlock/src/echo.lisp,
1148        cocoa-ide/hemlock/src/echocoms.lisp,
1149        cocoa-ide/hemlock/src/edit-defs.lisp,
1150        cocoa-ide/hemlock/src/filecoms.lisp,
1151        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1152        cocoa-ide/hemlock/src/font.lisp,
1153        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1154        cocoa-ide/hemlock/src/htext1.lisp,
1155        cocoa-ide/hemlock/src/htext2.lisp,
1156        cocoa-ide/hemlock/src/htext3.lisp,
1157        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1158        cocoa-ide/hemlock/src/indent.lisp,
1159        cocoa-ide/hemlock/src/interp.lisp,
1160        cocoa-ide/hemlock/src/kbdmac.lisp,
1161        cocoa-ide/hemlock/src/key-event.lisp,
1162        cocoa-ide/hemlock/src/keysym-defs.lisp,
1163        cocoa-ide/hemlock/src/killcoms.lisp,
1164        cocoa-ide/hemlock/src/line.lisp,
1165        cocoa-ide/hemlock/src/linimage.lisp,
1166        cocoa-ide/hemlock/src/lispdep.lisp,
1167        cocoa-ide/hemlock/src/lispmode.lisp,
1168        cocoa-ide/hemlock/src/listener.lisp,
1169        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1170        cocoa-ide/hemlock/src/modeline.lisp,
1171        cocoa-ide/hemlock/src/morecoms.lisp,
1172        cocoa-ide/hemlock/src/package.lisp,
1173        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1174        cocoa-ide/hemlock/src/register.lisp,
1175        cocoa-ide/hemlock/src/ring.lisp,
1176        cocoa-ide/hemlock/src/rompsite.lisp,
1177        cocoa-ide/hemlock/src/search1.lisp,
1178        cocoa-ide/hemlock/src/search2.lisp,
1179        cocoa-ide/hemlock/src/searchcoms.lisp,
1180        cocoa-ide/hemlock/src/srccom.lisp,
1181        cocoa-ide/hemlock/src/streams.lisp,
1182        cocoa-ide/hemlock/src/struct.lisp,
1183        cocoa-ide/hemlock/src/syntax.lisp,
1184        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1185        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1186        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1187        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1188        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1189        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1190        cocoa-ide/hemlock/src/archive/bufed.lisp,
1191        cocoa-ide/hemlock/src/archive/debug.lisp,
1192        cocoa-ide/hemlock/src/archive/dired.lisp,
1193        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1194        cocoa-ide/hemlock/src/archive/display.lisp,
1195        cocoa-ide/hemlock/src/archive/dylan.lisp,
1196        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1197        cocoa-ide/hemlock/src/archive/group.lisp,
1198        cocoa-ide/hemlock/src/archive/highlight.lisp,
1199        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1200        cocoa-ide/hemlock/src/archive/input.lisp,
1201        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1202        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1203        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1204        cocoa-ide/hemlock/src/archive/mh.lisp,
1205        cocoa-ide/hemlock/src/archive/netnews.lisp,
1206        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1207        cocoa-ide/hemlock/src/archive/pascal.lisp,
1208        cocoa-ide/hemlock/src/archive/rcs.lisp,
1209        cocoa-ide/hemlock/src/archive/screen.lisp,
1210        cocoa-ide/hemlock/src/archive/scribe.lisp,
1211        cocoa-ide/hemlock/src/archive/shell.lisp,
1212        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1213        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1214        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1215        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1216        cocoa-ide/hemlock/src/archive/srccom.lisp,
1217        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1218        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1219        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1220        cocoa-ide/hemlock/src/archive/window.lisp,
1221        cocoa-ide/hemlock/src/archive/winimage.lisp,
1222        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1223        cocoa-ide/hemlock/src/elisp/.cvsignore,
1224        cocoa-ide/hemlock/src/elisp/base.lisp,
1225        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1226        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1227        cocoa-ide/hemlock/src/elisp/compile.lisp,
1228        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1229        cocoa-ide/hemlock/src/elisp/implementation-needed,
1230        cocoa-ide/hemlock/src/elisp/internals.lisp,
1231        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1232        cocoa-ide/hemlock/src/elisp/packages.lisp,
1233        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1234        cocoa-ide/hemlock/src/spell/.cvsignore,
1235        cocoa-ide/hemlock/src/spell/build.lisp,
1236        cocoa-ide/hemlock/src/spell/classes.lisp,
1237        cocoa-ide/hemlock/src/spell/constants.lisp,
1238        cocoa-ide/hemlock/src/spell/correlate.lisp,
1239        cocoa-ide/hemlock/src/spell/flags.lisp,
1240        cocoa-ide/hemlock/src/spell/hashing.lisp,
1241        cocoa-ide/hemlock/src/spell/io.lisp,
1242        cocoa-ide/hemlock/src/spell/package.lisp,
1243        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1244        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1245        cocoa-ide/hemlock/src/spell/spell.asd,
1246        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1247        cocoa-ide/hemlock/src/tty/.cvsignore,
1248        cocoa-ide/hemlock/src/tty/termcap.lisp,
1249        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1250        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1251        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1252        cocoa-ide/hemlock/src/wire/.cvsignore,
1253        cocoa-ide/hemlock/src/wire/Notes,
1254        cocoa-ide/hemlock/src/wire/package.lisp,
1255        cocoa-ide/hemlock/src/wire/port.lisp,
1256        cocoa-ide/hemlock/src/wire/remote.lisp,
1257        cocoa-ide/hemlock/src/wire/wire.lisp,
1258        cocoa-ide/hemlock/unused/.cvsignore,
1259        cocoa-ide/hemlock/unused/bit-stream.lisp,
1260        cocoa-ide/hemlock/unused/clx-ext.lisp,
1261        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1262        cocoa-ide/hemlock/unused/gosmacs.lisp,
1263        cocoa-ide/hemlock/unused/hacks.lisp,
1264        cocoa-ide/hemlock/unused/hemcom.lisp,
1265        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1266        cocoa-ide/hemlock/unused/keytran.lisp,
1267        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1268        cocoa-ide/hemlock/unused/spell-build.lisp,
1269        cocoa-ide/hemlock/unused/struct-ed.lisp,
1270        cocoa-ide/hemlock/unused/tty-stream.lisp,
1271        cocoa-ide/hemlock/website/.cvsignore,
1272        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1273        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1274        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1275        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1276        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1277        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1278        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1279        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1280        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1281        examples/objc-clos.lisp, examples/objc-package.lisp,
1282        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1283        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1284        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1285        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1286        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1287        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1288        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1289        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1290        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1291        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1292        hemlock/doc/misc/perq-hemlock.log,
1293        hemlock/doc/misc/things-to-do.txt,
1294        hemlock/doc/scribe-converter/.cvsignore,
1295        hemlock/doc/scribe-converter/NOTES,
1296        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1297        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1298        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1299        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1300        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1301        hemlock/maint/publish, hemlock/resources/.cvsignore,
1302        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1303        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1304        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1305        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1306        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1307        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1308        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1309        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1310        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1311        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1312        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1313        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1314        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1315        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1316        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1317        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1318        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1319        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1320        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1321        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1322        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1323        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1324        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1325        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1326        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1327        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1328        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1329        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1330        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1331        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1332        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1333        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1334        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1335        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1336        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1337        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1338        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1339        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1340        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1341        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1342        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1343        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1344        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1345        hemlock/src/table.lisp, hemlock/src/text.lisp,
1346        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1347        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1348        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1349        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1350        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1351        hemlock/src/elisp/base.lisp,
1352        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1353        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1354        hemlock/src/elisp/hemlock-shims.lisp,
1355        hemlock/src/elisp/implementation-needed,
1356        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1357        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1358        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1359        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1360        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1361        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1362        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1363        hemlock/src/spell/spell-aug.lisp,
1364        hemlock/src/spell/spell-dictionary.text,
1365        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1366        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1367        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1368        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1369        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1370        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1371        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1372        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1373        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1374        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1375        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1376        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1377        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1378        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1379        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1380        objc-bridge/fake-cfbundle-path.lisp,
1381        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1382        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1383        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1384        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1385        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1386        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1387        things moved from "examples" to one of these directories,
1388        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1389        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1390        "ide-1.0" branch for details.
1391
13922007-06-15 19:10  gb
1393
1394        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1395
13962007-06-15 14:10  gb
1397
1398        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1399        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1400        (shouldn't get here if we're catching that upstream, but ...)
1401
14022007-06-01 08:34  gb
1403
1404        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1405        caught most places.
1406
14072007-06-01 08:33  gb
1408
1409        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1410        if it can't find the package, accepts a stream argument in order to
1411        signal that type of error.  (Note that this has never been
1412        recoverable in general, especially in the case where the input
1413        stream is *terminal-io* or shares its input stream.)
1414
14152007-06-01 08:32  gb
1416
1417        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1418        reporting themselves.
1419
14202007-06-01 08:31  gb
1421
1422        * level-1/l1-error-system.lisp: Define and use
1423        STREAM-ERROR-CONTEXT.
1424
14252007-06-01 08:30  gb
1426
1427        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1428        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1429        probably have been caught earlier.
1430
14312007-06-01 08:29  gb
1432
1433        * level-1/l1-streams.lisp: Try to provide some context -
1434        "surrounding characters" - for reader/stream errors on character
1435        input streams.
1436
14372007-06-01 08:28  gb
1438
1439        * level-1/l1-unicode.lisp: Get number of args right in call to
1440        STRING-ENCODED-LENGTH-IN-BYTES from
1441        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1442
14432007-06-01 08:28  gb
1444
1445        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1446        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1447        order.  Both functions are usually open-coded (and the inlined
1448        versions seem to be OK), but the ObjC bridge funcalls these
1449        functions when getting/setting foreign slots of the appropriate
1450        type.
1451
14522007-06-01 08:27  gb
1453
1454        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1455        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1456        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1457
14582007-06-01 08:26  gb
1459
1460        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1461        all of it" case in %CSTR-POINTER; deal with all other cases in
1462        %CSTR-SEGMENT-POINTER.
1463
14642007-06-01 08:25  gb
1465
1466        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1467        under return address, exception callback frame (xcf) on stack.
1468       
1469        handle-udf-call: don't try to fix up the stack if we try to
1470        continue; let kernel deal with this after the callback.
1471
14722007-06-01 08:24  gb
1473
1474        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1475        return address on the top of the stack when this is entered
1476        (#-of-arguments traps).  Put it in the right place when building
1477        the frame.
1478       
1479        create_exception_callback_frame: look for tra on top of lisp stack,
1480        not in register (usually.)
1481       
1482        handle_error(): if we return after calling out for int #xc7 (call
1483        to undefined function), fix up the stack and other registers so
1484        that we can return the value(s) returned by the lisp-side handler.
1485        (It's hard for the lisp-side handler to do the stack manipulation,
1486        because of the xcf on the stack and because of the need to deal
1487        with the return address on the stack.)
1488
14892007-06-01 08:23  gb
1490
1491        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1492        lea/jmp: push ra0 on stack before trap, for the benefit of
1493        create_exception_callback_frame().
1494
14952007-06-01 08:22  gb
1496
1497        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1498
14992007-06-01 08:22  gb
1500
1501        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1502        write a BOM here.
1503
15042007-06-01 08:21  gb
1505
1506        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1507        since the switch to the new tra scheme.
1508
15092007-06-01 08:19  gb
1510
1511        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1512        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1513
15142007-05-12 18:27  gb
1515
1516        * release-notes.txt: Update for 070512.
1517
15182007-05-12 18:27  gb
1519
1520        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1521
15222007-05-12 18:26  gb
1523
1524        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1525
15262007-05-12 18:25  gb
1527
1528        * level-1/version.lisp: Bump.
1529
15302007-05-12 18:24  gb
1531
1532        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1533        heap by more than what we need if GC is obviously disabled.
1534
15352007-05-12 18:23  gb
1536
1537        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1538        suppress overflow checking in some cases.
1539
15402007-05-12 18:22  gb
1541
1542        * compiler/X86/x862.lisp: Fix indentation.
1543
15442007-05-12 18:22  gb
1545
1546        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1547        beyond segment if GC (obviously) disabled.
1548
15492007-05-12 18:21  gb
1550
1551        * level-1/l1-streams.lisp: Fix typo.
1552
15532007-05-12 18:20  gb
1554
1555        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1556        separate character encode/decode limits.
1557
15582007-05-12 18:19  gb
1559
1560        * level-1/l1-unicode.lisp: Start to bootstrap separate
1561        encode/decode limits.
1562
15632007-05-12 18:18  gb
1564
1565        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1566        nonsense when referencing mxcsr in debug_show_fpu().
1567
15682007-05-12 18:17  gb
1569
1570        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1571        earlier.  Sheesh.
1572
15732007-05-12 18:17  gb
1574
1575        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1576
15772007-05-12 18:16  gb
1578
1579        * level-1/version.lisp: Bump, for now.
1580
15812007-05-12 18:15  gb
1582
1583        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1584        ABI version.
1585
15862007-05-12 18:14  gb
1587
1588        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1589        new TRA interpretation.
1590
15912007-05-12 18:13  gb
1592
1593        * lisp-kernel/x86-spjump64.s: nmkunwind.
1594
15952007-05-12 18:12  gb
1596
1597        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1598        nMake_Catch handles return addresses on stack.  repret, for use
1599        when a one-byte ret instruction is a branch target or is preceded
1600        by a conditional branch.
1601
16022007-05-12 18:11  gb
1603
1604        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1605        exception contexts.
1606
16072007-05-12 18:11  gb
1608
1609        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1610        exception context; new TRA handling.
1611
16122007-05-12 18:10  gb
1613
1614        * lisp-kernel/x86-exceptions.c: New tra handling.
1615        new_heap_segment: try to avoid requesting too much when user sets
1616        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1617        down to fault handler, don't call out to lisp on faults in foreign
1618        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1619
16202007-05-12 18:08  gb
1621
1622        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1623        assignments.
1624
16252007-05-12 18:07  gb
1626
1627        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1628        sequence.
1629
16302007-05-12 18:06  gb
1631
1632        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1633
16342007-05-12 18:05  gb
1635
1636        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1637        that're branch targets or that follow conditional branches.
1638
16392007-05-12 18:04  gb
1640
1641        * lisp-kernel/thread_manager.c: Conditionalize for
1642        USE_MACH_EXCEPTION_LOCK.
1643
16442007-05-12 18:03  gb
1645
1646        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1647
16482007-05-12 18:02  gb
1649
1650        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1651        explicit blr.
1652
16532007-05-12 18:01  gb
1654
1655        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1656         Gee, I hope that works.
1657
16582007-05-12 18:00  gb
1659
1660        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1661
16622007-05-12 17:59  gb
1663
1664        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1665        using the mechanism.
1666
16672007-05-12 17:59  gb
1668
1669        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1670        extend with (possibly very large) lisp_heap_gc_threshold, try
1671        smaller values.
1672       
1673        Pass "old_valence" to exception handlers; don't call out to lisp on
1674        memory faults from foreign code.
1675
16762007-05-12 17:58  gb
1677
1678        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1679
16802007-05-12 17:57  gb
1681
1682        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1683        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1684        be correct/necessary.
1685
16862007-05-12 17:56  gb
1687
1688        * lisp-kernel/lisp-debug.c: lisp register display changes for
1689        x86-64.  Get FPU display working on x86-64.
1690
16912007-05-12 17:55  gb
1692
1693        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1694        calling-sequence change.
1695
16962007-05-12 17:54  gb
1697
1698        * lisp-kernel/image.h: New ABI version.
1699
17002007-05-12 17:54  gb
1701
1702        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1703        could; if only I could ...
1704
17052007-05-12 17:53  gb
1706
1707        * lib/x8664env.lisp: More imm temps! (one more ...).
1708
17092007-05-12 17:52  gb
1710
1711        * lib/nfcomp.lisp: Bump current fasl version.
1712
17132007-05-12 17:51  gb
1714
1715        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1716        in cross-compiled code.
1717
17182007-05-12 17:50  gb
1719
1720        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1721        interface dir, because of cross-compilation issues.
1722
17232007-05-12 17:49  gb
1724
1725        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1726        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1727
17282007-05-12 17:49  gb
1729
1730        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1731        transition.
1732
17332007-05-12 17:48  gb
1734
1735        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1736
17372007-05-12 17:47  gb
1738
1739        * lib/encapsulate.lisp: Add a comment.
1740
17412007-05-12 17:46  gb
1742
1743        * library/hash-cons.lisp: Very small lap change.
1744
17452007-05-12 17:45  gb
1746
1747        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1748        %FIXNUM-SET-MACPTR elsewhere.
1749
17502007-05-12 17:44  gb
1751
1752        * level-1/linux-files.lisp: File-mapped vectors.
1753
17542007-05-12 17:43  gb
1755
1756        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1757        :new-version if pathname-version of filename is :NEWEST.
1758
17592007-05-12 17:43  gb
1760
1761        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1762        with a CONDITION object.
1763
17642007-05-12 17:42  gb
1765
1766        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1767
17682007-05-12 17:41  gb
1769
1770        * level-1/l1-pathnames.lisp: If there's no host component in a
1771        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1772
17732007-05-12 17:40  gb
1774
1775        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1776        listener stack sizes now static.
1777
17782007-05-12 17:39  gb
1779
1780        * level-1/l1-files.lisp: Pathname arcana.
1781
17822007-05-12 17:38  gb
1783
1784        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1785        SIGINT.
1786
17872007-05-12 17:38  gb
1788
1789        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1790        changes.
1791
17922007-05-12 17:37  gb
1793
1794        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1795       
1796        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1797
17982007-05-12 17:36  gb
1799
1800        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1801
18022007-05-12 17:35  gb
1803
1804        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1805        here.
1806
18072007-05-12 17:34  gb
1808
1809        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1810
18112007-05-12 17:33  gb
1812
1813        * level-0/X86/x86-utils.lisp: New calling sequence.
1814
18152007-05-12 17:32  gb
1816
1817        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1818        EQL.
1819
18202007-05-12 17:32  gb
1821
1822        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1823        be careful with %rcx (now %imm2) in shift instructions.
1824
18252007-05-12 17:30  gb
1826
1827        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1828        sequence.
1829
18302007-05-12 17:29  gb
1831
1832        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1833        new-calling-sequence changes.
1834
18352007-05-12 17:27  gb
1836
1837        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1838        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1839        %temp2, and no need to be so careful with it.
1840
18412007-05-12 17:26  gb
1842
1843        * compiler/vinsn.lisp: global label-valued temporaries.
1844
18452007-05-12 17:25  gb
1846
1847        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1848
18492007-05-12 17:24  gb
1850
1851        * compiler/nx0.lisp: Try to do a little type inference for more
1852        flavors of AREF.
1853
18542007-05-12 17:23  gb
1855
1856        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1857        afunc (or equivalent) as a non-nil second value.
1858
18592007-05-12 17:22  gb
1860
1861        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1862        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1863        less nasty.
1864
18652007-05-12 17:21  gb
1866
1867        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1868        calling sequence, new tra/talign scheme.
1869
18702007-05-12 17:21  gb
1871
1872        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1873        rip)).
1874
18752007-05-12 17:20  gb
1876
1877        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1878        rip-relative label refs.
1879
18802007-05-12 17:19  gb
1881
1882        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1883        support :talign directive in vinsn templates.
1884
18852007-05-12 17:18  gb
1886
1887        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1888        is a register ...
1889
18902007-05-12 17:17  gb
1891
1892        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1893        for most things, except calls to subprims that manipulate the
1894        stack.
1895
18962007-05-12 17:16  gb
1897
1898        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1899        cross-compilation with x86-64 targets a little easier, by using a
1900        cross-ftd interface directory.
1901
19022007-05-12 17:16  gb
1903
1904        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1905        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1906        scheme.
1907
19082007-05-12 17:15  gb
1909
1910        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1911        unwind-protect uses nmkunwind (more happens out-of-line.)
1912
19132007-05-12 17:14  gb
1914
1915        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1916
19172007-05-12 17:13  gb
1918
1919        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1920
19212007-05-12 17:12  gb
1922
1923        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1924
19252007-05-12 17:11  gb
1926
1927        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1928        %GET-KERNEL-GLOBAL-PTR actually work.
1929
19302007-05-07 19:10  gb
1931
1932        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1933        returns a CONS, signal the right flavor of TYPE-ERROR if it
1934        doesn't.
1935
19362007-05-05 18:10  gb
1937
1938        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1939        the hash table, it tries to enable the GC before doing so.
1940
19412007-05-04 22:10  gb
1942
1943        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1944        finds in the environment, not just non-nil.
1945
19462007-05-01 18:10  gb
1947
1948        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1949        computation for GC-VERBOSE entry.
1950
19512007-05-01 06:11  gb
1952
1953        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1954        utf-16 variants.
1955       
1956        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1957        function.
1958
19592007-05-01 06:10  gb
1960
1961        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1962        darwin ppc64 thread state structure, just like Apple does.  Can I
1963        blame them for getting this wrong, please ?
1964       
1965        Use the right argument names in ppc64 cmain callback; can't blame
1966        Apple.
1967
19682007-04-30 23:12  gb
1969
1970        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1971        on Darwin, and should probably be removed completely.  Now that
1972        it's explicitly extern, don't try to reference it at runtime on
1973        linuxppc.
1974
19752007-04-30 23:11  gb
1976
1977        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1978        referenced at runtime and explicitly extern, so make sure that it's
1979        initialized on all platforms.
1980
19812007-04-30 23:10  gb
1982
1983        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1984        oxymoron - is specific to Darwin.
1985
19862007-04-21 00:10  gb
1987
1988        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1989        directory after translating logical pathnames; it's generally
1990        meaningless to do PROBE-FILE on the directory component of a
1991        logical pathname.
1992
19932007-04-19 15:10  gb
1994
1995        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1996        if it conflicts with an immediate temporary (we'll need all the imm
1997        temps we have on x86-64.)
1998
19992007-04-17 20:10  gb
2000
2001        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
2002        version of recent aset2/aset3 register-conflict changes.
2003
20042007-04-16 15:10  gb
2005
2006        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
2007        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
2008
20092007-04-16 14:11  gb
2010
2011        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
2012        :signed-doublewod.
2013
20142007-04-16 13:10  gb
2015
2016        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
2017        Memory-fault errors on PPC, too.
2018
20192007-04-16 04:34  gb
2020
2021        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
2022        renaming nonsense.
2023
20242007-04-16 02:12  gb
2025
2026        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
2027
20282007-04-16 02:11  gb
2029
2030        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
2031
20322007-04-16 02:10  gb
2033
2034        * level-1/l1-error-system.lisp: Change wording of
2035        INVALID-MEMORY-ACCESS error message, a little.
2036
20372007-04-16 01:13  gb
2038
2039        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
2040        memory faults.
2041
20422007-04-16 01:12  gb
2043
2044        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
2045        now.
2046
20472007-04-16 01:11  gb
2048
2049        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
2050        INVALID-MEMORY-ACCESS condition.
2051
20522007-04-16 01:10  gb
2053
2054        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
2055
20562007-04-15 19:11  gb
2057
2058        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
2059        aset2/aset3 changes.
2060
20612007-04-15 19:10  gb
2062
2063        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
2064        it's an imm-reg; we need another imm-reg to do some index
2065        calculations.
2066
20672007-04-14 18:10  gb
2068
2069        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
2070        unscramble what it means for an interrupt to be pending on x86-64.
2071
20722007-04-14 00:13  gb
2073
2074        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
2075        generated when it is in ... unmentionable OS releases.
2076
20772007-04-14 00:11  gb
2078
2079        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
2080        work around laughable Apple ld64 gibberish.
2081
20822007-04-12 02:11  gb
2083
2084        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
2085        two-dimensional arrays: need to target specific registers if array
2086        has element type T.
2087
20882007-04-12 02:10  gb
2089
2090        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2091        appropriate, not :x86-64 twice.
2092
20932007-04-11 05:10  gb
2094
2095        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2096        for bivalent streams.
2097       
2098        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2099        maintain the element-type separately, just look in ioblock.
2100        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2101
21022007-04-10 22:10  gb
2103
2104        * lisp-kernel/x86-spentry64.s: Branch at
2105        C(egc_store_node_conditional_success_test) should bracnch
2106        backwards, not forwards.  (This was leading to spurious
2107        "<something> is not a proper list" errors, because the next label
2108        named "0" is in middle of the the _SPprogvsage code that tests for
2109        a proper list.)
2110
21112007-04-10 00:11  gb
2112
2113        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2114        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2115        RLET or equivalent to avoid making GCable pointers for ObjC
2116        dispatch function args; trust the compiler to do that for us.
2117
21182007-04-10 00:10  gb
2119
2120        * examples/bridge.lisp: If any method defined on a message passes a
2121        structure by value, install a compiler macro on the dispatch
2122        function.
2123       
2124        In that compiler, look for apparent calls to know structure
2125        constructors; replace those with calls to the corresponding
2126        initialization function, and stack-allocate a structure instance
2127        around the call.  (Suggested by Kevin Reid, and something that
2128        SEND/SLET did - sort of - that the new approach didn't.)
2129       
2130        Keep track of info about common foreign structs (initializer,
2131        constructor, etc.) to make doing stuff like this easier.
2132
21332007-04-09 16:10  gb
2134
2135        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2136        the result of sending the init message is a null pointer, return a
2137        null pointer.
2138
21392007-04-09 00:10  gb
2140
2141        * release-notes.txt: Update for 070408.
2142       
2143        (Yes, it's 070409 here already ...)
2144
21452007-04-08 15:12  gb
2146
2147        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2148
21492007-04-08 15:10  gb
2150
2151        * xdump/faslenv.lisp: Bump min fasl version.
2152
21532007-04-08 14:11  gb
2154
2155        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2156        jump table, to work around (still more) Apple ld64 nonsense.
2157
21582007-04-08 13:14  gb
2159
2160        * lib/nfcomp.lisp: Bump current fasl version.
2161
21622007-04-08 13:13  gb
2163
2164        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2165
21662007-04-08 13:12  gb
2167
2168        * xdump/faslenv.lisp: Bump max fasl version.
2169
21702007-04-08 13:11  gb
2171
2172        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2173        people who try to build this kernel on an x86 mac will take longer
2174        to realize that that's usually a bad idea.
2175
21762007-04-08 12:09  gb
2177
2178        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2179        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2180        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2181        cocoa-window.lisp, cocoa.lisp:
2182        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2183       
2184        Some changes in font, nsstring stuff to avoid using deprecated
2185        featurs.
2186
21872007-04-08 12:07  gb
2188
2189        * examples/: webkit.lisp, addressbook.lisp:
2190        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2191       
2192        Use OBJC:LOAD-FRAMEWORK.
2193
21942007-04-08 12:06  gb
2195
2196        * examples/tiny.lisp:
2197        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2198
21992007-04-08 12:05  gb
2200
2201        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2202        rubix.lisp:
2203        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2204       
2205        Handle CGFLOAT issues in mouse event handlers.
2206
22072007-04-08 12:04  gb
2208
2209        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2210       
2211        Define "foreign struct classes" for several common structure types
2212        (rectangle, point, size); generate inlined accessors for their
2213        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2214        macros.
2215       
2216        #/ reader macro: reads a string containing "constituent" characters
2217        (including #\:), preserving case.  Does a little bit of
2218        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2219        package.
2220       
2221        Try to deal with cases where foreign type info may be parsed or
2222        unparsed.
2223       
2224        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2225         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2226        message info, tries to determine ambiguity, calls signature
2227        function (possibly after trying to resolve ambiguity.)
2228       
2229        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2230        calling a signature function that knows how to dispatch to SUPER
2231        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2232       
2233        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2234        OBJC-DISPATCH-FUNCTION.
2235       
2236        Handle PROTOCOLs differently in ambiguous SEND.
2237
22382007-04-08 12:04  gb
2239
2240        * examples/objc-runtime.lisp: Compile message send functions per
2241        signature.  Handle vararg message sends, partly at runtime.  INIT
2242        messages just have their signature info precomputed.  Defining a
2243        named OBJC-CLASS makes the class name a static variable whose value
2244        is the class (and likewise for the metaclass.)
2245        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2246        OBJC:DEFMETHOD and support for it.
2247
22482007-04-08 12:03  gb
2249
2250        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2251         Avoid some deprecated C-string stuff (but wimp out and assume
2252        ASCII.) Keep track of objc-class-count, provide
2253        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2254        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2255        etc. elsewhere.
2256
22572007-04-08 12:02  gb
2258
2259        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2260        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2261        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2262        about as lightweight as MAKE-OBJC-INSTANCE.)
2263
22642007-04-08 12:01  gb
2265
2266        * examples/name-translation.lisp:
2267        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2268        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2269
22702007-04-08 12:00  gb
2271
2272        * examples/objc-package.lisp: New file; export more stuff.  Import
2273        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2274        pseudo-GFs.
2275
22762007-04-08 11:59  gb
2277
2278        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2279        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2280        Intern integer types up to 64 bits.
2281
22822007-04-08 11:59  gb
2283
2284        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2285        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2286        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2287        COPY-RECORD.
2288
22892007-04-08 11:58  gb
2290
2291        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2292        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2293        missing brackets.
2294
22952007-04-08 11:57  gb
2296
2297        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2298        not Darwin.  In Darwin, evactuate off of the lisp stack while
2299        interrupts are still disabled.
2300
23012007-04-08 11:56  gb
2302
2303        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2304        (where Apple hasn't yet invented the notion that it needs to be
2305        thread-specific.)
2306
23072007-04-08 11:55  gb
2308
2309        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2310        destroying TCR.
2311
23122007-04-08 11:54  gb
2313
2314        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2315        worked around an old Darwin bug.
2316
23172007-04-08 11:53  gb
2318
2319        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2320
23212007-04-08 11:52  gb
2322
2323        * lisp-kernel/image.c: Don't nuke null pointers.
2324
23252007-04-08 11:52  gb
2326
2327        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2328
23292007-04-08 11:51  gb
2330
2331        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2332        of macptr.domain, macptr.type.
2333
23342007-04-08 11:50  gb
2335
2336        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2337
23382007-04-08 11:49  gb
2339
2340        * library/lispequ.lisp: add pkg.intern-hook to package.
2341
23422007-04-08 11:48  gb
2343
2344        * lib/describe.lisp: Start trying to conditionalize some of the
2345        stack-frame inspector stuff.
2346
23472007-04-08 11:48  gb
2348
2349        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2350        64-bit word components, with FP fields passed in registers.  This
2351        requires some special handling ("hybrid" parameters) in the
2352        compiler and %FF-CALL.
2353
23542007-04-08 11:47  gb
2355
2356        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2357        endianness.
2358
23592007-04-08 11:46  gb
2360
2361        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2362
23632007-04-08 11:45  gb
2364
2365        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2366        in %SOURCE-FILES-LIKE-EM.
2367
23682007-04-08 11:44  gb
2369
2370        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2371
23722007-04-08 11:43  gb
2373
2374        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2375        MAKE-XREF-ENTRY.
2376
23772007-04-08 11:43  gb
2378
2379        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2380
23812007-04-08 11:42  gb
2382
2383        * level-1/version.lisp: Bump; new snapshots tomorrow.
2384
23852007-04-08 11:41  gb
2386
2387        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2388
23892007-04-08 11:40  gb
2390
2391        * level-1/linux-files.lisp: Very long timeout for
2392        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2393        if we have to wait at all.
2394       
2395        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2396       
2397        Make PIPE code slightly easier to read.
2398
23992007-04-08 11:39  gb
2400
2401        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2402
24032007-04-08 11:38  gb
2404
2405        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2406        CHARACTER-ENCODING, use it to determine number/sequence of octets
2407        used to encode NUL.
2408
24092007-04-08 11:38  gb
2410
2411        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2412       
2413        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2414        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2415        so that echoing looks more natural.
2416
24172007-04-08 11:37  gb
2418
2419        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2420        object.
2421
24222007-04-08 11:36  gb
2423
2424        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2425        changes manually and most of the effects were cosmetic.
2426        TOPLEVEL-PRINT takes an output stream arg.
2427
24282007-04-08 11:35  gb
2429
2430        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2431
24322007-04-08 11:34  gb
2433
2434        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2435        interrupt is obviously pending.
2436
24372007-04-08 11:33  gb
2438
2439        * level-1/l1-io.lisp: Change pointer printing.
2440
24412007-04-08 11:33  gb
2442
2443        * level-1/l1-init.lisp: +NULL-PTR+.
2444
24452007-04-08 11:31  gb
2446
2447        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2448        preferred name for DEFGLOBAL.
2449
24502007-04-08 11:30  gb
2451
2452        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2453        for DEFGLOBAL.
2454       
2455        Mechanism for associating a (built-in) class with a foreign type
2456        ordinal.
2457
24582007-04-08 11:29  gb
2459
2460        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2461        for DEFGLOBAL.
2462       
2463        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2464        likely the global value of some symbol.)
2465
24662007-04-08 11:28  gb
2467
2468        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2469        DEFGLOBAL.
2470       
2471        Standard CL streams now bound per-thread.
2472       
2473        Install standard foreign types here, not every time that
2474        FOREIGN-TYPES is loaded.
2475       
2476        Canonicalize foreign type ordinals as soon as we can.  (This is
2477        part of a scheme to give foreign types "ordinals' that can be used
2478        to assert pointer types; we need some of those ordinal numbers to
2479        be pre-assigned, since we can't reference foreign types early in
2480        the cold load.)
2481
24822007-04-08 11:27  gb
2483
2484        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2485        DEFGLOBAL.  GCABLE-PTR-P.
2486
24872007-04-07 21:25  gb
2488
2489        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2490         Handle maintenance of auto-export packages differently.
2491        $fasl-timm just needs an :int, not a :long.
2492
24932007-04-07 21:24  gb
2494
2495        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2496        "functional", not random symbol guts.
2497
24982007-04-07 21:23  gb
2499
2500        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2501        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2502        interrupts are re-enabled.
2503
25042007-04-07 21:22  gb
2505
2506        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2507
25082007-04-07 21:20  gb
2509
2510        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2511        %PTR-STORE-FIXNUM-CONDITIONAL.
2512
25132007-04-07 21:19  gb
2514
2515        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2516        in DarwinPPC64 #'%FF-CALL.
2517
25182007-04-07 21:19  gb
2519
2520        * compiler/optimizers.lisp: When trying to infer result type of
2521        MAKE-ARRAY call, unquote quoted type specifier.
2522       
2523        Strength-reduce FLOAT when second argument is of known type.
2524
25252007-04-07 21:18  gb
2526
2527        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2528
25292007-04-07 21:17  gb
2530
2531        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2532        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2533        Parse %short-float, %double-float when no "result" arg; can at
2534        least try to constant-fold late and/or do some cases if we have
2535        more type info.
2536
25372007-04-07 21:16  gb
2538
2539        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2540        be bound" error message.
2541
25422007-04-07 21:15  gb
2543
2544        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2545        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2546
25472007-04-07 21:14  gb
2548
2549        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2550        remaning GPR/FPR counts even if arg is "simple" and passes straight
2551        through to %FF-CALL.
2552
25532007-04-07 21:13  gb
2554
2555        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2556        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2557        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2558        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2559        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2560
25612007-04-07 21:12  gb
2562
2563        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2564        for Darwin structure-passing ABI.
2565
25662007-04-07 21:10  gb
2567
2568        * OpenMCL.app/Contents/Resources/English.lproj/:
2569        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2570        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2571        OpenmclInspector.nib/keyedobjects.nib,
2572        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2573        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2574        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2575        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2576        representation, not binary.
2577
25782007-04-06 22:10  gb
2579
2580        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2581        (RLIMIT_AS) current resource limit to max limit, since some distros
2582        limit it.
2583
25842007-04-03 03:11  gb
2585
2586        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2587        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2588
25892007-04-02 22:10  gb
2590
2591        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2592        arg in utf-16 encode, missing #x in little-endian bom-marker
2593        definition.)
2594
25952007-03-14 23:10  gb
2596
2597        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2598
25992007-03-14 05:11  gb
2600
2601        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2602        generate-callback-bindings.
2603
26042007-03-13 06:10  gb
2605
2606        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2607
26082007-03-13 03:58  gb
2609
2610        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2611
26122007-03-12 05:11  gb
2613
2614        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2615        little.
2616
26172007-03-12 05:10  gb
2618
2619        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2620        %EXTERNAL-CALL-EXPANDER.
2621
26222007-03-12 05:09  gb
2623
2624        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2625        encapsulation, and a lock.
2626
26272007-03-12 05:08  gb
2628
2629        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2630        thread-local.
2631
26322007-03-12 02:25  gb
2633
2634        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2635        deal with variations in Mach behavior: "exception" may be
2636        EXC_BAD_ACCESS when an illegal instruction causes a "general
2637        protection fault".
2638
26392007-03-09 15:56  gb
2640
2641        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2642        NIL ...)
2643
26442007-03-09 00:01  gb
2645
2646        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2647
26482007-03-09 00:00  gb
2649
2650        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2651        *OPEN-FILE-STREAMS*.
2652
26532007-03-09 00:00  gb
2654
2655        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2656        open-file-streams.
2657
26582007-03-08 23:59  gb
2659
2660        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2661        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2662
26632007-03-08 23:58  gb
2664
2665        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2666        associated with it.
2667
26682007-03-08 23:57  gb
2669
2670        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2671
26722007-03-08 23:47  gb
2673
2674        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2675        hash-table, it fills the hash-table vector with "free" markers.
2676        (There may already be lots of "deleted" markers in the table.)
2677
26782007-03-08 22:26  gb
2679
2680        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2681
26822007-03-08 22:24  gb
2683
2684        * lib/numbers.lisp: printing random-state: don't shift seeds.
2685
26862007-03-08 22:24  gb
2687
2688        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2689
26902007-03-08 22:24  gb
2691
2692        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2693
26942007-03-08 22:23  gb
2695
2696        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2697
26982007-03-08 22:23  gb
2699
2700        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2701        %next-random-pair.
2702
27032007-03-08 22:22  gb
2704
2705        * level-0/l0-numbers.lisp: And, while we're at it: do the
2706        next-random-seed permutation in %next-random-pair, which accepts
2707        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2708        in lisp on 64-bit platforms.
2709
27102007-03-08 22:20  gb
2711
2712        * level-0/l0-numbers.lisp: Don't shift random seeds.
2713
27142007-03-08 03:30  gb
2715
2716        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2717        rather than >= #x80, because of the new way that
2718        uuo-error-slot-unbound is encoded.
2719
27202007-03-08 03:28  gb
2721
2722        * compiler/X86/x86-disassemble.lisp: Recognize
2723        uuo-error-slot-unbound.
2724
27252007-03-08 03:28  gb
2726
2727        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2728        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2729
27302007-03-07 08:29  gb
2731
2732        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2733
27342007-03-07 07:45  gb
2735
2736        * level-1/linux-files.lisp: For #+linux-target, try to use
2737        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2738        if that fails.  (CPU-COUNT is called early in the cold load, before
2739        we can make the file-stream necessary to do the parsing.)
2740
27412007-03-07 07:33  gb
2742
2743        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2744        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2745
27462007-03-07 07:25  gb
2747
2748        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2749        el-bizarro syscall mask, pass the magic number 0x1e as a second
2750        arg, just in case.
2751
27522007-03-07 07:24  gb
2753
2754        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2755        before accessing *OPEN-FILE-STREAMS*.
2756
27572007-03-07 07:23  gb
2758
2759        * level-1/l1-readloop.lisp: Add comment about
2760        *OPEN-FILE-STREAMS-LOCK*.
2761
27622007-03-07 07:23  gb
2763
2764        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2765
27662007-03-07 07:21  gb
2767
2768        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2769        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2770
27712007-03-07 07:05  gb
2772
2773        * xdump/heap-image.lisp: Bump current image version.
2774
27752007-03-07 07:02  gb
2776
2777        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2778        "calls" want an argument in ecx.  Set that arg to 0 for now.
2779
27802007-03-07 07:01  gb
2781
2782        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2783        "real" locks; those updates can be simplified.
2784       
2785        lock_recursive_lock: no (ignored) timeout arg.
2786
27872007-03-07 06:59  gb
2788
2789        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2790        support the old one.
2791
27922007-03-07 06:59  gb
2793
2794        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2795        prototype.  Change declaration of LOCK macro: no null timespec
2796        required.  RECURSIVE_LOCKs have spinlock fields.
2797
27982007-03-07 06:56  gb
2799
2800        * level-1/version.lisp: bump, indicate work-in-progress development
2801        version.
2802
28032007-03-07 06:56  gb
2804
2805        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2806        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2807        rather than something lower-level.
2808
28092007-03-07 06:53  gb
2810
2811        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2812        to obtain them before yielding.
2813
28142007-03-07 06:52  gb
2815
2816        * level-0/l0-io.lisp: Move YIELD elsewhere.
2817
28182007-03-07 06:51  gb
2819
2820        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2821        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2822        layout.
2823
28242007-03-02 05:10  gb
2825
2826        * level-1/l1-application.lisp: Toplevel function: initial-listener
2827        class is 'TTY-LISTENER.
2828
28292007-03-02 05:09  gb
2830
2831        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2832        message.
2833
28342007-03-02 05:09  gb
2835
2836        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2837       
2838        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2839        For TTY-LISTENER, call QUIT.
2840
28412007-03-02 05:08  gb
2842
2843        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2844        EXIT-INTERACTIVE-PROCESS instead.
2845       
2846        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2847
28482007-03-02 05:06  gb
2849
2850        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2851
28522007-03-02 05:06  gb
2853
2854        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2855        of null pointers into body.
2856
28572007-03-02 05:05  gb
2858
2859        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2860        consus-interruptus.
2861
28622007-03-02 05:05  gb
2863
2864        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2865        <constant> if constant is of type <type>.)
2866       
2867        Do we need an ignore-errors here ? Or does <type> need to be
2868        defined ?
2869
28702007-03-02 05:03  gb
2871
2872        * compiler/X86/x862.lisp: Do the / * thing.
2873
28742007-03-02 05:02  gb
2875
2876        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2877        :call attribute.
2878
28792007-03-01 04:04  gb
2880
2881        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2882        new binding frame
2883
28842007-02-28 07:04  gb
2885
2886        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2887        rather than %rbp; trust callback_for_interrupt() to preserve it.
2888
28892007-02-28 07:03  gb
2890
2891        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2892        callback_for_interrupt().
2893
28942007-02-28 05:18  gb
2895
2896        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2897        counts) that may wind up on the vstack.
2898       
2899        Since those tiny things might be tagged as headers, walk the vstack
2900        with new "headerless" functions that ignore headers.
2901
29022007-02-28 05:16  gb
2903
2904        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2905        before the alloc trap and interrupting, back out of the
2906        modification to save_allocptr (and allocptr register) and set
2907        *interrupt_displacement.
2908
29092007-02-23 10:13  gb
2910
2911        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2912        only makes sense for cases where we have to guess; a bitfield
2913        that's 8 bits wide still has an alignment of 1.
2914       
2915        Factor in the alignment of the containing int when bitfields are
2916        involved.
2917       
2918        When parsing a record type, set the "bits" slot of each field.
2919        (Not too many things look at that slot, but we want the effect of
2920        loading a record from the database to match the effect of parsing a
2921        definition as exactly as possible, and to be able to use EQUALP to
2922        compare the results.)
2923
29242007-02-23 10:06  gb
2925
2926        * lib/db-io.lisp: Some extra fields in
2927        objc-message-info/objc-method-info structures.
2928       
2929        When calculating overall alignment of a structure, treat bitfields
2930        as if they were :unsigned-int (since there's a "containing"
2931        unsigned int that affects alignment.  N.B: this should be imposed
2932        for anything that has an alignment of 1, not just a size of 1.)
2933       
2934        When loading integer types, try to use the precomputed types rather
2935        than consing a new one.  This (a) reduces consing a little (b) is
2936        more likely to get the alignment correct.  For (b), we really need
2937        to distinguish between bitfields and addressable integers.
2938
29392007-02-23 09:30  gb
2940
2941        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2942
29432007-02-22 02:33  gb
2944
2945        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2946
29472007-02-22 02:28  gb
2948
2949        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2950        heap size right ...).
2951
29522007-02-22 02:27  gb
2953
2954        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2955        traditional (sysv) style of hash maps, if it understands that
2956        option.
2957
29582007-02-21 06:01  gb
2959
2960        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2961        has been consed since last GC.  (There are some fenceposts there.)
2962       
2963        verbose GC herald tries to indicate how much is allocated in the
2964        area being GCed.
2965
29662007-02-21 05:58  gb
2967
2968        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2969        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2970
29712007-02-21 05:57  gb
2972
2973        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2974        uuo-gc-trap.
2975
29762007-02-19 04:50  gb
2977
2978        * lib/foreign-types.lisp: Use keywords more consistently.
2979       
2980        (Note: there seems to be a bug which is keeping the cdb data
2981        structures from getting defined correctly at load time; the
2982        workaround is to compile foreign-types.lisp - which defines them -
2983        in the same session as and before db-io - which uses them - is
2984        compiled.)
2985
29862007-02-19 04:48  gb
2987
2988        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2989        error.
2990
29912007-02-19 04:42  gb
2992
2993        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2994        the error function.
2995
29962007-02-19 04:40  gb
2997
2998        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2999        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
3000
30012007-02-19 04:40  gb
3002
3003        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
3004        FUNCALLABLE-STANDARD-OBJECT.
3005       
3006        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
3007        creating a GF.
3008
30092007-02-19 04:36  gb
3010
3011        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
3012        funcallable-stanard-objects better.
3013
30142007-02-19 04:34  gb
3015
3016        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
3017        CCL, OPENMCL-MOP.
3018
30192007-02-19 02:09  gb
3020
3021        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
3022        FUNCALLABLE-STANDARD-CLASS.
3023
30242007-02-19 02:07  gb
3025
3026        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
3027        error message.
3028
30292007-02-15 02:46  gb
3030
3031        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
3032        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
3033
30342007-02-15 02:45  gb
3035
3036        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
3037        methods yet.
3038
30392007-02-14 02:39  gb
3040
3041        * release-notes.txt: Fix a typo.
3042
30432007-02-14 02:35  gb
3044
3045        * release-notes.txt: Update for 070214 snapshots.
3046
30472007-02-13 23:36  gb
3048
3049        * level-1/version.lisp: Bump.
3050
30512007-02-13 23:36  gb
3052
3053        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
3054        image-abi-version.
3055
30562007-02-13 23:29  gb
3057
3058        * xdump/faslenv.lisp: Finish bumping fasl version.
3059
30602007-02-13 23:15  gb
3061
3062        * lib/nfcomp.lisp: Bump current fasl version.
3063
30642007-02-13 23:02  gb
3065
3066        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
3067
30682007-02-13 22:45  gb
3069
3070        * xdump/faslenv.lisp: Start bumping fasl-version.
3071
30722007-02-13 22:41  gb
3073
3074        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
3075        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
3076
30772007-02-13 21:16  gb
3078
3079        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
3080        that contain incompatible definitions of some math library stuff
3081        ("log" either has to do with logarithms or logging ...).
3082
30832007-02-13 18:42  gb
3084
3085        * lib/misc.lisp: Change the way that TIME is reported by default:
3086        mention the number of available CPU cores, don't assume that
3087        there's that much of a relationship between CPU time and wall-clock
3088        time.
3089
30902007-02-13 18:41  gb
3091
3092        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3093        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3094        when :execute, too.
3095
30962007-02-13 18:35  gb
3097
3098        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3099        offset arg is required.
3100
31012007-02-13 18:12  gb
3102
3103        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3104        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3105
31062007-02-13 18:10  gb
3107
3108        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3109        cons.)
3110
31112007-02-13 18:10  gb
3112
3113        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3114        are more/other float-size issues deeper down in the code.
3115
31162007-02-13 18:09  gb
3117
3118        * examples/objc-support.lisp: Fixup the x86-64 error-return
3119        callback trampiline code (was missing a byte of machine code.)
3120
31212007-02-13 18:08  gb
3122
3123        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3124        jmp-buf to safe/sane values.
3125
31262007-02-13 18:07  gb
3127
3128        * examples/cocoa-window.lisp: Don't change-class
3129        *cocoa-event-process* until we start to run the event loop.
3130       
3131        Don't do _deallocHardCore: explicitly.
3132
31332007-02-13 17:35  gb
3134
3135        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3136        DOUBLE-FLOAT aliases just one gpr.
3137
31382007-02-13 17:34  gb
3139
3140        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3141
31422007-02-13 17:34  gb
3143
3144        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3145        32-bit ints, not "long".
3146
31472007-02-13 17:33  gb
3148
3149        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3150        for each scalar, not each arg.
3151       
3152        Fix some backquoting/indentation.
3153
31542007-02-13 17:31  gb
3155
3156        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3157
31582007-02-12 16:23  gb
3159
3160        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3161
31622007-02-11 20:22  gb
3163
3164        * examples/bridge.lisp: method-typestring needs to be
3165        conditionalized.  How has this been working ?
3166
31672007-02-11 20:22  gb
3168
3169        * examples/cocoa-editor.lisp: remove some debugging code.
3170
31712007-02-11 20:21  gb
3172
3173        * examples/objc-runtime.lisp: %mlist-containing is
3174        #-apple-objc-2.0.
3175
31762007-02-11 20:21  gb
3177
3178        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3179
31802007-02-11 05:35  gb
3181
3182        * level-1/version.lisp: Bump.
3183
31842007-02-11 05:28  gb
3185
3186        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3187        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3188        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3189        an optional argument; default to the Tiger SDK.
3190
31912007-02-11 05:26  gb
3192
3193        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3194        an errror.
3195
31962007-02-11 05:26  gb
3197
3198        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3199        Leopard renaming.  Suffer.
3200
32012007-02-11 05:25  gb
3202
3203        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3204        an existing process (so that the listener process appears to be
3205        "persistent".)
3206
32072007-02-11 05:24  gb
3208
3209        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3210        make the initial-listener object persistent acrosss
3211        SAVE-APPLICATION.
3212
32132007-02-11 00:01  gb
3214
3215        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3216       
3217        Handle callback-error-returns on x86-64.
3218
32192007-02-11 00:00  gb
3220
3221        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3222        use %ptr<, to hide word-size differences.
3223       
3224        __NSConstantStringClassReference isn't what it used to be, so look
3225        up NSConstantStringClass the hard way.
3226       
3227        Handle ns-exception/lisp-error stuff on x86-64.
3228       
3229        Do arg/result coercions differently.  Does any code depend on
3230        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3231        MACPTRs).
3232       
3233        Use the new FFI interface for message-sends, callbacks to try to
3234        hide platform-specific ABI issues.
3235       
3236        The _deallocate-hook mechanism - which never really worked -
3237        probably can't work on Objc-2.0.
3238
32392007-02-10 23:54  gb
3240
3241        * examples/bridge.lisp: Make structure return-type explicit in
3242        objc-message-send calls in send/stret and variants.
3243
32442007-02-10 22:34  gb
3245
3246        * examples/cocoa-window.lisp: Some indentation changes and slight
3247        reorganization of the code; shouldn't be any functional/semantic
3248        changes.
3249
32502007-02-10 22:30  gb
3251
3252        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3253        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3254        appropriate; other changes for 64-bit platforms, Objc-2.0.
3255
32562007-02-10 22:28  gb
3257
3258        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3259        CG-FLOATs when appropriate.
3260
32612007-02-10 22:28  gb
3262
3263        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3264
32652007-02-10 22:28  gb
3266
3267        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3268
32692007-02-10 22:27  gb
3270
3271        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3272        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3273        ignore-errors when trying to parse the last arglist form as a
3274        foreign type.
3275
32762007-02-10 22:26  gb
3277
3278        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3279        expansion ...
3280
32812007-02-10 22:26  gb
3282
3283        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3284        use %rdx and %r11 to hold target address.
3285
32862007-02-10 22:23  gb
3287
3288        * library/pty.lisp: Unicode stuff when accessing control char
3289        array; conditionalize for #+darwin-target, not just
3290        #+darwinppc-target.
3291
32922007-02-10 22:22  gb
3293
3294        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3295        ppc-specific; the comment dated from the days of 68K MCL.)
3296
32972007-02-10 22:21  gb
3298
3299        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3300        return 32 bits at a time, to avoid consing little bignums.
3301
33022007-02-10 22:15  gb
3303
3304        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3305
33062007-02-10 22:15  gb
3307
3308        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3309        count, not total byte count.
3310       
3311        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3312        the PPC case, as well.)
3313
33142007-02-10 22:11  gb
3315
3316        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3317        "zero-extend-s8" vinsn, but there does need to be a
3318        "zero-extend-u8".
3319
33202007-02-10 05:38  gb
3321
3322        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3323        #'VALUES.
3324
33252007-02-10 05:38  gb
3326
3327        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3328        ARGLIST can say -something- about lap functions that don't take a
3329        fixed number of arguments.
3330
33312007-02-07 02:54  gb
3332
3333        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3334        "e".
3335
33362007-02-02 02:32  gb
3337
3338        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3339        objc-support.lisp: Start to integrate with FFI changes.  No more
3340        %SEND, process and precompile "init" messages when interfaces are
3341        accessed.  (Note: should try to handle varargs init messages, even
3342        if we have to call %FF-CALL at runtime.)
3343
33442007-02-02 02:31  gb
3345
3346        * examples/: addressbook.lisp, webkit.lisp: Change the
3347        initialization code a bit.
3348
33492007-02-02 02:27  gb
3350
3351        * lib/foreign-types.lisp: Try to fix another case involving
3352        "auxiliary types".
3353       
3354        I think that the concept of auxiliary types might make sense in a
3355        context like:
3356       
3357        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3358        (:struct :bar (:x :int) (:y :int)))))
3359       
3360        In that case, :struct :bar is local to the definition.  In the
3361        similar case:
3362       
3363        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3364        (:struct :bar))))
3365       
3366        :BAR is presumably defined (globally) elsewhere.
3367
33682007-02-02 02:17  gb
3369
3370        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3371         (Setting "SDK=" will hopefully work with older version of xcode.)
3372
33732007-02-02 02:15  gb
3374
3375        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3376
33772007-01-31 23:26  gb
3378
3379        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3380        argument in ppc2-poweropen-foreign-args.
3381
33822007-01-31 22:47  gb
3383
3384        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3385        components from registers.
3386
33872007-01-31 22:45  gb
3388
3389        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3390        brackets are returned verbatim, not downcased.
3391
33922007-01-31 22:44  gb
3393
3394        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3395        accepts :registers.
3396
33972007-01-31 16:36  gb
3398
3399        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3400        New (and, so far, useless) files.
3401
34022007-01-31 16:35  gb
3403
3404        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3405        seems to be 32-bit only.
3406
34072007-01-31 16:34  gb
3408
3409        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3410
34112007-01-31 16:34  gb
3412
3413        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3414
34152007-01-31 16:33  gb
3416
3417        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3418        missing cdb file: dog bytes man; missing parent directory is more
3419        newsworthy.
3420
34212007-01-31 15:38  gb
3422
3423        * library/chud-metering.lisp: Tweak a little, so that it might work
3424        on darwinppc64 (and on darwinx8664 when purify does something
3425        there.)
3426
34272007-01-31 15:06  gb
3428
3429        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3430
34312007-01-31 02:49  gb
3432
3433        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3434
34352007-01-30 22:53  gb
3436
3437        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3438        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3439        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3440        gl/.cvsignore: new files.
3441
34422007-01-30 22:21  gb
3443
3444        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3445        new files.
3446
34472007-01-30 21:58  gb
3448
3449        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3450
34512007-01-30 21:58  gb
3452
3453        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3454        file
3455
34562007-01-30 21:49  gb
3457
3458        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3459        fun!
3460
34612007-01-30 21:40  gb
3462
3463        * library/openmcl-gtk-support.lisp: Conditionalize out the
3464        event-polling task.
3465
34662007-01-30 21:36  gb
3467
3468        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3469        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3470        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3471
34722007-01-30 21:35  gb
3473
3474        * headers/gl/C/populate.sh: process glu.h
3475
34762007-01-30 17:47  gb
3477
3478        * library/parse-ffi.lisp: Always encode explicit structure-typed
3479        function return values.
3480       
3481        Note when we see one, for now.
3482
34832007-01-30 17:45  gb
3484
3485        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3486        leading argument to be paired with a structure-typed return-type.
3487
34882007-01-30 17:43  gb
3489
3490        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3491        the first-arg hack.
3492
34932007-01-30 17:42  gb
3494
3495        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3496        support the old version.
3497       
3498        Don't check the :struct-by-value flag when encoding function
3499        args/results.  (That decision's made above our pay grade now.)
3500       
3501        When reading a :struct/:union definition, try to update an existing
3502        defintion rather than consing up a new one (this matters if the
3503        record is anonymous.)
3504
35052007-01-30 17:39  gb
3506
3507        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3508        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3509        correctly.
3510       
3511        Fix c_socket for #+linuxppc.
3512
35132007-01-30 08:20  gb
3514
3515        * level-1/version.lisp: Bump.
3516
35172007-01-30 08:20  gb
3518
3519        * lib/compile-ccl.lisp: Use make -j to build kernel.
3520
35212007-01-30 07:02  gb
3522
3523        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3524        xmm0/xmm1.
3525
35262007-01-30 07:01  gb
3527
3528        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3529        day's work turned into 2 weeks, somehow.)
3530
35312007-01-30 07:00  gb
3532
3533        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3534        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3535        stuff for x8664 (all platfroms appear to use the same ABI.)
3536
35372007-01-30 03:26  gb
3538
3539        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3540        displacement in %ATOMIC-INCF-NODE.
3541
35422007-01-29 07:27  gb
3543
3544        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3545
35462007-01-29 07:27  gb
3547
3548        * lib/ffi-darwinppc64.lisp: new callback stuff.
3549
35502007-01-29 07:27  gb
3551
3552        * lib/ffi-darwinppc32.lisp: typos-r-us.
3553
35542007-01-29 04:37  gb
3555
3556        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3557
35582007-01-29 04:37  gb
3559
3560        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3561
35622007-01-29 04:36  gb
3563
3564        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3565
35662007-01-29 04:36  gb
3567
3568        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3569
35702007-01-29 04:36  gb
3571
3572        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3573        stuff here.
3574
35752007-01-29 02:33  gb
3576
3577        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3578
35792007-01-28 21:47  gb
3580
3581        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3582        a bit more, change the API, get things working ... still a moving
3583        target.
3584
35852007-01-28 21:46  gb
3586
3587        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3588        (Other platforms still need more bootstrapping.)
3589
35902007-01-28 21:44  gb
3591
3592        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3593        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3594
35952007-01-28 03:21  gb
3596
3597        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3598        dynamic-extent, other decls separately.
3599
36002007-01-28 03:20  gb
3601
3602        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3603        use the new (ftd-based) scheme.
3604
36052007-01-28 01:43  gb
3606
3607        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3608        code's getting replaced, but fix 'em anyway.)
3609
36102007-01-28 01:42  gb
3611
3612        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3613        translated pathname and mention the fact that this might indicate a
3614        problem with "ccl:"'s logical translations.
3615
36162007-01-25 04:37  gb
3617
3618        * lib/foreign-types.lisp: Never fully understood the concept
3619        "auxiliary" foreign types, but try to canonicalize intermediate
3620        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3621        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3622        likely to return T (e.g., something registered in the FTD.
3623       
3624        It seems clear that this is the right thing when the structure
3625        reference is in global scope; I'm not sure what it'd mean for that
3626        not to be the case.
3627
36282007-01-25 04:32  gb
3629
3630        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3631        callback.
3632
36332007-01-24 23:41  gb
3634
3635        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3636        may not even compile.
3637
36382007-01-24 02:39  gb
3639
3640        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3641        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3642        for new FTD functions.
3643
36442007-01-24 02:28  gb
3645
3646        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3647        defstruct.
3648
36492007-01-23 15:28  gb
3650
3651        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3652        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3653        Return FPRs in the same place.  (Will need to re-work all of this
3654        for platform-dependent structure stuff.)
3655
36562007-01-23 15:26  gb
3657
3658        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3659        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3660        the lisp side.)
3661
36622007-01-23 15:21  gb
3663
3664        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3665        c_reg_save for saved fp args (f1-f13).
3666
36672007-01-23 15:14  gb
3668
3669        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3670        ftd hook.
3671
36722007-01-23 07:19  gb
3673
3674        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3675        (CLASS-OF non-simple-string).
3676
36772007-01-23 07:02  gb
3678
3679        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3680        array case, needed new string definition.
3681
36822007-01-23 07:01  gb
3683
3684        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3685        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3686        compiler/X86/X8664/x8664-backend.
3687
36882007-01-23 06:59  gb
3689
3690        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3691        stuff here.
3692
36932007-01-21 08:32  gb
3694
3695        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3696        "-returning-").
3697       
3698        Typecheck the :registers arg.
3699
37002007-01-21 08:32  gb
3701
3702        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3703
37042007-01-21 08:31  gb
3705
3706        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3707        stack-block.
3708
37092007-01-21 08:31  gb
3710
3711        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3712        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3713        instead.
3714
37152007-01-21 06:46  gb
3716
3717        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3718        space for 13 float registers, not 31.
3719
37202007-01-21 06:45  gb
3721
3722        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3723        x86-64.
3724
37252007-01-21 06:38  gb
3726
3727        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3728        register return without typos.
3729
37302007-01-21 06:15  gb
3731
3732        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3733        register return.
3734
37352007-01-21 06:14  gb
3736
3737        * compiler/nx1.lisp: Don't assume that passing a structure by value
3738        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3739        platform that doesn't support the convention.)
3740
37412007-01-21 06:12  gb
3742
3743        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3744        replaces .SPunused-4.
3745
37462007-01-21 06:10  gb
3747
3748        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3749        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3750        (replaces .SPunused_4).
3751
37522007-01-21 00:05  gb
3753
3754        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3755        argument/result coercion functions in os::expand-ff-call.
3756
37572007-01-20 23:53  gb
3758
3759        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3760        results when expanding an ff-call.
3761
37622007-01-20 23:52  gb
3763
3764        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3765        foreign args, results.
3766
37672007-01-20 22:31  gb
3768
3769        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3770        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3771        are to each other.  I'd guess that they're pretty close, and that
3772        x86-64 Darwin is random.)
3773
37742007-01-20 21:55  gb
3775
3776        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3777
37782007-01-20 19:34  gb
3779
3780        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3781
37822007-01-20 19:25  gb
3783
3784        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3785        right os::ff-call-expander.
3786
37872007-01-20 19:24  gb
3788
3789        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3790
37912007-01-20 19:24  gb
3792
3793        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3794        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3795        OS.
3796
37972007-01-20 19:23  gb
3798
3799        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3800        probably several more.
3801
38022007-01-20 19:22  gb
3803
3804        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3805
38062007-01-20 19:21  gb
3807
3808        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3809        extended to handle coercions at the Cocoa level, and probably needs
3810        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3811        installed by #_).
3812
38132007-01-20 19:18  gb
3814
3815        * lib/db-io.lisp: Encode, decode union types in arglists.
3816
38172007-01-20 19:17  gb
3818
3819        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3820        os::expand-ff-call.
3821       
3822        Canonicalize the :void type a bit better.
3823
38242007-01-20 19:16  gb
3825
3826        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3827
38282007-01-18 23:15  gb
3829
3830        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3831
38322007-01-18 23:15  gb
3833
3834        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3835
38362007-01-18 23:15  gb
3837
3838        * lib/systems.lisp: Add the new ffi-backend sources.
3839
38402007-01-18 23:14  gb
3841
3842        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3843        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3844        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3845        files.
3846
38472007-01-18 04:35  gb
3848
3849        * level-1/version.lisp: Bump.
3850
38512007-01-18 04:17  gb
3852
3853        * examples/bridge.lisp: Some word-size conditionalization.  Will
3854        need more work to handle struct return/asssignment correctly on all
3855        platforms.
3856
38572007-01-18 04:15  gb
3858
3859        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3860        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3861
38622007-01-18 04:13  gb
3863
3864        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3865        type casts, etc.
3866
38672007-01-18 04:12  gb
3868
3869        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3870        deprecated NSFont stuff.
3871
38722007-01-18 04:11  gb
3873
3874        * examples/objc-clos.lisp: Handle ivars, class
3875        creation/initialization differently for ObjC 2.0.
3876
38772007-01-18 04:10  gb
3878
3879        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3880
38812007-01-18 04:09  gb
3882
3883        * examples/objc-support.lisp: Note which protocols are actually
3884        used when walking classes.  (There doesn't seem to be a good way of
3885        finding a Protocol object pre-objc-2.0, and we may need to test
3886        protocol compliance to disambiguate message sends in some cases.)
3887
38882007-01-18 04:07  gb
3889
3890        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3891        necessarily darwinppc).
3892
38932007-01-18 04:06  gb
3894
3895        * examples/addressbook.lisp: Conditionalize for darwin (not
3896        necessarily darwinppc).  May want to conditionalize for bundle
3897        executable name, as well.
3898
38992007-01-18 04:05  gb
3900
3901        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3902        to sketch out structure return code (structures are often
3903        "returned" by returning field values in registers pn DarwinPPC64.)
3904
39052007-01-18 04:04  gb
3906
3907        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3908        attributes for structure args/results.
3909
39102007-01-18 04:03  gb
3911
3912        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3913         (Will need this for other platforms, too.)
3914
39152007-01-18 04:01  gb
3916
3917        * lib/macros.lisp: Arch-specific macro interface for
3918        WITH-FFCALL-RESULTS.
3919
39202007-01-18 04:00  gb
3921
3922        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3923        return value.
3924
39252007-01-18 04:00  gb
3926
3927        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3928        .SPpoweropen_ffcall_return_registers.
3929
39302007-01-18 03:59  gb
3931
3932        * library/parse-ffi.lisp: At least optionally, make structure
3933        return explicit (expecting it to be handled by higher-level code.)
3934
39352007-01-18 03:58  gb
3936
3937        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3938        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3939
39402007-01-18 03:55  gb
3941
3942        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3943        may hold OS thread context.
3944
39452007-01-18 03:54  gb
3946
3947        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3948        in ftd.
3949
39502007-01-18 03:53  gb
3951
3952        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3953        macro.
3954
39552007-01-18 03:52  gb
3956
3957        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3958        all possible result regs.  (Maybe poweropen syscall, too.)
3959
39602007-01-18 03:51  gb
3961
3962        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3963        .SPpoweropen-ff-call-return-registers.
3964
39652007-01-18 03:50  gb
3966
3967        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3968        supported, backend will return all (potential) result registers in
3969        buffer at <exp>.
3970
39712007-01-16 02:01  gb
3972
3973        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3974        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3975        functions make less sense for character streams/strings than they
3976        used to.)
3977
39782007-01-16 01:39  gb
3979
3980        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3981        defaults to :BIVALENT
3982
39832007-01-16 01:37  gb
3984
3985        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3986
39872007-01-11 23:58  gb
3988
3989        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3990        into (* (/ constant1 constant2) exp).  Not very general, but makes
3991        some foreign address arithmetic better.
3992
39932007-01-11 23:56  gb
3994
3995        * lib/macros.lisp: Simple PAREF: (paref pointer
3996        foreign-pointer-or-array-type index) does simple arithmetic for
3997        you.
3998
39992007-01-11 23:54  gb
4000
4001        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
4002
40032007-01-10 15:50  gb
4004
4005        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
4006        double->heap vinsn.
4007
40082007-01-09 11:33  gb
4009
4010        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
4011        cleanup and multiple values are being thrown, be sure to set
4012        tcr.xframe from the target catch frame.  This is necessary on
4013        general principles (GC safety), and especially necessary if the
4014        cleanup form does a non-local exit.
4015
40162007-01-08 22:12  gb
4017
4018        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
4019        Revive some of the old GNUstep support; add partial ObjC 2.0
4020        support (for 64-bit targets only, so far.)
4021
40222007-01-08 22:11  gb
4023
4024        * examples/cocoa.lisp: Conditionalize for darwin-target, not
4025        darwinppc-target.
4026
40272007-01-08 22:10  gb
4028
4029        * examples/cocoa-listener.lisp: Disable background layout in the
4030        listener; the whole two-thread scheme probably isn't viable, but
4031        doing this seems to suppress a timing-related symptom.
4032
40332007-01-08 22:09  gb
4034
4035        * examples/cocoa-editor.lisp: Document-begin-editing,
4036        document-end-editing: both seem to have been conditionalized
4037        backwards.
4038
40392007-01-05 16:22  gb
4040
4041        * level-0/l0-numbers.lisp: Fix another typo ...
4042
40432007-01-05 16:16  gb
4044
4045        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
4046
40472007-01-05 15:27  gb
4048
4049        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
4050        PPC32.
4051
40522007-01-05 06:20  gb
4053
4054        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
4055        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
4056        result (with the right arg) does obtain a link map.
4057       
4058        Revive shared libraries on FreeBSD, but don't do the strange
4059        Linux-specific re-opening there.  (It seems like it's possible to
4060        #_dlopen something that already has a loaded link map - like the
4061        FreeBSD dynamic linker - or something.)
4062
40632007-01-04 05:46  gb
4064
4065        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
4066        :WILD-INFERIORS.
4067
40682007-01-04 05:45  gb
4069
4070        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
4071        (which may use %gs instead of %fs for tls).
4072
40732007-01-04 05:44  gb
4074
4075        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
4076
40772007-01-04 05:44  gb
4078
4079        * level-0/l0-numbers.lisp:
4080        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
4081        accurately represented in float, do so.
4082
40832007-01-03 03:35  gb
4084
4085        * lib/sequences.lisp: Fix a few type errors, check for explicit
4086        vector-type length earlier.
4087
40882007-01-03 03:31  gb
4089
4090        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4091        preserved :WILD, don't map it to "*".
4092
40932007-01-03 03:30  gb
4094
4095        * lib/pathnames.lisp: More whack-a-mole with pathnames
4096        (specifically, preserving :WILD as name/type value and dealing with
4097        the consequences of doing so.)
4098
40992007-01-03 03:27  gb
4100
4101        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4102
41032007-01-02 09:57  gb
4104
4105        * lib/macros.lisp: Keep fixing CTYPECASE.
4106
41072007-01-02 09:57  gb
4108
4109        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4110        BASIC-CHARACTER-INPUT-STREAM returns both values.
4111       
4112        "Composite" (two-way, concatenated, etc) streams need a close
4113        protocol.
4114
41152007-01-02 07:00  gb
4116
4117        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4118        (new) version slot, as does practically everything else.
4119
41202007-01-02 06:59  gb
4121
4122        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4123        accurately coerced to floats when comparing fixnums and floats; do
4124        the logical equvalent of calling RATIONAL on the float instead.
4125
41262007-01-01 23:41  gb
4127
4128        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4129        version into returned namestring for physical pathnames.
4130
41312006-12-31 10:15  gb
4132
4133        * release-notes.txt: Update.
4134
41352006-12-31 09:13  gb
4136
4137        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4138        version.
4139
41402006-12-31 08:57  gb
4141
4142        * xdump/faslenv.lisp: Bump fasl-min-vers.
4143
41442006-12-31 08:49  gb
4145
4146        * lib/nfcomp.lisp: Bump current fasl version.
4147
41482006-12-31 08:33  gb
4149
4150        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4151        Tweak the executable start address.
4152
41532006-12-31 02:44  gb
4154
4155        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4156        ensure that there's nothing interesting in the first few pages of
4157        the address space (and ensure that those pages are mapped.)
4158
41592006-12-31 02:43  gb
4160
4161        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4162        on x86-64 (ld64 does some floating-point arithmetic, fails to
4163        account for roundoff error, and claims that 0x1000 isn't a power of
4164        2.) If you can't say anything good about a linker, it's best not to
4165        say anything at all.
4166       
4167        We can force the first segment to be mapped at 0x1000, and can
4168        waste a few pages to ensure that all low-memory pages that the lisp
4169        wants are mapped.
4170
41712006-12-31 02:33  gb
4172
4173        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4174        defensive.
4175
41762006-12-31 02:32  gb
4177
4178        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4179
41802006-12-31 02:29  gb
4181
4182        * xdump/faslenv.lisp: Bump $fasl-vers.
4183
41842006-12-31 02:28  gb
4185
4186        * level-1/version.lisp: Bump; remove "Beta" designation.
4187
41882006-12-29 20:13  gb
4189
4190        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4191        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4192        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4193        up a page on x86-64 as well.
4194
41952006-12-29 16:09  gb
4196
4197        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4198        .orged.
4199
42002006-12-29 15:32  gb
4201
4202        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4203        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4204        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4205        (including NIL) now one page higher on ppc32, as well.
4206
42072006-12-29 02:38  gb
4208
4209        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4210
42112006-12-29 01:38  gb
4212
4213        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4214        ppc64::reservation-discharge) up a page.
4215
42162006-12-29 01:37  gb
4217
4218        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4219        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4220
42212006-12-29 01:36  gb
4222
4223        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4224        backend.  ppc64 wants it one page higher than it has been, to avoid
4225        letting unmapped pages get claimed by the dynamic linker on Darwin.
4226
42272006-12-29 01:35  gb
4228
4229        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4230        that the image starts at #x1000 and aligned section data for the
4231        text section starts on the next page.
4232
42332006-12-29 01:33  gb
4234
4235        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4236        the aligned text section data starts.
4237
42382006-12-29 01:32  gb
4239
4240        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4241        etc a page higher.
4242
42432006-12-29 01:32  gb
4244
4245        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4246        already where it should be.
4247
42482006-12-29 01:32  gb
4249
4250        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4251        page higher.
4252
42532006-12-29 01:30  gb
4254
4255        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4256
42572006-12-22 01:40  gb
4258
4259        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4260
42612006-12-22 01:39  gb
4262
4263        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4264        PPC32/Darwin.
4265       
4266        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4267        test and use dlfcn functions if at least Tiger.
4268       
4269        (The old dyld functions are deprecated under Leopard, and there's
4270        reason to believe that they don't work correctly on at least ppc64/
4271        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4272        a 64-bit .dylib seems to lead to memory corruption rather than
4273        returning NSObjectFileImageInappropriateFile.
4274       
4275        The old functions work better than the dlfcn functions on pre-Tiger
4276        systems.)
4277
42782006-12-19 01:24  gb
4279
4280        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4281        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4282        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4283        producing a pathane with a non-null VERSION component, as it
4284        arguably should have been all along.
4285
42862006-12-18 13:22  gb
4287
4288        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4289        types into concrete vector types.
4290
42912006-12-18 13:04  gb
4292
4293        * level-1/l1-pathnames.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 13:03  gb
4298
4299        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4300
43012006-12-18 12:57  gb
4302
4303        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4304        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4305        failing to do this leads to many test failures.)
4306
43072006-12-18 12:54  gb
4308
4309        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4310
43112006-12-16 05:28  gb
4312
4313        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4314        instructions have a minor opcode in frb and only have one source
4315        operand.
4316
43172006-12-16 05:27  gb
4318
4319        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4320        SQRT, note that there's only one operand and that it's in frb.
4321
43222006-12-16 05:25  gb
4323
4324        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4325        instructions, notably fsqrt/fqrts, which are optional and not
4326        implemented on some PPC machines.
4327
43282006-12-16 05:24  gb
4329
4330        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4331
43322006-12-14 19:47  gb
4333
4334        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4335
43362006-12-14 16:43  gb
4337
4338        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4339        double-float arithmetic vinsns should say :double-float, not
4340        :single-float.  (I suspect cut-and-paste, frankly.)
4341
43422006-12-14 16:25  gb
4343
4344        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4345        initial-thread.
4346
43472006-12-14 16:24  gb
4348
4349        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4350        error.
4351
43522006-12-14 16:14  gb
4353
4354        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4355        physical pathnames. (Yes, this is kind of silly.)
4356
43572006-12-14 16:01  gb
4358
4359        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4360        signal errors for (e.g.) failed memory allocation.
4361
43622006-12-14 16:00  gb
4363
4364        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4365        fails, signal a lisp error (what a concept.)
4366
43672006-12-14 15:51  gb
4368
4369        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4370       
4371        Might be worth revisiting this.
4372
43732006-12-14 15:50  gb
4374
4375        * lisp-kernel/x86-exceptions.c: Go back to using the
4376        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4377        from a fake context may not be reliable.
4378       
4379        When handling an interrupt with a partially created temp stack
4380        frame, do the right thing.  (That basically means reset the frame
4381        before calling out and recreating it if we return from the
4382        callout.)
4383       
4384        Handle SIGQUIT on the altstack, to provide a way of forcibly
4385        terminating threads that's a bit more GC-safe than doing it via
4386        #_pthread_cancel.
4387       
4388        Note the tcr of the gc thread on gc entry; if an exception happens
4389        in that thread, print a message and sleep for 60 seconds.
4390       
4391        Note that there's still a race condition here: if thread A gets an
4392        exception and thread B gets the mach_exception_lock (to GC) before
4393        the exception thread can handle the message, we deadlock (thread A
4394        would be suspended in the kernel and can't respond to a suspend
4395        signal.)  We can tell that this has happened and make a good guess
4396        as to why it happened, but dealing with it will require some
4397        thought.  (If we've already issued a suspend signal and eventually
4398        raise the suspended thread's resume semaphore, it'll suspend and
4399        resume once the mach exception thread makes it runnable.  Who
4400        cleans up its exception context in that case ?  Does it matter ?)
4401
44022006-12-14 15:19  gb
4403
4404        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4405        have all signals unmasked.
4406       
4407        If a tcr is dead, ensure that its stack areas are empty.
4408       
4409        Try to run shutdown_thread_tcr as a pthread cleanup action,
4410        hopefully before Mach clobbers the thread's signal mask.
4411
44122006-12-14 15:16  gb
4413
4414        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4415        TCR_AREA_LOCK.
4416
44172006-12-14 15:15  gb
4418
4419        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4420        hasn't existed in years.
4421
44222006-12-14 15:14  gb
4423
4424        * level-1/version.lisp: Bump.
4425
44262006-12-14 15:14  gb
4427
4428        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4429        termination semaphore.
4430
44312006-12-14 15:13  gb
4432
4433        * level-1/l1-processes.lisp: PROCESS objects are created with a
4434        termination semaphore.
4435
44362006-12-14 15:12  gb
4437
4438        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4439        TERMINATION-SEMAPHORE.
4440       
4441        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4442        target thread to transition from running lisp code to running
4443        foreign code without advertising that fact. Send a SIGQUIT instead,
4444        and trust the SIGQUIT handler to manage that transition.  Don't try
4445        to kill the initial thread.
4446
44472006-12-09 09:52  gb
4448
4449        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4450        their CLEAR-OUTPUT methods.
4451       
4452        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4453        their displaced-index-offsets.)
4454
44552006-12-09 09:49  gb
4456
4457        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4458        threads on x86-64.  (The PPC never got around to enabling them.)
4459
44602006-12-09 09:47  gb
4461
4462        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4463        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4464        the result of its evaluation.
4465       
4466        Some fixes in CTYPECASE handling, which hopefully didn't break
4467        anything else.
4468
44692006-12-09 09:36  gb
4470
4471        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4472        1d) index register is set - even if the index is a constant - if we
4473        think that the store needs EGC memoization.
4474       
4475        (Note that the test case that exposed this involved storing
4476        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4477        64-bit platforms.)
4478       
4479        In aref2, don't worry about reserving unscaled index registers when
4480        targeting the 1d index; the unscaled index registers aren't live
4481        after, could be NULL if the index is a constant, and any overlap
4482        between one of them and the 1d index should be handled in the
4483        vinsn(s).
4484
44852006-12-09 09:30  gb
4486
4487        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4488        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4489        class-translations.
4490
44912006-12-09 09:27  gb
4492
4493        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4494        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4495        don't segfault taking its CAR without checking.)
4496
44972006-12-06 18:48  gb
4498
4499        * level-0/X86/x86-float.lisp: x86-64 version of
4500        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4501        in %imm1 (which is undefined here ...)
4502
45032006-12-06 17:05  gb
4504
4505        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4506        right symbol for the named block.
4507       
4508        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4509        (SETF NAME).
4510
45112006-12-05 22:44  gb
4512
4513        * release-notes.txt: Update for 061205.
4514
45152006-12-05 20:31  gb
4516
4517        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4518        from putting a linkedit segment in the wrong place and making
4519        32-bit memory unmappable.
4520
45212006-12-05 20:30  gb
4522
4523        * level-1/version.lisp: Bump.
4524
45252006-12-05 20:29  gb
4526
4527        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4528
45292006-12-05 18:53  gb
4530
4531        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4532        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4533        doc string for *ALTERNATE-LINE-TERMINATOR*.
4534
45352006-12-04 15:13  gb
4536
4537        * level-1/version.lisp: Append a patchlevel to the version string,
4538        at least until new tarballs can be built.
4539
45402006-12-04 15:12  gb
4541
4542        * level-1/l1-streams.lisp: If stream element type upgrades to
4543        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4544        element-type.)
4545
45462006-12-04 13:02  gb
4547
4548        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4549        called): don't bother to shift by 0 bits.  Do shift the initial U
4550        if non-zero trailing 0 BITS (was testing for non-zero trailing
4551        DIGITS.)
4552
45532006-12-04 12:52  gb
4554
4555        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4556        element-types; do some upgrading to support some more element types
4557        (BIT -> (UNSIGNED-BYTE 8)).
4558       
4559        Maybe support arbitrarily large integer types someday soon.  Maybe
4560        not.
4561
45622006-12-04 12:48  gb
4563
4564        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4565        types (compiler stuff, mostly).
4566
45672006-12-04 12:46  gb
4568
4569        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4570        shift count of 32 (and returns 0 in that case.)
4571
45722006-12-04 12:46  gb
4573
4574        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4575        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4576        in case.)
4577
45782006-12-04 12:43  gb
4579
4580        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4581        GCD-2 ...
4582
45832006-12-04 09:26  gb
4584
4585        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4586        for STRING-INPUT-STREAMs.
4587
45882006-12-04 09:24  gb
4589
4590        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4591        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4592        shift by 0 bits.
4593
45942006-12-04 09:21  gb
4595
4596        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4597        doing %SLOT-UNBOUND-TRAP.
4598
45992006-12-04 09:21  gb
4600
4601        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4602        STREAMs, returns NIL.  STREAM-POSITION method for
4603        STRING-INPUT-STREAMs.
4604
46052006-12-04 09:19  gb
4606
4607        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4608        containing heap image.
4609
46102006-12-03 07:41  gb
4611
4612        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4613        STRING-OUTPUT-STREAMs are no-ops.
4614       
4615        Need an ioblock-based character-read-vector function for
4616        string-input-streams.
4617
46182006-12-03 07:37  gb
4619
4620        * lib/describe.lisp: Minimal DESCRIBE support for
4621        CCL::BASIC-STREAM.
4622
46232006-12-03 07:36  gb
4624
4625        * lib/macros.lisp: If :element-type is supplied in
4626        WITH-OUTPUT-TO-STRING, don't quote it.
4627
46282006-12-03 05:11  gb
4629
4630        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4631        isn't necessarily 16.
4632
46332006-12-03 05:10  gb
4634
4635        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4636        isn't necessarily 16.
4637       
4638        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4639        %slot-unbound-trap.
4640
46412006-12-03 05:09  gb
4642
4643        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4644        avoid some NO-NEXT-METHODs.
4645
46462006-12-03 02:42  gb
4647
4648        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4649        bit better.
4650
46512006-12-03 02:41  gb
4652
4653        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4654        bit.
4655
46562006-12-03 02:28  gb
4657
4658        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4659        clearing the low byte of the header, shifting it right, and
4660        comparing the index to that.  (It's not reliable to shift the index
4661        left.)
4662
46632006-12-03 02:26  gb
4664
4665        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4666        write BOM, leave that up to higher-level code.
4667       
4668        Start to write some higher-level code.
4669
46702006-12-03 02:23  gb
4671
4672        * level-1/l1-sysio.lisp: Fix some indentation.
4673
46742006-12-03 02:21  gb
4675
4676        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4677        the header word right (after clearing its low byte) and compare the
4678        index to that.  (Shifting the index left - d'oh - obviously fails
4679        for indices of large magnitude.)
4680
46812006-11-29 21:07  gb
4682
4683        * lib/db-io.lisp: Indentation change.
4684       
4685        Add CDB-ENUMERATE-KEYS.
4686
46872006-11-29 18:37  gb
4688
4689        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4690        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4691        LISTP first.  (I hope ...).  Do so.
4692
46932006-11-28 18:42  gb
4694
4695        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4696
46972006-11-28 16:14  gb
4698
4699        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4700
47012006-11-28 16:12  gb
4702
4703        * examples/objc-runtime.lisp: Wrap a (primitive)
4704        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4705        NSThread.
4706
47072006-11-28 16:09  gb
4708
4709        * examples/cocoa-listener.lisp: Don't claim that a callback
4710        parameter is ignored; use IGNORABLE instead.
4711
47122006-11-21 01:28  gb
4713
4714        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4715        conditionalization.
4716
47172006-11-21 00:55  gb
4718
4719        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4720        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4721       
4722        Basic file-socket streams.
4723
47242006-11-10 05:08  gb
4725
4726        * release-notes.txt: Update.
4727
47282006-11-10 04:28  gb
4729
4730        * lisp-kernel/image.h: Bump min image version.
4731
47322006-11-10 04:19  gb
4733
4734        * xdump/heap-image.lisp: bump current image version.
4735
47362006-11-10 04:19  gb
4737
4738        * lisp-kernel/image.h: bump current, max image version.
4739
47402006-11-10 04:10  gb
4741
4742        * xdump/faslenv.lisp: Bump min fasl version.
4743
47442006-11-10 03:56  gb
4745
4746        * lib/nfcomp.lisp: bump current fasl version.
4747
47482006-11-10 03:47  gb
4749
4750        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4751        #_exit
4752
47532006-11-10 03:46  gb
4754
4755        * compiler/X86/x862.lisp: TYPE typo.
4756
47572006-11-10 03:32  gb
4758
4759        * xdump/faslenv.lisp: Bump max fasl version.
4760
47612006-11-10 03:25  gb
4762
4763        * level-1/version.lisp: Bump.  New snapshots today!
4764
47652006-11-09 16:26  gb
4766
4767        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4768       
4769        PREPARE-TO-QUIT kill stragglers without waiting as long.
4770
47712006-11-09 15:50  gb
4772
4773        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4774       
4775        Try to run lisp code after #_exit via lazarus(); this is for some
4776        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4777       
4778        The environment in which The Undead code runs is a little funky,
4779        especially on PPC.  There might be GC implications (cstack will
4780        contain call history as of the point when #_exit called atexit
4781        handlers, vstack & tstack are emptied in lazarus()).  We should
4782        barely run any code in this environment, but we will GC a time or
4783        two ...
4784
47852006-11-09 15:45  gb
4786
4787        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4788
47892006-11-09 15:43  gb
4790
4791        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4792        protocol.
4793
47942006-11-09 15:42  gb
4795
4796        * examples/cocoa-listener.lisp: :set-document-edited for listener
4797        "documents" is a no-op.
4798
47992006-11-09 15:39  gb
4800
4801        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4802        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4803
48042006-11-09 12:50  gb
4805
4806        * compiler/X86/x862.lisp: Always check that array-ctype's
4807        dimensions are a list before taking their length.
4808
48092006-11-09 12:13  gb
4810
4811        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4812        right thing ...
4813
48142006-11-09 10:08  gb
4815
4816        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4817        Three-arg aref/(setf aref) for x8664.
4818
48192006-11-09 05:37  gb
4820
4821        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4822        errors.
4823
48242006-11-09 05:37  gb
4825
4826        * compiler/nxenv.lisp: Operators for 3d array access.
4827
48282006-11-09 05:36  gb
4829
4830        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4831        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4832        array types.
4833
48342006-11-08 12:50  gb
4835
4836        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4837        Leopard nonsense: define the stack context struct separately, make
4838        the ucontext stack field an instance of it.  (Not -sure- if that
4839        was necessary, but :poweropen-target was accidentally on *FEATURES*
4840        and foreign struct layout was using read-time condtionalization to
4841        decide whether or not to use brain-dead structure-alignment rules
4842        leftover from AIX/PowerOpen.
4843
48442006-11-08 12:46  gb
4845
4846        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4847
48482006-11-08 12:40  gb
4849
4850        * compiler/optimizers.lisp: Try to infer/insert the array type when
4851        compiler-macroexpanding MAKE-ARRAY calls.
4852
48532006-11-08 12:39  gb
4854
4855        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4856        :poweropen-alignment rules.
4857
48582006-11-08 12:38  gb
4859
4860        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4861        to poweropen structure layout rules should be an attribute of the
4862        FTD, not done via read-time conditionalization.
4863
48642006-11-08 05:15  gb
4865
4866        * level-1/version.lisp: Bump.
4867
48682006-11-08 05:15  gb
4869
4870        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4871       
4872        TODO: get rid of "bivalent" streams, but allow switching some
4873        streams (sockets) between "character mode" and "binary mode".
4874
48752006-11-08 02:39  gb
4876
4877        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4878
48792006-11-07 21:10  gb
4880
4881        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4882        ASET->%ASET3.
4883
48842006-11-07 20:40  gb
4885
4886        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4887
48882006-11-07 20:39  gb
4889
4890        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4891
48922006-11-07 20:38  gb
4893
4894        * level-0/l0-array.lisp: Use %aref2,%aref3.
4895
48962006-11-07 20:37  gb
4897
4898        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4899        vector-store vinsns.
4900
49012006-11-07 20:37  gb
4902
4903        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4904
49052006-11-07 10:28  gb
4906
4907        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4908        .SPaset3.
4909
49102006-11-07 10:27  gb
4911
4912        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4913
49142006-11-07 10:26  gb
4915
4916        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4917        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4918
49192006-11-07 10:26  gb
4920
4921        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4922        mullw/mulld.
4923
49242006-11-07 04:12  gb
4925
4926        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4927
49282006-11-06 22:07  gb
4929
4930        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4931        :fixnum-vector case.
4932
49332006-11-06 22:04  gb
4934
4935        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4936        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4937        known/declared.
4938
49392006-11-06 22:02  gb
4940
4941        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4942        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4943        versions, but it helps not to have to remember which are
4944        implemented and which aren't.)
4945
49462006-11-06 22:01  gb
4947
4948        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4949
49502006-11-06 22:00  gb
4951
4952        * compiler/nx1.lisp: New %ASET2 handling.
4953
49542006-11-06 21:59  gb
4955
4956        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4957        never assigned to.
4958
49592006-11-05 22:09  gb
4960
4961        * level-1/x86-trap-support.lisp: Try to work around
4962        incompatibilites in Tiger/Leopard headers.
4963
49642006-11-05 22:08  gb
4965
4966        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4967        the foreign function may not exist.
4968
49692006-11-05 20:41  gb
4970
4971        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4972
49732006-11-05 07:55  gb
4974
4975        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4976        x86-64, as well.
4977
49782006-11-05 07:52  gb
4979
4980        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4981
49822006-11-05 07:50  gb
4983
4984        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4985        .SPaset2.
4986
49872006-11-05 07:48  gb
4988
4989        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4990        testing simple-array-ness, add the (possibly 0) displacement from
4991        the header before handling the simple aref of the data vector.
4992
49932006-11-05 07:47  gb
4994
4995        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4996        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4997
49982006-11-05 07:46  gb
4999
5000        * level-1/version.lisp: Bump; new binaries soon.
5001
50022006-11-05 07:46  gb
5003
5004        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
5005        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
5006        4G seconds after an EINTR on Leopard.
5007
50082006-11-05 07:44  gb
5009
5010        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
5011        if any non-fixnum bits would be set in the result.  (Should
5012        probably make this true on all platforms; for PPC64, it's important
5013        for foreign function addresses that're ... suboptimally aligned.)
5014
50152006-11-05 07:42  gb
5016
5017        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
5018        %NANOSLEEP's second (by reference) argument contains garbage after
5019        an EINTR.  (The L word, again.)
5020
50212006-11-05 07:41  gb
5022
5023        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
5024        into the kernel.
5025
50262006-11-05 07:40  gb
5027
5028        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
5029        ppc64 functions whose addresses are not 0 mod 8, so (a) make
5030        MACPTR->FIXNUM return NIL if an address isn't representable as a
5031        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
5032        can't return a fixnum on PPC (really just affects PPC64.)
5033
50342006-11-05 07:37  gb
5035
5036        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
5037
50382006-11-05 07:36  gb
5039
5040        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5041        2d aref support/changes.
5042
50432006-11-05 07:36  gb
5044
5045        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
5046        x8664 wrt 2d aref.  Stll a ways to go.
5047
50482006-11-05 07:35  gb
5049
5050        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
5051
50522006-11-04 00:05  gb
5053
5054        * level-1/version.lisp: Bump.
5055
50562006-11-03 23:10  gb
5057
5058        * level-1/ppc-error-signal.lisp: fix parens.
5059
50602006-11-03 23:09  gb
5061
5062        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
5063        gvector types contains :struct, not :structure.
5064
50652006-11-03 23:08  gb
5066
5067        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
5068        subprim.
5069       
5070        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
5071        in the builtin functions table.
5072
50732006-11-03 15:19  gb
5074
5075        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
5076
50772006-11-03 15:18  gb
5078
5079        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
5080
50812006-11-03 15:17  gb
5082
5083        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
5084        type-error UUOs.
5085
50862006-11-03 15:16  gb
5087
5088        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5089
50902006-11-03 15:16  gb
5091
5092        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5093        (array-header) layout.
5094
50952006-11-03 13:46  gb
5096
5097        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5098        returns its argument if all members are SPECIALIZERS.
5099       
5100        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5101        arguments, for the benefit of people who haven't read the MOP spec
5102        or who don't realize that the MOP defines some things differently
5103        from CLHS.
5104
51052006-11-03 13:38  gb
5106
5107        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5108        to refer to primitive structure type.
5109       
5110        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5111
51122006-11-03 13:37  gb
5113
5114        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5115        :STRUCTURE) is on target-gvector-types.
5116
51172006-11-03 12:53  gb
5118
5119        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5120
51212006-11-03 12:52  gb
5122
5123        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5124         More to come ...
5125
51262006-11-03 12:52  gb
5127
5128        * lisp-kernel/x86-constants64.s: Define array-header layout.
5129
51302006-11-03 12:51  gb
5131
5132        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5133        encodings, new type-error constants.
5134
51352006-11-03 12:50  gb
5136
5137        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5138        traps.
5139
51402006-11-03 12:49  gb
5141
5142        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5143        constant-redefinition CERRORs.
5144
51452006-11-03 12:48  gb
5146
5147        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5148
51492006-11-03 12:47  gb
5150
5151        * level-0/l0-pred.lisp: array--header -> array-header.
5152
51532006-11-03 12:47  gb
5154
5155        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5156        add/change some 2d array stuff.
5157
51582006-11-03 12:43  gb
5159
5160        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5161        subprims; seem to be much (>5x) faster than the lisp/lap versions
5162        (though we can generally be faster still when we know the
5163        element-type and/or know whether the array is simple or explicitly
5164        displaced.)
5165
51662006-11-03 12:41  gb
5167
5168        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5169        related changes.
5170       
5171        Split the code which handles bounds/type-checking in vref out from
5172        the code which actually does the reference, so that the latter can
5173        be used in multidimensional cases.
5174       
5175        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5176        general case.)
5177
51782006-11-03 12:38  gb
5179
5180        * compiler/nx1.lisp: Change handling of 2d-aref.
5181
51822006-11-03 12:37  gb
5183
5184        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5185        general-aref2.  More changes to come (and this may affect
5186        compilation on PPC until some PPC compiler changes are
5187        made/checked-in.)
5188
51892006-11-03 12:35  gb
5190
5191        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5192        the range 128-255, rather than 64-127; more are defined.
5193
51942006-11-02 09:43  gb
5195
5196        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5197
51982006-11-02 09:37  gb
5199
5200        * compiler/arch.lisp: New error constants; work in progress ...
5201
52022006-11-01 11:40  gb
5203
5204        * lisp-kernel/errors.s: Some new constants; more to check in later.
5205
52062006-10-31 03:39  gb
5207
5208        * level-0/l0-io.lisp: You must be reading the OLD rule book
5209        (Leopard and #$EINTR).
5210
52112006-10-31 03:21  gb
5212
5213        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5214        the tcr.  Initialize "addr" before testing it ...
5215
52162006-10-31 03:21  gb
5217
5218        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5219        the tcr.
5220
52212006-10-30 20:40  gb
5222
5223        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5224        expands into something more useful.
5225
52262006-10-30 20:39  gb
5227
5228        * lisp-kernel/ppc-spentry.s: Fix ppc32
5229        misc_ref_double_float_vector.
5230
52312006-10-30 00:24  gb
5232
5233        * level-0/l0-bignum64.lisp: Enable the destructive version of
5234        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5235        provide/fix supporting functions.  Seems to work on ppc64; needs
5236        testing on x8664.
5237
52382006-10-27 17:49  gb
5239
5240        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5241
52422006-10-25 20:36  gb
5243
5244        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5245        variants): always clear the untyi-char.
5246       
5247        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5248        needs an argument.
5249       
5250        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5251        bivalent streams.
5252       
5253        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5254
52552006-10-24 12:35  gb
5256
5257        * level-1/version.lisp: Bump.
5258
52592006-10-24 01:29  gb
5260
5261        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5262        _SPdestbind1 (still used in inlining, sometimes.)
5263
52642006-10-24 01:05  gb
5265
5266        * release-notes.txt: Change the date, add/change some content.
5267
52682006-10-24 01:05  gb
5269
5270        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5271        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5272
52732006-10-24 00:56  gb
5274
5275        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5276        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5277
52782006-10-24 00:55  gb
5279
5280        * level-1/l1-streams.lisp: When recycling
5281        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5282        (Failure to do this can screw up the pretty-printer, among other
5283        things.)
5284
52852006-10-24 00:52  gb
5286
5287        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5288        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5289
52902006-10-23 17:03  gb
5291
5292        * release-notes.txt: Updated; almost ready to go (still a
5293        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5294
52952006-10-23 16:43  gb
5296
5297        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5298        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5299
53002006-10-23 16:42  gb
5301
5302        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5303        STREAM-EXTERNAL-FORMAT) methods.
5304
53052006-10-23 16:41  gb
5306
5307        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5308        stuff.
5309
53102006-10-23 08:27  gb
5311
5312        * level-1/version.lisp: Bump; binaries today, honest.
5313
53142006-10-23 08:27  gb
5315
5316        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5317
53182006-10-23 08:26  gb
5319
5320        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5321        macros were checking for the presence of an input lock ...
5322
53232006-10-23 05:40  gb
5324
5325        * level-1/l1-streams.lisp: Optimize write-string on string streams
5326        a little.
5327
53282006-10-23 05:26  gb
5329
5330        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5331        which evaluates the string form twice; don't do whatever was being
5332        done to default the element type of the string stream.
5333
53342006-10-23 05:24  gb
5335
5336        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5337        keyword/subtype checking if element-type not provided.  (Could also
5338        skip it if it's explicit and obviously OK.)
5339
53402006-10-23 05:22  gb
5341
5342        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5343        "current" allocation if nothing's reserved.
5344
53452006-10-23 05:19  gb
5346
5347        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5348        update_bytes_allocated (sign of "disp").
5349
53502006-10-22 08:02  gb
5351
5352        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5353        form like a PROGN if there are no other forms.
5354
53552006-10-22 08:01  gb
5356
5357        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5358        ioblock functions.
5359       
5360        New string-stream implementation.  Better ...
5361
53622006-10-22 07:59  gb
5363
5364        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5365        before the stream closes.
5366
53672006-10-22 07:59  gb
5368
5369        * lib/pprint.lisp: Don't assume that string output stream strings
5370        have a fill-pointer; use STREAM-POSITION instead.
5371
53722006-10-22 07:57  gb
5373
5374        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5375        functions, after all.
5376       
5377        Go through (new) ioblock-unread-char-function.
5378
53792006-10-22 07:55  gb
5380
5381        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5382        x/s
5383
53842006-10-21 18:46  gb
5385
5386        * level-1/l1-streams.lisp: Typo.
5387
53882006-10-21 18:41  gb
5389
5390        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5391        fields in pseudo sigcontexts.
5392
53932006-10-21 18:40  gb
5394
5395        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5396        twice, etc.)
5397
53982006-10-21 18:35  gb
5399
5400        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5401        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5402        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5403        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5404        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5405
54062006-10-21 16:45  gb
5407
5408        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5409        encodings!
5410
54112006-10-19 13:48  gb
5412
5413        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5414        arg_z - in %safe-get-ptr.
5415
54162006-10-19 13:22  gb
5417
5418        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5419        optional, use #\Sub char-code as replaement char.
5420
54212006-10-19 13:21  gb
5422
5423        * examples/objc-runtime.lisp: Missing close paren.
5424
54252006-10-19 13:19  gb
5426
5427        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5428        strings to/from foreign memory.
5429
54302006-10-19 13:18  gb
5431
5432        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5433
54342006-10-18 08:04  gb
5435
5436        * level-1/version.lisp: Bump.  Binaries later today ?
5437
54382006-10-18 07:38  gb
5439
5440        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5441        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5442        class becomes (or ceases to be) a properly named class.
5443       
5444        The pre-bootstrapping version handles simpler cases of that; use
5445        ALIAS-CLASS to register some early class names as type names.
5446
54472006-10-18 07:36  gb
5448
5449        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5450        system, since only symbols which name properly-named classes are
5451        type specifiers.  Changing the name of a class can either introduce
5452        or remove a properly-named class.
5453       
5454        Classes that have the kernel-p attribute shouldn't have their names
5455        changed casually.
5456
54572006-10-18 07:33  gb
5458
5459        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5460        MAKE-SOCKET, pass it down to whatever function actually creates a
5461        stream socket.
5462
54632006-10-18 02:12  gb
5464
5465        * compiler/X86/x862.lisp: Allow closed-over addresses in
5466        conditional-form, NOT.
5467
54682006-10-18 01:43  gb
5469
5470        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5471        safe_ref_addres.
5472
54732006-10-18 01:43  gb
5474
5475        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5476
54772006-10-18 01:41  gb
5478
5479        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5480        addresses/vcells to nil.
5481
54822006-10-18 01:41  gb
5483
5484        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5485        addresses to NIL.
5486       
5487        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5488        level inline.
5489
54902006-10-18 01:39  gb
5491
5492        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5493        for a few months now.  The disassembler is always the last to know.
5494
54952006-10-17 19:15  gb
5496
5497        * compiler/PPC/PPC32/ppc32-arch.lisp,
5498        compiler/PPC/PPC64/ppc64-arch.lisp,
5499        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5500        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5501        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5502        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5503        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5504        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5505       
5506        Handle memory faults to safe-ref-addres on PPC (so far).
5507       
5508        Try using SAFE-GET-PTR in objc runtime (untested).
5509
55102006-10-17 17:34  gb
5511
5512        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5513        type in acode.
5514
55152006-10-17 14:02  gb
5516
5517        * level-1/l1-unicode.lisp: BOM-ENCODING.
5518
55192006-10-17 14:02  gb
5520
5521        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5522        something.
5523       
5524        Clear the pending-bom flag when seeking.
5525
55262006-10-17 14:01  gb
5527
5528        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5529        ioblock-based character streams.
5530
55312006-10-17 13:45  gb
5532
5533        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5534        *interrupt-level* inline.
5535
55362006-10-17 13:44  gb
5537
5538        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5539        immmediate operand (xuuo).
5540
55412006-10-17 13:39  gb
5542
5543        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5544        when necessary.
5545
55462006-10-17 13:39  gb
5547
5548        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5549        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5550
55512006-10-15 17:51  gb
5552
5553        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5554       
5555        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5556
55572006-10-15 17:51  gb
5558
5559        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5560
55612006-10-15 17:50  gb
5562
5563        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5564
55652006-10-14 07:41  gb
5566
5567        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5568        ENSURING-NODE-TARGET.
5569       
5570        Inline the fixnum case of two-arg numeric comparisons.
5571
55722006-10-14 07:39  gb
5573
5574        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5575        INLINE-SUB2 support.
5576
55772006-10-14 06:30  gb
5578
5579        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5580        generated DEFSTRUCT accessors.
5581
55822006-10-14 06:27  gb
5583
5584        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5585       
5586        Do the fixnum case of two-argument subtraction inline.
5587       
5588        Inline the fixnum case of two-argument numeric comparisons.
5589       
5590        STRUCT-REF avoids typechecking when reckless.
5591
55922006-10-14 06:21  gb
5593
5594        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5595        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5596
55972006-10-14 06:20  gb
5598
5599        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5600        little differently.
5601       
5602        Add xchg-registers.
5603
56042006-10-13 04:54  gb
5605
5606        * compiler/nx1.lisp: Use new NUMCMP operator.
5607
56082006-10-13 04:53  gb
5609
5610        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5611        in effect at call time, not those in effect at definition time.
5612
56132006-10-13 04:50  gb
5614
5615        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5616        inlining issues.
5617
56182006-10-13 04:30  gb
5619
5620        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5621
56222006-10-12 19:46  gb
5623
5624        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5625        "--" is seen.
5626
56272006-10-12 19:45  gb
5628
5629        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5630        newline translation differenly (at the character I/O level, not the
5631        buffer level).
5632       
5633        All character encoding/decoding functions operate on octets, not
5634        necessarily code units.  (The stream encode/decode functions are an
5635        exception; serialization and byte ordering are handled by the
5636        stream.)
5637
56382006-10-09 16:34  gb
5639
5640        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5641        encode a character in (implicit) iso-8859-1.
5642
56432006-10-09 16:33  gb
5644
5645        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5646        a replacement character.
5647
56482006-10-09 16:31  gb
5649
5650        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5651        write/read something, even if it's a replacement character of some
5652        sort.
5653
56542006-10-09 15:19  gb
5655
5656        * level-1/l1-streams.lisp: More stuff about line termination.  When
5657        will this end ?
5658
56592006-10-09 15:19  gb
5660
5661        * lib/chars.lisp: Use a hashtable to map characters to their names.
5662         (Maybe a sparse vector ?).
5663
56642006-10-09 15:18  gb
5665
5666        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5667        their names.  (Maybe a sparse vector ?).
5668       
5669        Define #\Sub and #\Replacement_Character.
5670
56712006-10-08 21:17  gb
5672
5673        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5674        NEW-BACKTRACE for a while now.
5675
56762006-10-08 21:16  gb
5677
5678        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5679        Panther happy.
5680
56812006-10-08 20:30  gb
5682
5683        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5684
56852006-10-08 20:30  gb
5686
5687        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5688        pathname, before it's too late ...
5689
56902006-10-08 20:29  gb
5691
5692        * level-1/l1-unicode.lisp: ASCII, some other changes.
5693
56942006-10-08 20:29  gb
5695
5696        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5697        :line-termination option to MAKE-FD-STREAM.
5698
56992006-10-08 20:28  gb
5700
5701        * level-1/l1-streams.lisp: Yet another line-termination translation
5702        scheme; hopefully, the last for a while. (More tedium before it's
5703        actually installed.)
5704
57052006-10-08 20:27  gb
5706
5707        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5708        #\Paragraph_separator.
5709
57102006-10-07 20:35  gb
5711
5712        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5713
57142006-10-07 20:34  gb
5715
5716        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5717        kernel debugger if interactive streams aren't initialized yet.
5718        (We'd probably get there sooner or later in that case; try to get
5719        there sooner.)
5720
57212006-10-07 20:33  gb
5722
5723        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5724        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5725        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5726        method.)
5727
57282006-10-07 20:32  gb
5729
5730        * level-1/l1-application.lisp: Handle the (new)
5731        -K/--terminal-encoding command-line argument.
5732
57332006-10-07 11:14  gb
5734
5735        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5736        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5737        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5738
57392006-10-07 11:13  gb
5740
5741        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5742        entered when --batch is in effect.
5743
57442006-10-07 11:12  gb
5745
5746        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5747        PROCESS-EXIT-APPLICATION.
5748
57492006-10-07 11:11  gb
5750
5751        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5752        *stdout* here.
5753
57542006-10-06 04:49  gb
5755
5756        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5757        TRANSLATE slot to IO-BUFFER.
5758
57592006-10-06 04:40  gb
5760
5761        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5762
57632006-10-06 04:39  gb
5764
5765        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5766
57672006-10-06 04:38  gb
5768
5769        * level-1/version.lisp: Bump.
5770
57712006-10-06 04:38  gb
5772
5773        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5774        replacement character.
5775
57762006-10-05 14:46  gb
5777
5778        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5779
57802006-10-05 14:46  gb
5781
5782        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5783
57842006-10-05 14:46  gb
5785
5786        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5787        C-like value (all exceptions masked) before doing a callback.  (Not
5788        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5789        value, where most exceptions were unmasked, and this caused FP
5790        exceptions when calling out to foreign code with the "lispy"
5791        tcr.foreign_mxcsr in effect.)
5792       
5793        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5794        the spurious SIGTRAPs, but might be the right idea (and might save
5795        a context switch or two.)
5796       
5797        Mach exception stuff initializes rflags to exception rflags when
5798        arranging to resume thread at handler.  Leaving them uninitialized
5799        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5800        set.
5801
58022006-10-05 06:09  gb
5803
5804        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5805
58062006-10-05 06:09  gb
5807
5808        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5809        #\U+xxxx syntax.
5810
58112006-10-05 06:08  gb
5812
5813        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5814
58152006-10-05 06:07  gb
5816
5817        * level-1/l1-sysio.lisp: Try to get
5818        line-termination/external-format stuff working.
5819
58202006-10-05 05:35  gb
5821
5822        * level-1/l1-streams.lisp: Assume that character data is always
5823        encoded as one or more 8-bit octets.
5824
58252006-10-05 04:59  gb
5826
5827        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5828        just before we make the first one.
5829
58302006-10-02 08:13  gb
5831
5832        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5833        handlers, so we need to make handlers do a sigreturn after
5834        switching off the signal stack, etc.
5835
58362006-10-02 08:11  gb
5837
5838        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5839        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5840        handling for cleanup of tcr pending exception and since we can't
5841        easily restore the signal mask.)
5842       
5843        (Up until this point, SIGRETURN has been a nop on Darwin.)
5844
58452006-10-02 04:59  gb
5846
5847        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5848        earlier.
5849
58502006-10-02 04:47  gb
5851
5852        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5853        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5854        systems <= 10.4).
5855
58562006-10-02 02:46  gb
5857
5858        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5859        Try to make x86-64 version compile under 10.4 again; see if this
5860        breaks post-10.4 compilation.
5861
58622006-10-02 02:33  gb
5863
5864        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5865        x86-exceptions.h: Change things so that they compile for x86-64 on
5866        systems later than 10.4.  Almost certainly break 10.4 compilation
5867        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5868        hours on crap like this, just let me know!)
5869
58702006-09-27 20:33  gb
5871
5872        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5873
58742006-09-27 20:33  gb
5875
5876        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5877
58782006-09-27 05:46  gb
5879
5880        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5881        BASIC-STREAM classes a class prototype.
5882
58832006-09-27 05:45  gb
5884
5885        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5886        initialization, to make it easier to use MAKE-FD-STREAM to open
5887        (seekable) FILE-STREAMs.
5888
58892006-09-27 05:41  gb
5890
5891        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5892        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5893
58942006-09-27 05:39  gb
5895
5896        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5897        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5898        division-by-zero, but that should be masked when in foreign code.)
5899        Don't reload the lisp mxcsr until other registers have been popped,
5900        to make debugging easier in case it's the act of reloading the
5901        mxcsr that causes the spurious trap.)
5902
59032006-09-27 05:36  gb
5904
5905        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5906
59072006-09-27 05:35  gb
5908
5909        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5910        was parenthesized in such a way as to not return the error value on
5911        error.
5912
59132006-09-27 05:34  gb
5914
5915        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5916        passing context into the kernel makes it too difficult to debug/get
5917        backtrace, etc.)
5918
59192006-09-27 05:33  gb
5920
5921        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5922        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5923
59242006-09-27 05:05  gb
5925
5926        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5927        (mostly for BUILT-IN-CLASSes).
5928
59292006-09-26 20:49  gb
5930
5931        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5932        a BASIC-P argument.
5933
59342006-09-26 20:47  gb
5935
5936        * level-1/l1-streams.lisp: More changes.  Imagine that.
5937
59382006-09-26 20:46  gb
5939
5940        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5941        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5942
59432006-09-26 20:43  gb
5944
5945        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5946        take/return strings, not chars.
5947       
5948        Some bom stuff.
5949
59502006-09-24 20:14  gb
5951
5952        * lib/chars.lisp: Check for assumptions about character size.
5953        Remove some %i-isms (fixnum arithmetic), make assertions about type
5954        of char-code.
5955
59562006-09-24 20:12  gb
5957
5958        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5959        CHKBOUNDS function.  Simpler STRING-START-END.
5960
59612006-09-24 20:11  gb
5962
5963        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5964        Probably belongs elsewhere; some encodings may not make it at all
5965        possible.
5966
59672006-09-24 20:07  gb
5968
5969        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5970        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5971
59722006-09-24 20:00  gb
5973
5974        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5975        line-termination slot from ioblock and corresponding arg from
5976        functions which initialize it.
5977
59782006-09-24 19:59  gb
5979
5980        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5981        file-ioblock.
5982
59832006-09-24 19:58  gb
5984
5985        * level-1/l1-unicode.lisp: Buffer translation functions don't
5986        belong here; start thinking about BOM.
5987
59882006-09-24 19:57  gb
5989
5990        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5991        it's been a :u32const for the last few weeks ...
5992
59932006-09-24 04:29  gb
5994
5995        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5996        the code is within its bounds.
5997
59982006-09-24 04:27  gb
5999
6000        * level-1/l1-reader.lisp: Lots more character names.  Maintain
6001        mappings in a vector and a hash table, rather than in an alist.
6002
60032006-09-24 04:26  gb
6004
6005        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
6006        character constant fasl encoding ($fasl-char).
6007
60082006-09-23 05:31  gb
6009
6010        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
6011        sure which are the most important.)
6012
60132006-09-23 05:29  gb
6014
6015        * level-1/l1-sysio.lisp: Start to separate
6016        line-termination/external-format stuff.
6017
60182006-09-23 05:28  gb
6019
6020        * level-1/l1-streams.lisp: Lots-o-changes.
6021
60222006-09-23 05:28  gb
6023
6024        * level-1/l1-boot-2.lisp: Make initial interactive streams use
6025        UTF-8 (mostly for debugging utf-8 ...)
6026
60272006-09-21 04:07  gb
6028
6029        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
6030        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
6031        clobbered r11, sometimes didn't.)
6032
60332006-09-21 04:05  gb
6034
6035        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
6036
60372006-09-21 04:05  gb
6038
6039        * lisp-kernel/x86-exceptions.c: Save and restore errno in
6040        callback_for_interrupt.
6041
60422006-09-21 04:04  gb
6043
6044        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
6045        x86-64 ucontext/mcontext on Darwin.
6046
60472006-09-21 04:02  gb
6048
6049        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
6050        flavors.
6051       
6052        Add a type decl in %nanosleep.
6053
60542006-09-21 04:01  gb
6055
6056        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
6057        vinsns.
6058
60592006-09-21 04:01  gb
6060
6061        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
6062        values.  (Probably only matters in a few cases, like the Darwin
6063        x86-64 version of #_nanosleep, which returns a non-sign-extended
6064        "int" value if the sleep is interruted.)
6065
60662006-09-20 06:34  gb
6067
6068        * level-1/version.lisp: Bump.
6069
60702006-09-20 04:24  gb
6071
6072        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6073        slight improvements in signed-byte boxing, typechecking.
6074
60752006-09-20 04:22  gb
6076
6077        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
6078
60792006-09-20 04:21  gb
6080
6081        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
6082
60832006-09-20 04:21  gb
6084
6085        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
6086
60872006-09-20 04:20  gb
6088
6089        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6090        versions.  Need a "logical" UTF-16, which deals with byte-order
6091        marks and a means of installing a concrete encoding.  Needs
6092        testing.
6093
60942006-09-20 04:15  gb
6095
6096        * level-1/l1-streams.lisp: Numerous changes.
6097
60982006-09-20 04:15  gb
6099
6100        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6101
61022006-09-20 04:14  gb
6103
6104        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6105        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6106
61072006-09-20 04:12  gb
6108
6109        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6110        8,16,32,64
6111
61122006-09-19 01:38  gb
6113
6114        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6115        vinsns for REQUIRE-[US][8,16,32,64]
6116
61172006-09-19 01:37  gb
6118
6119        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6120        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6121        64).
6122
61232006-09-19 01:36  gb
6124
6125        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6126
61272006-09-19 01:36  gb
6128
6129        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6130        operators.
6131
61322006-09-19 01:34  gb
6133
6134        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6135        require-[us][8,16,32,64] when possible.
6136
61372006-09-19 01:34  gb
6138
6139        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6140
61412006-09-19 01:33  gb
6142
6143        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6144
61452006-09-19 01:15  gb
6146
6147        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6148        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6149
61502006-09-19 00:36  gb
6151
6152        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6153
61542006-09-18 21:42  gb
6155
6156        * lib/macros.lisp: Macros for locking the input/output locks of an
6157        ioblock, assuming that it exists.
6158
61592006-09-17 00:45  gb
6160
6161        * level-1/l1-streams.lisp: more changes
6162
61632006-09-13 06:52  gb
6164
6165        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6166        WRITE-STRING, TERPRI.
6167
61682006-09-13 06:08  gb
6169
6170        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6171
61722006-09-13 06:07  gb
6173
6174        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6175        named encoding isn't defined.
6176       
6177        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6178
61792006-09-13 06:06  gb
6180
6181        * level-1/l1-streams.lisp: More functions in the ioblock, some
6182        support for 8-bit encodings (like utf-8).  Not finished, but
6183        getting hard to bootstrap; need to check in and build on all
6184        platforms before it gets even harder.
6185
61862006-09-12 05:34  gb
6187
6188        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6189        %copy-ivector-to-pointer) in BUG.
6190
61912006-09-12 05:31  gb
6192
6193        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6194        altstack_signal_handler is entered in foreign code.  (Maybe want to
6195        signal a lisp error in some cases, but this is currently fatal and
6196        we might as well die earlier than with a stack overflow.)
6197
61982006-09-12 05:29  gb
6199
6200        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6201        direction right on FreeBSD.  (Much better than randomly scribbling
6202        on memory in the GC, as the FreeBSD port has been doing for months
6203        now ...)
6204
62052006-09-11 21:31  gb
6206
6207        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6208        intersection.
6209
62102006-09-11 21:21  gb
6211
6212        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6213
62142006-09-11 20:10  gb
6215
6216        * level-1/l1-unicode.lisp: Character encodings contain a
6217        LITERAL-CHAR-CODE-LIMIT field.
6218
62192006-09-11 20:09  gb
6220
6221        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6222        functionality for encoded streams.
6223
62242006-09-11 20:08  gb
6225
6226        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6227
62282006-09-09 04:39  gb
6229
6230        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6231        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6232
62332006-09-09 04:21  gb
6234
6235        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6236        reasonable for ^c syntax; don't do MOD for octal.
6237
62382006-09-09 04:21  gb
6239
6240        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6241        agains boxed Unicode limit
6242
62432006-09-09 03:56  gb
6244
6245        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6246        x8664 functions, hash tables.  (PPC versions should handle hash
6247        table key movement.)
6248
62492006-09-08 22:47  gb
6250
6251        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6252        #x100.
6253
62542006-09-08 22:38  gb
6255
6256        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6257        FIXNUM->CHAR: return NIL for surrogate pairs.
6258
62592006-09-08 22:33  gb
6260
6261        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6262
62632006-09-08 22:31  gb
6264
6265        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6266        sanity-check fn/lr).
6267
62682006-09-08 18:55  gb
6269
6270        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6271        necessarily want arbitrary expressions to be compiled unsafely; do
6272        want to avoid a little type-checking sometimes.)
6273
62742006-09-08 18:52  gb
6275
6276        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6277        for values in the surrogate-pairs range.  (There are other things
6278        that it could plausibly return NIL for.)
6279
62802006-09-08 18:51  gb
6281
6282        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6283        now, just purify strings.
6284
62852006-09-08 18:48  gb
6286
6287        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6288        8), which is still useful (and exactly what it used to do.)
6289
62902006-09-08 18:47  gb
6291
6292        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6293
62942006-09-08 18:44  gb
6295
6296        * level-1/level-1.lisp: Load l1-unicode.
6297
62982006-09-08 18:44  gb
6299
6300        * level-1/l1-unicode.lisp: New file.
6301
63022006-09-07 03:50  gb
6303
6304        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6305
63062006-09-07 03:44  gb
6307
6308        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6309        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6310        attribute of the backend (may need more pure space on x86-64.)
6311
63122006-09-07 03:43  gb
6313
6314        * lisp-kernel/image.h: Bump abi version.
6315
63162006-09-07 03:43  gb
6317
6318        * level-1/version.lisp: Bump.
6319
63202006-09-07 02:58  gb
6321
6322        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6323        seems to mask synchronous signals.  Unmask them in signal handlers.
6324
63252006-09-07 02:57  gb
6326
6327        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6328        signal mask.
6329
63302006-09-07 02:56  gb
6331
6332        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6333        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6334        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6335        (char are 32 bits wide on all platforms now.)
6336
63372006-09-07 00:40  gb
6338
6339        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6340        SIGNUM_FOR_PROCESS_INTERRUPT.
6341
63422006-09-07 00:12  gb
6343
6344        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6345        box_fixnum_no_flags.
6346
63472006-09-07 00:12  gb
6348
6349        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6350        vice imul).
6351
63522006-09-06 21:18  gb
6353
6354        * compiler/X86/X8664/x8664-arch.lisp: Need
6355        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6356
63572006-09-06 18:37  gb
6358
6359        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6360        strings.
6361
63622006-09-06 18:36  gb
6363
6364        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6365        typecodes.
6366
63672006-09-06 18:36  gb
6368
6369        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6370        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6371
63722006-09-06 18:35  gb
6373
6374        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6375        contains entry for 32-bit BASE-CHAR.
6376
63772006-09-06 18:35  gb
6378
6379        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6380        extracting typecodes.
6381
63822006-09-06 18:34  gb
6383
6384        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6385        32-bit-chars.
6386
63872006-09-06 18:33  gb
6388
6389        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6390        :rcontext pseudo-register name until the target backend is in
6391        place.
6392
63932006-09-06 16:39  gb
6394
6395        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6396        stuff for x8664.
6397
63982006-09-06 16:39  gb
6399
6400        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6401        don't mix!
6402
64032006-09-06 16:38  gb
6404
6405        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6406
64072006-09-06 16:38  gb
6408
6409        * level-1/linux-files.lisp: process input/output: don't assume
6410        8-bit strings.
6411
64122006-09-06 14:42  gb
6413
6414        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6415        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6416        (since that creates confustion when cross-compiling from a
6417        non-poweropen host.)
6418
64192006-09-06 00:08  gb
6420
6421        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6422        8-bit char stuff.
6423
64242006-09-06 00:08  gb
6425
6426        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6427        here.
6428
64292006-09-05 22:49  gb
6430
6431        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6432        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6433
64342006-09-05 22:42  gb
6435
6436        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6437        of a non-simple string, understand char width issues.
6438
64392006-09-05 22:41  gb
6440
6441        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6442
64432006-09-05 22:40  gb
6444
6445        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6446        string type.
6447
64482006-09-05 22:39  gb
6449
6450        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6451
64522006-09-05 22:38  gb
6453
6454        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6455
64562006-09-05 09:13  gb
6457
6458        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6459        32-bit chars, too.
6460
64612006-09-05 09:01  gb
6462
6463        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6464        defaults to 32-bit chars.
6465
64662006-09-05 05:18  gb
6467
6468        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6469
64702006-09-05 05:18  gb
6471
6472        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6473        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6474
64752006-09-05 05:17  gb
6476
6477        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6478        for char size.
6479
64802006-09-05 05:16  gb
6481
6482        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6483        strings.
6484
64852006-09-05 05:15  gb
6486
6487        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6488        lisp_char_code; this may be more portable.
6489
64902006-09-05 05:14  gb
6491
6492        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6493
64942006-09-05 05:13  gb
6495
6496        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6497        8-bit char/strings.
6498
64992006-09-05 05:13  gb
6500
6501        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6502        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6503        the coding system in use.)
6504
65052006-09-05 05:09  gb
6506
6507        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6508        assume 8-bit strings.
6509
65102006-09-05 05:08  gb
6511
6512        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6513
65142006-09-05 05:07  gb
6515
6516        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6517        when #-target-8-bit-chars.
6518
65192006-09-05 05:06  gb
6520
6521        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6522        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6523
65242006-09-05 05:05  gb
6525
6526        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6527        :SIMPLE-STRING case with constant index.
6528
65292006-09-04 17:44  gb
6530
6531        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6532        "unsigned char", and cross fingers.
6533
65342006-09-04 17:38  gb
6535
6536        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6537        lisp_char_code type, use it when printing lisp string in the kernel
6538        debugger.
6539
65402006-09-04 17:28  gb
6541
6542        * level-1/version.lisp: Bump.
6543
65442006-09-04 17:18  gb
6545
6546        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6547        conditionalized backwards in PPC64 %INIT-MISC.
6548
65492006-09-04 17:05  gb
6550
6551        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6552        from the target arch (for bootstrapping.)
6553
65542006-09-04 17:04  gb
6555
6556        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6557        type of rdtab.ttab.
6558       
6559        Don't treat (code-char #xca) as whitespace; do treat (code-char
6560        #xa0) as whitespace.  (The former happens to be how the latter was
6561        encoded in MacRoman.)
6562       
6563        Handle U+<hex> syntax in NAME-CHAR.
6564
65652006-09-04 16:16  gb
6566
6567        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6568        and the char code with #xff to get the low byte.
6569
65702006-09-04 16:15  gb
6571
6572        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6573        and the char code with #xff or 255., not with #x255.  (Cause lots
6574        of wackiness, mostly in readtable initialization.)
6575
65762006-09-04 16:12  gb
6577
6578        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6579        u8->char (which is no more) in %CHAR-CODE.
6580
65812006-09-04 06:04  gb
6582
6583        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6584        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6585
65862006-09-04 06:03  gb
6587
6588        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6589        assertion.
6590
65912006-09-04 03:44  gb
6592
6593        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6594
65952006-09-04 03:43  gb
6596
6597        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6598        crf case of UNBOX-BASE-CHAR.
6599
66002006-09-04 02:30  gb
6601
6602        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6603        error.
6604
66052006-09-04 02:29  gb
6606
6607        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6608        size.
6609
66102006-09-04 02:26  gb
6611
6612        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6613        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6614        CHAR_SIZE_32.
6615
66162006-09-04 02:24  gb
6617
6618        * compiler/PPC/PPC32/ppc32-arch.lisp,
6619        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6620        compiler/PPC/PPC64/ppc64-arch.lisp,
6621        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6622        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6623
66242006-09-04 02:23  gb
6625
6626        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6627        32-bit characters.
6628
66292006-09-04 02:22  gb
6630
6631        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6632
66332006-09-03 16:03  gb
6634
6635        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6636        conditionalize new string types.
6637
66382006-09-03 16:03  gb
6639
6640        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6641        string element size.
6642
66432006-09-03 16:02  gb
6644
6645        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6646        level-0/l0-pred.lisp: Sketch out new string types (read-time
6647        conditionalized.)
6648
66492006-09-03 15:02  gb
6650
6651        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6652        bootstrapping.
6653
66542006-09-03 14:20  gb
6655
6656        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6657
66582006-09-03 13:22  gb
6659
6660        * compiler/: X86/X8664/x8664-backend.lisp,
6661        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6662        :target-8-bit-chars on target features.
6663
66642006-09-03 13:21  gb
6665
6666        * level-0/l0-int.lisp: Some comments/indentation.
6667
66682006-09-03 13:01  gb
6669
6670        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6671        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6672
66732006-09-02 11:24  gb
6674
6675        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6676
66772006-09-02 11:15  gb
6678
6679        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6680        a hex digit.
6681
66822006-09-02 11:11  gb
6683
6684        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6685        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6686       
6687        Don't do the whole msg_server here; just do the exc_server thing.
6688       
6689        Fix a couple of Mach exception-handling bugs; at least one more may
6690        remain.
6691
66922006-09-02 11:07  gb
6693
6694        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6695        pseudo_sigreturn.
6696       
6697        Still get spurious SIGTRAPs.
6698
66992006-09-02 11:06  gb
6700
6701        * lisp-kernel/thread_manager.c: Define some things in terms of
6702        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6703       
6704        sem_wait_forever() does repeated timed waits, since I thought that
6705        Darwin was having trouble interrpting things that waited
6706        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6707
67082006-09-02 11:03  gb
6709
6710        * lisp-kernel/Threads.h: Define some things in terms of
6711        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6712        2006, Darwin still doesn't implement enough POSIX semaphore
6713        functionality to make it possible to avoid the use of Mach
6714        semaphores.
6715
67162006-09-02 11:01  gb
6717
6718        * lib/db-io.lisp:
6719        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6720        involved.
6721
67222006-09-02 11:01  gb
6723
6724        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6725        aren't bogus objects.
6726
67272006-09-02 11:00  gb
6728
6729        * level-1/l1-streams.lisp: Try to avoid things like
6730        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6731
67322006-09-02 10:59  gb
6733
6734        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6735        FORCE-OUTPUT.
6736
67372006-09-02 10:57  gb
6738
6739        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6740        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6741       
6742        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6743        chars.
6744       
6745        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6746
67472006-09-02 10:55  gb
6748
6749        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6750        don't assume 8-bit chars.
6751
67522006-08-28 17:35  gb
6753
6754        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6755        misc_set_single_float_vector.
6756
67572006-08-28 17:01  gb
6758
6759        * xdump/faslenv.lisp: Bump max fasl version.
6760
67612006-08-28 16:48  gb
6762
6763        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6764
67652006-08-28 16:33  gb
6766
6767        * xdump/faslenv.lisp: Bump (max) fasl version.
6768
67692006-08-28 16:30  gb
6770
6771        * xdump/xfasload.lisp: xloader was missing a few new ops.
6772
67732006-08-28 05:34  gb
6774
6775        * xdump/xfasload.lisp: New string stuff here, too.
6776
67772006-08-28 05:28  gb
6778
6779        * level-0/nfasload.lisp: New string stuff.
6780
67812006-08-28 04:57  gb
6782
6783        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6784        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6785
67862006-08-28 04:57  gb
6787
6788        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6789        STREAM-READ-CHAR, since it may be faster in some cases.
6790
67912006-08-28 04:56  gb
6792
6793        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6794        (don't assume ioblock-based stream.)
6795
67962006-08-28 04:55  gb
6797
6798        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6799
68002006-08-28 04:55  gb
6801
6802        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6803         (Maybe not even cosmetic.)
6804
68052006-08-28 04:54  gb
6806
6807        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6808        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6809
68102006-08-28 04:53  gb
6811
6812        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6813
68142006-08-28 04:52  gb
6815
6816        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6817        ?  For how long will limit be 2^8 ?
6818
68192006-08-28 04:51  gb
6820
6821        * level-0/nfasload.lisp: More fasl ops.
6822
68232006-08-28 04:51  gb
6824
6825        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6826        u8-vref stuff.
6827
68282006-08-28 04:50  gb
6829
6830        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6831        not be the best way to do this.
6832
68332006-08-26 13:58  gb
6834
6835        * release-notes.txt: Updated.
6836
68372006-08-26 13:50  gb
6838
6839        * release-notes.txt: Updated.
6840
68412006-08-26 13:50  gb
6842
6843        * darwin-x86-headers64/libc/.cvsignore: Added.
6844
68452006-08-26 03:17  gb
6846
6847        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6848
68492006-08-26 03:12  gb
6850
6851        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6852        problems as always, but avoids problems with Darwin x86-64 ld64
6853        segfaulting for unknown reasons.
6854
68552006-08-26 03:11  gb
6856
6857        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6858        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6859        that we can't just return to after switching off of the alt stack.)
6860
68612006-08-26 03:08  gb
6862
6863        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6864        deciding whether or not to signal overflow.
6865
68662006-08-26 03:08  gb
6867
6868        * level-1/x86-trap-support.lisp: Need an indirection to access
6869        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6870        mcontext64.ss.
6871
68722006-08-26 03:06  gb
6873
6874        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6875        easier to step through.
6876
68772006-08-26 03:05  gb
6878
6879        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6880        in case.
6881
68822006-08-25 20:35  gb
6883
6884        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6885        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6886        REMOVE-AUTO-FLUSH-STREAM.
6887       
6888        Export them, too.
6889
68902006-08-25 20:22  gb
6891
6892        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6893        STREAM-READ-LINE.
6894
68952006-08-25 20:22  gb
6896
6897        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6898        most once but doesn't have to be the last clause.
6899
69002006-08-25 20:21  gb
6901
6902        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6903        INPUT-STREAM.
6904       
6905        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6906
69072006-08-25 20:19  gb
6908
6909        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6910        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6911        so unlock those streams with extreme prejudice before closing them.
6912
69132006-08-25 20:18  gb
6914
6915        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6916        code that assumed that interfered with handling of relative logical
6917        pathnames.
6918
69192006-08-25 20:17  gb
6920
6921        * level-1/l1-events.lisp: Rename EVENT-POLL to
6922        AUTO-FLUSH-INTERACTIVE-STREAMS.
6923       
6924        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6925        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6926        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6927       
6928        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6929       
6930        REMOVE-AUTOFLUSH-STREAM.
6931
69322006-08-25 20:13  gb
6933
6934        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6935        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6936
69372006-08-23 22:59  gb
6938
6939        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6940        SIGFPE.
6941       
6942        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6943
69442006-08-23 22:58  gb
6945
6946        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6947        pretty casual about causing spurious exceptions, so ignore them.
6948
69492006-08-23 22:57  gb
6950
6951        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6952        version, with different signals to be ignored by gdb.
6953
69542006-08-23 22:56  gb
6955
6956        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6957        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6958        Use int $0 instead.
6959
69602006-08-23 22:55  gb
6961
6962        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6963        support; may need more work.
6964
69652006-08-22 02:08  gb
6966
6967        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6968        for printing integers), since it seems to need access to pthread
6969        data (and calling print_lisp_object() from GDB might fail if %gs is
6970        pointing at the lisp TCR.)
6971
69722006-08-22 02:06  gb
6973
6974        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6975        earlier in _SPffcall, before entering foreign context.  (Need to
6976        check PPC version(s) as well.)
6977       
6978        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6979        between foreign code and lisp.
6980
69812006-08-22 02:04  gb
6982
6983        * lisp-kernel/x86-macros.s: Fix a typo.
6984
69852006-08-22 02:04  gb
6986
6987        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6988
69892006-08-22 02:03  gb
6990
6991        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6992        exception handling code.
6993       
6994        Do the DARWIN_GS_HACK things to overload %gs.
6995
69962006-08-22 02:02  gb
6997
6998        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6999        for DarwinX8664.
7000
70012006-08-22 02:01  gb
7002
7003        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
7004        should really have tested WORD_SIZE.
7005       
7006        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
7007        not be necessary.)
7008       
7009        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
7010
70112006-08-22 01:59  gb
7012
7013        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
7014        x8664.
7015       
7016        Some PPC64 conditionalizations should really have tested WORD_SIZE.
7017
70182006-08-22 01:58  gb
7019
7020        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
7021        FreeBSDX664, DarwinX8664.
7022
70232006-08-22 01:57  gb
7024
7025        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
7026        lower seg1addr.
7027       
7028        Something in the (m4-generated) symbolic info in some .s files is
7029        screwy and causes ld64 to segfault; it's currently necesssary to
7030        use "strip -S" on the assembler-generated .o files.
7031
70322006-08-22 01:55  gb
7033
7034        * scripts/openmcl64: Untested changes for Darwinx8664.
7035
70362006-08-22 01:54  gb
7037
7038        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
7039        xload-backend-info (compiler target is :darwinx8664, not
7040        :linuxx8664).
7041
70422006-08-22 01:53  gb
7043
7044        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
7045        cross-compiling to x86 from x86.
7046
70472006-08-22 01:52  gb
7048
7049        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
7050        (not :DARWINPPC-TARGET).
7051
70522006-08-22 01:50  gb
7053
7054        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
7055
70562006-08-22 01:50  gb
7057
7058        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
7059
70602006-08-22 01:49  gb
7061
7062        * level-1/version.lisp: Bump.
7063
70642006-08-22 01:49  gb
7065
7066        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
7067        BASIC-STREAMs.
7068
70692006-08-22 01:48  gb
7070
7071        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
7072        DARWIN-TARGET, not DARWINPPC-TARGET.
7073
70742006-08-22 01:47  gb
7075
7076        * level-0/l0-init.lisp: DarwinX8664 *features*.
7077
70782006-08-22 01:47  gb
7079
7080        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
7081        really want to be DARWIN-TARGET.
7082
70832006-08-22 01:46  gb
7084
7085        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
7086        DarwinX8664.
7087
70882006-08-22 01:45  gb
7089
7090        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7091        compiling natively.
7092       
7093        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7094
70952006-08-22 01:44  gb
7096
7097        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7098        is defined, even on x86.  Use it if not compiling natively on x86.
7099
71002006-08-20 23:59  gb
7101
7102        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7103
71042006-08-20 23:58  gb
7105
7106        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7107
71082006-08-20 23:58  gb
7109
7110        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7111        prototypes for DARWIN_GS_HACK %gs segment switching.
7112
71132006-08-20 23:57  gb
7114
7115        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7116        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7117       
7118        This isn't so bad, but doing it around every ff-call might be.
7119
71202006-08-20 23:56  gb
7121
7122        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7123
71242006-08-20 23:53  gb
7125
7126        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7127
71282006-08-20 23:51  gb
7129
7130        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7131
71322006-08-20 23:51  gb
7133
7134        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7135        also temporary.
7136
71372006-08-20 23:50  gb
7138
7139        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7140        mcontext64 in x8664 Darwin is temporary.
7141
71422006-08-20 20:35  gb
7143
7144        * library/darwinx664-syscalls.lisp: typo
7145
71462006-08-20 20:35  gb
7147
7148        * library/darwinx8664-syscalls.lisp: spell name right
7149
71502006-08-20 17:10  gb
7151
7152        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7153
71542006-08-20 17:10  gb
7155
7156        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7157        (do other things still use read-time conditionals ?)
7158
71592006-08-20 17:09  gb
7160
7161        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7162        setup syscall mask.
7163
71642006-08-20 17:08  gb
7165
7166        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7167        well.
7168
71692006-08-20 17:06  gb
7170
7171        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7172        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7173        word-size issues.)
7174
71752006-08-20 17:03  gb
7176
7177        * library/darwinppc-syscalls.lisp: Mask for PPC.
7178
71792006-08-20 17:02  gb
7180
7181        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7182        level-1/linux-files.lisp: Syscall conditionalization.
7183
71842006-08-20 17:01  gb
7185
7186        * level-1/l1-streams.lisp: Syscall conditionalization.
7187       
7188        SELECTION-INPUT-STREAM created with :sharing :lock.
7189
71902006-08-20 17:00  gb
7191
7192        * examples/objc-runtime.lisp: Fencepost in
7193        POINTER-IN-CFSTRING-SECTION-P.
7194
71952006-08-20 16:16  gb
7196
7197        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7198
71992006-08-18 09:50  gb
7200
7201        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7202        x8664.  Should do this on PPC as well, and should probably offer
7203        some backward-compatible behavior for reader.
7204
72052006-08-18 09:47  gb
7206
7207        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7208        backend a little.
7209       
7210        Explicily define lisp-context-register slot in each backend (%gs
7211        for those imolementations that follow the standard ABI, %fs for
7212        Darwin.)
7213
72142006-08-18 09:44  gb
7215
7216        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7217        necessary.
7218
72192006-08-18 09:43  gb
7220
7221        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7222        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7223        slot.
7224
72252006-08-18 09:42  gb
7226
7227        * compiler/backend.lisp: Backend now has a lisp-context-register
7228        slot.
7229
72302006-08-18 09:42  gb
7231
7232        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7233
72342006-08-18 09:40  gb
7235
7236        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7237        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7238        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7239        and play like the other children.
7240
72412006-08-18 09:29  gb
7242
7243        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7244        code from the PPC version and tweak it a little; needs more work.
7245
72462006-08-18 09:27  gb
7247
7248        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7249        conditionalization.
7250
72512006-08-18 09:25  gb
7252
7253        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7254       
7255        Generate an equate for HAVE_TLS.
7256
72572006-08-18 09:23  gb
7258
7259        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7260
72612006-08-18 09:19  gb
7262
7263        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7264        absolute jumps, prefers slower ones.
7265       
7266        Move lock prefixes to their own lines, to satisfy you-know-who.
7267       
7268        If we don't have thread-local-storage (TLS), it's hard to avoid the
7269        get_tcr() call on each calback.
7270
72712006-08-18 09:13  gb
7272
7273        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7274        that we HAVE_TLS.
7275
72762006-08-17 10:41  phil
7277
7278        * examples/FFI/:
7279        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7280        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7281        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7282        Using-basic-calls-and-types/Readme.rtf,
7283        Using-basic-calls-and-types/typetest-compile.sh,
7284        Using-basic-calls-and-types/typetest.c,
7285        Using-basic-calls-and-types/typetest.lisp: Initial version
7286
72872006-08-17 10:40  phil
7288
7289        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7290        [no log message]
7291
72922006-08-08 13:07  gb
7293
7294        * lisp-kernel/darwinx8664/Makefile: New file.
7295
72962006-08-08 13:07  gb
7297
7298        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7299
73002006-08-08 13:06  gb
7301
7302        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7303
73042006-08-08 13:05  gb
7305
7306        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7307        instructions on the same line as the locked instruction.  (Maybe
7308        there's a better way to do this, than just pretending that lock is
7309        a standalone instruction, but that lock instruction does seem to be
7310        treated as a prefix.)
7311
73122006-08-08 13:03  gb
7313
7314        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7315        dlfcn) on Darwin.
7316
73172006-08-08 13:02  gb
7318
7319        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7320        doesn't define mcontext64, but lots of other things reference it.
7321        #define it here for now, but that'll likely break when the headers
7322        are fixed.
7323
73242006-08-08 12:58  gb
7325
7326        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7327
73282006-08-08 12:58  gb
7329
7330        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7331        x8664/Darwin.
7332
73332006-07-29 08:41  gb
7334
7335        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7336         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7337        needs READ/WRITE- SEQUENCE support.
7338
73392006-07-29 07:39  gb
7340
7341        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7342        lock.  TODO: evaluate whether resources are worthwhile;  used for
7343        string-output-stream allocation and DELETE-DUPLICATES.
7344
73452006-07-29 06:27  gb
7346
7347        * library/lispequ.lisp: Resources aren't thread-private, need
7348        locks.
7349
73502006-07-29 06:26  gb
7351
7352        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7353        BASIC-STREAMs.
7354
73552006-07-29 06:26  gb
7356
7357        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7358        default.
7359
73602006-07-29 06:25  gb
7361
7362        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7363        been used in 10 or 12 years.
7364
73652006-07-29 03:40  gb
7366
7367        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7368
73692006-07-29 03:40  gb
7370
7371        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7372        for now.
7373
73742006-07-29 03:39  gb
7375
7376        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7377        makes one more slot in BASIC-FILE-STREAM.
7378
73792006-07-28 04:17  gb
7380
7381        * level-1/version.lisp: Bump.
7382
73832006-07-28 04:15  gb
7384
7385        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7386        in IOBLOCK.
7387
73882006-07-28 01:17  gb
7389
7390        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7391
73922006-07-28 01:16  gb
7393
7394        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7395
73962006-07-28 00:58  gb
7397
7398        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7399        output.
7400       
7401        (SLIME probably faces the same issue; should probably do something
7402        in the auto-flush case.  Of course, it's hard to know just what to
7403        do in that case. or at least what to do safely in that case.)
7404
74052006-07-28 00:49  gb
7406
7407        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7408        FUNDAMENTAL-FILE-STREAM.
7409
74102006-07-28 00:49  gb
7411
7412        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7413
74142006-07-28 00:48  gb
7415
7416        * library/lispequ.lisp: Need an explicit
7417        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7418
74192006-07-28 00:47  gb
7420
7421        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7422
74232006-07-25 03:48  gb
7424
7425        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7426
74272006-07-24 04:55  gb
7428
7429        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7430        BASIC-STREAMs.
7431
74322006-07-24 04:55  gb
7433
7434        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7435        appear.
7436
74372006-07-24 04:51  gb
7438
7439        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7440
74412006-07-24 02:43  gb
7442
7443        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7444        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7445        implementation of it (and BASIC-FILE-STREAM soon will be.)
7446
74472006-07-23 03:05  gb
7448
7449        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7450
74512006-07-23 03:03  gb
7452
7453        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7454        and is inlined.
7455       
7456        Some bug fixes; STREAM class no longer has slots.
7457       
7458        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7459        variants; fix read-byte botch (should vector according to
7460        element-type.)
7461
74622006-07-23 02:54  gb
7463
7464        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7465        STREAM-IOBLOCK now takes 2 required args.
7466
74672006-07-23 02:54  gb
7468
7469        * level-1/version.lisp: Bump.
7470
74712006-07-23 02:53  gb
7472
7473        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7474        like.
7475
74762006-07-23 02:53  gb
7477
7478        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7479       
7480        Likewise WITH-EAGAIN.
7481
74822006-07-23 01:12  gb
7483
7484        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7485        l1-sockets.lisp: Fix a few botches.
7486       
7487        :private arg to stream creation primitives replaced with :sharing,
7488        which can have values:
7489       
7490         :private (the default; stream can only be accessed by the creating
7491        thread)
7492         :lock  (the old, often slow, default); most accesses to stream
7493        involve locking
7494         :nil or :external (stream code doesn't enforce exclusion).
7495
74962006-07-22 23:57  gb
7497
7498        * level-1/l1-streams.lisp: Bootstrapping stuff.
7499       
7500        Move along, nothing to see here.
7501
75022006-07-20 03:43  gb
7503
7504        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7505        l1-sysio.lisp: First (rough) cut at making streams "private"
7506        (effectively always locked by the "owning" thread) to reduce some
7507        locking overhead.  More to come, some of which will be a little
7508        tricky to bootstrap.
7509
75102006-07-20 01:09  gb
7511
7512        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7513        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7514        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7515
75162006-07-20 01:09  gb
7517
7518        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7519
75202006-07-20 01:08  gb
7521
7522        * level-1/version.lisp: Bump.
7523
75242006-07-20 01:07  gb
7525
7526        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7527         A little tricky to bootstrap.
7528
75292006-07-20 01:05  gb
7530
7531        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7532        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7533        (istruct-based) lisp-thread accessors.
7534
75352006-07-20 01:02  gb
7536
7537        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7538        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7539        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7540        BASIC-STREAM.
7541
75422006-07-15 15:02  gb
7543
7544        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7545        IMPOSSIBLE-NUMBER condition :REPORT method.
7546
75472006-07-15 15:00  gb
7548
7549        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7550        simple vector operations unless we're sure that the vector is a
7551        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7552        leaping into the simple-typed-vector case when the element-type was
7553        known but the vector wasn't known to be SIMPLE.
7554
75552006-07-14 05:57  gb
7556
7557        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7558
75592006-07-13 16:01  gb
7560
7561        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7562        know about FIXNUM arrays.
7563
75642006-07-11 14:23  gb
7565
7566        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7567        (2-address instructions) in natural logical, arithmetic operations.
7568
75692006-07-05 02:38  gb
7570
7571        * release-notes.txt: Update.
7572
75732006-07-05 02:22  gb
7574
7575        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7576        its removal needs to be better publicized.
7577
75782006-07-04 22:24  gb
7579
7580        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7581        PROGRAM arg to RUN-PROGRAM.
7582
75832006-07-04 22:23  gb
7584
7585        * level-1/version.lisp: Bump.
7586
75872006-06-29 02:11  gb
7588
7589        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7590        image-abi-version.
7591
75922006-06-28 05:24  gb
7593
7594        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7595        pointer on DarwinPPC32 (at the very least, that platform's
7596        xFindSymbol gets confused by anything but a null pointer/global
7597        lookup.)
7598
75992006-06-28 05:09  gb
7600
7601        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7602        "Alpha", which may be a bit generous (pretty regular deadlock,
7603        random thread creation errors, other bugs.)
7604
76052006-06-28 05:07  gb
7606
7607        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7608        x86-64 version.
7609
76102006-06-28 04:04  gb
7611
7612        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7613        identifying the cause of XMM FP exceptions.  Try to do that by
7614        looking at MXCSR bits.
7615
76162006-06-28 04:03  gb
7617
7618        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7619        indicate error return.
7620
76212006-06-28 04:03  gb
7622
7623        * level-1/: l1-sockets.lisp, linux-files.lisp,
7624        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7625
76262006-06-28 04:02  gb
7627
7628        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7629        breakpoint.
7630
76312006-06-27 18:08  gb
7632
7633        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7634
76352006-06-27 17:30  gb
7636
7637        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7638
76392006-06-27 17:27  gb
7640
7641        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7642        portable; possibly break it completely ...
7643
76442006-06-27 08:55  gb
7645
7646        * lisp-kernel/x86-exceptions.c: map the altstack
7647        read/write/execute.
7648
76492006-06-27 08:54  gb
7650
7651        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7652        FreeBSD.
7653
76542006-06-27 08:54  gb
7655
7656        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7657        <pthread_np.h>
7658
76592006-06-27 08:53  gb
7660
7661        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7662        :freebsdx8664.
7663
76642006-06-27 08:53  gb
7665
7666        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7667        testing.)
7668       
7669        Don't conditionalize as much code. Indices/offsets are
7670        platform-specific, but accessors defiend in terms of them needn't
7671        be.
7672
76732006-06-27 08:51  gb
7674
7675        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7676        comment.)
7677
76782006-06-27 08:50  gb
7679
7680        * level-0/l0-init.lisp: More freebsd x8664 features.
7681
76822006-06-27 08:50  gb
7683
7684        * scripts/openmcl64: Update for FreeBSD/amd64.
7685
76862006-06-27 08:47  gb
7687
7688        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7689        :freebsdx8664-target as a target-specific-feature.
7690
76912006-06-27 05:05  gb
7692
7693        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7694        freebsd8664/elf_x86_64.x: directory rename
7695
76962006-06-27 04:59  gb
7697
7698        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7699
77002006-06-27 04:47  gb
7701
7702        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7703
77042006-06-27 04:46  gb
7705
7706        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7707        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7708
77092006-06-27 04:45  gb
7710
7711        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7712       
7713        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7714
77152006-06-27 04:44  gb
7716
7717        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7718        suspend_resume_handler.
7719
77202006-06-27 04:44  gb
7721
7722        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7723        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7724
77252006-06-27 04:43  gb
7726
7727        * lisp-kernel/imports.s: Don't import metering-control; do import
7728        get_r_debug().
7729
77302006-06-27 04:42  gb
7731
7732        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7733        word-size stuff (here and in other versions.)
7734
77352006-06-27 04:42  gb
7736
7737        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7738        FreeBSD.
7739
77402006-06-27 04:39  gb
7741
7742        * lib/foreign-types.lisp: Signed char nonsense (should use target
7743        ftd, not reader macros here.)
7744
77452006-06-27 04:38  gb
7746
7747        * lib/compile-ccl.lisp: Some FreeBSD support.
7748
77492006-06-27 04:36  gb
7750
7751        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7752        Some FreeBSD changes/conditionalization. Maybe not enough.
7753
77542006-06-27 04:35  gb
7755
7756        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7757
77582006-06-27 04:34  gb
7759
7760        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7761
77622006-06-27 04:34  gb
7763
7764        * level-0/l0-io.lisp: FreeBSD syscalls.
7765
77662006-06-27 04:33  gb
7767
7768        * level-0/l0-init.lisp: Some FreeBSD features.
7769
77702006-06-27 04:33  gb
7771
7772        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7773        changes.
7774       
7775        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7776        and test.
7777       
7778        Now depends on an imported lisp-kernel function on ELF platforms
7779        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7780
77812006-06-27 04:30  gb
7782
7783        * level-0/.cvsignore: Ignore *fsl.
7784
77852006-06-27 04:29  gb
7786
7787        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7788        in freebsd backend.
7789
77902006-06-27 04:27  gb
7791
7792        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7793        metering-control; do import get-r-debug (for Elf shared libraries.)
7794       
7795        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7796
77972006-06-27 04:26  gb
7798
7799        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7800        Don't import metering-control; do import get-r-debug (for Elf
7801        shared libraries.)
7802
78032006-06-27 04:26  gb
7804
7805        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7806
78072006-06-26 16:38  gb
7808
7809        * compiler/X86/X8664/x8664-vinsns.lisp:
7810        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7811        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7812        constant #xffff000000000000 come from ?
7813
78142006-06-26 16:35  gb
7815
7816        * compiler/X86/x862.lisp: Fix some indentation.
7817
78182006-06-25 20:32  gb
7819
7820        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7821        change initialiation of x8664 foreign-type stuff.
7822
78232006-06-25 20:31  gb
7824
7825        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7826
78272006-06-23 19:52  gb
7828
7829        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7830        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7831
78322006-06-23 19:28  gb
7833
7834        * release-notes.txt: Update some.
7835
78362006-06-23 19:11  gb
7837
7838        * examples/gtk2-clock.lisp: New file.
7839
78402006-06-23 18:56  gb
7841
7842        * level-1/version.lisp: Bump.
7843
78442006-06-23 18:52  gb
7845
7846        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7847
78482006-06-22 13:39  gb
7849
7850        * x86-headers64/gnome2/C/.cvsignore: new
7851
78522006-06-22 13:36  gb
7853
7854        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7855
78562006-06-22 13:33  gb
7857
7858        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7859        gnome2/.cvsignore: new
7860
78612006-06-22 13:30  gb
7862
7863        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7864
78652006-06-22 13:28  gb
7866
7867        * level-1/version.lisp: Bump.
7868
78692006-06-21 15:15  gb
7870
7871        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7872        ppc-spentry.s: Define new string subtags; handle them in ppc64
7873        misc_ref/misc_set.
7874
78752006-06-21 15:14  gb
7876
7877        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7878        versions) to handle FIXNUM vectors, new UCS4 strings.
7879
78802006-06-21 15:14  gb
7881
7882        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7883        versions) to handle FIXNUM vectors, new UCS4 strings.
7884
78852006-06-21 15:12  gb
7886
7887        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7888        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7889        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7890
78912006-06-21 15:11  gb
7892
7893        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7894
78952006-06-21 15:11  gb
7896
7897        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7898        wasn't updated with the introduction of fixnum vectors, (unused)
7899        UCS4 "new"strings.
7900
79012006-06-16 03:50  gb
7902
7903        * examples/objc-support.lisp: Re-compute static NSString info after
7904        opening an extension framework.
7905
79062006-06-16 03:45  gb
7907
7908        * examples/webkit.lisp: Use new functions for augmenting
7909        interfaces, loading framework.
7910
79112006-06-16 03:43  gb
7912
7913        * examples/objc-runtime.lisp: Juggle things around so that add-on
7914        framework bundles get loaded on appication re-launch.
7915       
7916        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7917        since (a) it may not be there, or may not be where we can find it
7918        yet and (b) it's probably more reasonable to do that than it would
7919        be to teach CLOS about classes that're "discovered" when the
7920        appication's launched on a newer OS release than it was saved on.
7921
79222006-06-16 03:39  gb
7923
7924        * examples/cocoa-application.lisp: Touch tha application bundle
7925        before saving an image into it.  That -may- convincve
7926        LaunchServices to do the right thing.
7927
79282006-06-16 03:38  gb
7929
7930        * examples/objc-support.lisp: Reload any addon/framework bundles
7931        that had been loaded before the image was saved when starting a
7932        bundled application.
7933       
7934        Juggle things around, so that that works (need to be able to use
7935        low-level bridge features early.)
7936
79372006-06-16 03:36  gb
7938
7939        * lib/db-io.lisp: Disable the #? reader macro.
7940
79412006-06-14 15:42  gb
7942
7943        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7944        lfun-bits.
7945
79462006-06-12 20:24  gb
7947
7948        * lib/ppc-backtrace.lisp: PPC version of
7949        %find-register-argument-value had the same sort of fencepost as the
7950        x86-64 version had a few days ago.
7951
79522006-06-10 23:52  gb
7953
7954        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7955        its GENERIC-FUNCTION-LAMBDA-LIST.
7956
79572006-06-10 23:51  gb
7958
7959        * level-1/l1-clos.lisp: Give reader/writer method args more
7960        descriptive names. (Barely more descriptive ...)
7961
79622006-06-10 19:25  gb
7963
7964        * level-1/l1-clos-boot.lisp: Arrgh.  In
7965        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7966        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7967        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7968       
7969        This was keeping non-standard instances - like ObjC classes and
7970        metaclasses - from having some of their slots initialized
7971        correctly.
7972
79732006-06-10 19:22  gb
7974
7975        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7976        objc-metaclass: don't die if the class is unnamed (makes it easier
7977        to print classes for debugging during initialization.)
7978
79792006-06-10 13:05  gb
7980
7981        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7982        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7983
79842006-06-08 05:01  gb
7985
7986        * release-notes.txt: Update a bit.
7987
79882006-06-08 03:56  gb
7989
7990        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7991        image-abi-version.
7992
79932006-06-08 03:46  gb
7994
7995        * xdump/faslenv.lisp: Bump (min) fasl version.
7996
79972006-06-08 03:35  gb
7998
7999        * lib/nfcomp.lisp: Bump (current) fasl-version.
8000
80012006-06-08 03:28  gb
8002
8003        * lisp-kernel/linuxx8664/Makefile: -O2.
8004
80052006-06-08 03:26  gb
8006
8007        * xdump/faslenv.lisp: Bump (max) fasl version.
8008
80092006-06-08 03:18  gb
8010
8011        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
8012        doubt and claim that it's a beta.
8013
80142006-06-08 03:18  gb
8015
8016        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
8017
80182006-06-08 03:17  gb
8019
8020        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
8021        options; enable -O2.
8022
80232006-06-08 02:55  gb
8024
8025        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
8026        Handle suspend (and maybe someday resume, again) signals on the
8027        altstack, since we don't really want a signal context in the middle
8028        of the tagged lisp stack ...
8029
80302006-06-08 02:52  gb
8031
8032        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
8033        PLATFORM-exceptions.c; some constants/prototypes moved to
8034        Threads.h.
8035
80362006-06-08 02:51  gb
8037
8038        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
8039        via install_signal_handler(); thread_signal_setup() moved here, to
8040        do that installation.
8041
80422006-06-08 02:50  gb
8043
8044        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
8045       
8046        Don't call (or define) prepare_for_the_worst(), which is kind of
8047        too bad ...
8048
80492006-06-08 02:49  gb
8050
8051        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
8052
80532006-06-08 01:11  gb
8054
8055        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
8056        let OPTIMIZE proclamations persist beyond the LOAD.
8057
80582006-06-07 21:45  gb
8059
8060        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
8061
80622006-06-07 21:38  gb
8063
8064        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
8065        MMX regs.  Do maintain them in TCR.
8066
80672006-06-07 21:37  gb
8068
8069        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
8070        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
8071        temporary (old tsp), finish frame by storing into tcr.save_tsp.
8072
80732006-06-07 21:34  gb
8074
8075        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
8076
80772006-06-07 21:33  gb
8078
8079        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
8080        %stack_temp.
8081
80822006-06-07 21:32  gb
8083
8084        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
8085
80862006-06-07 21:30  gb
8087
8088        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8089        now.
8090
80912006-06-07 21:30  gb
8092
8093        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8094        (since it no longer exists ...).  Use %stack-temp in some cases.
8095
80962006-06-07 21:29  gb
8097
8098        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8099        %stack-temp is a symbolic name for an MMX register that can be used
8100        for (e.g.) linking frames on the temp/foreign stacks (or for any
8101        other purpose ...)
8102
81032006-06-07 15:29  gb
8104
8105        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8106        tcr.next_tsp in sync with %next_tsp Check to ensure that
8107        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8108        allocating on the temp stack.  (This will soon change, so that %tsp
8109        and %next_tsp will not be canonical and the tcr fields are, then
8110        will change so that %tsp and %next_tsp will cease to exist.)
8111
81122006-06-07 15:25  gb
8113
8114        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8115
81162006-06-07 15:25  gb
8117
8118        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8119        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8120        a temporary.
8121
81222006-06-07 15:23  gb
8123
8124        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8125        don't need FP regs for this.  (They're sometimes invalid and
8126        sometimes missing, which is the point of recent changes.)
8127
81282006-06-07 15:21  gb
8129
8130        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8131        to %Rnext_tsp to avoid potential m4 lossage.
8132
81332006-06-07 15:20  gb
8134
8135        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8136
81372006-06-07 15:20  gb
8138
8139        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8140
81412006-06-07 15:19  gb
8142
8143        * level-1/version.lisp: Bump.
8144
81452006-06-07 15:19  gb
8146
8147        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8148
81492006-06-07 15:18  gb
8150
8151        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8152        foreign-sp register (though some code still uses %mm5 as a
8153        temporary, the "canonical" foreign SP is maintained in the TCR.)
8154
81552006-06-07 04:52  gb
8156
8157        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8158        frame, get the foreign SP out of the TCR.
8159
81602006-06-07 04:52  gb
8161
8162        * compiler/X86/X8664/x8664-vinsns.lisp,
8163        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8164        maintain the foreign sp in both the TCR and the MMX register, but
8165        consider the TCR version to be canonical.
8166
81672006-06-07 02:46  gb
8168
8169        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8170        %tsp MMX register doesn't match the value in the tcr, trap.
8171        Likewise for %foreign-sp.
8172
81732006-06-07 01:29  gb
8174
8175        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8176        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8177        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8178       
8179        (The idea is to keep the temp/foreign stack pointers in the tcr and
8180        only use the MMX registers as temporaries, since it seems that
8181        handlers for asynchronous signals can't count on the MMX register
8182        values in the signal context being correct.  This seems to either
8183        be a Linux kernel bug or ill-considered if it's intentional
8184        behavior, but it seems better to work around it this way.)
8185       
8186        This is just an early step in bootstrapping that change; it's being
8187        checked into CVS so that it doesn't get lost (and so that I can
8188        recover to this point if/when I hose things on a later step.)
8189
81902006-06-07 01:24  gb
8191
8192        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8193        tcr.
8194
81952006-06-07 01:22  gb
8196
8197        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8198        next_tsp slot to the tcr.
8199
82002006-06-06 04:25  gb
8201
8202        * lib/ppc-metering.lisp: no hope
8203
82042006-06-06 04:22  gb
8205
8206        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8207        frame (cfp argument) could be an exception callback frame (xcf-p
8208        may be true of it), in which case the saved register value is in
8209        the xcf.xp context.  (Basically, this means look at the first frame
8210        if it's an xcf, otherwise skip it and start with the child.)
8211
82122006-06-06 01:48  gb
8213
8214        * compiler/X86/x86-lapmacros.lisp,
8215        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8216        Using imul to box fixnums is smaller and seems to be faster than
8217        using lea with a scale factor.
8218
82192006-06-05 23:56  gb
8220
8221        * lisp-kernel/thread_manager.c: I don't think that
8222        suspend_resume_handler wants to have suspend signals unmasked, does
8223        it ?
8224
82252006-06-05 12:43  gb
8226
8227        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8228
82292006-06-03 03:11  gb
8230
8231        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8232        last catch frame, do skip others (test was backwards.  As it
8233        probably had been in the single-value case at one point.)
8234
82352006-06-02 03:48  gb
8236
8237        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8238        *terminal-io*; do print it to *trace-output*.
8239
82402006-06-01 20:20  gb
8241
8242        * level-0/l0-array.lisp: There's a T in subtag.
8243
82442006-06-01 20:17  gb
8245
8246        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8247       
8248        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8249       
8250        correctly.
8251
82522006-06-01 20:16  gb
8253
8254        * compiler/nx0.lisp: Defvars for global optimization quantities
8255        moved to level-0.
8256
82572006-06-01 20:15  gb
8258
8259        * level-1/l1-files.lisp: Bind the variables which hold global
8260        compiler optimization quantities, since people persist in doing
8261        things like:
8262       
8263        (declaim (optimize
8264        <something-that-they-probably-think-has-local-effects>))
8265       
8266        without bothering to use EVAL-WHEN or otherwise thinking very
8267        clearly.
8268       
8269        Note that this means that anyone who wanted such a declamation to
8270        have persistent global effects is now SOL.  Blame whoever wrote
8271        (for instance) clx/glx.lisp.
8272
82732006-06-01 20:11  gb
8274
8275        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8276        be referenced early in the cold load.
8277
82782006-06-01 13:13  gb
8279
8280        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8281        pointer to ENCODED-GPR-LISP if we have to get the register value
8282        from an exception frame.
8283
82842006-05-30 19:27  gwking
8285
8286        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8287        1.98)
8288
82892006-05-30 17:12  gb
8290
8291        * level-1/version.lisp: bump again.
8292
82932006-05-30 16:31  gb
8294
8295        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8296        ensure that tcr.xframe is updated from the catch frame (a) in all
8297        execution paths and (b) before RSP is updated.
8298
82992006-05-30 16:30  gb
8300
8301        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8302        vectors.
8303
83042006-05-30 16:29  gb
8305
8306        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8307
83082006-05-30 16:29  gb
8309
8310        * release-notes.txt: Update some more ...
8311
83122006-05-30 16:23  gb
8313
8314        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8315        Apparently.
8316
83172006-05-30 16:15  gb
8318
8319        * release-notes.txt: updated
8320
83212006-05-30 01:58  gb
8322
8323        * level-1/version.lisp: Bump.
8324
83252006-05-30 01:48  gb
8326
8327        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8328        made copies of the signal context and siginfo on the foreign stack,
8329        don't pass the originals to interrupt_handler().
8330       
8331        (altstack_interrupt_handler() looks suspiciously like
8332        altstack_signal_handler(), which probably had the same bug a few
8333        months ago ...)
8334       
8335        Since the alternate signal stack (as we use it) isn't reentrant,
8336        the next signal (perhaps a suspend signal) overwrote the context.
8337        Which is one reason to have made a copy in the first place ...
8338
83392006-05-30 01:43  gb
8340
8341        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8342        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8343        timeout is a good idea here, make sure that the timeout isn't
8344        fooled by #$EINTR.
8345
83462006-05-30 01:39  gb
8347
8348        * level-1/linux-files.lisp: Rename the old
8349        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8350        since it basically waits indefinitely.
8351       
8352        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8353        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8354        a "timed wait" that handles interruptions, etc. when the caller
8355        just has a "raw" (native) semaphore.
8356       
8357        Change callers, endure warnings.  New binaries soon.
8358
83592006-05-30 01:36  gb
8360
8361        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8362        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8363
83642006-05-29 22:34  gb
8365
8366        * lisp-kernel/x86-exceptions.c: The
8367        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8368        too small ...
8369
83702006-05-29 14:03  gb
8371
8372        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8373        syscall-based getcwd (it doesn't work as it once did/is documented
8374        to on linuxx8664); use the library function on all platforms.
8375
83762006-05-29 14:02  gb
8377
8378        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8379        processing interrupt.
8380
83812006-05-28 17:01  gb
8382
8383        * lisp-kernel/ppc-exceptions.c: If we handle a
8384        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8385       
8386        Back out of the hack that tried to work around a Darwin bug (FP
8387        exception flags were cleared in the MSR after a thread had been
8388        interrupted via pthread_kill()), since the fix seems not to be
8389        GC-safe.
8390       
8391        Add some debugging code to print when the exception lock is
8392        acquired/released.
8393
83942006-05-28 01:10  gb
8395
8396        * level-1/solaris-files.lisp: long gone
8397
83982006-05-23 20:25  gb
8399
8400        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8401
84022006-05-22 22:59  gb
8403
8404        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8405        C/.cvsignore: New file.
8406
84072006-05-22 22:57  gb
8408
8409        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8410        thread to suspend itself.
8411
84122006-05-22 22:57  gb
8413
8414        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8415        SINGLE-FLOAT constants.
8416       
8417        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8418        64-bit arg word, regardless of whether they're also passed in
8419        f1-f13 as well.
8420
84212006-05-22 22:55  gb
8422
8423        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8424        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8425        64-bit word.
8426
84272006-05-22 22:54  gb
8428
8429        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8430        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8431
84322006-05-22 22:53  gb
8433
8434        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8435        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8436        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8437        access them.
8438
84392006-05-22 03:53  gb
8440
8441        * level-1/version.lisp: Bump.
8442
84432006-05-22 03:32  gb
8444
8445        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8446
84472006-05-22 03:31  gb
8448
8449        * compiler/X86/x862.lisp: Numeric contagion on binops,
8450        fixnum->float.
8451
84522006-05-22 03:29  gb
8453
8454        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8455        well.
8456
84572006-05-22 03:28  gb
8458
8459        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8460        earlier when creating a stack frame inline.  Doesn't seem to affect
8461        latency much.
8462
84632006-05-22 03:27  gb
8464
8465        * compiler/X86/x862.lisp: Comment formatting on the first line of
8466        the file.
8467
84682006-05-22 03:26  gb
8469
8470        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8471        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8472
84732006-05-21 07:34  gb
8474
8475        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8476
84772006-05-21 07:32  gb
8478
8479        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8480        numeric-contagion stuff for arithmetic ops.
8481
84822006-05-21 07:31  gb
8483
8484        * compiler/nx1.lisp: Use div2 for /-2.
8485
84862006-05-21 07:31  gb
8487
8488        * compiler/nx0.lisp: Binop numeric contagion.
8489
84902006-05-21 06:49  gb
8491
8492        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8493
84942006-05-21 06:49  gb
8495
8496        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8497        weird, just wrong.
8498
84992006-05-21 06:17  gb
8500
8501        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8502        SIMPLE-FIXNUM-VECTORs.
8503
85042006-05-21 06:16  gb
8505
8506        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8507        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8508
85092006-05-21 06:16  gb
8510
8511        * compiler/PPC/PPC32/ppc32-arch.lisp,
8512        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8513        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8514        vector stuff.
8515
85162006-05-21 06:15  gb
8517
8518        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8519       
8520        Fixnum vector vref/vset.
8521
85222006-05-21 06:15  gb
8523
8524        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8525        %fixnum-to-double.
8526
85272006-05-21 06:14  gb
8528
8529        * compiler/nx0.lisp: More operator result types.
8530
85312006-05-21 04:35  gb
8532
8533        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8534        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8535        specialized FIXNUM array-element-type into type system, CLOS.
8536        (Knock wood.)
8537
85382006-05-21 04:34  gb
8539
8540        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8541        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8542
85432006-05-21 04:33  gb
8544
8545        * compiler/X86/X8664/x8664-arch.lisp,
8546        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8547        subtag for :fixnum-vector.
8548
85492006-05-21 04:32  gb
8550
8551        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8552        indices correctly.
8553       
8554        64-bit vset, vref: handle :FIXNUM-VECTOR.
8555
85562006-05-21 00:22  gb
8557
8558        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8559
85602006-05-20 18:13  gb
8561
8562        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8563        stack args) without restoring/re-saving NVRs.
8564
85652006-05-19 15:07  gb
8566
8567        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8568        completion semaphore (when :WAIT is true) happens inside an
8569        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8570        interrupts.
8571
85722006-05-19 15:06  gb
8573
8574        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8575        for SEMAPHORE.
8576
85772006-05-19 12:23  gwking
8578
8579        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8580        Also changed it so that it displays all items before trying to get
8581        an answer.
8582
85832006-05-19 12:00  gwking
8584
8585        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8586
85872006-05-19 11:57  gwking
8588
8589        * .cvsignore: The *fsl wasn't cutting it for me...
8590
85912006-05-19 11:50  gb
8592
8593        * level-1/version.lisp: Bump.
8594
85952006-05-19 11:49  gb
8596
8597        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8598        syscall definitions so that it can be moused on.
8599
86002006-05-19 11:48  gb
8601
8602        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8603        .SPeabi-syscall -> .SPsyscall.
8604
86052006-05-19 11:45  gb
8606
8607        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8608        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8609        does indeed burn cache lines, but going out of line isn't cheap
8610        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8611        are in fact fixnums and no overflow is involved - seems to be about
8612        2X faster when inlined this way.  Not sure if that'll be the case
8613        on PPC.)
8614
86152006-05-19 11:40  gb
8616
8617        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8618        stuff.
8619
86202006-05-18 14:47  gb
8621
8622        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8623        in all places that do so ...), update tcr.xframe from
8624        catch_frame.xframe on all execution paths (in particular, do so
8625        before SP is restored from the catch_frame, since a tcr.xframe
8626        "beyond" SP is clearly bogus.)
8627
86282006-05-18 02:34  gb
8629
8630        * level-1/version.lisp: Bump.
8631
86322006-05-17 23:12  gb
8633
8634        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8635        for PPC, too.
8636
86372006-05-17 22:53  gb
8638
8639        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8640        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8641        if any unmasked exceptions were raised before even calling this ...
8642
86432006-05-17 22:51  gb
8644
8645        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8646        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8647
86482006-05-17 22:50  gb
8649
8650        * compiler/X86/x862.lisp: Work harder to find acode types in some
8651        cases.
8652
86532006-05-17 22:50  gb
8654
8655        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8656        registers in OP-REG.
8657       
8658        Don't want to use RET very often if at all, but disassembler should
8659        treat as as a :JUMP.
8660
86612006-05-17 22:48  gb
8662
8663        * compiler/nxenv.lisp: MUL2, DIV2.
8664
86652006-05-17 22:48  gb
8666
8667        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8668        type-inferencing (or, more accurately, paying a little more
8669        attention here and there.)
8670
86712006-05-12 20:40  gwking
8672
8673        * examples/addressbook.lisp: added examples/addressbook.lisp
8674
86752006-05-11 18:42  gb
8676
8677        * level-1/l1-application.lisp: Stop processing command-line
8678        arguments when "--" is encountered; anything after that "--" is
8679        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8680
86812006-05-11 18:42  gb
8682
8683        * lib/ccl-export-syms.lisp: Export command-line stuff
8684
86852006-05-11 18:40  gb
8686
8687        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8688        method for LOCKs.
8689
86902006-05-11 18:39  gb
8691
8692        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8693        are base-strings (and always have been in OpenMCL.)
8694
86952006-05-11 18:37  gb
8696
8697        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8698
86992006-05-11 08:11  gwking
8700
8701        * lib/db-io.lisp: Added a check that the directory exists to
8702        fid-open-output in order to make it clearer what is wrong when one
8703        is unable to rebuild interface files because they are trying to do
8704        so in a place without FFI files to read!
8705
87062006-05-11 05:14  gb
8707
8708        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8709        Bump lisp-implementation-version, image-abi-version.
8710
87112006-05-11 05:04  gb
8712
8713        * xdump/faslenv.lisp: Bump (min) fasl version.
8714
87152006-05-11 04:52  gb
8716
8717        * lib/nfcomp.lisp: Bump (current) FASL version.
8718
87192006-05-11 04:52  gb
8720
8721        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8722        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8723
87242006-05-11 04:35  gb
8725
8726        * xdump/faslenv.lisp: Bump (max) fasl version.
8727
87282006-05-11 04:32  gb
8729
8730        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8731        target-specific feature.
8732
87332006-05-11 03:35  gb
8734
8735        * compiler/PPC/PPC32/ppc32-arch.lisp,
8736        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8737        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8738        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8739        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8740        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8741        typecodes around: get rid of the (unused) old 16-bit string; add an
8742        (as yet unused) UCS-4 string type.
8743       
8744        These changes generally involve cross-compilation (or some very
8745        tricky bootstrapping that I didn't attempt)  FASL versions and
8746        kernel ABI versions will need to change, and new binaries will be
8747        made available soon.
8748
87492006-05-10 20:20  gb
8750
8751        * compiler/PPC/ppc-lapmacros.lisp,
8752        compiler/PPC/PPC32/ppc32-arch.lisp,
8753        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8754        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8755        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8756        8-bit) character code is stored in the #x0000xx00 byte of a
8757        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8758        bootstrap natively (which is why I was trying to make ppc64->ppc32
8759        cross-compilation work.)
8760       
8761        Change related macros/visnsns as well.
8762
87632006-05-10 19:00  gb
8764
8765        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8766        think that this is just hard to do right the way that it's being
8767        done.
8768
87692006-05-10 18:59  gb
8770
8771        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8772        when cross-compiling (because word-size differences aren't handled
8773        correctly by macros.)  Until the macros are fixed, don't even try
8774        ...
8775
87762006-05-10 18:58  gb
8777
8778        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8779        target::target-most-positive-fixnum (not the host's
8780        MOST-POSITIVE-FIXNUM).
8781
87822006-05-10 18:57  gb
8783
8784        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8785        few places.
8786
87872006-05-10 18:56  gb
8788
8789        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8790
87912006-05-10 18:55  gb
8792
8793        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8794        differences between host and target types, but try to turn
8795        references to FIXNUM to the appropriate target-specific type.
8796
87972006-05-09 21:01  gb
8798
8799        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8800        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8801        around to check the high bits of the char code, but all chars have
8802        been base-chars for several years now ...
8803       
8804        UNBOX-CHARACTER was unused.
8805       
8806        (This is the first step of what may be several bootstrapping steps
8807        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8808        easily-accessed char-code bits on PPC32.)
8809
88102006-05-09 11:48  gb
8811
8812        * lisp-kernel/xlbt.c: No psn in cs_area.
8813
88142006-05-09 02:42  gb
8815
8816        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8817        to mark_simple_area_range().
8818
88192006-05-09 02:33  gb
8820
8821        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8822        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8823
88242006-05-09 02:25  gb
8825
8826        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8827        the containing TCR, to make low-level debugging a bit easier.
8828
88292006-05-09 02:25  gb
8830
8831        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8832        and debugging printfs.
8833
88342006-05-09 02:24  gb
8835
8836        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8837        extra (signed_natural *) arg, for allocptr displacement.
8838
88392006-05-09 02:23  gb
8840
8841        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8842       
8843        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8844        regs/ saved TCR fields.  The general idea is that the after they
8845        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8846        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8847        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8848        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8849       
8850        On an interrupt, the caller needs to pass in a signed_natural * to
8851        pick up the allocptr displacement (if consing was interrupted at
8852        the alloc trap); the interrupt handler uses this value to fix up
8853        alloptr when it returns if consing was interrupted.
8854       
8855        This is all pretty clearly right, but something still goes wrong
8856        under some combination of high thread stress, frequent allocation,
8857        and blocking ff-calls.
8858
88592006-05-09 02:17  gb
8860
8861        * lisp-kernel/plbt.c: No psn currently available.
8862
88632006-05-09 02:16  gb
8864
8865        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8866        where it may come in handy ...
8867
88682006-05-09 02:16  gb
8869
8870        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8871        arg.
8872
88732006-05-09 02:13  gb
8874
8875        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8876
88772006-05-09 02:12  gb
8878
8879        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8880        Restore it.
8881
88822006-05-09 02:12  gb
8883
8884        * level-0/l0-error.lisp, library/lispequ.lisp,
8885        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8886        recycle $XNOCDR.
8887
88882006-05-09 02:11  gb
8889
8890        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8891        target-specific.
8892
88932006-05-09 02:11  gb
8894
8895        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8896        target-specific.
8897
88982006-05-09 00:40  gb
8899
8900        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8901        here.
8902
89032006-05-09 00:39  gb
8904
8905        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8906        x8664.
8907
89082006-05-09 00:39  gb
8909
8910        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8911        stuff up to l1-lisp-threads.lisp.
8912
89132006-05-08 22:58  gb
8914
8915        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8916        handle array and vector headers.
8917
89182006-05-08 22:57  gb
8919
8920        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8921        of which should ever happen) with the kernel.
8922
89232006-05-08 22:56  gb
8924
8925        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8926        the TCR either.
8927
89282006-05-08 22:55  gb
8929
8930        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8931
89322006-05-08 22:55  gb
8933
8934        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8935        $xsetbadvec.
8936
89372006-05-08 03:26  gb
8938
8939        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8940        flags are set to the result of decrementing %nargs at the end of
8941        the loop.
8942
89432006-05-08 03:25  gb
8944
8945        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8946        wants a list of condition args, not a single arg.
8947
89482006-05-08 03:24  gb
8949
8950        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8951        CS-AREA.
8952
89532006-05-08 03:23  gb
8954
8955        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8956        uuo_error_udf, not as a type error.
8957
89582006-05-07 16:50  gb
8959
8960        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8961        slots in a long time (they probably haven't -needed- them in even
8962        longer; I think that this had to do with the old partial MOP.)
8963        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8964        accessor in STANDARD-OBJECT-SETF-LINE-N.
8965
89662006-05-07 04:39  gb
8967
8968        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8969        file.
8970
89712006-05-07 04:34  gb
8972
8973        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8974        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8975        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8976        if code that wants both locks isn't careful to try to obtain them
8977        in some canonical order.)
8978
89792006-05-07 04:29  gb
8980
8981        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8982
89832006-05-07 04:29  gb
8984
8985        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8986
89872006-05-07 04:28  gb
8988
8989        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8990        xFindSymbol/dlsym returns 0 on x8664.
8991
89922006-05-07 04:27  gb
8993
8994        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8995        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8996        I'd mistakenly decided that it was faster to go through memory than
8997        to use these instructions.  It seems to actually be substantially
8998        slower, as one would expect.)
8999
90002006-05-07 04:25  gb
9001
9002        * compiler/X86/x86-asm.lisp: Add support for
9003        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
9004
90052006-05-07 04:21  gb
9006
9007        * library/hash-cons.lisp: Fix doc in comments.
9008
90092006-05-07 04:21  gb
9010
9011        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
9012
90132006-05-07 04:20  gb
9014
9015        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
9016
90172006-05-07 04:19  gb
9018
9019        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
9020        TARGET-backtrace.lisp.
9021
90222006-05-07 04:18  gb
9023
9024        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
9025        BOGUS-THING-P to TARGET-thread-utils.lisp.
9026
90272006-05-07 04:17  gb
9028
9029        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
9030        BOGUS-THING-P support here.
9031
90322006-05-07 04:16  gb
9033
9034        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
9035        to psn.
9036
90372006-05-06 15:27  gb
9038
9039        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
9040        to the "natural" case.
9041
90422006-05-06 15:26  gb
9043
9044        * compiler/X86/x862.lisp: Pass the right number of args to
9045        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
9046
90472006-05-06 15:26  gb
9048
9049        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
9050
90512006-05-06 02:09  gb
9052
9053        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
9054        A and tries to obtain lock B, and thread Y holds lock B and tries
9055        to obtain lock A, what is that a classic case of ?
9056       
9057        Try to avoid that classic deadlock case in shutdown_thread_tcr()
9058        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
9059        two locks at the same time, and that's always a bit dangerous; it
9060        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
9061        that must be owned in order to manipulate either the tcr or area
9062        queues.
9063
90642006-05-06 02:04  gb
9065
9066        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
9067        %REALPATH of the current directory namestring, as it does by
9068        default on some platforms (but not Linux.)
9069
90702006-05-05 20:08  gb
9071
9072        * compiler/X86/x862.lisp: x862-ff-call: really implement the
9073        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
9074        the el-bizarro <- with a (temp) node target.
9075
90762006-05-05 20:06  gb
9077
9078        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
9079        relative to the tagged entrypoint, not to the start of the
9080        underlying function-vector.)
9081
90822006-05-05 13:24  gb
9083
9084        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
9085        heap-consing an &REST arg.  (%allocptr and %next-method-context are
9086        the same register, so &rest clobbbers %next-method-context.)
9087       
9088        Could make separate entry points, so that this is only done when
9089        %next-method-context needs to be preserved ...
9090
90912006-05-05 13:21  gb
9092
9093        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9094
90952006-05-05 02:23  gb
9096
9097        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9098
90992006-05-05 02:23  gb
9100
9101        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9102
91032006-05-05 01:37  gb
9104
9105        * level-1/version.lisp: Bump du jour.
9106
91072006-05-05 01:36  gb
9108
9109        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9110        between the first 6 words of the outgoing frame (from which GPRs
9111        will be loaded) and other words (which stay on the stack); after
9112        the first 8 FP args, floats have to be passed on the stack, even if
9113        there's still room in the first 6 words of the outgoing frame.
9114       
9115        Need to understand the struct-by-value rules better: can a struct
9116        be passed partly in registers and partly on the stack ? RTFM (or,
9117        in this case, TF ABI spec.)
9118
91192006-05-05 01:31  gb
9120
9121        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9122        case should store relative to "other-offset" (rather than   
9123        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9124        - both the single and double-float cases were incrementing
9125        "other-offset"     twice when more than 8 FP args were involved.
9126        This had the effect of     storing floats into every other word and
9127        writing beyond the bounds of     the outgoing stack frame, possibly
9128        overwriting return addresses on the     foreign stack.
9129
91302006-05-04 23:12  gb
9131
9132        * level-1/l1-streams.lisp: James Bielman's fix to
9133        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9134
91352006-05-04 18:30  gb
9136
9137        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9138        decrement FPR-ARG-OFFSET by 8, not -8.
9139       
9140        (This could cause values outside of the stack frame to be read, but
9141        I still haven't found what's writing beyond the frame bounds.)
9142
91432006-05-04 18:27  gb
9144
9145        * lib/x86-backtrace.lisp: If its argument is an exception callback
9146        frame, %CFP-LFUN tries to determine the relative PC associated with
9147        the frame's nominal function and return that as a second value
9148        (just as it does for a real frame.)
9149       
9150        I think that this should work a high percentage of the time, but
9151        callers should generally be prepared to deal with a NULL second
9152        return value from %CFP-LFUN.
9153
91542006-05-04 11:12  gb
9155
9156        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9157        since we're using the same stack pointer to return values as we are
9158        to find arguments, don't try to "optimize" its initialization.
9159
91602006-05-03 18:52  gb
9161
9162        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9163        a little.  Don't coerce single float results to double; bind
9164        stack-ptr variable even if no args (might be a return value form
9165        that references it.) Failure to do the latter was creating a weird
9166        free variable reference that wasn't handled by the fasloader.
9167
91682006-05-03 18:50  gb
9169
9170        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9171
91722006-05-03 18:49  gb
9173
9174        * lib/nfcomp.lisp: Indent a comment.
9175
91762006-05-03 18:16  gb
9177
9178        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9179        that might involve a variable-length arglist (at this level,
9180        always), set %rax to the number (0-8) of FP arguments passed in xmm
9181        registers.
9182
91832006-05-03 13:26  gb
9184
9185        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9186        ~15, not ~!5.  (This was causing segfaults on return from
9187        interrupts sometimes.)
9188
91892006-05-03 13:24  gb
9190
9191        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9192        by SWANK/SLIME.
9193
91942006-05-03 13:23  gb
9195
9196        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9197        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9198        seems to get many things wrong.)
9199
92002006-05-03 11:37  gb
9201
9202        * level-1/version.lisp: You mist have yesterday's version.
9203
92042006-05-03 11:37  gb
9205
9206        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9207        LAP.
9208
92092006-05-03 11:36  gb
9210
9211        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9212        #+x8664-target.
9213
92142006-05-03 11:36  gb
9215
9216        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9217        it can just check for a 2-digit bignum header if it has something
9218        of tag TAG-MISC.
9219
92202006-05-03 11:34  gb
9221
9222        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9223        destinations.
9224
92252006-05-03 11:33  gb
9226
9227        * compiler/X86/x86-disassemble.lisp: Recognize
9228        uuo-error-eep-unresolved.
9229
92302006-05-02 18:07  gb
9231
9232        * level-1/version.lisp: Bump.
9233
92342006-05-02 18:07  gb
9235
9236        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9237        (mostly ?) unused and currently PPC-specific, if it works at all
9238        ...
9239
92402006-05-02 10:27  gb
9241
9242        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9243        for STRING-INPUT-STREAMs; it's not clear what such a method should
9244        do (and fairly clear that it shouldn't do what the previous
9245        definition was doing.)
9246
92472006-05-02 10:26  gb
9248
9249        * lib/format.lisp: clear input from *query-io*, not from
9250        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9251
92522006-05-02 10:26  gb
9253
9254        * library/hash-cons.lisp: x8664 lap
9255
92562006-05-02 10:26  gb
9257
9258        * lisp-kernel/x86-gc.c: hons area stuff
9259
92602006-04-29 09:14  gb
9261
9262        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9263        overflow (on value/temp stacks).
9264
92652006-04-29 09:13  gb
9266
9267        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9268        callback.
9269
92702006-04-29 09:10  gb
9271
9272        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9273       
9274        No linker script.
9275       
9276        Use -lthr, which offers 1:1 threads.
9277
92782006-04-29 09:09  gb
9279
9280        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9281
92822006-04-29 09:01  gb
9283
9284        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9285
92862006-04-29 09:00  gb
9287
9288        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9289        anything cares ...)
9290
92912006-04-29 08:59  gb
9292
9293        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9294
92952006-04-29 08:58  gb
9296
9297        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9298
92992006-04-29 08:58  gb
9300
9301        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9302
93032006-04-28 21:28  gb
9304
9305        * level-1/version.lisp: bump.
9306
93072006-04-28 21:27  gb
9308
9309        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9310        version).
9311
93122006-04-28 21:24  gb
9313
9314        * lib/ppc-backtrace.lisp: Fix typo.
9315
93162006-04-28 21:23  gb
9317
9318        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9319       
9320        Change the command/keyword parser a little, so that :FOO is just
9321        :FOO and not (:FOO).
9322       
9323        Change :B break loop command (and :F) to allow focusing on a range
9324        of frames, and change PRINT-CALL-HISTORY to more easily support
9325        that.
9326
93272006-04-28 19:37  gb
9328
9329        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9330        LOAD-CONSTANT form.
9331
93322006-04-28 19:34  gb
9333
9334        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9335        Factor out a little more.  Time to see what's broken on PPC ...
9336
93372006-04-28 19:34  gb
9338
9339        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9340        around colon-commands optional.
9341
93422006-04-28 04:11  gb
9343
9344        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9345        debugger's register display code.
9346
93472006-04-28 04:11  gb
9348
9349        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9350        on the stack is bogus.
9351
93522006-04-28 04:10  gb
9353
9354        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9355        ...) when calling back for an exception.
9356
93572006-04-28 03:36  gb
9358
9359        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9360       
9361        xcf struct.
9362
93632006-04-28 03:36  gb
9364
9365        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9366
93672006-04-28 03:36  gb
9368
9369        * lib/x86-backtrace.lisp: Implemented some stuff.
9370       
9371        Backtrace (sort of) works on x8664 now; need to find register
9372        values,  hide tagged return addresses, a few other things.
9373
93742006-04-28 03:34  gb
9375
9376        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9377
93782006-04-28 03:34  gb
9379
9380        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9381
93822006-04-28 03:33  gb
9383
9384        * level-1/x86-trap-support.lisp: Flags register accessor.
9385       
9386        New exception callback scheme.
9387
93882006-04-28 03:33  gb
9389
9390        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9391        changing.
9392
93932006-04-28 03:32  gb
9394
9395        * level-1/x86-error-signal.lisp: New exception callback stuff.
9396
93972006-04-28 03:32  gb
9398
9399        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9400
94012006-04-28 03:32  gb
9402
9403        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9404        files.
9405
94062006-04-28 03:31  gb
9407
9408        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9409        have exception callback frames ...
9410
94112006-04-28 03:30  gb
9412
9413        * level-1/l1-error-system.lisp: Tweak :report method for
9414        wrong-number-of-args errors.
9415
94162006-04-28 03:30  gb
9417
9418        * level-0/X86/x86-def.lisp: Implement APPLY+.
9419
94202006-04-28 03:29  gb
9421
9422        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9423
94242006-04-28 03:27  gb
9425
9426        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9427       
9428        CHECK-NARGS: don't enforce upper bound if it's null.
9429
94302006-04-28 03:17  gb
9431
9432        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9433
94342006-04-28 03:16  gb
9435
9436        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9437        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9438
94392006-04-26 14:18  gb
9440
9441        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9442
94432006-04-26 14:17  gb
9444
9445        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9446        prepared" to do so) if its argument isn't a function designator, so
9447        don't quietly call METHOD-FUNCTION for the user.
9448
94492006-04-26 13:56  gb
9450
9451        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9452        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9453
94542006-04-26 03:59  gb
9455
9456        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9457        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9458        exceptions will be pending when we start an ff-call (and the mxcsr
9459        is loaded from that location.)
9460       
9461        tcr.ffi_exception will then contain non-zero exception bits iff the
9462        most recent ff-call raised a (probably masked) FP exception.
9463       
9464        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9465
94662006-04-26 03:55  gb
9467
9468        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9469
94702006-04-26 03:23  gb
9471
9472        * lisp-kernel/x86-constants64.s: Update comment on
9473        tcr.ffi_exception.
9474
94752006-04-26 03:22  gb
9476
9477        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9478        from ffcall.  (Should maybe clear exception bits on entry to
9479        foreign state, so we're sure that any exception bits set in the
9480        tcr.ffi_exception slot were caused by the most recent ff-call.)
9481
94822006-04-26 03:20  gb
9483
9484        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9485        ffcall, compare them to unmasked exception bits in current MXCSR,
9486        maybe raise FP exception.  (Note: compile this change and rebuild
9487        image before making corresponding kernel change.)
9488
94892006-04-26 02:31  gb
9490
9491        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9492        LOGAND-2, not to LOGXOR-2.  Sheesh.
9493
94942006-04-26 02:01  gb
9495
9496        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9497        bit numbers as tests of the sign bit.   (This is probably best
9498        viewed as being "formally undefined", but it's not too expensive to
9499        check for that.  The case where the bit number's negative is
9500        definitely undefined; I think that it also gets treated as a test
9501        of the sign bit.)
9502
95032006-04-26 01:58  gb
9504
9505        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9506        negative.
9507
95082006-04-26 01:32  gb
9509
9510        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9511        61.  (Should check here for negative bit .)
9512
95132006-04-26 01:31  gb
9514
9515        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9516        context" error - which typically indicates a fault during exception
9517        processing - pass the context in to the kernel debugger.
9518
95192006-04-26 01:30  gb
9520
9521        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9522
95232006-04-26 00:56  gb
9524
9525        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9526        if it compares all corresponding digits, rather than repeatedly
9527        comparing the 0th digits N times ...
9528
95292006-04-25 17:38  gb
9530
9531        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9532        is 0, not if disp is 0.  ash: always make a signed integer out of
9533        the result,  since arg is always signed.
9534
95352006-04-25 17:37  gb
9536
9537        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9538        bit, so (for instance) (- 0.0d0) is -0.0d0.
9539
95402006-04-25 17:36  gb
9541
9542        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9543        time.
9544
95452006-04-25 17:35  gb
9546
9547        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9548        operand is in target reg (2-address issue.)
9549
95502006-04-24 16:42  gb
9551
9552        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9553        Apparently, pretty hard.  It was doing a logical shift right when
9554        typechecking the value, so negative values were rejected.
9555
95562006-04-24 16:41  gb
9557
9558        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9559        callback now takes a 'signo' argument.
9560
95612006-04-24 16:40  gb
9562
9563        * level-1/x86-trap-support.lisp: Initial support for handling
9564        arithmetic errors.  Will need more work to get operation and
9565        operands right.
9566
95672006-04-24 16:39  gb
9568
9569        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9570
95712006-04-24 13:58  gb
9572
9573        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9574        uuo-error-reg-not-type case.
9575
95762006-04-24 13:57  gb
9577
9578        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9579        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9580        another story.)
9581
95822006-04-24 13:55  gb
9583
9584        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9585        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9586        boxed, either.
9587
95882006-04-24 12:02  gb
9589
9590        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9591        _SPtcallnfngen: several bugs, which were already fixed in similar
9592        variants.
9593
95942006-04-24 12:01  gb
9595
9596        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9597        Deutch/Waite/Schorr marker.
9598
95992006-04-24 12:00  gb
9600
9601        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9602        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9603
96042006-04-24 11:59  gb
9605
9606        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9607
96082006-04-24 11:58  gb
9609
9610        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9611        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9612        DOUBLE-FLOAT.
9613
96142006-04-24 11:58  gb
9615
9616        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9617        high and low words of the mantissa, to ensure that no hidden bits
9618        are set.  (Some such bits were set, causing many double-float
9619        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9620
96212006-04-24 02:21  gb
9622
9623        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9624        image.
9625       
9626        (Don't expect it to have any contents yet; that'll require several
9627        more changes.   This is all intended to support PURIFY on x8664,
9628        where we'll want to ensure that any constant referenced by a
9629        function in readonly/pure memory has a fixed, static address.)
9630
96312006-04-24 02:14  gb
9632
9633        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9634        section makes NUM_IMAGE_SECTIONS 4.
9635
96362006-04-24 02:13  gb
9637
9638        * lisp-kernel/area.h: Typo in the definition of
9639        AREA_MANAGED_STATIC.
9640
96412006-04-24 02:12  gb
9642
9643        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9644        more areas.
9645
96462006-04-24 02:12  gb
9647
9648        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9649        addresses of instructions (not pointers thereto ...)
9650
96512006-04-24 02:11  gb
9652
9653        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9654        (mostly so that I could step through it to remember how it worked
9655        ...).
9656
96572006-04-24 02:10  gb
9658
9659        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9660        indirection.
9661
96622006-04-24 02:09  gb
9663
9664        * lisp-kernel/x86-gc.c: Remove a sanity check.
9665
96662006-04-24 02:09  gb
9667
9668        * xdump/xfasload.lisp: Create (empty) managed-static section
9669        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9670
96712006-04-24 02:08  gb
9672
9673        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9674        section.
9675
96762006-04-24 02:07  gb
9677
9678        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9679        fds, take CLOSE-ON-ERROR more seriously.
9680
96812006-04-24 02:06  gb
9682
9683        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9684        %CURRENT-FRAME-PTR) on PPC32/64.
9685
96862006-04-24 00:50  gb
9687
9688        * level-1/version.lisp: Bump.  Getting there ...
9689
96902006-04-24 00:50  gb
9691
9692        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9693       
9694        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9695        so pass them as a pointer to avoid word-size issues.
9696
96972006-04-24 00:48  gb
9698
9699        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9700        things that had been missing.
9701
97022006-04-24 00:48  gb
9703
9704        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9705        UUOs.
9706
97072006-04-24 00:48  gb
9708
9709        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9710
97112006-04-24 00:47  gb
9712
9713        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9714
97152006-04-24 00:47  gb
9716
9717        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9718
97192006-04-24 00:47  gb
9720
9721        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9722
97232006-04-24 00:46  gb
9724
9725        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9726        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9727        need to boostrap on PPC).
9728       
9729        Parse %FOREIGN-STACK-POINTER.
9730
97312006-04-22 03:30  gb
9732
9733        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9734        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9735        because (a) nothing else will and (b) the tcr will likely become
9736        unmapped soon, and we don't want things that walk the tcr list to
9737        segfault.
9738
97392006-04-22 03:27  gb
9740
9741        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9742        find_foreign_rsp; call Bug() and exit() if the context has no
9743        fpregs.  (That's a symptom, not the proble, but it's slightly
9744        better to do this than to double fault, which is what seems to be
9745        happening.)
9746
97472006-04-21 10:12  gb
9748
9749        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9750        worry about consing, write-barrier stuff.
9751
97522006-04-21 10:11  gb
9753
9754        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9755        (condition codes.)
9756
97572006-04-21 10:11  gb
9758
9759        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9760        (again.)
9761       
9762        Define enumeration constants for matching the instructions that can
9763        occur during consing.
9764
97652006-04-21 10:09  gb
9766
9767        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9768        store_node_conditional, in case pc_luser_xp() needs to complete the
9769        memoization.
9770
97712006-04-21 02:50  gb
9772
9773        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9774        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9775        allowed.
9776
97772006-04-21 02:49  gb
9778
9779        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9780        line up with GPRs.
9781
97822006-04-21 02:48  gb
9783
9784        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9785        #+64-bit-target, not #+ppc64-target.
9786
97872006-04-21 02:47  gb
9788
9789        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9790        amount.
9791
97922006-04-21 02:46  gb
9793
9794        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9795        unique to PPC64 (but do depend on #+64-bit-target).
9796
97972006-04-21 02:46  gb
9798
9799        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9800        confuse PROGV; remove them, for now.
9801
98022006-04-20 23:35  gb
9803
9804        * lisp-kernel/x86-spentry64.s: In the bignum case of
9805        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9806        whatever the code was trying to do there.
9807       
9808        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9809        and arg_z from the correct offsets within the lexpr.
9810
98112006-04-20 04:48  gb
9812
9813        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9814        force it to always be used, for now.
9815
98162006-04-19 17:11  gb
9817
9818        * lisp-kernel/pmcl-kernel.c: (Very) different
9819        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9820
98212006-04-19 17:10  gb
9822
9823        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9824        Solaris.
9825
98262006-04-19 00:35  gb
9827
9828        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9829        reversing-pointer marker should work.  (Perhaps it's a strong
9830        argument for implementing "purify" soon.)
9831
98322006-04-19 00:34  gb
9833
9834        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9835        function-boundary-marker.
9836
98372006-04-19 00:33  gb
9838
9839        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9840
98412006-04-18 19:35  gb
9842
9843        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9844        multiple-value case of THROW: don't want to do unbind_to if tcr's
9845        db-link matches target catch frame's.
9846
98472006-04-18 19:33  gb
9848
9849        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9850        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9851        synch with x86-asm.
9852
98532006-04-18 19:33  gb
9854
9855        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9856        :R in break messages.
9857       
9858        Say more about :C in :R.
9859
98602006-04-18 19:32  gb
9861
9862        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9863        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9864        seems to have been fixed.
9865
98662006-04-18 19:31  gb
9867
9868        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9869        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9870        horrible kludge, but it only happens once.)
9871
98722006-04-18 19:19  gb
9873
9874        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9875        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9876        to have been fixed.
9877
98782006-04-18 19:18  gb
9879
9880        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9881        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9882        ends of its arguments and ignoring the first few bytes (as well as
9883        doing misaligned memory references.)
9884
98852006-04-18 19:16  gb
9886
9887        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9888        This'll require some thought, mostly because of the reserved-frame
9889        issue(s).
9890
98912006-04-18 06:21  gb
9892
9893        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9894        adventures are about to end, I'm afraid.
9895
98962006-04-18 06:04  gb
9897
9898        * level-1/version.lisp: Daily bump.
9899
99002006-04-18 05:59  gb
9901
9902        * level-1/l1-sockets.lisp: Comment indentation.
9903
99042006-04-18 05:56  gb
9905
9906        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9907
99082006-04-18 05:55  gb
9909
9910        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9911        ppc-def (that means that there will need to be an APPLY+ for
9912        x8664).
9913
99142006-04-18 05:38  gb
9915
9916        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9917        compiler and x8664-vinsn-templates to agree on vinsn-names and
9918        implement some vinsns that had been missing.  (About 15 or so
9919        undefined vinsns remain.)
9920
99212006-04-18 05:37  gb
9922
9923        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9924        opcode ordinals in vinsn templates (e.g., in case new instructions
9925        are defined in the assembler) wasn't checking to see if vinsn
9926        templates named in the hash table were defined.  (It was apparently
9927        getting away with this because CONSP was broken.)  So, don't try to
9928        fixup opcode ordinals in NIL, and optionally report templates
9929        that're referenced but not defined.
9930
99312006-04-18 04:38  gb
9932
9933        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9934        (which only sets the low 8 bits of its destination), then comparing
9935        all 64-bits of the destination to a zero-extended 32-bit constant.
9936        (E.g., CONSP had little chance of being right all other things
9937        being equal, but may have been right more than one in 2^56 times if
9938        some random preceding instruction had zeroed the upper 56 bits.)
9939       
9940        (It's also shorter to do an 8-bit compare.)
9941
99422006-04-18 03:11  gb
9943
9944        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9945
99462006-04-18 02:51  gb
9947
9948        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9949        happy (well, as happy as they're going to be ...), back to finding
9950        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9951
99522006-04-18 01:26  gb
9953
9954        * lisp-kernel/thread_manager.c: Some Solaris changes.
9955
99562006-04-18 00:48  gb
9957
9958        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9959        installs in /usr/sfw/bin is both newer and buggier than the version
9960        available on the "Solaris Companion" disk, which gets installed in
9961        /opt/sfw/bin.
9962       
9963        Ordinarily, I'd wonder why a "companion" disk offers to install
9964        software that's bundled as part of the installation (especially old
9965        versions of that software.)  Now I know.
9966
99672006-04-18 00:45  gb
9968
9969        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9970
99712006-04-18 00:45  gb
9972
9973        * lisp-kernel/m4macros.m4: Fix changecom.
9974
99752006-04-18 00:11  gb
9976
9977        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9978        but is otherwise fine with single-line /* */.
9979
99802006-04-18 00:09  gb
9981
9982        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9983        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9984        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9985        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9986        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9987        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9988        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9989        like Darwin as, but we're back to single-line /* */, which is often
9990        pretty ugly and not well-supported by Emacs.
9991
99922006-04-17 23:23  gb
9993
9994        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9995        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9996        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9997        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9998        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9999        by Emacs and by all current GAS versions (but see ARM conventions.)
10000         No more jerking around with this, knock wood.
10001
100022006-04-17 23:23  gb
10003
10004        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
10005        case where caller provided args before the lexpr, which is much
10006        harder than the simple case.
10007       
10008        Use #/newline for comment delimiters, which is supported by Emacs
10009        and by all current GAS versions (but see ARM conventions.)  No more
10010        jerking around with this, knock wood.
10011
100122006-04-17 23:20  gb
10013
10014        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
10015        when numbers differed greatly in magnitude.  Current (binary)
10016        algorithm is usually OK.
10017
100182006-04-17 23:17  gb
10019
10020        * compiler/X86/x86-lap.lisp: Condition name should be
10021        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
10022        not the problem.  Name wasn't spelled correctly in code that
10023        signals the condition, anyway.
10024
100252006-04-17 16:34  gb
10026
10027        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
10028        argument, takes a new boolean to distinguish current tcr from
10029        others.  (The current tcr is only lusered on an interrupt; others
10030        are only lusered on GC entry.)
10031
100322006-04-17 16:33  gb
10033
10034        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
10035        here.  (No deep reason not to share the new x86 signature on all
10036        architectures.)
10037
100382006-04-17 16:32  gb
10039
10040        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
10041        here.  (No deep reason not to share the new x86 signature on all
10042        architectures.)
10043
100442006-04-17 16:31  gb
10045
10046        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
10047        platform-dependent.
10048
100492006-04-17 06:49  gb
10050
10051        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
10052        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
10053        already.
10054
100552006-04-17 06:17  gb
10056
10057        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
10058        truly portable type name.
10059
100602006-04-17 06:16  gb
10061
10062        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
10063        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
10064        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
10065        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
10066        work if they're at the start of a line in Linux GAS.  Try /* */
10067        comments, but limit them to a single line.  (May ultimately be
10068        better to use m4 dnl - carefully - and avoid end-of-line comments.)
10069
100702006-04-17 05:28  gb
10071
10072        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10073        x86-subprims64.s, x86-uuo.s: // comments.
10074
100752006-04-17 05:28  gb
10076
10077        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
10078        conditionalization.
10079
100802006-04-17 05:27  gb
10081
10082        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
10083        accessors, etc.)
10084
100852006-04-17 05:26  gb
10086
10087        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
10088        the sigstack trampoline stuff.)
10089
100902006-04-17 05:25  gb
10091
10092        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10093        integer types.
10094
100952006-04-17 05:24  gb
10096
10097        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10098        x86-constants64.s: // comments.
10099
101002006-04-17 05:23  gb
10101
10102        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10103        Solaris mmap() is ... unusual.
10104
101052006-04-17 05:21  gb
10106
10107        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10108        since Solaris version of GAS doen't handle multi-line comments (/*
10109        ... */).  It -seems- that other assemblers do handle them
10110        correctly; we'll see.
10111       
10112        Some Solaris conditionalization (ELFstabs, etc.)
10113
101142006-04-17 05:20  gb
10115
10116        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10117         We'll see what this breaks.
10118
101192006-04-17 05:19  gb
10120
10121        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10122        SOLARIS is defined.
10123
101242006-04-17 05:18  gb
10125
10126        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10127        registers in predictable order.
10128
101292006-04-17 05:17  gb
10130
10131        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10132        single-line comments, since Solaris version of GAS doen't handle
10133        multi-line comments (/* ... */).  It -seems- that other assemblers
10134        do handle them correctly; we'll see.
10135
101362006-04-17 05:15  gb
10137
10138        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10139
101402006-04-17 05:15  gb
10141
10142        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10143       
10144        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10145        platforms ?
10146
101472006-04-17 05:01  gb
10148
10149        * lisp-kernel/solarisx64/Makefile: new file
10150
101512006-04-17 04:56  gb
10152
10153        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10154        change the name/usage of the linker script.
10155       
10156        Stop using the linker script (since spjump is the only thing in the
10157        kernel that has to be at a fixed address and we can copy it there.)
10158       
10159        Don't disable the EGC.
10160
101612006-04-17 04:54  gb
10162
10163        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10164        the spjump table, exported for C (so that spjump can be mapped into
10165        low memory.)
10166
101672006-04-17 04:54  gb
10168
10169        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10170       
10171        If the tlb's too small when trying to bind a special, push the
10172        binding index of the symbol we're binding (for the benefit of the
10173        handler.)
10174
101752006-04-17 04:52  gb
10176
10177        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10178        code words than it has elements (can't happen, unless the
10179        function's code-words word is garbage, which seems to happen when
10180        closures get consed up in non-zeroed memory.)
10181       
10182        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10183        %nargs.q), which sometimes contains something tagged and
10184        non-immediate.
10185
101862006-04-17 04:48  gb
10187
10188        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10189        to ensure that everythings's zeroed.
10190       
10191        x8664 implementation of extend_tcr_tlb().
10192       
10193        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10194        in call to update_bytes_allocated().
10195       
10196        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10197        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10198        bug, and possibly some other instabiliy.)
10199       
10200        handle_exception: keep trying to guess how to distinguish memory
10201        faults from other sources of SIGSEGV.
10202       
10203        On debug traps, advance the PC past the UUO before entering the
10204        debugger.
10205       
10206        Handle XUUO_TLB_TOO_SMALL.
10207
102082006-04-17 04:42  gb
10209
10210        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10211        reserved_frame_marker.
10212
102132006-04-17 04:42  gb
10214
10215        * lisp-kernel/thread_manager.c: Remove implementation of
10216        extend_tcr_tlb().
10217
102182006-04-17 04:41  gb
10219
10220        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10221        extend_tcr_tlb().
10222
102232006-04-17 04:41  gb
10224
10225        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10226
102272006-04-17 04:40  gb
10228
10229        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10230        that we don't need to use a linker script.
10231
102322006-04-17 04:40  gb
10233
10234        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10235        target xxx-exceptions.h now.
10236
102372006-04-17 04:39  gb
10238
10239        * lib/misc.lisp: Some comment formatting/editing.
10240
102412006-04-17 04:38  gb
10242
10243        * level-1/version.lisp: Bump.
10244
102452006-04-17 04:38  gb
10246
10247        * level-1/l1-readloop.lisp: Some debugging code in the code which
10248        creates the final closure.  It seems that when it's bad, it's bad
10249        on creation (here.)
10250
102512006-04-17 04:37  gb
10252
10253        * level-1/l1-processes.lisp: Some debugging code in
10254        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10255        final closure to be trashed.
10256       
10257        I don't think that other threads were getting their allocptr's
10258        nullified correctly by the GC/normalize_tcr(); with the current
10259        debugging code in place, it seems like the closure is consed on top
10260        of something other than free, thread-private heap memory (when it's
10261        bad, it fails the first check here.  I'm not sure that the latest
10262        round of GC/normalize-tcr() changes have fixed the problem, but I
10263        haven't seen it in a while now, either.)
10264
102652006-04-17 04:32  gb
10266
10267        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10268        disassembly, etc.).
10269
102702006-04-17 04:31  gb
10271
10272        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10273        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10274        (anymore.)
10275       
10276        Subprims are down in low memory again; make INIT-CLOSURE skip
10277        setting the high byte of .SPcall-closure's address if it's zero.
10278
102792006-04-17 04:28  gb
10280
10281        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10282        which may help backtrace.
10283
102842006-04-17 04:26  gb
10285
10286        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10287        (interface/implementation.)
10288
102892006-04-15 09:20  gb
10290
10291        * level-1/x86-callback-support.lisp: Ensure that callback
10292        trampolines are allocated in executable memory.
10293
102942006-04-15 09:12  gb
10295
10296        * lib/dumplisp.lisp: Refresh external entry points before reviving
10297        callbacks.  Reset callback storage before reviving callbacks.
10298
102992006-04-15 09:10  gb
10300
10301        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10302        error message with a %.  (Where did that come from ?)
10303
103042006-04-15 09:08  gb
10305
10306        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10307        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10308        is executable.
10309
103102006-04-14 09:02  gb
10311
10312        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10313
103142006-04-14 08:21  gb
10315
10316        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10317        shorthand for the nearest matching year.
10318
103192006-04-14 08:20  gb
10320
10321        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10322        when : was missing.
10323
103242006-04-13 23:09  gb
10325
10326        * lib/ppc-backtrace.lisp: Eschew missing parens.
10327
103282006-04-13 23:08  gb
10329
10330        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10331
103322006-04-13 23:08  gb
10333
10334        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10335        ARGLIST-FROM-MAP.
10336
103372006-04-13 23:02  gb
10338
10339        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10340        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10341        about returning a second value; returns values NIL, T for functions
10342        that take no args and don't have a symbol map.
10343
103442006-04-13 22:53  gb
10345
10346        * level-1/l1-lisp-threads.lisp: Try to make args to
10347        NTH-VALUE-IN-FRAME et al a little saner.
10348
103492006-04-13 22:37  gb
10350
10351        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10352        type.
10353
103542006-04-13 22:36  gb
10355
10356        * level-1/version.lisp: Bump.
10357
103582006-04-13 22:35  gb
10359
10360        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10361        trying to find the cause of the crash-on-quit bug.
10362
103632006-04-13 07:30  gb
10364
10365        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10366
103672006-04-13 07:29  gb
10368
10369        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10370        stuff to target-backtrace.
10371
103722006-04-13 06:45  gb
10373
10374        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10375
103762006-04-13 06:44  gb
10377
10378        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10379        x8664.
10380
103812006-04-13 06:44  gb
10382
10383        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10384        bytes of %nargs_q contain arg count.
10385
103862006-04-13 06:43  gb
10387
10388        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10389
103902006-04-13 06:43  gb
10391
10392        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10393        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10394        APPLY.
10395
103962006-04-13 06:42  gb
10397
10398        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10399
104002006-04-13 06:41  gb
10401
10402        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10403        operands.
10404
104052006-04-13 06:41  gb
10406
10407        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10408        "vector-lists" instead of adjustable arrays, simplify handling of
10409        constant expressions.  Still conses hysterically; need to find out
10410        where and tone it down a bit, if possible.
10411
104122006-04-13 06:39  gb
10413
10414        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10415        operands; maybe no lap constant-expressions.
10416
104172006-04-13 06:39  gb
10418
10419        * compiler/X86/x86-asm.lisp: Don't need
10420        *lap-constant-0-expression*.
10421
104222006-04-13 00:46  gb
10423
10424        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10425        linker script.
10426
104272006-04-13 00:45  gb
10428
10429        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10430        2.16.1 (Thanks to James Bielman).
10431
104322006-04-12 18:53  gb
10433
10434        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10435        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10436        of this seems to have to do with C++ static constructors, which
10437        aren't really relevant here.)
10438
104392006-04-12 18:28  gb
10440
10441        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10442        between %Rforeign_sp and GPRs.
10443
104442006-04-12 18:22  gb
10445
10446        * lisp-kernel/linuxx8664/Makefile: egc flag
10447
104482006-04-12 18:08  gb
10449
10450        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10451        where we're losing here.
10452
104532006-04-12 18:07  gb
10454
10455        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10456        write barrier code, crap out if so.
10457
104582006-04-12 18:06  gb
10459
10460        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10461        (presumably in a Makefile).
10462
104632006-04-12 14:50  gb
10464
10465        * level-1/version.lisp: Bump.
10466
104672006-04-12 14:46  gb
10468
10469        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10470        x86-backtrace.lisp: new target backtrace stuff.
10471
104722006-04-12 14:45  gb
10473
10474        * lib/backtrace.lisp: Start splitting things up, ideally into a
10475        mostly abstract API and gory platform- dependent implementation
10476        details.
10477
104782006-04-11 21:40  gb
10479
10480        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10481        the damned thing on.  (A little painful with integrity checking
10482        enabled, as it still is by default.)
10483       
10484        TODO:
10485       
10486        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10487        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10488        exception handling - check UUO usage in kernel, disassembler,
10489        exception handlers - stack overflow recovery
10490
104912006-04-11 21:24  gb
10492
10493        * lisp-kernel/x86-gc.c: Skip over function code in
10494        check_refmap_consistency.
10495
104962006-04-11 21:23  gb
10497
10498        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10499        backwards.
10500
105012006-04-11 19:11  gb
10502
10503        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10504
105052006-04-11 19:11  gb
10506
10507        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10508        a closure, no lfname slot in closure.
10509
105102006-04-11 16:29  gb
10511
10512        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10513        area.
10514
105152006-04-11 16:29  gb
10516
10517        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10518        between lisp/foreign code.
10519
105202006-04-11 16:29  gb
10521
10522        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10523        bit-order problems.)
10524       
10525        Maintain the MXCSR on transitions between lisp/foreign code.
10526
105272006-04-11 16:28  gb
10528
10529        * lisp-kernel/x86-macros.s: Access globals in expressions.
10530
105312006-04-11 16:27  gb
10532
10533        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10534        need some bootstrapping stuff (function boundary markers) for a few
10535        reasons, as will DWS marker.
10536
105372006-04-11 16:27  gb
10538
10539        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10540        the siginfo error code.
10541
105422006-04-11 16:26  gb
10543
10544        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10545        fields in tcr.
10546
105472006-04-11 16:25  gb
10548
10549        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10550
105512006-04-11 16:25  gb
10552
10553        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10554        when starting a lisp thread.  (It'll be saner when FP exceptions
10555        are handled.)
10556
105572006-04-11 16:24  gb
10558
10559        * level-1/x86-error-signal.lisp: Recognize what complaints about
10560        non-uvectors are trying to tell us.
10561
105622006-04-11 16:23  gb
10563
10564        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10565        vectors.
10566
105672006-04-11 16:23  gb
10568
10569        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10570        Ses.  Define classes for function/symbol vectors.
10571
105722006-04-11 16:22  gb
10573
10574        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10575
105762006-04-11 16:21  gb
10577
10578        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10579        needs to add a function boundary marker (but we can stop padding
10580        each closure with a null function name slot.)
10581
105822006-04-11 16:20  gb
10583
10584        * compiler/X86/X8664/x8664-arch.lisp: Define
10585        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10586
105872006-04-11 16:19  gb
10588
10589        * compiler/X86/x862.lisp: Emit a function boundary marker between
10590        code and constants. (For GC reasons.) Change closure initialization
10591        to account for it.
10592
105932006-04-11 16:18  gb
10594
10595        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10596        between code and constants. (For GC reasons.)
10597
105982006-04-11 16:17  gb
10599
10600        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10601
106022006-04-11 16:17  gb
10603
10604        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10605       
10606        See if we can get by without 68K condition code ...
10607
106082006-04-11 06:53  gb
10609
10610        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10611        soon.
10612
106132006-04-11 06:53  gb
10614
10615        * lib/numbers.lisp: Infinity constants conditionalized on/off
10616        during MXCSR adventures.  On now.
10617
106182006-04-11 06:52  gb
10619
10620        * lib/describe.lisp: Comment indentation.
10621       
10622        No such thing as an interpreted function; hasn't been for years.
10623
106242006-04-11 06:51  gb
10625
10626        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10627        al.
10628
106292006-04-11 06:51  gb
10630
10631        * level-1/version.lisp: Bumped yesterday.
10632
106332006-04-11 06:50  gb
10634
10635        * level-1/l1-error-signal.lisp: Comments.
10636
106372006-04-11 06:50  gb
10638
10639        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10640        at least.
10641
106422006-04-11 06:50  gb
10643
10644        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10645        a fixnum constant is boxed in %SET-MXCSR.
10646
106472006-04-11 06:49  gb
10648
10649        * level-0/X86/x86-def.lisp: Get info about register usage.
10650
106512006-04-11 06:49  gb
10652
10653        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10654        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10655        though that it was dealing with a scaled index.
10656
106572006-04-11 06:48  gb
10658
10659        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10660        aref.
10661
106622006-04-11 06:48  gb
10663
10664        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10665        do something about FRAG-CODE-BUFFERs, and need to tone down
10666        expression overkill.
10667
106682006-04-11 06:46  gb
10669
10670        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10671        for when opcode ordinals change.
10672
106732006-04-11 06:46  gb
10674
10675        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10676        UUO-ERROR-ARRAY-RANK.
10677       
10678        Vinsn template fixup mechanism, for when opcode ordinals change.
10679
106802006-04-11 06:45  gb
10681
10682        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10683
106842006-04-11 06:45  gb
10685
10686        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10687
106882006-04-11 06:44  gb
10689
10690        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10691        specialized list header initialization.
10692
106932006-04-11 06:43  gb
10694
10695        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10696        2d float arrays.
10697
106982006-04-10 10:19  gb
10699
10700        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10701        foreign SP properly obeying C alignment conventions.  In order to
10702        get it aligned for lisp usage during the callback, an extra word
10703        needs to be pushed before the backpointer to the old foreign RSP.
10704
107052006-04-10 10:18  gb
10706
10707        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10708        is 16-byte aligned, so that the foreign stack pointer is aligned
10709        according to C conventions when we enter the signal handler on that
10710        stack.
10711
107122006-04-10 10:13  gb
10713
10714        * lib/numbers.lisp: Define FP infinities, since we're running with
10715        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10716        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10717        an unmasked FP exception was raised and unhandled.)
10718
107192006-04-10 10:10  gb
10720
10721        * lib/level-2.lisp: Remove the WARN and the conditionalization
10722        around bit/bitfield accessors on X8664.
10723
107242006-04-10 10:09  gb
10725
10726        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10727        from memory, we say "ldmxcsr".  We want to do such a load in order
10728        to write new values into the mxcsr.  To store it in memory, we say
10729        "stmxcsr".  We want to do such a store (and a subsequent load from
10730        memory) in order to access the value of the mxcsr.  Simple, no ?
10731
107322006-04-10 10:07  gb
10733
10734        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10735        %GET-BIT/%SET-BIT.
10736
107372006-04-10 08:29  gb
10738
10739        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10740        addition/multiplication: either arg can overlap result (and often
10741        will).  Float subtraction/division: caller should ensure that
10742        result and second arg are disjoint.
10743
107442006-04-10 08:27  gb
10745
10746        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10747        that result doesn't overlap second argument for non-commutative
10748        operations.
10749
107502006-04-10 08:26  gb
10751
10752        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10753
107542006-04-10 05:12  gb
10755
10756        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10757        malloc them.
10758
107592006-04-10 05:12  gb
10760
10761        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10762
107632006-04-10 05:11  gb
10764
10765        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10766        good reason not to.
10767
107682006-04-10 04:39  gb
10769
10770        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10771        are always big-endian.
10772
107732006-04-10 04:38  gb
10774
10775        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10776        reachable via a TRA, update the variable "dnode" so that the
10777        correct bits get set.
10778
107792006-04-10 04:37  gb
10780
10781        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10782
107832006-04-10 04:37  gb
10784
10785        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10786        a bit simpler.
10787
107882006-04-10 04:36  gb
10789
10790        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10791        the MAKE-LOAD-FORM method for hashtables.
10792
107932006-04-09 09:17  gb
10794
10795        * lisp-kernel/thread_manager.c: Inflate control stack size on
10796        x8664, until DWS marker works (and do so correctly this time).
10797
107982006-04-09 09:12  gb
10799
10800        * lisp-kernel/thread_manager.c: Inflate control stack size on
10801        x8664, until DWS marker works.
10802
108032006-04-09 09:09  gb
10804
10805        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10806        #+x86-target DBG trap.
10807
108082006-04-09 08:57  gb
10809
10810        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10811        (Should be exactly the same code, but may not have been 15 years
10812        ago or whenever this was written.)
10813
108142006-04-09 08:56  gb
10815
10816        * lisp-kernel/x86-spentry64.s,
10817        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10818        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10819
108202006-04-09 03:52  gb
10821
10822        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10823        condition_to_boolean.  Not clear why this is necessary, but it
10824        seems to be.
10825
108262006-04-09 03:24  gb
10827
10828        * lisp-kernel/x86-macros.s: Use shorter sequence in
10829        condition_to_boolean.
10830
108312006-04-09 02:32  gb
10832
10833        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10834        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10835        other things being equal.
10836
108372006-04-09 01:37  gb
10838
10839        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10840        operands backwards.
10841
108422006-04-09 01:37  gb
10843
10844        * compiler/optimizers.lisp: Comment formatting.
10845
108462006-04-09 01:29  gb
10847
10848        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10849        bsr/xorl != clz when (zerop n).
10850
108512006-04-08 21:25  gb
10852
10853        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10854        current thread before entering kernel debugger.
10855
108562006-04-08 21:21  gb
10857
10858        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10859        (TARGET-XLOAD-MODULES).
10860
108612006-04-08 21:21  gb
10862
10863        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10864
108652006-04-08 21:20  gb
10866
10867        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10868
108692006-04-08 20:46  gb
10870
10871        * lib/foreign-types.lisp: Add missing paren ...
10872
108732006-04-08 20:45  gb
10874
10875        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10876
108772006-04-08 20:44  gb
10878
10879        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10880        structs by value, sort of.
10881
108822006-04-08 20:43  gb
10883
10884        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10885
108862006-04-08 20:42  gb
10887
10888        * library/hash-cons.lisp: Port some of this to x8664; need to add
10889        code to maintain "used" bitmap.
10890
108912006-04-08 20:42  gb
10892
10893        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10894        short term.
10895
108962006-04-08 20:41  gb
10897
10898        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10899        someday fix this crap.
10900
109012006-04-08 20:40  gb
10902
10903        * li