Changeset 7328


Ignore:
Timestamp:
Sep 30, 2007, 5:58:10 AM (12 years ago)
Author:
gb
Message:

Regenerated

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/ChangeLog

    r7327 r7328  
     12007-09-30 05:51  gb
     2
     3        * [r7327] ChangeLog: Regenerated
     4
    152007-09-29 22:21  gb
    26
     
    1519
    1620        * [r7319] level-1/l1-dcode.lisp: Fix an obscure method combination
    17           bug in l1-dcode.lisp that's been
    18           there since Gail and I first implemented CLOS for MCL in 1990 or
    19           thereabouts.
     21          bug in l1-dcode.lisp that's been there since Gail and I first
     22          implemented CLOS for MCL in 1990 or thereabouts.
    2023         
    2124          compute-method-list takes a list of possibly applicable methods,
    2225          separates it up into before, after, around, and primary methods,
    23           and
    24           trims the tail of the around/primary methods at the point where
    25           there's no more call-next-method. Thing is, unless we're
    26           computing the
    27           methods for the last specialized argument, those methods are only
    28           POSSIBLY applicable. Some of them might not be. Hence, except for
    29           the
    30           final specialized argument, when sub-dispatch? is false, only if
    31           no
    32           around method does call-next-method will it be impossible to
    33           reach the
    34           primary methods, and we can't trim the primary methods at all.
     26          and trims the tail of the around/primary methods at the point
     27          where there's no more call-next-method. Thing is, unless we're
     28          computing the methods for the last specialized argument, those
     29          methods are only POSSIBLY applicable. Some of them might not be.
     30          Hence, except for the final specialized argument, when
     31          sub-dispatch? is false, only if no around method does
     32          call-next-method will it be impossible to reach the primary
     33          methods, and we can't trim the primary methods at all.
    3534         
    3635          This fixes Gary Palter's no-applicable-method bug in the
    37           application
    38           conversion he's working on.
     36          application conversion he's working on.
    3937
    40382007-09-28 20:21  gb
     
    4543
    4644        * [r7316] level-1/l1-streams.lisp: Set ioblock encode/decode
    47           "literal limits" in SETUP-IOBLOCK-OUTPUT/INPUT,
    48           so that they're set if the encoding is changed on-the-fly.
     45          "literal limits" in SETUP-IOBLOCK-OUTPUT/INPUT, so that they're
     46          set if the encoding is changed on-the-fly.
    4947
    50482007-09-28 17:21  gb
     
    5553
    5654        * [r7314] level-1/l1-streams.lisp: Try to make (SETF
    57           STREAM-EXTERNAL-FORMAT) work.
    58           Whether there should be a SETF inverse on a CL-package symbol
    59           that's not
    60           supposed to be SETFable is another question, as is whether/how
    61           well this
    62           works.
     55          STREAM-EXTERNAL-FORMAT) work. Whether there should be a SETF
     56          inverse on a CL-package symbol that's not supposed to be SETFable
     57          is another question, as is whether/how well this works.
    6358
    64592007-09-28 01:21  gb
     
    6964
    7065        * [r7312] level-0/X86/x86-misc.lisp: When unlocking a read-write
    71           lock on x86-64, clear the owner field before
    72           incrementing the value field if the value field is currently -1.
    73           (The
    74           PPC was already doing so; doing it in the order that x86-64 had
    75           been
     66          lock on x86-64, clear the owner field before incrementing the
     67          value field if the value field is currently -1. (The PPC was
     68          already doing so; doing it in the order that x86-64 had been
    7669          doing it caused the lock to become free, and zeroing the owner
    77           after
    78           the incf could cause the lock to be locked for writing with no
    79           owner
    80           set ...
     70          after the incf could cause the lock to be locked for writing with
     71          no owner set ...
    8172
    82732007-09-26 20:21  gb
     
    9182
    9283        * [r7308] level-1/linux-files.lisp: run-program and
    93           run-external-process take an additional "env" parameter,
    94           a list of pairs. For each pair the environment variable (string
    95           (car pair)) is set
    96           to (cdr pair) in the external program's environment before it is
    97           exec'd.
     84          run-external-process take an additional "env" parameter, a list
     85          of pairs. For each pair the environment variable (string (car
     86          pair)) is set to (cdr pair) in the external program's environment
     87          before it is exec'd.
    9888
    99892007-09-26 19:13  palter
     
    119109         
    120110          ENCODE-OBJC-TYPE: try to get record field types right (being
    121           careful
    122           about recursion); need to do this to help NSInvocation deal with
    123           record types on some platforms that'll remain nameless.
     111          careful about recursion); need to do this to help NSInvocation
     112          deal with record types on some platforms that'll remain nameless.
    124113
    1251142007-09-26 03:43  gb
     
    143132
    144133        * [r7289] lisp-kernel/x86-spentry64.s: In .SPdestructuring_bind,
    145           don't assume that a "movzbl" sets the flags.
    146           (It doesn't, and this meant that there was a 50-50 chance of
    147           required
    148           arguments not being processed correctly.)
     134          don't assume that a "movzbl" sets the flags. (It doesn't, and
     135          this meant that there was a 50-50 chance of required arguments
     136          not being processed correctly.)
    149137
    1501382007-09-25 05:55  gb
     
    171159          lisp-kernel/x86-exceptions.c, lisp-kernel/x86-exceptions.h: Don't
    172160          use sigaltstack on any x86-64 platform: even if it works, it
    173           makes
    174           it harder to deal with exceptions in foreign code (we've often
    175           gotten
    176           segfaults from running out of space on the alt stack, the
    177           mechanism
    178           isn't reentrant, etc.)
     161          makes it harder to deal with exceptions in foreign code (we've
     162          often gotten segfaults from running out of space on the alt
     163          stack, the mechanism isn't reentrant, etc.)
    179164         
    180165          Try to report cases where the kernel debugger is entered due to
    181           an
    182           exception in foreign code. Todo: make it less tempting to use (L)
    183           in that case, maybe try to make backtrace find saved_rbp from tcr
    184           on x86-64,
    185           etc.
     166          an exception in foreign code. Todo: make it less tempting to use
     167          (L) in that case, maybe try to make backtrace find saved_rbp from
     168          tcr on x86-64, etc.
    186169
    1871702007-09-24 02:42  gb
    188171
    189172        * [r7281] level-1/l1-application.lisp: APPLICATION-VERSION-STRING
    190           (which probably was used to support
    191           "get info", back in the day) is just LISP-IMPLEMENTATION-VERSION.
     173          (which probably was used to support "get info", back in the day)
     174          is just LISP-IMPLEMENTATION-VERSION.
    192175
    1931762007-09-23 15:21  gb
     
    220203
    221204        * [r7274] xdump/xfasload.lisp: Set *openmcl-svn-revision* to the
    222           value of (LOCAL-SVN-REVISION) when writing
    223           the bootstrapping image; this will show up in the Welcome banner
    224           and
     205          value of (LOCAL-SVN-REVISION) when writing the bootstrapping
     206          image; this will show up in the Welcome banner and
    225207          LISP-IMPLEMENTATION-VERSION. May want to tweak this some more,
    226           but it
    227           may make it easier to determine what you're running relative to
    228           what's
    229           in SVN/CVS.
     208          but it may make it easier to determine what you're running
     209          relative to what's in SVN/CVS.
    230210
    2312112007-09-23 04:47  gb
    232212
    233213        * [r7273] level-1/version.lisp: Replace *OPENMCL-SUFFIX* (the thing
    234           which had the date in it) with
    235           *OPENMCL-SVN-REVISION*, which is defvar'ed to NIL here. (It may
    236           be
    237           set early in the cold load or via the xloader.)
     214          which had the date in it) with *OPENMCL-SVN-REVISION*, which is
     215          defvar'ed to NIL here. (It may be set early in the cold load or
     216          via the xloader.)
    238217
    2392182007-09-23 04:44  gb
    240219
    241220        * [r7272] lib/pathnames.lisp: Treat NIL and :UNSPECIFIC name/type
    242           components in the pattern consistently
    243           in %FILE*=.
     221          components in the pattern consistently in %FILE*=.
    244222
    2452232007-09-23 04:43  gb
    246224
    247225        * [r7271] lib/misc.lisp: LOCAL-SVN-REVISION tries to determine the
    248           (local) svn revision, by
    249           looking for a .svnrev file (used in the svn->cvs synching
    250           process)
    251           or by parsing "svn info" output.
     226          (local) svn revision, by looking for a .svnrev file (used in the
     227          svn->cvs synching process) or by parsing "svn info" output.
    252228
    2532292007-09-21 18:20  gb
     
    278254
    279255        * [r7263] lib/macros.lisp: Prevent unused gensym warnings in
    280           with-accessors.
    281           Same fix that Gary Palter did to with-slots.
     256          with-accessors. Same fix that Gary Palter did to with-slots.
    282257
    2832582007-09-19 08:21  gb
     
    288263
    289264        * [r7255] lib/backtrace-lds.lisp: FRAME-REQUIRED-ARGS: try to make
    290           better. This is only used by SLIME;
    291           it was once used for frame restarting. Try to make the result
    292           reasonable
    293           in the SLIME case.
     265          better. This is only used by SLIME; it was once used for frame
     266          restarting. Try to make the result reasonable in the SLIME case.
    294267
    2952682007-09-19 07:44  gb
    296269
    297270        * [r7254] lib/arglist.lisp: ARGLIST-FROM-MAP: don't be afraid to
    298           say &LEXPR.
    299           ARG-NAMES-FROM-MAP: &rest in map before &keys now.
     271          say &LEXPR. ARG-NAMES-FROM-MAP: &rest in map before &keys now.
    300272
    3012732007-09-19 03:20  gb
     
    306278
    307279        * [r7252] lib/macros.lisp: In WITH-SLOTS, if there are bindings,
    308           declare the gensym'ed instance
    309           symbol IGNORABLE just in case none of the symbol macros are
    310           actuall used.
     280          declare the gensym'ed instance symbol IGNORABLE just in case none
     281          of the symbol macros are actuall used.
    311282
    3122832007-09-18 11:20  gb
     
    334305
    335306        * [r7237] level-0/l0-numbers.lisp: Simply clearing the top bit of
    336           the intermediate result from
    337           %NEXT-RANDOM-PAIR had the effect of using doing (mod result (expt
    338           2
    339           31)), not (mod result (1- (expt 2 31))). Do a real MOD to obtain
    340           the
    341           next item in the series and update the state with that value.
    342           (This means that the high bit of the high half of the result is
    343           always
    344           clear; or in the sign bit from the low half.)
     307          the intermediate result from %NEXT-RANDOM-PAIR had the effect of
     308          using doing (mod result (expt 2 31)), not (mod result (1- (expt 2
     309          31))). Do a real MOD to obtain the next item in the series and
     310          update the state with that value. (This means that the high bit
     311          of the high half of the result is always clear; or in the sign
     312          bit from the low half.)
    345313
    3463142007-09-17 00:21  gb
     
    360328
    361329        * [r7230] compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in
    362           scope before key arg(s), so assign it
    363           an address before processing &key initforms.
     330          scope before key arg(s), so assign it an address before
     331          processing &key initforms.
    364332
    3653332007-09-15 23:20  gb
     
    397365
    398366        * [r7207] compiler/X86/x862.lisp: (Botched last commit message.
    399           Just add comment; the following
    400           applies to r7206).
     367          Just add comment; the following applies to r7206).
    401368         
    402369          Introduce X862-VPUSH-LABEL, which wraps stack memoization around
     
    503470         
    504471          The code which arranges for editing changes to be processed in
    505           the
    506           main thread now does so via an NSInvocation (ObjC's notion of a
    507           closure, sort of); the methods which run in the main thread
    508           handle
    509           the job of synchronizing the underlying the Hemlock string and
    510           the
    511           "real" NSMutableAttributedString as well as informing the text
    512           system
    513           of pending editing changes via #/edited:range:changeInLength:.
    514           The
    515           code which processes deletions does the change processing before
    516           modifying the string (other methods do it after the change); this
    517           seems
    518           to be necessary to avoid some things that could cause ticket:50.
    519           (I'm
     472          the main thread now does so via an NSInvocation (ObjC's notion of
     473          a closure, sort of); the methods which run in the main thread
     474          handle the job of synchronizing the underlying the Hemlock string
     475          and the "real" NSMutableAttributedString as well as informing the
     476          text system of pending editing changes via
     477          #/edited:range:changeInLength:. The code which processes
     478          deletions does the change processing before modifying the string
     479          (other methods do it after the change); this seems to be
     480          necessary to avoid some things that could cause ticket:50. (I'm
    520481          not sure if this fixes ticket:50, but it does seem to fix a
    521           reproducible
    522           case.)
     482          reproducible case.)
    523483         
    524484          The #/replaceCharactersInRange:withString: method on
    525           hemlock-text-storage
    526           (which handles buffer changes originating from non-Hemlock
    527           sources) is
    528           careful to use a :right-inserting temporary mark when modifying
    529           the buffer,
    530           to help ensure that insertions/deletions take place at the
    531           correct absolute
    532           position. (This may at least partially address bugs related to
    533           things
     485          hemlock-text-storage (which handles buffer changes originating
     486          from non-Hemlock sources) is careful to use a :right-inserting
     487          temporary mark when modifying the buffer, to help ensure that
     488          insertions/deletions take place at the correct absolute position.
     489          (This may at least partially address bugs related to things
    534490          getting confused/out-of-bounds errors when doing lots of cutting
    535           and pasting,
    536           though it's hard to know without reproducible cases.)
     491          and pasting, though it's hard to know without reproducible
     492          cases.)
    537493         
    538494          The macros NSSTRING-ENCODING-TO-NSINTEGER and
    539           NSINTEGER-TO-NSSTRING-ENCODING
    540           are defined before they're used (at least one of them wasn't.)
     495          NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used
     496          (at least one of them wasn't.)
    541497         
    542498          The handling of text encoding for editor documents has changed in
    543           a few ways.
    544           If "automatic" encoding is used in an "Open ..." dialog and is
    545           successfully
    546           able to infer a text file's encoding, the encoding that was
    547           inferred becomes
    548           the document's encoding (used in subsequent "save" operations.)
    549           On some
    550           OSX versions, the automatic detection mechanism can only
    551           recognize UTF-16
    552           files that contain a leading BOM (and the editor's code for
    553           dealing with
    554           the automatic mechanism didn't expect this to ever work.) On
    555           other systems,
    556           the automatic mechanism can return something correct (I've seen
    557           UTF-8) but
    558           possibly suboptimal.
     499          a few ways. If "automatic" encoding is used in an "Open ..."
     500          dialog and is successfully able to infer a text file's encoding,
     501          the encoding that was inferred becomes the document's encoding
     502          (used in subsequent "save" operations.) On some OSX versions, the
     503          automatic detection mechanism can only recognize UTF-16 files
     504          that contain a leading BOM (and the editor's code for dealing
     505          with the automatic mechanism didn't expect this to ever work.) On
     506          other systems, the automatic mechanism can return something
     507          correct (I've seen UTF-8) but possibly suboptimal.
    559508         
    560509          The Open... dialog now defaults to something derived from the
    561           user's setting
    562           of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because "automatic" is
    563           a little
    564           unpredictable, the new default is probably better.
     510          user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
     511          "automatic" is a little unpredictable, the new default is
     512          probably better.
    565513         
    566514          The NSDocument mechanism for creating backup files (with names of
    567           the
    568           form "name~.ext") is not used; when backup files are created, we
    569           try to
    570           copy the original to a file whose name conforms to the (simple,
    571           non-versioned)
    572           Emacs scheme ("name.ext~"). More things seem to work better when
    573           the
    574           Emacs scheme is used (though I suppose some people might prefer
    575           the NSDocument
    576           scheme and we could make this a preference.)
     515          the form "name~.ext") is not used; when backup files are created,
     516          we try to copy the original to a file whose name conforms to the
     517          (simple, non-versioned) Emacs scheme ("name.ext~"). More things
     518          seem to work better when the Emacs scheme is used (though I
     519          suppose some people might prefer the NSDocument scheme and we
     520          could make this a preference.)
    577521
    5785222007-09-05 04:21  gb
     
    583527
    584528        * [r7140] cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName:
    585           when creating a Listener, since (a) that method's
    586           deprecated in favor of #/setFileURL: and (b) a newly-created
    587           Listener doesn't
     529          when creating a Listener, since (a) that method's deprecated in
     530          favor of #/setFileURL: and (b) a newly-created Listener doesn't
    588531          really have an associated filename, and so shouldn't get the icon
    589           and popup
    590           in its titlebar.
     532          and popup in its titlebar.
    591533         
    592534          Do arrange that (unless/until a listener document is saved to a
    593           file) its
    594           window title is based on the underlying Hemlock buffer's name.
    595           (If one
    596           ever attempts to save a listener document, the proposed file name
    597           is the
    598           internal NSDocument name; we might or might not want to change
    599           that.)
     535          file) its window title is based on the underlying Hemlock
     536          buffer's name. (If one ever attempts to save a listener document,
     537          the proposed file name is the internal NSDocument name; we might
     538          or might not want to change that.)
    600539
    6015402007-09-05 03:44  gb
     
    614553          lisp-kernel/ppc-gc.c, lisp-kernel/x86-exceptions.c,
    615554          lisp-kernel/x86-gc.c: Lose "HeapHighWaterMark", which was
    616           supposed to allow us to track the
    617           high end of a range of pages that'd been written to and not freed
    618           (so
    619           we'd zero them lazily when they were reallocated.) Such a scheme
    620           would
    621           really need to track both ends of such a range, and the old
    622           scheme wound
    623           up being overly zealous and often zeroed pages that were already
    624           zeroed.
    625           Zero the range between the old free pointer and the new one after
    626           each
    627           GC, instead.
     555          supposed to allow us to track the high end of a range of pages
     556          that'd been written to and not freed (so we'd zero them lazily
     557          when they were reallocated.) Such a scheme would really need to
     558          track both ends of such a range, and the old scheme wound up
     559          being overly zealous and often zeroed pages that were already
     560          zeroed. Zero the range between the old free pointer and the new
     561          one after each GC, instead.
    628562         
    629563          At least partly address ticket:101, by doing GROW-DYNAMIC-AREA
    630           more
    631           carefully.
     564          more carefully.
    632565
    6335662007-09-05 00:58  gb
     
    642575          lib/ffi-linuxppc32.lisp, lib/ffi-linuxppc64.lisp,
    643576          lib/macros.lisp: Don't coerce single-float results to
    644           double-floats in DEFCALLBACK-BODY.
    645           Do do this in the PPC backends.
     577          double-floats in DEFCALLBACK-BODY. Do do this in the PPC
     578          backends.
    646579         
    647580          (This needs testing ...)
     
    650583
    651584        * [r7134] compiler/X86/X8664/x8664-backend.lisp: Don't assume that
    652           :single-float callback results have been coerced
    653           to :double-float on x8664.
     585          :single-float callback results have been coerced to :double-float
     586          on x8664.
    654587
    6555882007-09-04 00:21  gb
     
    686619
    687620        * [r7124] cocoa-ide/cocoa-grep.lisp: Tell grep not to complain
    688           about inaccesible files; it might return an
    689           exit status of 2 if it finds such files, so treat that as
    690           "success" for
    691           now (ticket:98).
     621          about inaccesible files; it might return an exit status of 2 if
     622          it finds such files, so treat that as "success" for now
     623          (ticket:98).
    692624
    6936252007-08-31 00:09  gb
     
    750682
    751683        * [r7108] cocoa-ide/hemlock/src/indent.lisp: Indent command: if no
    752           prefix arg (simple case), move point to the
    753           location of the temporary mark after calling the indent function.
     684          prefix arg (simple case), move point to the location of the
     685          temporary mark after calling the indent function.
    754686
    7556872007-08-29 17:46  gb
     
    757689        * [r7107] cocoa-ide/hemlock/src/lispmode.lisp:
    758690          COUNT-LEADING-WHITESPACE returns 2 values: the "column" (with
    759           tabs expanded)
    760           of the first non-whitespace character on the line and that
    761           character's position.
    762           ENSURE-LISP-INDENTATION moves the (temporary) mark to that
    763           position if
    764           no changes are necessary.
     691          tabs expanded) of the first non-whitespace character on the line
     692          and that character's position. ENSURE-LISP-INDENTATION moves the
     693          (temporary) mark to that position if no changes are necessary.
    765694
    7666952007-08-29 17:43  gb
    767696
    768697        * [r7106] cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW
    769           #/paste: method, make an NS-MUTABLE-STRING even if
    770           the string from the clipboard already appears to be an
    771           NS-MUTABLE-STRING.
     698          #/paste: method, make an NS-MUTABLE-STRING even if the string
     699          from the clipboard already appears to be an NS-MUTABLE-STRING.
    772700          (NSCFString is apparently a subclass of NS-MUTABLE-STRING, but
    773           isn't really ...
    774           mutable.)
    775           For ticket:84.
     701          isn't really ... mutable.) For ticket:84.
    776702
    7777032007-08-29 05:20  gb
     
    815741        * [r7094] cocoa-ide/cocoa-listener.lisp:
    816742          HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
    817           #\^d after
    818           sending the string.
    819           (This is just a workaround for ticket:82; the trailing #\^d is
    820           just treated
    821           as whitespace and terminates calls to READ. We really want some
    822           way
    823           of recognizing "end of selection" and treating that like a
    824           transient
    825           EOF in some cases.)
     743          #\^d after sending the string. (This is just a workaround for
     744          ticket:82; the trailing #\^d is just treated as whitespace and
     745          terminates calls to READ. We really want some way of recognizing
     746          "end of selection" and treating that like a transient EOF in some
     747          cases.)
    826748
    8277492007-08-25 07:43  gb
    828750
    829751        * [r7093] cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
    830           #/openDocumentWithContentsOfURL:display:error:,
    831           since calling #/openDocumentWithContentsOfURL:display: complains
    832           that
     752          #/openDocumentWithContentsOfURL:display:error:, since calling
     753          #/openDocumentWithContentsOfURL:display: complains that
    833754          #/dataRepresentationOfType: isn't implemented in 32-bit versions
    834           of
    835           Cocoa. (Note that we'd been calling
    836           #/openDocumentWithContentsOfURL:display:error: as part of the
    837           m-. implementation without incident.)
     755          of Cocoa. (Note that we'd been calling
     756          #/openDocumentWithContentsOfURL:display:error: as part of the m-.
     757          implementation without incident.)
    838758
    8397592007-08-25 07:20  gb
     
    859779
    860780        * [r7086] cocoa-ide/cocoa-editor.lisp: Remove a duplicate
    861           #/editingInProgress method.
    862           Add some more (conditionalized) debug info.
    863           If ticket:50 bug is encountered, try to force DBG on Hemlock
    864           command thread
    865           as well as in Cocoa thread.
    866           Make sure that Hemlock command thread has bindings of
    867           command-processing
    868           data structures, prompt data structures. Do not bind
    869           *LAST-SEARCH-STRING*
    870           or *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is
    871           usually only
    872           set by isearch when it exits.
     781          #/editingInProgress method. Add some more (conditionalized) debug
     782          info. If ticket:50 bug is encountered, try to force DBG on
     783          Hemlock command thread as well as in Cocoa thread. Make sure that
     784          Hemlock command thread has bindings of command-processing data
     785          structures, prompt data structures. Do not bind
     786          *LAST-SEARCH-STRING* or *LAST-SEARCH-PATTERN*; note that
     787          *LAST-SEARCH-STRING* is usually only set by isearch when it
     788          exits.
    873789
    8747902007-08-23 22:20  gb
     
    879795
    880796        * [r7084] cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based
    881           backtrace font name and size; initially, Monaco 9.
    882           (Not yet changeable through preferences panel.)
    883           Adjust outline view's row height based on font height.
    884           Set the data cell to "non-editable" (could have done this in IB).
    885           Provide handlers for some menu commands (continue, restarts,
    886           exitBreak);
    887           no need to validate menu items for them (those commands should be
    888           available whenever backtrace dialog is active.)
     797          backtrace font name and size; initially, Monaco 9. (Not yet
     798          changeable through preferences panel.) Adjust outline view's row
     799          height based on font height. Set the data cell to "non-editable"
     800          (could have done this in IB). Provide handlers for some menu
     801          commands (continue, restarts, exitBreak); no need to validate
     802          menu items for them (those commands should be available whenever
     803          backtrace dialog is active.)
    889804
    8908052007-08-23 22:14  gb
     
    901816
    902817        * [r7081] cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when
    903           trying to read symbol for arglist.
    904           (Should probably be more careful elsewhere, too.)
     818          trying to read symbol for arglist. (Should probably be more
     819          careful elsewhere, too.)
    905820
    9068212007-08-23 22:12  gb
    907822
    908823        * [r7080] cocoa-ide/hemlock/src/interp.lisp: Keep track of
    909           *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable
    910           the RECURSIVE-GET-KEY-EVENT redisplay mechanism.
     824          *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
     825          RECURSIVE-GET-KEY-EVENT redisplay mechanism.
    911826
    9128272007-08-23 22:10  gb
     
    915830          DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes
    916831          may still be pending on the echo area (how ?), and
    917           DOCUMENT-SET-POINT-POSITION
    918           may need to do layout/display updates.
    919           Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
     832          DOCUMENT-SET-POINT-POSITION may need to do layout/display
     833          updates. Use RECURSIVE-GET-KEY-EVENT when prompting in the echo
     834          area.
    920835
    9218362007-08-23 22:07  gb
     
    924839          RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
    925840          designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
    926           events
    927           in some modal loop in a command.
    928           (The idea is that toplevel editing commands inhibit redisplay in
    929           the main buffer while they're active; commands which recursively
    930           process key events and which may make changes to that buffer
    931           should
    932           allow redisplay while they're waiting in
    933           RECURSIVE-GET-KEY-EVENT.)
     841          events in some modal loop in a command. (The idea is that
     842          toplevel editing commands inhibit redisplay in the main buffer
     843          while they're active; commands which recursively process key
     844          events and which may make changes to that buffer should allow
     845          redisplay while they're waiting in RECURSIVE-GET-KEY-EVENT.)
    934846
    9358472007-08-23 22:02  gb
     
    945857
    946858        * [r7069] level-1/l1-dcode.lisp: Define and use
    947           %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended
    948           to avoid race conditions where two threads try to update a
    949           distpatch
    950           table index with different {wrapper, combined-method} pairs at
    951           the same
     859          %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
     860          race conditions where two threads try to update a distpatch table
     861          index with different {wrapper, combined-method} pairs at the same
    952862          time. (As it's written, if the store-conditional fails because a
    953           slot
    954           that we thought was free is now in use, we simply don't cache the
    955           pair and get a cache miss the next time; that may or may not be
    956           more
    957           work than repeating the whole process would be.)
     863          slot that we thought was free is now in use, we simply don't
     864          cache the pair and get a cache miss the next time; that may or
     865          may not be more work than repeating the whole process would be.)
    958866         
    959867          The store-conditional is used on attempt to update the
    960           combined-method
    961           slot in the pair; the wrapper slot is only updated if the
    962           store-conditional
    963           succeeds. Code which probes the wrapper slots shouldn't be
    964           confused by
    965           a half-updated pair (should never see a non-null wrapper slot and
    966           a
    967           null combined-method slot.)
     868          combined-method slot in the pair; the wrapper slot is only
     869          updated if the store-conditional succeeds. Code which probes the
     870          wrapper slots shouldn't be confused by a half-updated pair
     871          (should never see a non-null wrapper slot and a null
     872          combined-method slot.)
    968873
    9698742007-08-19 00:29  gb
    970875
    971876        * [r7068] level-1/l1-dcode.lisp: Define and use
    972           %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended
    973           to avoid race conditions where two threads try to update a
    974           distpatch
    975           table index with different {wrapper, combined-method} pairs at
    976           the same
     877          %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
     878          race conditions where two threads try to update a distpatch table
     879          index with different {wrapper, combined-method} pairs at the same
    977880          time. (As it's written, if the store-conditional fails because a
    978           slot
    979           that we thought was free is now in use, we simply don't cache the
    980           pair and get a cache miss the next time; that may or may not be
    981           more
    982           work than repeating the whole process would be.)
     881          slot that we thought was free is now in use, we simply don't
     882          cache the pair and get a cache miss the next time; that may or
     883          may not be more work than repeating the whole process would be.)
    983884         
    984885          The store-conditional is used on attempt to update the
    985           combined-method
    986           slot in the pair; the wrapper slot is only updated if the
    987           store-conditional
    988           succeeds. Code which probes the wrapper slots shouldn't be
    989           confused by
    990           a half-updated pair (should never see a non-null wrapper slot and
    991           a
    992           null combined-method slot.)
     886          combined-method slot in the pair; the wrapper slot is only
     887          updated if the store-conditional succeeds. Code which probes the
     888          wrapper slots shouldn't be confused by a half-updated pair
     889          (should never see a non-null wrapper slot and a null
     890          combined-method slot.)
    993891
    9948922007-08-18 23:21  gb
     
    1009907        * [r7064] cocoa-ide/cocoa-editor.lisp: Use
    1010908          #/instancesRespondToSelector: to determine if selection
    1011           highlighting
    1012           can be used, since #_class_respondsToSelector requires ObjC-2.0)
     909          highlighting can be used, since #_class_respondsToSelector
     910          requires ObjC-2.0)
    1013911
    10149122007-08-16 15:21  gb
     
    1023921
    1024922        * [r7058] cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
    1025           extended selection highlighting if it's
    1026           supported.
     923          extended selection highlighting if it's supported.
    1027924         
    1028925          Clear the shift bit from key events associated with
     
    1032929
    1033930        * [r7057] cocoa-ide/hemlock/src/bindings.lisp: Shifted and
    1034           unshifted keys bound to movement commands run different
    1035           commands.
     931          unshifted keys bound to movement commands run different commands.
    1036932         
    1037933          Left-mouse has the :mouse-exit logical attribute.
     
    1041937        * [r7056] cocoa-ide/hemlock/src/buffer.lisp:
    1042938          CURRENT-POINT-COLLAPSING-SELECTION and
    1043           CURRENT-POINT-EXTENDING-SELECTION
    1044           replace CURRENT-POINT-FOR-MOVEMENT.
     939          CURRENT-POINT-EXTENDING-SELECTION replace
     940          CURRENT-POINT-FOR-MOVEMENT.
    1045941
    10469422007-08-16 13:29  gb
     
    1050946         
    1051947          Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
    1052           selection
    1053           highlighting under Leopard.
     948          selection highlighting under Leopard.
    1054949
    10559502007-08-16 13:28  gb
     
    1066961
    1067962        * [r7052] cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*:
    1068           clear shift bit for standard-char (and upper-case.)
    1069           This means that #k"ctrl-shift-a" and #k"ctrl-A" both refer to the
    1070           same
    1071           key event (in which the shift modifier isn't explicitly set) and
    1072           that
     963          clear shift bit for standard-char (and upper-case.) This means
     964          that #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key
     965          event (in which the shift modifier isn't explicitly set) and that
    1073966          #k"rightarrow" and #k"shift-rightarrow" are distinct (and the
    1074           shift
    1075           modifier is set in the latter.)
     967          shift modifier is set in the latter.)
    1076968
    10779692007-08-16 13:23  gb
    1078970
    1079971        * [r7051] cocoa-ide/hemlock/src/lispmode.lisp: When indenting,
    1080           don't change the buffer if the line's already indented
    1081           properly.
     972          don't change the buffer if the line's already indented properly.
    1082973         
    1083974          Movement commands come in two variants: those that collapse and
    1084           those
    1085           that extend the selection.
     975          those that extend the selection.
    1086976
    10879772007-08-16 13:21  gb
     
    1089979        * [r7050] cocoa-ide/hemlock/src/package.lisp: Export
    1090980          CURRENT-POINT-EXTENDING-SELECTION and
    1091           CURRENT-POINT-COLLAPSING-SELECTION.
    1092           Don't export CURRENT-POINT-FOR-MOVEMENT.
     981          CURRENT-POINT-COLLAPSING-SELECTION. Don't export
     982          CURRENT-POINT-FOR-MOVEMENT.
    1093983
    10949842007-08-16 13:21  gb
     
    1099989
    1100990        * [r7048] cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the
    1101           selection more empatically (under Leopard) after successful
    1102           (non incremental) search.
     991          selection more empatically (under Leopard) after successful (non
     992          incremental) search.
    1103993         
    1104994          Incremental search also hilites the selection, but doesn't yet
    1105           manage
    1106           the selection on failure.
     995          manage the selection on failure.
    1107996
    11089972007-08-16 12:42  gb
    1109998
    1110999        * [r7047] cocoa-ide/cocoa-editor.lisp: activate-hemlock-view:
    1111           implemenent by invoking #/activateHemlockView on
    1112           main thread; call deactivate-hemlock-view on the peer.
     1000          implemenent by invoking #/activateHemlockView on main thread;
     1001          call deactivate-hemlock-view on the peer.
    11131002         
    11141003          Not sure if edit-count fuss in deactivate-hemlock-view is
    1115           correct, but I'm
    1116           fairly sure that this stuff needs to happen on the main thread.
     1004          correct, but I'm fairly sure that this stuff needs to happen on
     1005          the main thread.
    11171006
    111810072007-08-09 22:21  gb
     
    11231012
    11241013        * [r7019] lib/arglist.lisp: Use PRINC-TO-STRING (not
    1125           PRIN1-TO-STRING) in ARGLIST-STRING, to avoid
    1126           prinding package qualfiers (ticket:30).
     1014          PRIN1-TO-STRING) in ARGLIST-STRING, to avoid prinding package
     1015          qualfiers (ticket:30).
    11271016
    112810172007-08-07 21:21  gb
     
    11541043          cocoa-ide/hemlock/src/morecoms.lisp,
    11551044          cocoa-ide/hemlock/src/package.lisp: When generating a hemlock key
    1156           event, set the hemlock shift bit if
    1157           the the Cocoa shift bit was set.
    1158           In HI::GET-KEY-EVENT, return an event with the shift bit cleared
    1159           and
    1160           the keysym downcased (if necessary). Leave
    1161           HI::*LAST-KEY-EVENT-TYPED*
    1162           as the unmodified event (which may have shift bits set.)
    1163           Define HI:CURRENT-POINT-FOR-MOVEMENT, which deactivates the
    1164           region
    1165           ("collapses the selection") if the shift bit was clear in
    1166           HI::*LAST-KEY-EVENT-TYPED* and ensures that a region is active
    1167           otherwise.
    1168           Use HI:CURRENT-POINT-FOR-MOVEMENT in (most, hopefully all)
    1169           movement
    1170           commands, to address ticket:36 .
     1045          event, set the hemlock shift bit if the the Cocoa shift bit was
     1046          set. In HI::GET-KEY-EVENT, return an event with the shift bit
     1047          cleared and the keysym downcased (if necessary). Leave
     1048          HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may
     1049          have shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
     1050          deactivates the region ("collapses the selection") if the shift
     1051          bit was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a
     1052          region is active otherwise. Use HI:CURRENT-POINT-FOR-MOVEMENT in
     1053          (most, hopefully all) movement commands, to address ticket:36 .
    11711054          Define a "Do Nothing" hemlock command, bind #k"leftdown" (left
    1172           mouse
    1173           down) to it to address ticket:44 .
     1055          mouse down) to it to address ticket:44 .
    11741056
    117510572007-08-07 01:21  gb
     
    11921074
    11931075        * [r7002] cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog
    1194           call.
    1195           Post a #k"leftdown" to Hemlock on mouseDown: in the main text
    1196           view.
    1197           (Should maybe do this on mousedown in the echo area, too.)
    1198           Some indentation changes.
     1076          call. Post a #k"leftdown" to Hemlock on mouseDown: in the main
     1077          text view. (Should maybe do this on mousedown in the echo area,
     1078          too.) Some indentation changes.
    11991079
    120010802007-08-04 17:59  gb
     
    12381118
    12391119        * [r6992] lib/backquote.lisp: Use list-to-vector, not (apply
    1240           #'vector ...), since the latter
    1241           can run into problems with CALL-ARGUMENTS-LIMIT.
     1120          #'vector ...), since the latter can run into problems with
     1121          CALL-ARGUMENTS-LIMIT.
    12421122
    124311232007-08-03 15:09  gb
     
    12521132
    12531133        * [r6983] cocoa-ide/cocoa-prefs.lisp: Don't make font panel
    1254           broadcast #/changeFont:; use targeted messages.
    1255           Ensure that font panel picks up the right font.
     1134          broadcast #/changeFont:; use targeted messages. Ensure that font
     1135          panel picks up the right font.
    12561136
    125711372007-08-02 12:54  gb
     
    12631143
    12641144        * [r6981] cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main
    1265           text view, echo area) unselectable when
    1266           activating via Hemlock command.
    1267           Text views don't use font panel by default; enable/disable font
    1268           panel
    1269           when setting text color.
     1145          text view, echo area) unselectable when activating via Hemlock
     1146          command. Text views don't use font panel by default;
     1147          enable/disable font panel when setting text color.
    12701148
    127111492007-08-02 12:50  gb
     
    13121190
    13131191        * [r6971] lib/dumplisp.lisp: Default the :MODE option to
    1314           SAVE-APPLICATION to #o644 (not #o666);
    1315           make sure that it's actually used when creating the image (even
    1316           if
    1317           not prepending a kernel to the image.)
     1192          SAVE-APPLICATION to #o644 (not #o666); make sure that it's
     1193          actually used when creating the image (even if not prepending a
     1194          kernel to the image.)
    13181195
    131911962007-07-31 12:10  gb
    13201197
    13211198        * [r6970] level-1/l1-application.lisp: When processing --version
    1322           option, don't write to *terminal-io* (which
    1323           doesn't exist yet.)
     1199          option, don't write to *terminal-io* (which doesn't exist yet.)
    13241200
    132512012007-07-29 23:27  gb
     
    14011277
    14021278        * [r6945] level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding
    1403           function was counting chars (nchars)
    1404           twice.
     1279          function was counting chars (nchars) twice.
    14051280
    140612812007-07-21 22:48  gb
     
    141012852007-07-21 22:47  gb
    14111286
    1412         * [r6943] level-1/l1-readloop-lds.lisp: :raw breakloop command.
    1413           Put info about restarts in backtrace context.
     1287        * [r6943] level-1/l1-readloop-lds.lisp: :raw breakloop command. Put
     1288          info about restarts in backtrace context.
    14141289
    141512902007-07-21 22:46  gb
     
    14261301
    14271302        * [r6940] level-1/l1-format.lisp: Handling of * format directive
    1428           when dealing with circularity screws
    1429           up other things that expect *FORMAT-ARGUMENTS* to share structure
    1430           with *FORMAT-ORIGINAL-ARGUMENTS*.
     1303          when dealing with circularity screws up other things that expect
     1304          *FORMAT-ARGUMENTS* to share structure with
     1305          *FORMAT-ORIGINAL-ARGUMENTS*.
    14311306
    143213072007-07-21 22:43  gb
     
    14571332
    14581333        * [r6934] level-1/l1-callbacks.lisp: Move the x86-64 callback
    1459           trampoline allocation stuff (which uses
    1460           mmap to ensure that the callback is in executable memory) here,
    1461           since it'll be needed on ppc64 leopard, at least.
     1334          trampoline allocation stuff (which uses mmap to ensure that the
     1335          callback is in executable memory) here, since it'll be needed on
     1336          ppc64 leopard, at least.
    14621337
    146313382007-07-21 22:37  gb
    14641339
    14651340        * [r6933] level-1/l1-application.lisp: Argument handling and
    1466           interactive stream initialization happens in
    1467           a :before method on (toplevel-function application).
     1341          interactive stream initialization happens in a :before method on
     1342          (toplevel-function application).
    14681343
    146913442007-07-21 22:34  gb
     
    14851360
    14861361        * [r6929] lib/macros.lisp: Callbacks that try to do magic foreign
    1487           error stuff use HANDLER-BIND,
    1488           not HANDLER-CASE.
     1362          error stuff use HANDLER-BIND, not HANDLER-CASE.
    14891363         
    14901364          Other callback-changes to reduce incidental consing sometimes.
     
    14931367
    14941368        * [r6928] lib/backtrace.lisp: %show-args-and-locals,
    1495           %stack-frames-in-context: changes for new
    1496           backtrace presentation.
     1369          %stack-frames-in-context: changes for new backtrace presentation.
    14971370
    149813712007-07-21 22:26  gb
     
    15121385
    15131386        * [r6924] lib/arglist.lisp: Provide -some- arglist info for special
    1514           operators.
    1515           ARG-NAMES-FROM-MAP.
     1387          operators. ARG-NAMES-FROM-MAP.
    15161388
    151713892007-07-21 22:19  gb
     
    152513972007-07-21 22:18  gb
    15261398
    1527         * [r6921] lib/read.lisp: Use hash tables in #=, etc.
    1528           Expect reader errors to provide context.
     1399        * [r6921] lib/read.lisp: Use hash tables in #=, etc. Expect reader
     1400          errors to provide context.
    15291401
    153014022007-07-21 22:17  gb
    15311403
    15321404        * [r6920] lib/x86-backtrace.lisp: Tighten up some frame accessors;
    1533           don't get confused by null register
    1534           values, etc.
     1405          don't get confused by null register values, etc.
    15351406
    153614072007-07-21 22:15  gb
     
    15591430
    15601431        * [r6914] level-1/l1-sockets.lisp: Sockets created with :format
    1561           :binary don't have element-type of
    1562           character, though this crap is all pretty nebulous.
     1432          :binary don't have element-type of character, though this crap is
     1433          all pretty nebulous.
    15631434
    156414352007-07-21 22:03  gb
     
    16071478
    16081479        * [r6904] lisp-kernel/thread_manager.c: ensure_stack_limit() when
    1609           creatings stack for pthread.
    1610           Foreign exception callbacks: put some 0s on the stack for
    1611           callback.
     1480          creatings stack for pthread. Foreign exception callbacks: put
     1481          some 0s on the stack for callback.
    16121482
    161314832007-07-21 21:52  gb
     
    16191489
    16201490        * [r6902] lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
    1621           ensure_stack_limit(): if stack size is
    1622           constrained by limits, don't exceed those limits.
     1491          ensure_stack_limit(): if stack size is constrained by limits,
     1492          don't exceed those limits.
    16231493
    162414942007-07-21 21:50  gb
     
    16981568
    16991569        * [r6737] compiler/X86/x862.lisp: x862-numcmp: if both args fixnums
    1700           ...
    1701           x862-inline-numcmp: don't reverse cr-bit if both args fixnums
    1702           (shouldn't
    1703           get here if we're catching that upstream, but ...)
     1570          ... x862-inline-numcmp: don't reverse cr-bit if both args fixnums
     1571          (shouldn't get here if we're catching that upstream, but ...)
    17041572
    170515732007-06-01 14:27  gb
     
    17191587
    17201588        * [r6637] level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a
    1721           READER-ERROR if it can't find the package,
    1722           accepts a stream argument in order to signal that type of error.
    1723           (Note
    1724           that this has never been recoverable in general, especially in
    1725           the
    1726           case where the input stream is *terminal-io* or shares its input
     1589          READER-ERROR if it can't find the package, accepts a stream
     1590          argument in order to signal that type of error. (Note that this
     1591          has never been recoverable in general, especially in the case
     1592          where the input stream is *terminal-io* or shares its input
    17271593          stream.)
    17281594
     
    17401606
    17411607        * [r6634] level-1/linux-files.lisp: Define UID-FROM-NAME,
    1742           TILDE-EXPAND. Use TILDE-EXPAND in %REALPATH, but
    1743           any leading tildes should probably have been caught earlier.
     1608          TILDE-EXPAND. Use TILDE-EXPAND in %REALPATH, but any leading
     1609          tildes should probably have been caught earlier.
    17441610
    174516112007-06-01 00:06  gb
    17461612
    17471613        * [r6633] level-1/l1-streams.lisp: Try to provide some context -
    1748           "surrounding characters" - for reader/stream
    1749           errors on character input streams.
     1614          "surrounding characters" - for reader/stream errors on character
     1615          input streams.
    17501616
    175116172007-05-20 08:05  gb
    17521618
    17531619        * [r6576] level-1/l1-unicode.lisp: Get number of args right in call
    1754           to STRING-ENCODED-LENGTH-IN-BYTES
    1755           from CSTRING-ENCODED-LENGTH-IN-BYTES. Sorry.
     1620          to STRING-ENCODED-LENGTH-IN-BYTES from
     1621          CSTRING-ENCODED-LENGTH-IN-BYTES. Sorry.
    17561622
    175716232007-05-19 20:53  gb
    17581624
    17591625        * [r6568] level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
    1760           %%get-signed-longlong: args in UNBOX-FIXNUM
    1761           macro were in the wrong order. Both functions are usually
    1762           open-coded
    1763           (and the inlined versions seem to be OK), but the ObjC bridge
    1764           funcalls
     1626          %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the
     1627          wrong order. Both functions are usually open-coded (and the
     1628          inlined versions seem to be OK), but the ObjC bridge funcalls
    17651629          these functions when getting/setting foreign slots of the
    1766           appropriate
    1767           type.
     1630          appropriate type.
    17681631
    176916322007-05-16 08:33  gb
     
    17771640
    17781641        * [r6559] level-0/l0-aprims.lisp: Try to deal with the
    1779           "SIMPLE-BASE-STRING, all of it" case in
    1780           %CSTR-POINTER; deal with all other cases in
    1781           %CSTR-SEGMENT-POINTER.
     1642          "SIMPLE-BASE-STRING, all of it" case in %CSTR-POINTER; deal with
     1643          all other cases in %CSTR-SEGMENT-POINTER.
    17821644
    178316452007-05-16 07:25  gb
    17841646
    17851647        * [r6558] level-1/x86-error-signal.lisp: xp-argument-list: stack
    1786           args are under return address, exception callback
    1787           frame (xcf) on stack.
     1648          args are under return address, exception callback frame (xcf) on
     1649          stack.
    17881650         
    17891651          handle-udf-call: don't try to fix up the stack if we try to
    1790           continue;
    1791           let kernel deal with this after the callback.
     1652          continue; let kernel deal with this after the callback.
    17921653
    179316542007-05-16 07:23  gb
    17941655
    17951656        * [r6557] lisp-kernel/x86-exceptions.c: finish_function_entry:
    1796           there's a return address on the top of the
    1797           stack when this is entered (#-of-arguments traps). Put it in the
    1798           right place when building the frame.
     1657          there's a return address on the top of the stack when this is
     1658          entered (#-of-arguments traps). Put it in the right place when
     1659          building the frame.
    17991660         
    18001661          create_exception_callback_frame: look for tra on top of lisp
    1801           stack,
    1802           not in register (usually.)
     1662          stack, not in register (usually.)
    18031663         
    18041664          handle_error(): if we return after calling out for int #xc7 (call
    18051665          to undefined function), fix up the stack and other registers so
    18061666          that we can return the value(s) returned by the lisp-side
    1807           handler.
    1808           (It's hard for the lisp-side handler to do the stack
    1809           manipulation,
    1810           because of the xcf on the stack and because of the need to deal
    1811           with the return address on the stack.)
     1667          handler. (It's hard for the lisp-side handler to do the stack
     1668          manipulation, because of the xcf on the stack and because of the
     1669          need to deal with the return address on the stack.)
    18121670
    181316712007-05-16 07:16  gb
    18141672
    18151673        * [r6556] lisp-kernel/x86-spentry64.s: uuos in subrprims called via
    1816           lea/jmp: push ra0 on stack before
    1817           trap, for the benefit of create_exception_callback_frame().
     1674          lea/jmp: push ra0 on stack before trap, for the benefit of
     1675          create_exception_callback_frame().
    18181676
    181916772007-05-16 07:11  gb
     
    18291687
    18301688        * [r6553] level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been
    1831           wrong since the switch to the new
    1832           tra scheme.
     1689          wrong since the switch to the new tra scheme.
    18331690
    183416912007-05-14 18:37  gb
    18351692
    18361693        * [r6552] lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as
    1837           produced by WITH-ENCODED-CSTRS.
    1838           Handle 0-termination a little more sanely.
     1694          produced by WITH-ENCODED-CSTRS. Handle 0-termination a little
     1695          more sanely.
    18391696
    184016972007-05-13 00:22  gb
     
    18621719
    18631720        * [r6543] lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't
    1864           extend heap by more than what we need if
    1865           GC is obviously disabled.
     1721          extend heap by more than what we need if GC is obviously
     1722          disabled.
    18661723
    186717242007-05-12 20:25  gb
     
    18691726        * [r6542] compiler/PPC/ppc2.lisp: Use
    18701727          *ppc2-target-half-fixnum-type* to suppress overflow checking in
    1871           some
    1872           cases.
     1728          some cases.
    18731729
    187417302007-05-12 20:24  gb
     
    18791735
    18801736        * [r6540] lisp-kernel/x86-exceptions.c: new_heap_segment(): don't
    1881           extend beyond segment if GC (obviously)
    1882           disabled.
     1737          extend beyond segment if GC (obviously) disabled.
    18831738
    188417392007-05-09 12:00  gb
     
    18991754
    19001755        * [r6536] lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception
    1901           context nonsense when referencing
    1902           mxcsr in debug_show_fpu().
     1756          context nonsense when referencing mxcsr in debug_show_fpu().
    19031757
    190417582007-05-09 11:11  gb
     
    19321786
    19331787        * [r6529] lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not
    1934           %temp2. nMake_Catch handles return addresses
    1935           on stack.
    1936           repret, for use when a one-byte ret instruction is a branch
    1937           target
    1938           or is preceded by a conditional branch.
     1788          %temp2. nMake_Catch handles return addresses on stack. repret,
     1789          for use when a one-byte ret instruction is a branch target or is
     1790          preceded by a conditional branch.
    19391791
    194017922007-05-09 09:00  gb
     
    19521804        * [r6526] lisp-kernel/x86-exceptions.c: New tra handling.
    19531805          new_heap_segment: try to avoid requesting too much when user sets
    1954           lisp_heap_gc_threshold to inappropriate value.
    1955           Pass old_valence down to fault handler, don't call out to lisp
    1956           on faults in foreign code.
    1957           Handle USE_MACH_EXCEPTION_LOCK conditionalization.
     1806          lisp_heap_gc_threshold to inappropriate value. Pass old_valence
     1807          down to fault handler, don't call out to lisp on faults in
     1808          foreign code. Handle USE_MACH_EXCEPTION_LOCK conditionalization.
    19581809
    195918102007-05-09 08:55  gb
     
    19811832
    19821833        * [r6520] lisp-kernel/x86-asmutils64.s: Use repret for RET
    1983           instructions that're branch targets or that follow
    1984           conditional branches.
     1834          instructions that're branch targets or that follow conditional
     1835          branches.
    19851836
    198618372007-05-09 08:48  gb
     
    20161867
    20171868        * [r6513] lisp-kernel/ppc-exceptions.c: new_heap_segment: if we
    2018           can't extend with (possibly very large)
    2019           lisp_heap_gc_threshold, try smaller values.
     1869          can't extend with (possibly very large) lisp_heap_gc_threshold,
     1870          try smaller values.
    20201871         
    20211872          Pass "old_valence" to exception handlers; don't call out to lisp
     
    20291880
    20301881        * [r6511] lisp-kernel/lisp-exceptions.h: Change some function
    2031           prototypes.
    2032           Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem
    2033           to
    2034           be correct/necessary.
     1882          prototypes. Don't use a MACH_EXCEPTION_LOCK on Darwin, since it
     1883          doesn't seem to be correct/necessary.
    20351884
    203618852007-05-09 08:37  gb
    20371886
    20381887        * [r6510] lisp-kernel/lisp-debug.c: lisp register display changes
    2039           for x86-64.
    2040           Get FPU display working on x86-64.
     1888          for x86-64. Get FPU display working on x86-64.
    20411889
    204218902007-05-09 08:36  gb
     
    20701918
    20711919        * [r6503] lib/foreign-types.lisp: Don't use #. to initialize
    2072           *host-ftd* interface dir, because of
    2073           cross-compilation issues.
     1920          *host-ftd* interface dir, because of cross-compilation issues.
    20741921
    207519222007-05-09 08:32  gb
    20761923
    20771924        * [r6502] lib/db-io.lisp: Support "queries" in FFI reader macros:
    2078           #_?foo, #$?foo, and #&?foo
    2079           return T if foo is defined, NIL otherwise.
     1925          #_?foo, #$?foo, and #&?foo return T if foo is defined, NIL
     1926          otherwise.
    20801927
    208119282007-05-09 08:30  gb
     
    21081955
    21091956        * [r6495] level-1/l1-streams.lisp: OPEN : :if-exists defaults to
    2110           :new-version if pathname-version of
    2111           filename is :NEWEST.
     1957          :new-version if pathname-version of filename is :NEWEST.
    21121958
    211319592007-05-09 07:56  gb
     
    21241970
    21251971        * [r6492] level-1/l1-pathnames.lisp: If there's no host component
    2126           in a namestring argument, LOGICAL-PATHNAME
    2127           signals a TYPE-ERROR.
     1972          in a namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
    21281973
    212919742007-05-09 07:54  gb
     
    21772022
    21782023        * [r6481] level-0/X86/x86-numbers.lisp: New calling sequence. No
    2179           need to be careful with %rcx (now %imm2)
    2180           in shift instructions.
     2024          need to be careful with %rcx (now %imm2) in shift instructions.
    21812025
    218220262007-05-09 07:42  gb
     
    21962040
    21972041        * [r6477] level-0/X86/x86-clos.lisp: New calling sequence. %rcx is
    2198           %imm2 now, not %temp2, and no need
    2199           to be so careful with it.
     2042          %imm2 now, not %temp2, and no need to be so careful with it.
    22002043
    220120442007-05-09 07:41  gb
    22022045
    22032046        * [r6476] level-0/X86/x86-array.lisp: New calling sequence. %rcx is
    2204           %imm2 now, not %temp2, and no need
    2205           to be so careful with it.
     2047          %imm2 now, not %temp2, and no need to be so careful with it.
    22062048
    220720492007-05-09 07:40  gb
    22082050
    22092051        * [r6475] level-0/X86/X8664/x8664-bignum.lisp: New calling
    2210           sequence. %rcx is %imm2 now, not %temp2, and no need
    2211           to be so careful with it.
     2052          sequence. %rcx is %imm2 now, not %temp2, and no need to be so
     2053          careful with it.
    22122054
    221320552007-05-09 07:39  gb
     
    22282070
    22292071        * [r6471] compiler/nx-basic.lisp: FUNCTION-INFORMATION might return
    2230           an afunc (or equivalent) as
    2231           a non-nil second value.
     2072          an afunc (or equivalent) as a non-nil second value.
    22322073
    223320742007-05-09 07:36  gb
    22342075
    22352076        * [r6470] compiler/X86/x862.lisp: Support the new (call/ret)
    2236           calling sequence, new tra/talign scheme.
    2237           One more imm reg, so 3d aset is less nasty.
     2077          calling sequence, new tra/talign scheme. One more imm reg, so 3d
     2078          aset is less nasty.
    22382079
    223920802007-05-09 07:35  gb
     
    22652106
    22662107        * [r6464] compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned"
    2267           calls for most things, except calls to subprims
    2268           that manipulate the stack.
     2108          calls for most things, except calls to subprims that manipulate
     2109          the stack.
    22692110
    227021112007-05-09 07:30  gb
    22712112
    22722113        * [r6463] compiler/X86/X8664/x8664-backend.lisp: Try to make
    2273           cross-compilation with x86-64 targets a little easier,
    2274           by using a cross-ftd interface directory.
     2114          cross-compilation with x86-64 targets a little easier, by using a
     2115          cross-ftd interface directory.
    22752116
    227621172007-05-09 07:29  gb
    22772118
    22782119        * [r6462] compiler/X86/X8664/x8664-arch.lisp: move away from
    2279           lea/jmp, towards call/ret.
    2280           rcx is now an imm reg; ra0 = temp2.
     2120          lea/jmp, towards call/ret. rcx is now an imm reg; ra0 = temp2.
    22812121          new tra scheme.
    22822122
     
    22842124
    22852125        * [r6461] compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign
    2286           right.
    2287           unwind-protect uses nmkunwind (more happens out-of-line.)
     2126          right. unwind-protect uses nmkunwind (more happens out-of-line.)
    22882127
    228921282007-05-09 07:26  gb
     
    23172156
    23182157        * [r6432] level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that
    2319           NTHCDR returns a CONS, signal the
    2320           right flavor of TYPE-ERROR if it doesn't.
     2158          NTHCDR returns a CONS, signal the right flavor of TYPE-ERROR if
     2159          it doesn't.
    23212160
    232221612007-05-06 00:15  gb
     
    23272166
    23282167        * [r6428] level-0/l0-hash.lisp: If PUTHASH decides that it wants to
    2329           grow the hash table, it tries
    2330           to enable the GC before doing so.
     2168          grow the hash table, it tries to enable the GC before doing so.
    23312169
    233221702007-05-05 04:15  gb
     
    23372175
    23382176        * [r6426] compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what
    2339           it finds in the environment, not
    2340           just non-nil.
     2177          it finds in the environment, not just non-nil.
    23412178
    234221792007-05-02 00:15  gb
     
    23642201
    23652202        * [r6390] level-1/ppc-trap-support.lisp: Mis-align some fields in
    2366           the darwin ppc64 thread state structure, just
    2367           like Apple does. Can I blame them for getting this wrong, please
    2368           ?
     2203          the darwin ppc64 thread state structure, just like Apple does.
     2204          Can I blame them for getting this wrong, please ?
    23692205         
    23702206          Use the right argument names in ppc64 cmain callback; can't blame
     
    23782214
    23792215        * [r6388] lisp-kernel/ppc-exceptions.c: running_under_rosetta only
    2380           exists on Darwin, and should probably be
    2381           removed completely. Now that it's explicitly extern, don't try to
    2382           reference it at runtime on linuxppc.
     2216          exists on Darwin, and should probably be removed completely. Now
     2217          that it's explicitly extern, don't try to reference it at runtime
     2218          on linuxppc.
    23832219
    238422202007-05-01 04:16  gb
    23852221
    23862222        * [r6387] lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
    2387           referenced at runtime and explicitly extern,
    2388           so make sure that it's initialized on all platforms.
     2223          referenced at runtime and explicitly extern, so make sure that
     2224          it's initialized on all platforms.
    23892225
    239022262007-05-01 04:15  gb
     
    24002236
    24012237        * [r6319] lib/dumplisp.lisp: In SAVE-APPLICATION: check for
    2402           containing directory after translating
    2403           logical pathnames; it's generally meaningless to do PROBE-FILE on
    2404           the directory component of a logical pathname.
     2238          containing directory after translating logical pathnames; it's
     2239          generally meaningless to do PROBE-FILE on the directory component
     2240          of a logical pathname.
    24052241
    240622422007-04-19 21:16  gb
     
    24112247
    24122248        * [r6307] compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the
    2413           val reg if it conflicts with an
    2414           immediate temporary (we'll need all the imm temps we have on
    2415           x86-64.)
     2249          val reg if it conflicts with an immediate temporary (we'll need
     2250          all the imm temps we have on x86-64.)
    24162251
    241722522007-04-18 02:17  gb
     
    24222257
    24232258        * [r6287] compiler/PPC/ppc2.lisp: Actually remember to check in the
    2424           PPC version of recent aset2/aset3
    2425           register-conflict changes.
     2259          PPC version of recent aset2/aset3 register-conflict changes.
    24262260
    242722612007-04-16 21:17  gb
     
    24362270
    24372271        * [r6284] compiler/nx0.lisp: Don't try to access
    2438           ARRAY-CTYPE-ELEMENT-TYPE of things that aren't
    2439           ARRAY-CTYPEs in ACODE-FORM-TYPE.
     2272          ARRAY-CTYPE-ELEMENT-TYPE of things that aren't ARRAY-CTYPEs in
     2273          ACODE-FORM-TYPE.
    24402274
    244122752007-04-16 19:52  gb
     
    25212355
    25222356        * [r6266] compiler/X86/x862.lisp: in aset2/aset3: don't clobber
    2523           val-reg if it's an imm-reg; we need another
    2524           imm-reg to do some index calculations.
     2357          val-reg if it's an imm-reg; we need another imm-reg to do some
     2358          index calculations.
    25252359
    252623602007-04-15 00:17  gb
     
    25312365
    25322366        * [r6264] lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
    2533           unscramble what it means for an interrupt
    2534           to be pending on x86-64.
     2367          unscramble what it means for an interrupt to be pending on
     2368          x86-64.
    25352369
    253623702007-04-14 06:18  gb
     
    25412375
    25422376        * [r6262] lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS
    2543           is generated when it is in ... unmentionable
    2544           OS releases.
     2377          is generated when it is in ... unmentionable OS releases.
    25452378
    254623792007-04-14 05:37  gb
     
    25622395        * [r6258] compiler/PPC/ppc2.lisp, compiler/X86/x862.lisp: (SETF
    25632396          (AREF ...) ...) of two-dimensional arrays: need to target
    2564           specific
    2565           registers if array has element type T.
     2397          specific registers if array has element type T.
    25662398
    256723992007-04-12 07:19  gb
     
    25802412         
    25812413          STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
    2582           maintain
    2583           the element-type separately, just look in ioblock.
    2584           (STREAM-ELEMENT-TYPE
    2585           isn't required to work on closed streams.)
     2414          maintain the element-type separately, just look in ioblock.
     2415          (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
    25862416
    258724172007-04-11 04:16  gb
     
    25942424          C(egc_store_node_conditional_success_test) should bracnch
    25952425          backwards, not forwards. (This was leading to spurious
    2596           "<something>
    2597           is not a proper list" errors, because the next label named "0" is
    2598           in
    2599           middle of the the _SPprogvsage code that tests for a proper
    2600           list.)
     2426          "<something> is not a proper list" errors, because the next label
     2427          named "0" is in middle of the the _SPprogvsage code that tests
     2428          for a proper list.)
    26012429
    260224302007-04-10 06:16  gb
     
    26092437          examples/cocoa-window.lisp, examples/objc-support.lisp,
    26102438          examples/tiny.lisp: Don't bother using RLET or equivalent to
    2611           avoid making GCable pointers
    2612           for ObjC dispatch function args; trust the compiler to do that
    2613           for us.
     2439          avoid making GCable pointers for ObjC dispatch function args;
     2440          trust the compiler to do that for us.
    26142441
    261524422007-04-10 05:41  gb
    26162443
    26172444        * [r6250] examples/bridge.lisp: If any method defined on a message
    2618           passes a structure by value, install
    2619           a compiler macro on the dispatch function.
     2445          passes a structure by value, install a compiler macro on the
     2446          dispatch function.
    26202447         
    26212448          In that compiler, look for apparent calls to know structure
    2622           constructors;
    2623           replace those with calls to the corresponding initialization
    2624           function,
    2625           and stack-allocate a structure instance around the call.
    2626           (Suggested
    2627           by Kevin Reid, and something that SEND/SLET did - sort of - that
    2628           the
    2629           new approach didn't.)
     2449          constructors; replace those with calls to the corresponding
     2450          initialization function, and stack-allocate a structure instance
     2451          around the call. (Suggested by Kevin Reid, and something that
     2452          SEND/SLET did - sort of - that the new approach didn't.)
    26302453         
    26312454          Keep track of info about common foreign structs (initializer,
    2632           constructor,
    2633           etc.) to make doing stuff like this easier.
     2455          constructor, etc.) to make doing stuff like this easier.
    26342456
    263524572007-04-09 22:16  gb
     
    26402462
    26412463        * [r6248] examples/objc-clos.lisp: ALLOCATE-INSTANCE of
    2642           OBJC:OBJC:CLASS: if the result of sending the
    2643           init message is a null pointer, return a null pointer.
     2464          OBJC:OBJC:CLASS: if the result of sending the init message is a
     2465          null pointer, return a null pointer.
    26442466
    264524672007-04-09 06:16  gb
     
    26732495
    26742496        * [r6241] lisp-kernel/ppc-spjump.s: Org to the next page boundary
    2675           at end of jump table, to work around
    2676           (still more) Apple ld64 nonsense.
     2497          at end of jump table, to work around (still more) Apple ld64
     2498          nonsense.
    26772499
    267825002007-04-08 19:16  gb
     
    26892511         
    26902512         
    2691          
    26922513
    269325142007-04-08 18:46  gb
     
    26982519
    26992520        * [r6236] lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C,
    2700           so that people who try to build this kernel
    2701           on an x86 mac will take longer to realize that that's usually a
    2702           bad idea.
     2521          so that people who try to build this kernel on an x86 mac will
     2522          take longer to realize that that's usually a bad idea.
    27032523
    270425242007-04-08 18:16  gb
     
    27522572         
    27532573          Define "foreign struct classes" for several common structure
    2754           types
    2755           (rectangle, point, size); generate inlined accessors for their
    2756           slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
    2757           macros.
     2574          types (rectangle, point, size); generate inlined accessors for
     2575          their slots, PRINT-OBJECT methods, initialization functions,
     2576          WITH-xxx macros.
    27582577         
    27592578          #/ reader macro: reads a string containing "constituent"
    2760           characters
    2761           (including #\:), preserving case. Does a little bit of
    2762           sanity-checking
    2763           on it, then interns it in NEXTSTEP-FUNCTIONS package.
     2579          characters (including #\:), preserving case. Does a little bit of
     2580          sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
     2581          package.
    27642582         
    27652583          Try to deal with cases where foreign type info may be parsed or
     
    27672585         
    27682586          Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable
    2769           instances.
    2770           SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks
    2771           at message info, tries to determine ambiguity, calls signature
    2772           function (possibly after trying to resolve ambiguity.)
     2587          instances. SHARED-INITIALIZE :AFTER method on
     2588          OBJC-DISPATCH-FUNCTION looks at message info, tries to determine
     2589          ambiguity, calls signature function (possibly after trying to
     2590          resolve ambiguity.)
    27732591         
    27742592          %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
    2775           calling a signature function that knows how to dispatch to
    2776           SUPER method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class
     2593          calling a signature function that knows how to dispatch to SUPER
     2594          method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class
    27772595          methods.)
    27782596         
     
    27852603
    27862604        * [r6228] examples/objc-runtime.lisp: Compile message send
    2787           functions per signature.
    2788           Handle vararg message sends, partly at runtime.
    2789           INIT messages just have their signature info precomputed.
    2790           Defining a named OBJC-CLASS makes the class name a static
    2791           variable whose value is the class (and likewise for the
    2792           metaclass.)
    2793           %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
    2794           OBJC:DEFMETHOD and support for it.
     2605          functions per signature. Handle vararg message sends, partly at
     2606          runtime. INIT messages just have their signature info
     2607          precomputed. Defining a named OBJC-CLASS makes the class name a
     2608          static variable whose value is the class (and likewise for the
     2609          metaclass.) %DECLARE-OBJC-MESSAGE notes method redefinition,
     2610          cerrors. OBJC:DEFMETHOD and support for it.
    27952611
    279626122007-04-08 16:32  gb
    27972613
    27982614        * [r6227] examples/objc-support.lisp: Use new syntax.
    2799           OBJC:LOAD-FRAMEWORK.
    2800           Avoid some deprecated C-string stuff (but wimp out and assume
    2801           ASCII.)
    2802           Keep track of objc-class-count, provide MAYBE-MAP-OBJC-CLASSES to
    2803           map new classes iff class count changes.
    2804           Handle OBJC-PROTOCOLs a bit differently.
    2805           Move CGFLOAT definitions, etc. elsewhere.
     2615          OBJC:LOAD-FRAMEWORK. Avoid some deprecated C-string stuff (but
     2616          wimp out and assume ASCII.) Keep track of objc-class-count,
     2617          provide MAYBE-MAP-OBJC-CLASSES to map new classes iff class count
     2618          changes. Handle OBJC-PROTOCOLs a bit differently. Move CGFLOAT
     2619          definitions, etc. elsewhere.
    28062620
    280726212007-04-08 16:23  gb
    28082622
    28092623        * [r6226] examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try
    2810           mapping classes if first try fails.
    2811           ALLOCATE-INSTANCE of objc-object: don't canonicalize instance if
    2812           no lisp slots (so MAKE-INSTANCE is about as lightweight as
    2813           MAKE-OBJC-INSTANCE.)
     2624          mapping classes if first try fails. ALLOCATE-INSTANCE of
     2625          objc-object: don't canonicalize instance if no lisp slots (so
     2626          MAKE-INSTANCE is about as lightweight as MAKE-OBJC-INSTANCE.)
    28142627
    281526282007-04-08 16:20  gb
     
    28222635
    28232636        * [r6224] examples/objc-package.lisp: New file; export more stuff.
    2824           Import some of it back into CCL.
    2825           Provide a NEXTSTEP-FUNCTIONS package for pseudo-GFs.
     2637          Import some of it back into CCL. Provide a NEXTSTEP-FUNCTIONS
     2638          package for pseudo-GFs.
    28262639
    282726402007-04-08 16:17  gb
    28282641
    28292642        * [r6223] lib/foreign-types.lisp: Foreign-type-ordinals, some of
    2830           which are canonical.
    2831           Straighten out the auxiliary-foreign-types mess a bit.
    2832           Intern integer types up to 64 bits.
     2643          which are canonical. Straighten out the auxiliary-foreign-types
     2644          mess a bit. Intern integer types up to 64 bits.
    28332645
    283426462007-04-08 16:13  gb
    28352647
    2836         * [r6222] lib/macros.lisp: DEFGLOBAL = DEFSTATIC.
    2837           DEFLOADVAR makes its argument static.
    2838           WITH-MACPTRS is saner.
    2839           WITH-ENCODED-CSTR writes NUL octet(s) to the end of the encoded
    2840           string.
     2648        * [r6222] lib/macros.lisp: DEFGLOBAL = DEFSTATIC. DEFLOADVAR makes
     2649          its argument static. WITH-MACPTRS is saner. WITH-ENCODED-CSTR
     2650          writes NUL octet(s) to the end of the encoded string.
    28412651          MAKE-GCABLE-RECORD, COPY-RECORD.
    28422652
     
    28442654
    28452655        * [r6221] lib/db-io.lisp: Slight changes (preserve typedef name) in
    2846           function/objc method arglists.
    2847           UNESCAPE-FOREIGN-NAME: handle missing brackets.
     2656          function/objc method arglists. UNESCAPE-FOREIGN-NAME: handle
     2657          missing brackets.
    28482658
    284926592007-04-08 04:56  gb
    28502660
    28512661        * [r6220] lisp-kernel/x86-exceptions.c: Handle signals on the
    2852           altstack if not Darwin.
    2853           In Darwin, evactuate off of the lisp stack while interrupts are
    2854           still disabled.
     2662          altstack if not Darwin. In Darwin, evactuate off of the lisp
     2663          stack while interrupts are still disabled.
    28552664
    285626652007-04-08 04:49  gb
    28572666
    28582667        * [r6219] lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on
    2859           Darwin (where Apple hasn't yet invented
    2860           the notion that it needs to be thread-specific.)
     2668          Darwin (where Apple hasn't yet invented the notion that it needs
     2669          to be thread-specific.)
    28612670
    286226712007-04-08 04:48  gb
     
    29032712
    29042713        * [r6209] lib/ffi-darwinppc64.lisp: Structures are basically passed
    2905           as 64-bit word components, with
    2906           FP fields passed in registers. This requires some special
    2907           handling
    2908           ("hybrid" parameters) in the compiler and %FF-CALL.
     2714          as 64-bit word components, with FP fields passed in registers.
     2715          This requires some special handling ("hybrid" parameters) in the
     2716          compiler and %FF-CALL.
    29092717
    291027182007-04-08 04:39  gb
     
    29482756
    29492757        * [r6200] level-1/linux-files.lisp: Very long timeout for
    2950           WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT,
    2951           manipulate the whostate if we have to wait at all.
     2758          WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the
     2759          whostate if we have to wait at all.
    29522760         
    29532761          Same idea for TIMED-WAIT-ON-SEMAPHORE.
     
    29622770
    29632771        * [r6198] level-1/l1-unicode.lisp: Add NUL-ENCODING field to
    2964           CHARACTER-ENCODING, use it to determine
    2965           number/sequence of octets used to encode NUL.
     2772          CHARACTER-ENCODING, use it to determine number/sequence of octets
     2773          used to encode NUL.
    29662774
    296727752007-04-08 04:26  gb
     
    29702778         
    29712779          READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream
    2972           (so
    2973           DRIBBLE works); on TWO-WAY-STREAM, should read from the input
    2974           side so
    2975           that echoing looks more natural.
     2780          (so DRIBBLE works); on TWO-WAY-STREAM, should read from the input
     2781          side so that echoing looks more natural.
    29762782
    297727832007-04-08 04:21  gb
     
    29832789
    29842790        * [r6195] level-1/l1-readloop-lds.lisp: Some changes, then reverted
    2985           those changes manually and most of the
    2986           effects were cosmetic. TOPLEVEL-PRINT takes an output stream arg.
     2791          those changes manually and most of the effects were cosmetic.
     2792          TOPLEVEL-PRINT takes an output stream arg.
    29872793
    298827942007-04-08 03:58  gb
     
    30272833         
    30282834          %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
    3029           likely
    3030           the global value of some symbol.)
     2835          likely the global value of some symbol.)
    30312836
    303228372007-04-08 03:09  gb
     
    30382843         
    30392844          Install standard foreign types here, not every time that
    3040           FOREIGN-TYPES is
    3041           loaded.
     2845          FOREIGN-TYPES is loaded.
    30422846         
    30432847          Canonicalize foreign type ordinals as soon as we can. (This is
    3044           part
    3045           of a scheme to give foreign types "ordinals' that can be used to
    3046           assert
    3047           pointer types; we need some of those ordinal numbers to be
    3048           pre-assigned,
    3049           since we can't reference foreign types early in the cold load.)
     2848          part of a scheme to give foreign types "ordinals' that can be
     2849          used to assert pointer types; we need some of those ordinal
     2850          numbers to be pre-assigned, since we can't reference foreign
     2851          types early in the cold load.)
    30502852
    305128532007-04-08 03:06  gb
    30522854
    30532855        * [r6185] level-1/l1-aprims.lisp: DEFSTATIC is now the preferred
    3054           name for DEFGLOBAL.
    3055           GCABLE-PTR-P.
     2856          name for DEFGLOBAL. GCABLE-PTR-P.
    30562857
    305728582007-04-08 03:04  gb
    30582859
    30592860        * [r6184] level-0/nfasload.lisp: %INSERT-SYMBOL might call
    3060           pkg.intern-hook.
    3061           Handle maintenance of auto-export packages differently.
    3062           $fasl-timm just needs an :int, not a :long.
     2861          pkg.intern-hook. Handle maintenance of auto-export packages
     2862          differently. $fasl-timm just needs an :int, not a :long.
    30632863
    306428642007-04-08 03:02  gb
     
    30702870
    30712871        * [r6182] level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL
    3072           in %GET-SPIN-LOCK.
    3073           Locking code: spin lock must be released before interrupts are
    3074           re-enabled.
     2872          in %GET-SPIN-LOCK. Locking code: spin lock must be released
     2873          before interrupts are re-enabled.
    30752874
    307628752007-04-08 02:58  gb
     
    30942893
    30952894        * [r6177] compiler/optimizers.lisp: When trying to infer result
    3096           type of MAKE-ARRAY call, unquote quoted
    3097           type specifier.
     2895          type of MAKE-ARRAY call, unquote quoted type specifier.
    30982896         
    30992897          Strength-reduce FLOAT when second argument is of known type.
     
    31072905
    31082906        * [r6175] compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs
    3109           (for DarwinPPC64.)
    3110           Cut-and-paste bug re: nx1-%fixnum-to-single/double.
    3111           Parse %short-float, %double-float when no "result" arg; can at
    3112           least
    3113           try to constant-fold late and/or do some cases if we have more
    3114           type
    3115           info.
     2907          (for DarwinPPC64.) Cut-and-paste bug re:
     2908          nx1-%fixnum-to-single/double. Parse %short-float, %double-float
     2909          when no "result" arg; can at least try to constant-fold late
     2910          and/or do some cases if we have more type info.
    31162911
    311729122007-04-08 02:51  gb
     
    31232918
    31242919        * [r6173] compiler/X86/x862.lisp: Same
    3125           inline/lambda-bind/dynamic-extent bug as on PPC.
    3126           %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
     2920          inline/lambda-bind/dynamic-extent bug as on PPC. %SINGLE-FLOAT,
     2921          %DOUBLE-FLOAT here, too.
    31272922
    312829232007-04-08 02:49  gb
    31292924
    31302925        * [r6172] compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL,
    3131           adjust remaning GPR/FPR counts even if arg is
    3132           "simple" and passes straight through to %FF-CALL.
     2926          adjust remaning GPR/FPR counts even if arg is "simple" and passes
     2927          straight through to %FF-CALL.
    31332928
    313429292007-04-08 02:48  gb
    31352930
    31362931        * [r6171] compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
    3137           LAMBDA-BIND operator, dynamic-extent
    3138           &REST, and stack memoization.
    3139           Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
    3140           passed
    3141           in the same doubleword as GPRs.
     2932          LAMBDA-BIND operator, dynamic-extent &REST, and stack
     2933          memoization. Handle DarwinPPC64 ABI conventions, where
     2934          SINGLE-FLOATs may be passed in the same doubleword as GPRs.
    31422935          %DOUBLE-FLOAT, %SINGLE-FLOAT stuff: do inlining late, catch some
    3143           other
    3144           cases.
     2936          other cases.
    31452937
    314629382007-04-08 02:39  gb
     
    31782970
    31792971        * [r6142] lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set
    3180           vmemoryuse (RLIMIT_AS) current resource
    3181           limit to max limit, since some distros limit it.
     2972          vmemoryuse (RLIMIT_AS) current resource limit to max limit, since
     2973          some distros limit it.
    31822974
    318329752007-04-03 09:17  gb
     
    31972989
    31982990        * [r6113] level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing
    3199           "stream" arg in utf-16 encode, missing
    3200           #x in little-endian bom-marker definition.)
     2991          "stream" arg in utf-16 encode, missing #x in little-endian
     2992          bom-marker definition.)
    32012993
    320229942007-03-15 05:20  gb
     
    32643056
    32653057        * [r6025] lisp-kernel/x86-exceptions.c: in catch_exception_raise(),
    3266           try to deal with variations in Mach
    3267           behavior: "exception" may be EXC_BAD_ACCESS when an illegal
    3268           instruction
    3269           causes a "general protection fault".
     3058          try to deal with variations in Mach behavior: "exception" may be
     3059          EXC_BAD_ACCESS when an illegal instruction causes a "general
     3060          protection fault".
    32703061
    327130622007-03-09 22:54  gb
     
    32953086
    32963087        * [r6018] level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a
    3297           function, returns a copy of a list of open file streams
    3298           in PREPARE-TO-QUIT.
     3088          function, returns a copy of a list of open file streams in
     3089          PREPARE-TO-QUIT.
    32993090
    330030912007-03-09 06:58  gb
     
    33103101
    33113102        * [r6015] level-0/l0-hash.lisp: When REMHASH deletes the last entry
    3312           in a hash-table, it fills
    3313           the hash-table vector with "free" markers. (There may already
    3314           be lots of "deleted" markers in the table.)
     3103          in a hash-table, it fills the hash-table vector with "free"
     3104          markers. (There may already be lots of "deleted" markers in the
     3105          table.)
    33153106
    331631072007-03-09 06:20  gb
     
    33493140
    33503141        * [r6007] level-0/l0-numbers.lisp: And, while we're at it: do the
    3351           next-random-seed permutation in
    3352           %next-random-pair, which accepts and returns a pair of 16-bit
    3353           integers. That's in lap on ppc32 and in lisp on 64-bit platforms.
     3142          next-random-seed permutation in %next-random-pair, which accepts
     3143          and returns a pair of 16-bit integers. That's in lap on ppc32 and
     3144          in lisp on 64-bit platforms.
    33543145
    335531462007-03-09 05:20  gb
     
    33643155
    33653156        * [r6004] level-1/x86-error-signal.lisp: Check for trap opcode >=
    3366           #x70 rather than >= #x80, because of the new
    3367           way that uuo-error-slot-unbound is encoded.
     3157          #x70 rather than >= #x80, because of the new way that
     3158          uuo-error-slot-unbound is encoded.
    33683159
    336931602007-03-08 10:28  gb
     
    33753166
    33763167        * [r6002] compiler/X86/x86-asm.lisp: Use (int #x7_) for
    3377           uuo-error-slot-unbound, since some (int #x8_) traps
    3378           confuse Mach.
     3168          uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
    33793169
    338031702007-03-07 16:20  gb
     
    33943184
    33953185        * [r5998] level-1/linux-files.lisp: For #+linux-target, try to use
    3396           #_sysconf in CPU-COUNT, and fall back
    3397           to parsing /proc/cpuinfo only if that fails. (CPU-COUNT is called
    3398           early in the cold load, before we can make the file-stream
    3399           necessary
    3400           to do the parsing.)
     3186          #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo
     3187          only if that fails. (CPU-COUNT is called early in the cold load,
     3188          before we can make the file-stream necessary to do the parsing.)
    34013189
    340231902007-03-07 14:33  gb
     
    34093197
    34103198        * [r5996] lisp-kernel/x86-exceptions.h: Darwin signal return:
    3411           logior in the el-bizarro syscall mask, pass the
    3412           magic number 0x1e as a second arg, just in case.
     3199          logior in the el-bizarro syscall mask, pass the magic number 0x1e
     3200          as a second arg, just in case.
    34133201
    341432022007-03-07 14:24  gb
     
    34293217
    34303218        * [r5992] lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
    3431           FCOMP-READ-LOOP (e.g., don't just hammer
    3432           on the static binding.)
     3219          FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
    34333220
    343432212007-03-07 14:20  gb
     
    34433230
    34443231        * [r5989] lisp-kernel/x86-asmutils64.s: Some (currently unused)
    3445           CPUID "calls" want an argument in ecx. Set that
    3446           arg to 0 for now.
     3232          CPUID "calls" want an argument in ecx. Set that arg to 0 for now.
    34473233
    344832342007-03-07 14:01  gb
    34493235
    34503236        * [r5988] lisp-kernel/thread_manager.c: Use spinlocks to guard
    3451           updates to "real" locks; those updates can
    3452           be simplified.
     3237          updates to "real" locks; those updates can be simplified.
    34533238         
    34543239          lock_recursive_lock: no (ignored) timeout arg.
     
    34623247
    34633248        * [r5986] lisp-kernel/Threads.h: #include #<sched.h>, for
    3464           sched_yield() prototype.
    3465           Change declaration of LOCK macro: no null timespec required.
    3466           RECURSIVE_LOCKs have spinlock fields.
     3249          sched_yield() prototype. Change declaration of LOCK macro: no
     3250          null timespec required. RECURSIVE_LOCKs have spinlock fields.
    34673251
    346832522007-03-07 13:56  gb
     
    34743258
    34753259        * [r5984] level-1/linux-files.lisp: Determing *spin-lock-tries* at
    3476           launch time, based on cpu-count.
    3477           YIELD moved here, does #_sched_yield rather than something
    3478           lower-level.
     3260          launch time, based on cpu-count. YIELD moved here, does
     3261          #_sched_yield rather than something lower-level.
    34793262
    348032632007-03-07 13:53  gb
     
    35143297         
    35153298          EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
    3516           For
    3517           TTY-LISTENER, call QUIT.
     3299          For TTY-LISTENER, call QUIT.
    35183300
    351933012007-03-02 12:08  gb
     
    35423324
    35433325        * [r5972] compiler/nx0.lisp: (the <type> <constant>) transforms to
    3544           <constant> if constant is of type
    3545           <type>.)
     3326          <constant> if constant is of type <type>.)
    35463327         
    35473328          Do we need an ignore-errors here ? Or does <type> need to be
     
    35733354
    35743355        * [r5966] level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use
    3575           -8(sp) rather than %rbp; trust
    3576           callback_for_interrupt() to preserve it.
     3356          -8(sp) rather than %rbp; trust callback_for_interrupt() to
     3357          preserve it.
    35773358
    357833592007-02-28 14:03  gb
     
    35883369
    35893370        * [r5963] lisp-kernel/x86-gc.c: check_node: ignore tiny things
    3590           (shift counts) that may wind up on the
    3591           vstack.
     3371          (shift counts) that may wind up on the vstack.
    35923372         
    35933373          Since those tiny things might be tagged as headers, walk the
    3594           vstack
    3595           with new "headerless" functions that ignore headers.
     3374          vstack with new "headerless" functions that ignore headers.
    35963375
    359733762007-02-28 12:16  gb
    35983377
    35993378        * [r5962] lisp-kernel/x86-exceptions.c: In pc_luser_xp: if
    3600           allocating and before the alloc trap and interrupting,
    3601           back out of the modification to save_allocptr (and allocptr
    3602           register)
    3603           and set *interrupt_displacement.
     3379          allocating and before the alloc trap and interrupting, back out
     3380          of the modification to save_allocptr (and allocptr register) and
     3381          set *interrupt_displacement.
    36043382
    360533832007-02-23 17:20  gb
     
    36103388
    36113389        * [r5960] lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.
    3612           Again, this only makes sense for cases
    3613           where we have to guess; a bitfield that's 8 bits wide still has
    3614           an
    3615           alignment of 1.
     3390          Again, this only makes sense for cases where we have to guess; a
     3391          bitfield that's 8 bits wide still has an alignment of 1.
    36163392         
    36173393          Factor in the alignment of the containing int when bitfields are
     
    36193395         
    36203396          When parsing a record type, set the "bits" slot of each field.
    3621           (Not too many things look at that slot, but we want the effect
    3622           of loading a record from the database to match the effect of
    3623           parsing a definition as exactly as possible, and to be able to
    3624           use EQUALP to compare the results.)
     3397          (Not too many things look at that slot, but we want the effect of
     3398          loading a record from the database to match the effect of parsing
     3399          a definition as exactly as possible, and to be able to use EQUALP
     3400          to compare the results.)
    36253401
    362634022007-02-23 17:06  gb
     
    36303406         
    36313407          When calculating overall alignment of a structure, treat
    3632           bitfields
    3633           as if they were :unsigned-int (since there's a "containing"
    3634           unsigned
    3635           int that affects alignment. N.B: this should be imposed for
    3636           anything that
    3637           has an alignment of 1, not just a size of 1.)
     3408          bitfields as if they were :unsigned-int (since there's a
     3409          "containing" unsigned int that affects alignment. N.B: this
     3410          should be imposed for anything that has an alignment of 1, not
     3411          just a size of 1.)
    36383412         
    36393413          When loading integer types, try to use the precomputed types
    3640           rather
    3641           than consing a new one. This (a) reduces consing a little (b) is
    3642           more likely to get the alignment correct. For (b), we really need
    3643           to distinguish between bitfields and addressable integers.
     3414          rather than consing a new one. This (a) reduces consing a little
     3415          (b) is more likely to get the alignment correct. For (b), we
     3416          really need to distinguish between bitfields and addressable
     3417          integers.
    36443418
    364534192007-02-23 16:30  gb
     
    36633437
    36643438        * [r5954] lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
    3665           traditional (sysv) style of hash maps, if it
    3666           understands that option.
     3439          traditional (sysv) style of hash maps, if it understands that
     3440          option.
    36673441
    366834422007-02-21 13:20  gb
     
    36733447
    36743448        * [r5952] lisp-kernel/ppc-gc.c, lisp-kernel/x86-gc.c: Handle the
    3675           case where nothing has been consed since last GC.
    3676           (There are some fenceposts there.)
    3677          
    3678           verbose GC herald tries to indicate how much is allocated in
    3679           the area being GCed.
     3449          case where nothing has been consed since last GC. (There are some
     3450          fenceposts there.)
     3451         
     3452          verbose GC herald tries to indicate how much is allocated in the
     3453          area being GCed.
    36803454
    368134552007-02-21 12:58  gb
     
    36833457        * [r5951] lisp-kernel/ppc-exceptions.c,
    36843458          lisp-kernel/x86-exceptions.c: If full GC is deferred, ensure that
    3685           a full GC happens after
    3686           WITHOUT-GCING exits.
     3459          a full GC happens after WITHOUT-GCING exits.
    36873460
    368834612007-02-21 12:57  gb
     
    37003473         
    37013474          (Note: there seems to be a bug which is keeping the cdb data
    3702           structures
    3703           from getting defined correctly at load time; the workaround is to
    3704           compile foreign-types.lisp - which defines them - in the same
    3705           session as
    3706           and before db-io - which uses them - is compiled.)
     3475          structures from getting defined correctly at load time; the
     3476          workaround is to compile foreign-types.lisp - which defines them
     3477          - in the same session as and before db-io - which uses them - is
     3478          compiled.)
    37073479
    370834802007-02-19 11:48  gb
     
    37203492        * [r5945] level-1/l1-clos-boot.lisp:
    37213493          MAYBE-UPDATE-OBSOLETE-INSTANCE: handle funcallable objects that
    3722           aren't
    3723           STANDARD-GENERIC-FUNCTIONs.
     3494          aren't STANDARD-GENERIC-FUNCTIONs.
    37243495
    372534962007-02-19 11:40  gb
     
    38293600
    38303601        * [r5922] freebsd-headers64/gl/C/populate.sh: Avoid processing some
    3831           files that contain incompatible definitions of
    3832           some math library stuff ("log" either has to do with logarithms
    3833           or
    3834           logging ...).
     3602          files that contain incompatible definitions of some math library
     3603          stuff ("log" either has to do with logarithms or logging ...).
    38353604
    383636052007-02-14 02:20  gb
     
    38413610
    38423611        * [r5920] lib/misc.lisp: Change the way that TIME is reported by
    3843           default: mention the number of
    3844           available CPU cores, don't assume that there's that much of a
    3845           relationship
    3846           between CPU time and wall-clock time.
     3612          default: mention the number of available CPU cores, don't assume
     3613          that there's that much of a relationship between CPU time and
     3614          wall-clock time.
    38473615
    384836162007-02-14 01:41  gb
    38493617
    38503618        * [r5919] level-1/linux-files.lisp: Don't do whatever el-bizarro
    3851           Mach thing once seemed to be necessary in
    3852           %%RUSAGE. Require syscall stuff when :execute, too.
     3619          Mach thing once seemed to be necessary in %%RUSAGE. Require
     3620          syscall stuff when :execute, too.
    38533621
    385436222007-02-14 01:35  gb
     
    38643632
    38653633        * [r5916] level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit
    3866           non-negative fixnum) and rdtsc64 (returns
    3867           64-bit non-negative integer.)
     3634          non-negative fixnum) and rdtsc64 (returns 64-bit non-negative
     3635          integer.)
    38683636
    386936372007-02-14 01:10  gb
     
    38753643
    38763644        * [r5914] examples/rubix/rubix.lisp: A little bit of cgfloat stuff;
    3877           there are more/other float-size issues
    3878           deeper down in the code.
     3645          there are more/other float-size issues deeper down in the code.
    38793646
    388036472007-02-14 01:09  gb
    38813648
    38823649        * [r5913] examples/objc-support.lisp: Fixup the x86-64 error-return
    3883           callback trampiline code (was missing a byte
    3884           of machine code.)
     3650          callback trampiline code (was missing a byte of machine code.)
    38853651
    388636522007-02-14 01:08  gb
     
    38923658
    38933659        * [r5911] examples/cocoa-window.lisp: Don't change-class
    3894           *cocoa-event-process* until we start to run the event
    3895           loop.
     3660          *cocoa-event-process* until we start to run the event loop.
    38963661         
    38973662          Don't do _deallocHardCore: explicitly.
     
    39863751
    39873752        * [r5893] level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will
    3988           preset an existing process (so that the
    3989           listener process appears to be "persistent".)
     3753          preset an existing process (so that the listener process appears
     3754          to be "persistent".)
    39903755
    399137562007-02-11 12:24  gb
    39923757
    39933758        * [r5892] level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM
    3994           tries to make the initial-listener object
    3995           persistent acrosss SAVE-APPLICATION.
     3759          tries to make the initial-listener object persistent acrosss
     3760          SAVE-APPLICATION.
    39963761
    399737622007-02-11 07:20  gb
     
    40113776         
    40123777          __NSConstantStringClassReference isn't what it used to be, so
    4013           look up
    4014           NSConstantStringClass the hard way.
     3778          look up NSConstantStringClass the hard way.
    40153779         
    40163780          Handle ns-exception/lisp-error stuff on x86-64.
     
    40243788         
    40253789          The _deallocate-hook mechanism - which never really worked -
    4026           probably
    4027           can't work on Objc-2.0.
     3790          probably can't work on Objc-2.0.
    40283791
    402937922007-02-11 06:54  gb
    40303793
    40313794        * [r5888] examples/bridge.lisp: Make structure return-type explicit
    4032           in objc-message-send calls in
    4033           send/stret and variants.
     3795          in objc-message-send calls in send/stret and variants.
    40343796
    403537972007-02-11 06:20  gb
     
    40403802
    40413803        * [r5886] examples/cocoa-window.lisp: Some indentation changes and
    4042           slight reorganization of the code; shouldn't
    4043           be any functional/semantic changes.
     3804          slight reorganization of the code; shouldn't be any
     3805          functional/semantic changes.
    40443806
    404538072007-02-11 05:30  gb
     
    40473809        * [r5885] examples/cocoa-editor.lisp, examples/cocoa-prefs.lisp,
    40483810          examples/cocoa-typeout.lisp: Need to ensure that floats are
    4049           CG-FLOATs when appropriate; other changes
    4050           for 64-bit platforms, Objc-2.0.
     3811          CG-FLOATs when appropriate; other changes for 64-bit platforms,
     3812          Objc-2.0.
    40513813
    405238142007-02-11 05:29  gb
     
    40693831        * [r5881] lib/ffi-darwinppc32.lisp, lib/ffi-darwinppc64.lisp,
    40703832          lib/ffi-linuxppc32.lisp, lib/ffi-linuxppc64.lisp: EXPAND-FF-CALL:
    4071           ignore-errors when trying to parse the last arglist
    4072           form as a foreign type.
     3833          ignore-errors when trying to parse the last arglist form as a
     3834          foreign type.
    40733835
    407438362007-02-11 05:26  gb
     
    40853847
    40863848        * [r5878] library/pty.lisp: Unicode stuff when accessing control
    4087           char array; conditionalize for
    4088           #+darwin-target, not just #+darwinppc-target.
     3849          char array; conditionalize for #+darwin-target, not just
     3850          #+darwinppc-target.
    40893851
    409038522007-02-11 05:22  gb
    40913853
    40923854        * [r5877] level-1/l1-callbacks.lisp: Fix a comment (defcallback
    4093           isn't ppc-specific; the comment dated from the
    4094           days of 68K MCL.)
     3855          isn't ppc-specific; the comment dated from the days of 68K MCL.)
    40953856
    409638572007-02-11 05:21  gb
    40973858
    40983859        * [r5876] compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do
    4099           struct return 32 bits at a time, to avoid consing
    4100           little bignums.
     3860          struct return 32 bits at a time, to avoid consing little bignums.
    41013861
    410238622007-02-11 05:20  gb
     
    41143874         
    41153875          Fix handling of $undo-x86-c-frame in x862-nlexit. (Need to check
    4116           the
    4117           PPC case, as well.)
     3876          the PPC case, as well.)
    41183877
    411938782007-02-11 05:11  gb
    41203879
    41213880        * [r5872] compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need
    4122           to be a "zero-extend-s8" vinsn, but there does need to
    4123           be a "zero-extend-u8".
     3881          to be a "zero-extend-s8" vinsn, but there does need to be a
     3882          "zero-extend-u8".
    41243883
    412538842007-02-10 13:20  gb
     
    41353894
    41363895        * [r5869] compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive,
    4137           so that ARGLIST can say -something- about
    4138           lap functions that don't take a fixed number of arguments.
     3896          so that ARGLIST can say -something- about lap functions that
     3897          don't take a fixed number of arguments.
    41393898
    414038992007-02-07 10:20  gb
     
    41553914        * [r5865] examples/bridge.lisp, examples/objc-clos.lisp,
    41563915          examples/objc-runtime.lisp, examples/objc-support.lisp: Start to
    4157           integrate with FFI changes. No more %SEND, process and
    4158           precompile "init" messages when interfaces are accessed.
    4159           (Note: should try to handle varargs init messages, even if we
    4160           have
    4161           to call %FF-CALL at runtime.)
     3916          integrate with FFI changes. No more %SEND, process and precompile
     3917          "init" messages when interfaces are accessed. (Note: should try
     3918          to handle varargs init messages, even if we have to call %FF-CALL
     3919          at runtime.)
    41623920
    416339212007-02-02 09:31  gb
     
    41723930         
    41733931          I think that the concept of auxiliary types might make sense in a
    4174           context
    4175           like:
    4176          
    4177           (def-foreign-type nil
    4178           (:struct :foo
    4179           (:a :int)
    4180           (:b (:struct :bar (:x :int) (:y :int)))))
     3932          context like:
     3933         
     3934          (def-foreign-type nil (:struct :foo (:a :int) (:b (:struct :bar
     3935          (:x :int) (:y :int)))))
    41813936         
    41823937          In that case, :struct :bar is local to the definition. In the
    4183           similar
    4184           case:
    4185          
    4186           (def-foreign-type nil
    4187           (:struct :foo
    4188           (:a :int)
    4189           (:b (:struct :bar))))
     3938          similar case:
     3939         
     3940          (def-foreign-type nil (:struct :foo (:a :int) (:b (:struct
     3941          :bar))))
    41903942         
    41913943          :BAR is presumably defined (globally) elsewhere.
     
    41983950
    41993951        * [r5861] darwin-headers/addressbook/C/populate.sh: Specify the SDK
    4200           to use. (Setting "SDK=" will hopefully work with older
    4201           version of xcode.)
     3952          to use. (Setting "SDK=" will hopefully work with older version of
     3953          xcode.)
    42023954
    420339552007-02-02 09:15  gb
     
    42273979
    42283980        * [r5855] lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no
    4229           angle brackets are returned verbatim,
    4230           not downcased.
     3981          angle brackets are returned verbatim, not downcased.
    42313982
    423239832007-02-01 05:44  gb
     
    42644015
    42654016        * [r5848] lib/db-io.lisp: Tweak the warning given if CDB-OPEN
    4266           fails: missing cdb file: dog bytes man;
    4267           missing parent directory is more newsworthy.
     4017          fails: missing cdb file: dog bytes man; missing parent directory
     4018          is more newsworthy.
    42684019
    426940202007-01-31 23:20  gb
     
    42744025
    42754026        * [r5846] library/chud-metering.lisp: Tweak a little, so that it
    4276           might work on darwinppc64 (and on darwinx8664
    4277           when purify does something there.)
     4027          might work on darwinppc64 (and on darwinx8664 when purify does
     4028          something there.)
    42784029
    427940302007-01-31 22:20  gb
     
    43694120
    43704121        * [r5829] lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER
    4371           allows/requires a leading argument to be paired
    4372           with a structure-typed return-type.
     4122          allows/requires a leading argument to be paired with a
     4123          structure-typed return-type.
    43734124
    437441252007-01-31 00:43  gb
     
    43834134         
    43844135          Don't check the :struct-by-value flag when encoding function
    4385           args/results.
    4386           (That decision's made above our pay grade now.)
     4136          args/results. (That decision's made above our pay grade now.)
    43874137         
    43884138          When reading a :struct/:union definition, try to update an
    4389           existing
    4390           defintion rather than consing up a new one (this matters if the
    4391           record is anonymous.)
     4139          existing defintion rather than consing up a new one (this matters
     4140          if the record is anonymous.)
    43924141
    439341422007-01-31 00:39  gb
    43944143
    43954144        * [r5826] level-1/l1-sockets.lisp: Try to ensure that the :FORMAT
    4396           argument gets passed to
    4397           MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET correctly.
     4145          argument gets passed to MAKE-TCP-STREAM-SOCKET and
     4146          MAKE-FILE-STREAM-SOCKET correctly.
    43984147         
    43994148          Fix c_socket for #+linuxppc.
     
    44234172
    44244173        * [r5820] lib/macros.lisp: Use new callback interface
    4425           unconditionally. (A day's work turned into
    4426           2 weeks, somehow.)
     4174          unconditionally. (A day's work turned into 2 weeks, somehow.)
    44274175
    442841762007-01-30 14:00  gb
     
    45044252        * [r5803] lib/ffi-linuxppc32.lisp, lib/ffi-linuxppc64.lisp: Flesh
    45054253          things out a bit more, change the API, get things working ...
    4506           still
    4507           a moving target.
     4254          still a moving target.
    45084255
    450942562007-01-29 04:46  gb
    45104257
    45114258        * [r5802] lib/macros.lisp: For linuxppc, use the new callback
    4512           mechanism. (Other platforms still need
    4513           more bootstrapping.)
     4259          mechanism. (Other platforms still need more bootstrapping.)
    45144260
    451542612007-01-29 04:44  gb
    45164262
    45174263        * [r5801] compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old
    4518           eabi-callback stuff; linuxppc 32/64-bit callbacks now use
    4519           the new scheme.
     4264          eabi-callback stuff; linuxppc 32/64-bit callbacks now use the new
     4265          scheme.
    45204266
    452142672007-01-28 11:20  gb
     
    45454291
    45464292        * [r5795] lib/db-io.lisp: If a .cdb file can't be opened, show the
    4547           translated pathname and mention the fact
    4548           that this might indicate a problem with "ccl:"'s logical
    4549           translations.
     4293          translated pathname and mention the fact that this might indicate
     4294          a problem with "ccl:"'s logical translations.
    45504295
    455142962007-01-25 12:20  gb
     
    45564301
    45574302        * [r5793] lib/foreign-types.lisp: Never fully understood the
    4558           concept "auxiliary" foreign types, but try to
    4559           canonicalize intermediate struct/union/enum references, so that
    4560           (EQ (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))
    4561           (PARSE-FOREIGN-TYPE '(:STRUCT :FOO)))
    4562           is more likely to return T (e.g., something registered in the
    4563           FTD.
     4303          concept "auxiliary" foreign types, but try to canonicalize
     4304          intermediate struct/union/enum references, so that (EQ
     4305          (PARSE-FOREIGN-TYPE '(:STRUCT :FOO)) (PARSE-FOREIGN-TYPE
     4306          '(:STRUCT :FOO))) is more likely to return T (e.g., something
     4307          registered in the FTD.
    45644308         
    45654309          It seems clear that this is the right thing when the structure
    4566           reference
    4567           is in global scope; I'm not sure what it'd mean for that not to
    4568           be the
    4569           case.
     4310          reference is in global scope; I'm not sure what it'd mean for
     4311          that not to be the case.
    45704312
    457143132007-01-25 11:32  gb
     
    46074349        * [r5785] compiler/PPC/PPC32/ppc32-backend.lisp,
    46084350          compiler/PPC/PPC64/ppc64-backend.lisp: Get FPRs from where
    4609           subprim saved them.
    4610           Return FPRs in the same place. (Will need to re-work all of this
    4611           for platform-dependent structure stuff.)
     4351          subprim saved them. Return FPRs in the same place. (Will need to
     4352          re-work all of this for platform-dependent structure stuff.)
    46124353
    461343542007-01-23 22:26  gb
    46144355
    46154356        * [r5784] lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX;
    4616           save fp args here. Return all (arg) GPRs
    4617           and FPRs (needs cooperation from the lisp side.)
     4357          save fp args here. Return all (arg) GPRs and FPRs (needs
     4358          cooperation from the lisp side.)
    46184359
    461943602007-01-23 22:21  gb
     
    47154456
    47164457        * [r5764] compiler/nx1.lisp: Don't assume that passing a structure
    4717           by value in N words is Darwin-specific.
    4718           (LinuxPPC32 is probably the only platform that doesn't support
    4719           the convention.)
     4458          by value in N words is Darwin-specific. (LinuxPPC32 is probably
     4459          the only platform that doesn't support the convention.)
    47204460
    472144612007-01-21 13:12  gb
     
    47564496
    47574497        * [r5756] lib/ffi-linuxppc64.lisp: 4 down. Whether 2 or 3 to go
    4758           depends on your perspective (and on how close
    4759           x86-64 Linux and x86-64 FreeBSD are to each other. I'd guess that
    4760           they're
    4761           pretty close, and that x86-64 Darwin is random.)
     4498          depends on your perspective (and on how close x86-64 Linux and
     4499          x86-64 FreeBSD are to each other. I'd guess that they're pretty
     4500          close, and that x86-64 Darwin is random.)
    47624501
    476345022007-01-21 05:20  gb
     
    48054544
    48064545        * [r5746] lib/ffi-darwinppc32.lisp: Looks mostly right; might need
    4807           to be extended to handle coercions at
    4808           the Cocoa level, and probably needs some cooperation from
    4809           %EXTERNAL-CALL-EXPANDER (e.g., what's installed by #_).
     4546          to be extended to handle coercions at the Cocoa level, and
     4547          probably needs some cooperation from %EXTERNAL-CALL-EXPANDER
     4548          (e.g., what's installed by #_).
    48104549
    481145502007-01-21 02:20  gb
     
    48684607
    48694608        * [r5733] examples/bridge.lisp: Some word-size conditionalization.
    4870           Will need more work to handle
    4871           struct return/asssignment correctly on all platforms.
     4609          Will need more work to handle struct return/asssignment correctly
     4610          on all platforms.
    48724611
    487346122007-01-18 11:15  gb
     
    48994638
    49004639        * [r5727] examples/objc-support.lisp: Note which protocols are
    4901           actually used when walking classes. (There
    4902           doesn't seem to be a good way of finding a Protocol object
    4903           pre-objc-2.0,
    4904           and we may need to test protocol compliance to disambiguate
    4905           message
    4906           sends in some cases.)
     4640          actually used when walking classes. (There doesn't seem to be a
     4641          good way of finding a Protocol object pre-objc-2.0, and we may
     4642          need to test protocol compliance to disambiguate message sends in
     4643          some cases.)
    49074644
    490846452007-01-18 11:07  gb
     
    49144651
    49154652        * [r5725] examples/addressbook.lisp: Conditionalize for darwin (not
    4916           necessarily darwinppc). May want to
    4917           conditionalize for bundle executable name, as well.
     4653          necessarily darwinppc). May want to conditionalize for bundle
     4654          executable name, as well.
    49184655
    491946562007-01-18 11:05  gb
    49204657
    49214658        * [r5724] compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.
    4922           Start to sketch out structure return code (structures
    4923           are often "returned" by returning field values in registers pn
     4659          Start to sketch out structure return code (structures are often
     4660          "returned" by returning field values in registers pn
    49244661          DarwinPPC64.)
    49254662
     
    49524689
    49534690        * [r5718] library/parse-ffi.lisp: At least optionally, make
    4954           structure return explicit (expecting it to
    4955           be handled by higher-level code.)
     4691          structure return explicit (expecting it to be handled by
     4692          higher-level code.)
    49564693
    495746942007-01-18 10:58  gb
     
    49784715
    49794716        * [r5713] compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to
    4980           return all possible result regs.
    4981           (Maybe poweropen syscall, too.)
     4717          return all possible result regs. (Maybe poweropen syscall, too.)
    49824718
    498347192007-01-18 10:51  gb
     
    49894725
    49904726        * [r5711] compiler/nx1.lisp: Support :registers <exp> in %ff-call;
    4991           when supported, backend will
    4992           return all (potential) result registers in buffer at <exp>.
     4727          when supported, backend will return all (potential) result
     4728          registers in buffer at <exp>.
    49934729
    499447302007-01-16 09:20  gb
     
    49994735
    50004736        * [r5708] level-1/l1-streams.lisp: Make sure that
    5001           STREAM-READ-IVECTOR and STREAM-WRITE-IVECTOR are defined
    5002           on binary stream classes. (These functions make less sense for
    5003           character
    5004           streams/strings than they used to.)
     4737          STREAM-READ-IVECTOR and STREAM-WRITE-IVECTOR are defined on
     4738          binary stream classes. (These functions make less sense for
     4739          character streams/strings than they used to.)
    50054740
    500647412007-01-16 08:39  gb
     
    50214756
    50224757        * [r5704] compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp)
    5023           constant2) into (* (/ constant1 constant2) exp).
    5024           Not very general, but makes some foreign address arithmetic
    5025           better.
     4758          constant2) into (* (/ constant1 constant2) exp). Not very
     4759          general, but makes some foreign address arithmetic better.
    50264760
    502747612007-01-12 06:56  gb
    50284762
    50294763        * [r5703] lib/macros.lisp: Simple PAREF: (paref pointer
    5030           foreign-pointer-or-array-type index) does
    5031           simple arithmetic for you.
     4764          foreign-pointer-or-array-type index) does simple arithmetic for
     4765          you.
    50324766
    503347672007-01-12 06:54  gb
     
    50514785
    50524786        * [r5698] lisp-kernel/x86-spentry64.s: When running an
    5053           unwind-protect cleanup and multiple values are being thrown,
    5054           be sure to set tcr.xframe from the target catch frame. This is
    5055           necessary
    5056           on general principles (GC safety), and especially necessary if
    5057           the cleanup
    5058           form does a non-local exit.
     4787          unwind-protect cleanup and multiple values are being thrown, be
     4788          sure to set tcr.xframe from the target catch frame. This is
     4789          necessary on general principles (GC safety), and especially
     4790          necessary if the cleanup form does a non-local exit.
    50594791
    506047922007-01-09 05:20  gb
     
    50664798        * [r5696] examples/objc-clos.lisp, examples/objc-runtime.lisp,
    50674799          examples/objc-support.lisp: Revive some of the old GNUstep
    5068           support; add partial ObjC 2.0 support
    5069           (for 64-bit targets only, so far.)
     4800          support; add partial ObjC 2.0 support (for 64-bit targets only,
     4801          so far.)
    50704802
    507148032007-01-09 05:11  gb
     
    50774809
    50784810        * [r5694] examples/cocoa-listener.lisp: Disable background layout
    5079           in the listener; the whole two-thread scheme
    5080           probably isn't viable, but doing this seems to suppress a
    5081           timing-related
     4811          in the listener; the whole two-thread scheme probably isn't
     4812          viable, but doing this seems to suppress a timing-related
    50824813          symptom.
    50834814
     
    50854816
    50864817        * [r5693] examples/cocoa-editor.lisp: Document-begin-editing,
    5087           document-end-editing: both seem to have been
    5088           conditionalized backwards.
     4818          document-end-editing: both seem to have been conditionalized
     4819          backwards.
    50894820
    509048212007-01-06 00:20  gb
     
    51164847
    51174848        * [r5686] level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd
    5118           version of #_dlopen doesn't return a link
    5119           map, but calling #_dlinfo on the result (with the right arg) does
    5120           obtain a link map.
     4849          version of #_dlopen doesn't return a link map, but calling
     4850          #_dlinfo on the result (with the right arg) does obtain a link
     4851          map.
    51214852         
    51224853          Revive shared libraries on FreeBSD, but don't do the strange
    5123           Linux-specific
    5124           re-opening there. (It seems like it's possible to #_dlopen
    5125           something that
    5126           already has a loaded link map - like the FreeBSD dynamic linker -
    5127           or
    5128           something.)
     4854          Linux-specific re-opening there. (It seems like it's possible to
     4855          #_dlopen something that already has a loaded link map - like the
     4856          FreeBSD dynamic linker - or something.)
    51294857
    513048582007-01-04 13:20  gb
     
    51504878        * [r5681] level-0/l0-numbers.lisp:
    51514879          fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
    5152           accurately
    5153           represented in float, do so.
     4880          accurately represented in float, do so.
    51544881
    515548822007-01-03 11:20  gb
     
    51704897
    51714898        * [r5677] lib/pathnames.lisp: More whack-a-mole with pathnames
    5172           (specifically, preserving :WILD as name/type
    5173           value and dealing with the consequences of doing so.)
     4899          (specifically, preserving :WILD as name/type value and dealing
     4900          with the consequences of doing so.)
    51744901
    517549022007-01-03 10:27  gb
     
    52014928
    52024929        * [r5671] level-0/l0-pred.lisp: EQUAL on physical pathnames ignores
    5203           the (new) version slot, as does practically
    5204           everything else.
     4930          the (new) version slot, as does practically everything else.
    52054931
    520649322007-01-02 13:59  gb
    52074933
    52084934        * [r5670] level-0/l0-numbers.lisp: Don't assume that fixnums can be
    5209           accurately coerced to floats when comparing
    5210           fixnums and floats; do the logical equvalent of calling RATIONAL
    5211           on the float
     4935          accurately coerced to floats when comparing fixnums and floats;
     4936          do the logical equvalent of calling RATIONAL on the float
    52124937          instead.
    52134938
     
    52604985
    52614986        * [r5659] lisp-kernel/x86-spjump64.s: On Darwin, use a .space
    5262           directive to ensure that there's nothing interesting
    5263           in the first few pages of the address space (and ensure that
    5264           those pages
    5265           are mapped.)
     4987          directive to ensure that there's nothing interesting in the first
     4988          few pages of the address space (and ensure that those pages are
     4989          mapped.)
    52664990
    526749912006-12-31 09:43  gb
    52684992
    52694993        * [r5658] lisp-kernel/darwinx8664/Makefile: Sadly, we can't use
    5270           -sectalign on x86-64 (ld64 does some floating-point
    5271           arithmetic, fails to account for roundoff error, and claims that
    5272           0x1000
    5273           isn't a power of 2.) If you can't say anything good about a
    5274           linker, it's
    5275           best not to say anything at all.
     4994          -sectalign on x86-64 (ld64 does some floating-point arithmetic,
     4995          fails to account for roundoff error, and claims that 0x1000 isn't
     4996          a power of 2.) If you can't say anything good about a linker,
     4997          it's best not to say anything at all.
    52764998         
    52774999          We can force the first segment to be mapped at 0x1000, and can
    5278           waste
    5279           a few pages to ensure that all low-memory pages that the lisp
    5280           wants are
    5281           mapped.
     5000          waste a few pages to ensure that all low-memory pages that the
     5001          lisp wants are mapped.
    52825002
    528350032006-12-31 09:33  gb
     
    53465066
    53475067        * [r5644] xdump/xppcfasload.lisp: xload-static-space-address for
    5348           ppc64 is #x2000; still #x1000 for ppc32.
    5349           (need to set this for x86-64)
     5068          ppc64 is #x2000; still #x1000 for ppc32. (need to set this for
     5069          x86-64)
    53505070
    535150712006-12-29 08:36  gb
    53525072
    53535073        * [r5643] xdump/xfasload.lisp: *xload-static-space-address* depends
    5354           on the backend. ppc64 wants it one
    5355           page higher than it has been, to avoid letting unmapped pages get
    5356           claimed
    5357           by the dynamic linker on Darwin.
     5074          on the backend. ppc64 wants it one page higher than it has been,
     5075          to avoid letting unmapped pages get claimed by the dynamic linker
     5076          on Darwin.
    53585077
    535950782006-12-29 08:35  gb
     
    53615080        * [r5642] lisp-kernel/darwinppc64/Makefile: Change
    53625081          seg1addr/sectalign, so that the image starts at #x1000 and
    5363           aligned
    5364           section data for the text section starts on the next page.
     5082          aligned section data for the text section starts on the next
     5083          page.
    53655084
    536650852006-12-29 08:33  gb
     
    54045123         
    54055124          Use dlopen() on 64-bit Darwin variants. Might want to do a
    5406           runtime
    5407           test and use dlfcn functions if at least Tiger.
     5125          runtime test and use dlfcn functions if at least Tiger.
    54085126         
    54095127          (The old dyld functions are deprecated under Leopard, and there's
    54105128          reason to believe that they don't work correctly on at least
    5411           ppc64/
    5412           Leopard; attempting to use NSCreateObjectFileImageFromFile to
    5413           open
    5414           a 64-bit .dylib seems to lead to memory corruption rather than
    5415           returning NSObjectFileImageInappropriateFile.
     5129          ppc64/ Leopard; attempting to use NSCreateObjectFileImageFromFile
     5130          to open a 64-bit .dylib seems to lead to memory corruption rather
     5131          than returning NSObjectFileImageInappropriateFile.
    54165132         
    54175133          The old functions work better than the dlfcn functions on
    5418           pre-Tiger
    5419           systems.)
     5134          pre-Tiger systems.)
    54205135
    542151362006-12-20 20:08  gb
     
    54265141
    54275142        * [r5632] library/parse-ffi.lisp: Just to be on the safe side (new
    5428           pathname bugs, or old ?), append -BAK to
    5429           (NAMESTRING (TRUENAME path)), not just (NAMESTRING path) when
    5430           renaming.
     5143          pathname bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME
     5144          path)), not just (NAMESTRING path) when renaming.
    54315145          (MERGE-PATHNAMES call is producing a pathane with a non-null
    5432           VERSION component,
    5433           as it arguably should have been all along.
     5146          VERSION component, as it arguably should have been all along.
    54345147
    543551482006-12-18 20:22  gb
     
    54415154
    54425155        * [r5630] level-1/l1-pathnames.lisp: Try (halfheartedly) to
    5443           maintain PATHNAME-VERSION of physical
    5444           pathnames. (Totally meaningless, but failing to do this leads to
    5445           many
    5446           test failures.)
     5156          maintain PATHNAME-VERSION of physical pathnames. (Totally
     5157          meaningless, but failing to do this leads to many test failures.)
    54475158
    544851592006-12-18 20:03  gb
     
    54535164
    54545165        * [r5628] level-1/l1-files.lisp: Try (halfheartedly) to maintain
    5455           PATHNAME-VERSION of physical
    5456           pathnames. (Totally meaningless, but failing to do this leads to
    5457           many
    5458           test failures.)
     5166          PATHNAME-VERSION of physical pathnames. (Totally meaningless, but
     5167          failing to do this leads to many test failures.)
    54595168
    546051692006-12-18 19:54  gb
     
    54665175
    54675176        * [r5626] level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
    5468           instructions have a minor opcode in frb
    5469           and only have one source operand.
     5177          instructions have a minor opcode in frb and only have one source
     5178          operand.
    54705179
    547151802006-12-16 12:27  gb
    54725181
    54735182        * [r5625] level-1/ppc-error-signal.lisp: If we get an FP exception
    5474           during a SQRT, note that there's only one
    5475           operand and that it's in frb.
     5183          during a SQRT, note that there's only one operand and that it's
     5184          in frb.
    54765185
    547751862006-12-16 12:25  gb
    54785187
    54795188        * [r5624] lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
    5480           instructions, notably fsqrt/fqrts, which
    5481           are optional and not implemented on some PPC machines.
     5189          instructions, notably fsqrt/fqrts, which are optional and not
     5190          implemented on some PPC machines.
    54825191
    548351922006-12-16 12:24  gb
     
    54935202
    54945203        * [r5621] compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
    5495           double-float arithmetic vinsns should say :double-float,
    5496           not :single-float. (I suspect cut-and-paste, frankly.)
     5204          double-float arithmetic vinsns should say :double-float, not
     5205          :single-float. (I suspect cut-and-paste, frankly.)
    54975206
    549852072006-12-14 23:25  gb
     
    55315240
    55325241        * [r5614] lisp-kernel/x86-exceptions.c: Go back to using the
    5533           pseudo_sigreturn mechanism on Darwin, since
    5534           doing a real sigreturn from a fake context may not be reliable.
     5242          pseudo_sigreturn mechanism on Darwin, since doing a real
     5243          sigreturn from a fake context may not be reliable.
    55355244         
    55365245          When handling an interrupt with a partially created temp stack
    5537           frame, do the right thing. (That basically means reset the
    5538           frame before calling out and recreating it if we return from the
     5246          frame, do the right thing. (That basically means reset the frame
     5247          before calling out and recreating it if we return from the
    55395248          callout.)
    55405249         
    55415250          Handle SIGQUIT on the altstack, to provide a way of forcibly
    5542           terminating threads that's a bit more GC-safe than doing it
    5543           via #_pthread_cancel.
     5251          terminating threads that's a bit more GC-safe than doing it via
     5252          #_pthread_cancel.
    55445253         
    55455254          Note the tcr of the gc thread on gc entry; if an exception
    5546           happens in that thread, print a message and sleep for 60
    5547           seconds.
    5548          
    5549           Note that there's still a race condition here: if thread A
    5550           gets an exception and thread B gets the mach_exception_lock
    5551           (to GC) before the exception thread can handle the message,
    5552           we deadlock (thread A would be suspended in the kernel and
    5553           can't respond to a suspend signal.) We can tell that this
    5554           has happened and make a good guess as to why it happened,
    5555           but dealing with it will require some thought. (If we've
    5556           already issued a suspend signal and eventually raise the
    5557           suspended thread's resume semaphore, it'll suspend and resume
    5558           once the mach exception thread makes it runnable. Who
    5559           cleans up its exception context in that case ? Does it
    5560           matter ?)
     5255          happens in that thread, print a message and sleep for 60 seconds.
     5256         
     5257          Note that there's still a race condition here: if thread A gets
     5258          an exception and thread B gets the mach_exception_lock (to GC)
     5259          before the exception thread can handle the message, we deadlock
     5260          (thread A would be suspended in the kernel and can't respond to a
     5261          suspend signal.) We can tell that this has happened and make a
     5262          good guess as to why it happened, but dealing with it will
     5263          require some thought. (If we've already issued a suspend signal
     5264          and eventually raise the suspended thread's resume semaphore,
     5265          it'll suspend and resume once the mach exception thread makes it
     5266          runnable. Who cleans up its exception context in that case ? Does
     5267          it matter ?)
    55615268
    556252692006-12-14 22:19  gb
     
    56005307         
    56015308          KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
    5602           target
    5603           thread to transition from running lisp code to running foreign
    5604           code
    5605           without advertising that fact. Send a SIGQUIT instead, and trust
    5606           the
    5607           SIGQUIT handler to manage that transition. Don't try to kill the
    5608           initial thread.
     5309          target thread to transition from running lisp code to running
     5310          foreign code without advertising that fact. Send a SIGQUIT
     5311          instead, and trust the SIGQUIT handler to manage that transition.
     5312          Don't try to kill the initial thread.
    56095313
    561053142006-12-09 16:52  gb
     
    56145318         
    56155319          MAKE-STRING-INPUT-STREAM: handle displaced strings better
    5616           (remember
    5617           their displaced-index-offsets.)
     5320          (remember their displaced-index-offsets.)
    56185321
    561953222006-12-09 16:49  gb
    56205323
    56215324        * [r5605] lisp-kernel/thread_manager.c: Disable underflow traps in
    5622           new threads on x86-64. (The PPC never got around
    5623           to enabling them.)
     5325          new threads on x86-64. (The PPC never got around to enabling
     5326          them.)
    56245327
    562553282006-12-09 16:47  gb
    56265329
    56275330        * [r5604] lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string
    5628           provided, evaluate the ELEMENT-TYPE expression
    5629           (for side-effects) and ignore the result of its evaluation.
     5331          provided, evaluate the ELEMENT-TYPE expression (for side-effects)
     5332          and ignore the result of its evaluation.
    56305333         
    56315334          Some fixes in CTYPECASE handling, which hopefully didn't break
     
    56355338
    56365339        * [r5603] compiler/X86/x862.lisp: In aset2/aset3, ensure that the
    5637           (final, 1d) index register is set - even if the
    5638           index is a constant - if we think that the store needs EGC
    5639           memoization.
     5340          (final, 1d) index register is set - even if the index is a
     5341          constant - if we think that the store needs EGC memoization.
    56405342         
    56415343          (Note that the test case that exposed this involved storing
    5642           SINGLE-FLOATs, which
    5643           don't need EGC write-barrier handling on 64-bit platforms.)
     5344          SINGLE-FLOATs, which don't need EGC write-barrier handling on
     5345          64-bit platforms.)
    56445346         
    56455347          In aref2, don't worry about reserving unscaled index registers
    5646           when targeting
    5647           the 1d index; the unscaled index registers aren't live after,
    5648           could be NULL
    5649           if the index is a constant, and any overlap between one of them
    5650           and the
    5651           1d index should be handled in the vinsn(s).
     5348          when targeting the 1d index; the unscaled index registers aren't
     5349          live after, could be NULL if the index is a constant, and any
     5350          overlap between one of them and the 1d index should be handled in
     5351          the vinsn(s).
    56525352
    565353532006-12-09 16:30  gb
    56545354
    56555355        * [r5602] level-1/l1-typesys.lisp: Ensure that the (relatively new)
    5656           built-in-classes SIMPLE-FIXNUM-VECTOR and
    5657           FIXNUM-VECTOR have class-translations.
     5356          built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
     5357          class-translations.
    56585358
    565953592006-12-09 16:27  gb
    56605360
    56615361        * [r5601] level-1/l1-aprims.lisp: In list case of ELT: who says
    5662           that value returned by NTHCDR is a LIST ?
    5663           (It's not necessarily a list, so don't segfault taking its CAR
    5664           without
    5665           checking.)
     5362          that value returned by NTHCDR is a LIST ? (It's not necessarily a
     5363          list, so don't segfault taking its CAR without checking.)
    56665364
    566753652006-12-07 01:48  gb
     
    56745372
    56755373        * [r5599] compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name,
    5676           use the right symbol for the named
    5677           block.
     5374          use the right symbol for the named block.
    56785375         
    56795376          COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal
    5680           with
    5681           (SETF NAME).
     5377          with (SETF NAME).
    56825378
    568353792006-12-06 05:44  gb
     
    56885384
    56895385        * [r5597] lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep
    5690           ld64 from putting a linkedit segment in the wrong
    5691           place and making 32-bit memory unmappable.
     5386          ld64 from putting a linkedit segment in the wrong place and
     5387          making 32-bit memory unmappable.
    56925388
    569353892006-12-06 03:30  gb
     
    57025398
    57035399        * [r5594] level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set
    5704           to #\Return on #+darwin-target, not just
    5705           #+darwinppc-target. Change doc string for
    5706           *ALTERNATE-LINE-TERMINATOR*.
     5400          to #\Return on #+darwin-target, not just #+darwinppc-target.
     5401          Change doc string for *ALTERNATE-LINE-TERMINATOR*.
    57075402
    570854032006-12-04 22:13  gb
    57095404
    57105405        * [r5593] level-1/version.lisp: Append a patchlevel to the version
    5711           string, at least until new tarballs
    5712           can be built.
     5406          string, at least until new tarballs can be built.
    57135407
    571454082006-12-04 22:12  gb
    57155409
    57165410        * [r5592] level-1/l1-streams.lisp: If stream element type upgrades
    5717           to FIXNUM, upgrade it further (to
    5718           largest supported SIGNED-BYTE element-type.)
     5411          to FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
     5412          element-type.)
    57195413
    572054142006-12-04 20:02  gb
    57215415
    57225416        * [r5591] level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever
    5723           it's called): don't bother to shift by 0 bits.
    5724           Do shift the initial U if non-zero trailing 0 BITS (was testing
    5725           for non-zero
     5417          it's called): don't bother to shift by 0 bits. Do shift the
     5418          initial U if non-zero trailing 0 BITS (was testing for non-zero
    57265419          trailing DIGITS.)
    57275420
     
    57295422
    57305423        * [r5590] level-1/l1-streams.lisp: Choke earlier on unsupported
    5731           stream element-types; do some upgrading to support
    5732           some more element types (BIT -> (UNSIGNED-BYTE 8)).
    5733          
    5734           Maybe support arbitrarily large integer types someday soon.
    5735           Maybe not.
     5424          stream element-types; do some upgrading to support some more
     5425          element types (BIT -> (UNSIGNED-BYTE 8)).
     5426         
     5427          Maybe support arbitrarily large integer types someday soon. Maybe
     5428          not.
    57365429
    573754302006-12-04 19:48  gb
     
    57485441
    57495442        * [r5587] level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1,
    5750           use %ASHL, not %ILSL. (Don't want nonsense in the
    5751           high 32 bits, just in case.)
     5443          use %ASHL, not %ILSL. (Don't want nonsense in the high 32 bits,
     5444          just in case.)
    57525445
    575354462006-12-04 19:43  gb
     
    57645457
    57655458        * [r5584] level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle
    5766           shift by 0 bits.
    5767           BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to shift
    5768           by 0 bits.
     5459          shift by 0 bits. BIGNUM-BIGNUM-GCD (whatever it's called): don't
     5460          bother to shift by 0 bits.
    57695461
    577054622006-12-04 16:21  gb
     
    57765468
    57775469        * [r5582] level-1/l1-streams.lisp: Default STREAM-POSITION method
    5778           for STREAMs, returns NIL.
    5779           STREAM-POSITION method for STRING-INPUT-STREAMs.
     5470          for STREAMs, returns NIL. STREAM-POSITION method for
     5471          STRING-INPUT-STREAMs.
    57805472
    578154732006-12-04 16:19  gb
     
    58335525
    58345526        * [r5572] lisp-kernel/x86-spentry64.s: Do vector bounds checking by
    5835           clearing the low byte of the header, shifting
    5836           it right, and comparing the index to that. (It's not reliable to
    5837           shift
    5838           the index left.)
     5527          clearing the low byte of the header, shifting it right, and
     5528          comparing the index to that. (It's not reliable to shift the
     5529          index left.)
    58395530
    584055312006-12-03 09:26  gb
    58415532
    58425533        * [r5571] level-1/l1-unicode.lisp: Memory/vector encode functions:
    5843           don't write BOM, leave that up to
    5844           higher-level code.
     5534          don't write BOM, leave that up to higher-level code.
    58455535         
    58465536          Start to write some higher-level code.
     
    58535543
    58545544        * [r5569] compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS:
    5855           shift the header word right (after clearing its low
    5856           byte) and compare the index to that. (Shifting the index left -
    5857           d'oh -
     5545          shift the header word right (after clearing its low byte) and
     5546          compare the index to that. (Shifting the index left - d'oh -
    58585547          obviously fails for indices of large magnitude.)
    58595548
     
    58675556
    58685557        * [r5567] lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers
    5869           of VERIFY-LAMBDA-LIST (hopefully)
    5870           check to see if the alleged list is LISTP first. (I hope ...).
    5871           Do so.
     5558          of VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged
     5559          list is LISTP first. (I hope ...). Do so.
    58725560
    587355612006-11-29 01:42  gb
     
    58845572
    58855573        * [r5564] examples/objc-runtime.lisp: Wrap a (primitive)
    5886           WITH-AUTORELEASE-POOL around the code which detaches
    5887           the dummy NSThread.
     5574          WITH-AUTORELEASE-POOL around the code which detaches the dummy
     5575          NSThread.
    58885576
    588955772006-11-28 23:09  gb
    58905578
    58915579        * [r5563] examples/cocoa-listener.lisp: Don't claim that a callback
    5892           parameter is ignored; use IGNORABLE
    5893           instead.
     5580          parameter is ignored; use IGNORABLE instead.
    58945581
    589555822006-11-21 09:21  gb
     
    59095596
    59105597        * [r5559] level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
    5911           %COPY-IVECTOR-TO-PTR to copy string to
    5912           foreign memory.
     5598          %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
    59135599         
    59145600          Basic file-socket streams.
     
    59895675          contain call history as of the point when #_exit called atexit
    59905676          handlers, vstack & tstack are emptied in lazarus()). We should
    5991           barely run any code in this environment, but we will GC a time
    5992           or two ...
     5677          barely run any code in this environment, but we will GC a time or
     5678          two ...
    59935679
    599456802006-11-09 22:45  gb
     
    60205706
    60215707        * [r5537] compiler/X86/x862.lisp: Always check that array-ctype's
    6022           dimensions are a list before taking their
    6023           length.
     5708          dimensions are a list before taking their length.
    60245709
    602557102006-11-09 19:20  gb
     
    60685753
    60695754        * [r5527] level-1/x86-trap-support.lisp: In darwin Fake Structures
    6070           For Leopard nonsense: define the stack context
    6071           struct separately, make the ucontext stack field an instance of
    6072           it.
    6073           (Not -sure- if that was necessary, but :poweropen-target was
    6074           accidentally
    6075           on *FEATURES* and foreign struct layout was using read-time
    6076           condtionalization
    6077           to decide whether or not to use brain-dead structure-alignment
    6078           rules
    6079           leftover from AIX/PowerOpen.
     5755          For Leopard nonsense: define the stack context struct separately,
     5756          make the ucontext stack field an instance of it. (Not -sure- if
     5757          that was necessary, but :poweropen-target was accidentally on
     5758          *FEATURES* and foreign struct layout was using read-time
     5759          condtionalization to decide whether or not to use brain-dead
     5760          structure-alignment rules leftover from AIX/PowerOpen.
    60805761
    608157622006-11-08 19:46  gb
     
    60875768
    60885769        * [r5525] compiler/optimizers.lisp: Try to infer/insert the array
    6089           type when compiler-macroexpanding MAKE-ARRAY
    6090           calls.
     5770          type when compiler-macroexpanding MAKE-ARRAY calls.
    60915771
    609257722006-11-08 19:39  gb
     
    60985778
    60995779        * [r5523] lib/foreign-types.lisp: parse-foreign-record-fields:
    6100           conformance to poweropen structure layout
    6101           rules should be an attribute of the FTD, not done via read-time
    6102           conditionalization.
     5780          conformance to poweropen structure layout rules should be an
     5781          attribute of the FTD, not done via read-time conditionalization.
    61035782
    610457832006-11-08 12:20  gb
     
    61155794         
    61165795          TODO: get rid of "bivalent" streams, but allow switching some
    6117           streams (sockets)
    6118           between "character mode" and "binary mode".
     5796          streams (sockets) between "character mode" and "binary mode".
    61195797
    612057982006-11-08 10:20  gb
     
    62015879
    62025880        * [r5501] compiler/PPC/ppc2.lisp: Handle vector assignment
    6203           differently; handle (setf (aref ...)) of simple
    6204           2d-arrays inline if the type is known/declared.
     5881          differently; handle (setf (aref ...)) of simple 2d-arrays inline
     5882          if the type is known/declared.
    62055883
    620658842006-11-07 05:02  gb
     
    62085886        * [r5500] compiler/PPC/PPC32/ppc32-vinsns.lisp,
    62095887          compiler/PPC/PPC64/ppc64-vinsns.lisp: Add vinsns for misc-set-s*
    6210           and variants. (Identical to the unsigned
    6211           versions, but it helps not to have to remember which are
    6212           implemented
    6213           and which aren't.)
     5888          and variants. (Identical to the unsigned versions, but it helps
     5889          not to have to remember which are implemented and which aren't.)
    62145890
    621558912006-11-07 05:01  gb
     
    62385914
    62395915        * [r5494] level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro
    6240           HTONS, since the foreign function may not
    6241           exist.
     5916          HTONS, since the foreign function may not exist.
    62425917
    624359182006-11-06 04:20  gb
     
    62705945
    62715946        * [r5487] lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we
    6272           aren't testing simple-array-ness, add the
    6273           (possibly 0) displacement from the header before handling the
    6274           simple
    6275           aref of the data vector.
     5947          aren't testing simple-array-ness, add the (possibly 0)
     5948          displacement from the header before handling the simple aref of
     5949          the data vector.
    62765950
    627759512006-11-05 14:47  gb
    62785952
    62795953        * [r5486] lib/foreign-types.lisp: PRINT-OBJECT method for EEPS:
    6280           handle pointers on PPC(64), print 64-bit
    6281           addresses on 64-bit platforms.
     5954          handle pointers on PPC(64), print 64-bit addresses on 64-bit
     5955          platforms.
    62825956
    628359572006-11-05 14:46  gb
     
    62885962
    62895963        * [r5484] level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
    6290           %VALID-REMAINING-TIMESPEC-TIME-P, which is better than
    6291           sleeping for 4G seconds after an EINTR on Leopard.
     5964          %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping
     5965          for 4G seconds after an EINTR on Leopard.
    62925966
    629359672006-11-05 14:44  gb
     
    62965970          returns NIL if any non-fixnum bits would be set in the result.
    62975971          (Should probably make this true on all platforms; for PPC64, it's
    6298           important
    6299           for foreign function addresses that're ... suboptimally aligned.)
     5972          important for foreign function addresses that're ... suboptimally
     5973          aligned.)
    63005974
    630159752006-11-05 14:42  gb
    63025976
    63035977        * [r5482] level-0/PPC/ppc-misc.lisp: Try to detect the case where
    6304           %NANOSLEEP's second (by reference) argument
    6305           contains garbage after an EINTR. (The L word, again.)
     5978          %NANOSLEEP's second (by reference) argument contains garbage
     5979          after an EINTR. (The L word, again.)
    63065980
    630759812006-11-05 14:41  gb
     
    63135987
    63145988        * [r5480] level-0/l0-cfm-support.lisp: Some platforms (the L-word)
    6315           generate ppc64 functions whose addresses
    6316           are not 0 mod 8, so (a) make MACPTR->FIXNUM return NIL if an
    6317           address
    6318           isn't representable as a fixnum and (b) make FOREIGN-SYMBOL-ENTRY
    6319           return an address if it can't return a fixnum on PPC (really just
    6320           affects PPC64.)
     5989          generate ppc64 functions whose addresses are not 0 mod 8, so (a)
     5990          make MACPTR->FIXNUM return NIL if an address isn't representable
     5991          as a fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address
     5992          if it can't return a fixnum on PPC (really just affects PPC64.)
    63215993
    632259942006-11-05 14:37  gb
     
    63326004
    63336005        * [r5477] compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up
    6334           with the x8664 wrt 2d aref. Stll a ways
    6335           to go.
     6006          with the x8664 wrt 2d aref. Stll a ways to go.
    63366007
    633760082006-11-05 14:35  gb
     
    63676038         
    63686039          ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
    6369           in the
    6370           builtin functions table.
     6040          in the builtin functions table.
    63716041
    637260422006-11-03 22:20  gb
     
    64096079         
    64106080          Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
    6411           arguments, for the benefit
    6412           of people who haven't read the MOP spec or who don't realize that
    6413           the MOP defines
    6414           some things differently from CLHS.
     6081          arguments, for the benefit of people who haven't read the MOP
     6082          spec or who don't realize that the MOP defines some things
     6083          differently from CLHS.
    64156084
    641660852006-11-03 20:38  gb
     
    64776146        * [r5449] compiler/X86/X8664/x8664-arch.lisp: Define
    64786147          .SParef2/.SPaset2 subprims; seem to be much (>5x) faster than the
    6479           lisp/lap
    6480           versions (though we can generally be faster still when we know
    6481           the element-type
    6482           and/or know whether the array is simple or explicitly displaced.)
     6148          lisp/lap versions (though we can generally be faster still when
     6149          we know the element-type and/or know whether the array is simple
     6150          or explicitly displaced.)
    64836151
    648461522006-11-03 19:41  gb
     
    64886156         
    64896157          Split the code which handles bounds/type-checking in vref out
    6490           from the code which
    6491           actually does the reference, so that the latter can be used in
    6492           multidimensional
    6493           cases.
     6158          from the code which actually does the reference, so that the
     6159          latter can be used in multidimensional cases.
    64946160         
    64956161          Need to do this on PPC as well; need to do more (%aset2, 3d
     
    65036169
    65046170        * [r5446] compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
    6505           general-aref2. More changes to come (and this may
    6506           affect compilation on PPC until some PPC compiler changes are
     6171          general-aref2. More changes to come (and this may affect
     6172          compilation on PPC until some PPC compiler changes are
    65076173          made/checked-in.)
    65086174
     
    65106176
    65116177        * [r5445] compiler/arch.lisp: type-errors (as encoded in UUOs) are
    6512           now in the range 128-255, rather than 64-127;
    6513           more are defined.
     6178          now in the range 128-255, rather than 64-127; more are defined.
    65146179
    651561802006-11-02 17:20  gb
     
    65496214        * [r5437] lisp-kernel/ppc-exceptions.c:
    65506215          handle_protection_violation: pass the tcr. Initialize "addr"
    6551           before
    6552           testing it ...
     6216          before testing it ...
    65536217
    655462182006-10-31 10:21  gb
     
    65646228
    65656229        * [r5434] lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed
    6566           vector expands into something more
    6567           useful.
     6230          vector expands into something more useful.
    65686231
    656962322006-10-31 03:39  gb
     
    65796242
    65806243        * [r5431] level-0/l0-bignum64.lisp: Enable the destructive version
    6581           of %BIGNUM-BIGNUM-GCD; conditionalize it
    6582           for 64-bit targets and provide/fix supporting functions. Seems to
    6583           work
    6584           on ppc64; needs testing on x8664.
     6244          of %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
     6245          provide/fix supporting functions. Seems to work on ppc64; needs
     6246          testing on x8664.
    65856247
    658662482006-10-28 00:20  gb
     
    66526314
    66536315        * [r5418] level-1/l1-streams.lisp: When recycling
    6654           string-output-stream-ioblocks, set the IOBLOCK-CHARPOS
    6655           to 0. (Failure to do this can screw up the pretty-printer, among
    6656           other things.)
     6316          string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
     6317          (Failure to do this can screw up the pretty-printer, among other
     6318          things.)
    66576319
    665863202006-10-24 06:52  gb
     
    67016363
    67026364        * [r5408] lib/macros.lisp: Some/most/all of the
    6703           WITH-IOBLOCK-OUTPUT-LOCKED macros were checking
    6704           for the presence of an input lock ...
     6365          WITH-IOBLOCK-OUTPUT-LOCKED macros were checking for the presence
     6366          of an input lock ...
    67056367
    670663682006-10-23 12:20  gb
     
    67166378
    67176379        * [r5405] lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into
    6718           code which evaluates the string form
    6719           twice; don't do whatever was being done to default the element
    6720           type of the
    6721           string stream.
     6380          code which evaluates the string form twice; don't do whatever was
     6381          being done to default the element type of the string stream.
    67226382
    672363832006-10-23 11:24  gb
    67246384
    67256385        * [r5404] compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip
    6726           some keyword/subtype checking if element-type not
    6727           provided. (Could also skip it if it's explicit and obviously OK.)
     6386          some keyword/subtype checking if element-type not provided.
     6387          (Could also skip it if it's explicit and obviously OK.)
    67286388
    672963892006-10-23 11:22  gb
     
    67486408
    67496409        * [r5399] compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the
    6750           first form like a PROGN if there are no other
    6751           forms.
     6410          first form like a PROGN if there are no other forms.
    67526411
    675364122006-10-22 14:01  gb
     
    67666425
    67676426        * [r5396] lib/pprint.lisp: Don't assume that string output stream
    6768           strings have a fill-pointer;
    6769           use STREAM-POSITION instead.
     6427          strings have a fill-pointer; use STREAM-POSITION instead.
    67706428
    677164292006-10-22 13:57  gb
     
    68586516
    68596517        * [r5377] level-1/l1-clos-boot.lisp: The post-bootstrapping version
    6860           of (SETF FIND-CLASS) only introduces (or removes) a type
    6861           name if the class becomes (or ceases to be) a properly named
    6862           class.
     6518          of (SETF FIND-CLASS) only introduces (or removes) a type name if
     6519          the class becomes (or ceases to be) a properly named class.
    68636520         
    68646521          The pre-bootstrapping version handles simpler cases of that; use
    6865           ALIAS-CLASS to
    6866           register some early class names as type names.
     6522          ALIAS-CLASS to register some early class names as type names.
    68676523
    686865242006-10-18 13:36  gb
    68696525
    68706526        * [r5376] level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the
    6871           type system, since only symbols which
    6872           name properly-named classes are type specifiers. Changing the
    6873           name of a class
    6874           can either introduce or remove a properly-named class.
     6527          type system, since only symbols which name properly-named classes
     6528          are type specifiers. Changing the name of a class can either
     6529          introduce or remove a properly-named class.
    68756530         
    68766531          Classes that have the kernel-p attribute shouldn't have their
    6877           names changed
    6878           casually.
     6532          names changed casually.
    68796533
    688065342006-10-18 13:33  gb
     
    69136567         
    69146568          Mark arg_z and rcx/nargs as being in use when restoring interrupt
    6915           level
    6916           inline.
     6569          level inline.
    69176570
    691865712006-10-18 07:39  gb
     
    70516704
    70526705        * [r5345] compiler/backend.lisp: It makes no sense to use the vinsn
    7053           macros <- and ^ inside ENSURING-NODE-TARGET,
    7054           so make it check for that.
     6706          macros <- and ^ inside ENSURING-NODE-TARGET, so make it check for
     6707          that.
    70556708
    705667092006-10-14 12:20  gb
     
    70766729
    70776730        * [r5340] compiler/nx0.lisp: Change inline expansion: use optimize
    7078           settings in effect at call time, not
    7079           those in effect at definition time.
     6731          settings in effect at call time, not those in effect at
     6732          definition time.
    70806733
    708167342006-10-13 10:50  gb
     
    71046757         
    71056758          All character encoding/decoding functions operate on octets, not
    7106           necessarily code
    7107           units. (The stream encode/decode functions are an exception;
    7108           serialization and
    7109           byte ordering are handled by the stream.)
     6759          necessarily code units. (The stream encode/decode functions are
     6760          an exception; serialization and byte ordering are handled by the
     6761          stream.)
    71106762
    711167632006-10-09 23:20  gb
     
    71266778
    71276779        * [r5331] level-1/l1-unicode.lisp: :stream-encode/decode functions
    7128           always write/read something, even if it's
    7129           a replacement character of some sort.
     6780          always write/read something, even if it's a replacement character
     6781          of some sort.
    71306782
    713167832006-10-09 21:20  gb
     
    71866838
    71876839        * [r5319] level-1/l1-streams.lisp: Yet another line-termination
    7188           translation scheme; hopefully, the last for a
    7189           while. (More tedium before it's actually installed.)
     6840          translation scheme; hopefully, the last for a while. (More tedium
     6841          before it's actually installed.)
    71906842
    719168432006-10-09 02:27  gb
     
    72056857
    72066858        * [r5315] level-1/l1-error-signal.lisp: In %ERROR, go straight to
    7207           the kernel debugger if interactive streams aren't
    7208           initialized yet. (We'd probably get there sooner or later in that
    7209           case;
    7210           try to get there sooner.)
     6859          the kernel debugger if interactive streams aren't initialized
     6860          yet. (We'd probably get there sooner or later in that case; try
     6861          to get there sooner.)
    72116862
    721268632006-10-08 02:33  gb
    72136864
    72146865        * [r5314] level-1/l1-boot-2.lisp: Don't initialize interactive
    7215           streams via DEF-LOAD-POINTERS.
    7216           Wrap that up in a function, and set a flag when the function's
    7217           called
    7218           (from APPLICATION's TOPLEVEL-FUNCTION method.)
     6866          streams via DEF-LOAD-POINTERS. Wrap that up in a function, and
     6867          set a flag when the function's called (from APPLICATION's
     6868          TOPLEVEL-FUNCTION method.)
    72196869
    722068702006-10-08 02:32  gb
     
    72306880
    72316881        * [r5311] level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P
    7232           are true of instances if INPUT-STREAM/
    7233           OUTPUT-STREAM, respectively (not just instances of
     6882          are true of instances if INPUT-STREAM/ OUTPUT-STREAM,
     6883          respectively (not just instances of
    72346884          FUNDAMENTAL-INPUT/OUTPUT-STREAM).
    72356885
     
    72926942
    72936943        * [r5298] lisp-kernel/x86-exceptions.c: Save the mxcsr, load it
    7294           with a C-like value (all exceptions masked)
    7295           before doing a callback. (Not doing this meant that
    7296           tcr.foreign_mxcsr
    7297           was often set to a "lispy" value, where most exceptions were
    7298           unmasked,
    7299           and this caused FP exceptions when calling out to foreign code
    7300           with
     6944          with a C-like value (all exceptions masked) before doing a
     6945          callback. (Not doing this meant that tcr.foreign_mxcsr was often
     6946          set to a "lispy" value, where most exceptions were unmasked, and
     6947          this caused FP exceptions when calling out to foreign code with
    73016948          the "lispy" tcr.foreign_mxcsr in effect.)
    73026949         
    73036950          Mach exception stuff arranges to return via sigreturn. Didn't fix
    73046951          the spurious SIGTRAPs, but might be the right idea (and might
    7305           save
    7306           a context switch or two.)
     6952          save a context switch or two.)
    73076953         
    73086954          Mach exception stuff initializes rflags to exception rflags when
    7309           arranging
    7310           to resume thread at handler. Leaving them uninitialized was
    7311           causing
    7312           spurious SIGTRAPs, since the trace bit(s) may have been set.
     6955          arranging to resume thread at handler. Leaving them uninitialized
     6956          was causing spurious SIGTRAPs, since the trace bit(s) may have
     6957          been set.
    73136958
    731469592006-10-05 12:20  gb
     
    73567001
    73577002        * [r5288] lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue
    7358           to call handlers, so we need to make handlers
    7359           do a sigreturn after switching off the signal stack, etc.
     7003          to call handlers, so we need to make handlers do a sigreturn
     7004          after switching off the signal stack, etc.
    73607005
    736170062006-10-02 14:11  gb
    73627007
    73637008        * [r5287] lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to
    7364           return from signal_handler() on Darwin (since we
    7365           depend on pseudo_sigreturn handling for cleanup of tcr pending
    7366           exception
     7009          return from signal_handler() on Darwin (since we depend on
     7010          pseudo_sigreturn handling for cleanup of tcr pending exception
    73677011          and since we can't easily restore the signal mask.)
    73687012         
     
    73927036        * [r5282] lisp-kernel/lisptypes.h, lisp-kernel/x86-exceptions.c,
    73937037          lisp-kernel/x86-exceptions.h: Try to make x86-64 version compile
    7394           under 10.4 again; see if this breaks
    7395           post-10.4 compilation.
     7038          under 10.4 again; see if this breaks post-10.4 compilation.
    73967039
    739770402006-10-02 08:33  gb
     
    74007043          lisp-kernel/x86-exceptions.c, lisp-kernel/x86-exceptions.h:
    74017044          Change things so that they compile for x86-64 on systems later
    7402           than 10.4.
    7403           Almost certainly break 10.4 compilation in the process.
    7404           (Thanks, Apple! Any time I can cause you to waste hours on crap
    7405           like
    7406           this, just let me know!)
     7045          than 10.4. Almost certainly break 10.4 compilation in the
     7046          process. (Thanks, Apple! Any time I can cause you to waste hours
     7047          on crap like this, just let me know!)
    74077048
    740870492006-09-28 03:20  gb
     
    74327073
    74337074        * [r5275] level-1/l1-streams.lisp: Some changes to FD-STREAM
    7434           initialization, to make it easier to use
    7435           MAKE-FD-STREAM to open (seekable) FILE-STREAMs.
     7075          initialization, to make it easier to use MAKE-FD-STREAM to open
     7076          (seekable) FILE-STREAMs.
    74367077
    743770782006-09-27 11:41  gb
     
    74447085
    74457086        * [r5273] lisp-kernel/x86-spentry64.s: Still get very occasional
    7446           SIGFPE on return from (e.g.) #_asin on
    7447           x86-64 Darwin. (#_asin often does a division-by-zero, but that
    7448           should
    7449           be masked when in foreign code.) Don't reload the lisp mxcsr
    7450           until
    7451           other registers have been popped, to make debugging easier in
    7452           case
    7453           it's the act of reloading the mxcsr that causes the spurious
    7454           trap.)
     7087          SIGFPE on return from (e.g.) #_asin on x86-64 Darwin. (#_asin
     7088          often does a division-by-zero, but that should be masked when in
     7089          foreign code.) Don't reload the lisp mxcsr until other registers
     7090          have been popped, to make debugging easier in case it's the act
     7091          of reloading the mxcsr that causes the spurious trap.)
    74557092
    745670932006-09-27 11:36  gb
     
    74617098
    74627099        * [r5271] level-0/nfasload.lisp: Not sure when it happened, but
    7463           %FASLOAD was parenthesized in such a way
    7464           as to not return the error value on error.
     7100          %FASLOAD was parenthesized in such a way as to not return the
     7101          error value on error.
    74657102
    746671032006-09-27 11:34  gb
    74677104
    74687105        * [r5270] level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.
    7469           (Not passing context into the kernel
    7470           makes it too difficult to debug/get backtrace, etc.)
     7106          (Not passing context into the kernel makes it too difficult to
     7107          debug/get backtrace, etc.)
    74717108
    747271092006-09-27 11:33  gb
     
    75187155
    75197156        * [r5260] lib/chars.lisp: Check for assumptions about character
    7520           size.
    7521           Remove some %i-isms (fixnum arithmetic), make assertions about
    7522           type
    7523           of char-code.
     7157          size. Remove some %i-isms (fixnum arithmetic), make assertions
     7158          about type of char-code.
    75247159
    752571602006-09-25 02:12  gb
    75267161
    75277162        * [r5259] level-1/l1-aprims.lisp: Remove unused (probably ancient)
    7528           CHKBOUNDS function.
    7529           Simpler STRING-START-END.
     7163          CHKBOUNDS function. Simpler STRING-START-END.
    75307164
    753171652006-09-25 02:11  gb
    75327166
    75337167        * [r5258] level-1/l1-streams.lisp: Some stuff to infer
    7534           line-termination. Probably belongs elsewhere;
    7535           some encodings may not make it at all possible.
     7168          line-termination. Probably belongs elsewhere; some encodings may
     7169          not make it at all possible.
    75367170
    753771712006-09-25 02:07  gb
     
    75447178
    75457179        * [r5256] level-1/l1-streams.lisp: A little more u16 stuff. Remove
    7546           line-termination slot from ioblock and corresponding
    7547           arg from functions which initialize it.
     7180          line-termination slot from ioblock and corresponding arg from
     7181          functions which initialize it.
    75487182
    754971832006-09-25 01:59  gb
     
    75757209
    75767210        * [r5250] level-1/l1-reader.lisp: Lots more character names.
    7577           Maintain mappings in a vector and a hash table, rather
    7578           than in an alist.
     7211          Maintain mappings in a vector and a hash table, rather than in an
     7212          alist.
    75797213
    758072142006-09-24 10:27  gb
     
    76147248
    76157249        * [r5242] lisp-kernel/x86-spentry64.s: don't clobber callback index
    7616           when doing the DARWIN_GS_HACK stuff in
    7617           _SPcallback (syscall sometimes clobbered r11, sometimes didn't.)
     7250          when doing the DARWIN_GS_HACK stuff in _SPcallback (syscall
     7251          sometimes clobbered r11, sometimes didn't.)
    76187252
    761972532006-09-21 10:05  gb
     
    76467280
    76477281        * [r5236] compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall
    7648           return values. (Probably only matters
    7649           in a few cases, like the Darwin x86-64 version of #_nanosleep,
    7650           which
    7651           returns a non-sign-extended "int" value if the sleep is
    7652           interruted.)
     7282          return values. (Probably only matters in a few cases, like the
     7283          Darwin x86-64 version of #_nanosleep, which returns a
     7284          non-sign-extended "int" value if the sleep is interruted.)
    76537285
    765472862006-09-20 13:20  gb
     
    76867318
    76877319        * [r5228] level-1/l1-unicode.lisp: UTF-16, in native and
    7688           byte-swapped versions.
    7689           Need a "logical" UTF-16, which deals with byte-order marks and a
    7690           means of
    7691           installing a concrete encoding.
     7320          byte-swapped versions. Need a "logical" UTF-16, which deals with
     7321          byte-order marks and a means of installing a concrete encoding.
    76927322          Needs testing.
    76937323
     
    78117441
    78127442        * [r5202] level-1/l1-streams.lisp: More functions in the ioblock,
    7813           some support for 8-bit encodings (like
    7814           utf-8). Not finished, but getting hard to bootstrap; need to
    7815           check in
    7816           and build on all platforms before it gets even harder.
     7443          some support for 8-bit encodings (like utf-8). Not finished, but
     7444          getting hard to bootstrap; need to check in and build on all
     7445          platforms before it gets even harder.
    78177446
    781874472006-09-12 12:20  gb
     
    78287457
    78297458        * [r5199] lisp-kernel/x86-exceptions.c: Enter the debugger if
    7830           altstack_signal_handler is entered in foreign code.
    7831           (Maybe want to signal a lisp error in some cases, but this is
    7832           currently
    7833           fatal and we might as well die earlier than with a stack
    7834           overflow.)
     7459          altstack_signal_handler is entered in foreign code. (Maybe want
     7460          to signal a lisp error in some cases, but this is currently fatal
     7461          and we might as well die earlier than with a stack overflow.)
    78357462
    783674632006-09-12 11:29  gb
    78377464
    78387465        * [r5198] lisp-kernel/thread_manager.c: os_get_stack_bounds(): get
    7839           stack direction right on FreeBSD.
    7840           (Much better than randomly scribbling on memory in the GC, as the
    7841           FreeBSD port has been doing for months now ...)
     7466          stack direction right on FreeBSD. (Much better than randomly
     7467          scribbling on memory in the GC, as the FreeBSD port has been
     7468          doing for months now ...)
    78427469
    784374702006-09-12 04:20  gb
     
    79017528
    79027529        * [r5185] lisp-kernel/x86-gc.c: purify_range(), impurify_range():
    7903           handle x8664 functions, hash tables.
    7904           (PPC versions should handle hash table key movement.)
     7530          handle x8664 functions, hash tables. (PPC versions should handle
     7531          hash table key movement.)
    79057532
    790675332006-09-09 05:20  gb
     
    79367563
    79377564        * [r5178] compiler/X86/x862.lisp: Don't be so reckless in
    7938           %CODE-CHAR (don't necessarily want arbitrary expressions
    7939           to be compiled unsafely; do want to avoid a little type-checking
     7565          %CODE-CHAR (don't necessarily want arbitrary expressions to be
     7566          compiled unsafely; do want to avoid a little type-checking
    79407567          sometimes.)
    79417568
     
    79437570
    79447571        * [r5177] compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR
    7945           returns NIL for values in the surrogate-pairs range.
    7946           (There are other things that it could plausibly return NIL for.)
     7572          returns NIL for values in the surrogate-pairs range. (There are
     7573          other things that it could plausibly return NIL for.)
    79477574
    794875752006-09-09 00:51  gb
     
    79547581
    79557582        * [r5175] lib/macros.lisp: %CODE-CHAR asserts that code is
    7956           (UNSIGNED-BYTE 8), which is still useful (and
    7957           exactly what it used to do.)
     7583          (UNSIGNED-BYTE 8), which is still useful (and exactly what it
     7584          used to do.)
    79587585
    795975862006-09-09 00:47  gb
     
    79817608        * [r5169] xdump/heap-image.lisp, xdump/xfasload.lisp,
    79827609          xdump/xppcfasload.lisp, xdump/xx8664-fasload.lisp: Bump abi
    7983           version.
    7984           Make purespace-reserve an attribute of the backend (may need more
    7985           pure
    7986           space on x86-64.)
     7610          version. Make purespace-reserve an attribute of the backend (may
     7611          need more pure space on x86-64.)
    79877612
    798876132006-09-07 09:43  gb
     
    80017626
    80027627        * [r5165] lisp-kernel/x86-exceptions.c: FreeBSD (at least with
    8003           libthr) seems to mask synchronous signals.
    8004           Unmask them in signal handlers.
     7628          libthr) seems to mask synchronous signals. Unmask them in signal
     7629          handlers.
    80057630
    800676312006-09-07 08:57  gb
     
    80677692
    80687693        * [r5152] level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
    8069           ENSURE-SIMPLE-STRING rather than horrible
    8070           COERCE nonsense.
     7694          ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
    80717695
    807276962006-09-07 00:35  gb
     
    80907714        * [r5148] compiler/X86/x86-backend.lisp, compiler/X86/x862.lisp:
    80917715          Defer handling of the :rcontext pseudo-register name until the
    8092           target
    8093           backend is in place.
     7716          target backend is in place.
    80947717
    809577182006-09-06 23:20  gb
     
    81247747        * [r5141] compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks
    81257748          are always #+poweropen-target; don't conditionalize the
    8126           fp-arg-ptr
    8127           argument (since that creates confustion when cross-compiling from
    8128           a non-poweropen
    8129           host.)
     7749          fp-arg-ptr argument (since that creates confustion when
     7750          cross-compiling from a non-poweropen host.)
    81307751
    813177522006-09-06 06:20  gb
     
    81507771
    81517772        * [r5136] lib/macros.lisp: In DO-GC-AREAS, don't use comma before
    8152           call to AREA-SUCC. (Cross-compilation/
    8153           word-size issue.)
     7773          call to AREA-SUCC. (Cross-compilation/ word-size issue.)
    81547774
    815577752006-09-06 04:42  gb
    81567776
    81577777        * [r5135] level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to
    8158           make a copy of a non-simple string,
    8159           understand char width issues.
     7778          make a copy of a non-simple string, understand char width issues.
    81607779
    816177802006-09-06 04:41  gb
     
    82037822
    82047823        * [r5125] lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
    8205           print_lisp_object, since x/s doesn't deal with 32-bit
    8206           lisp strings.
     7824          print_lisp_object, since x/s doesn't deal with 32-bit lisp
     7825          strings.
    82077826
    820878272006-09-05 11:17  gb
     
    82767895        * [r5111] lisp-kernel/lisptypes.h, lisp-kernel/ppc_print.c,
    82777896          lisp-kernel/x86_print.c: Define lisp_char_code type, use it when
    8278           printing lisp string in the kernel
    8279           debugger.
     7897          printing lisp string in the kernel debugger.
    82807898
    828178992006-09-04 23:28  gb
     
    82957913
    82967914        * [r5107] level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT
    8297           derived from the target arch (for
    8298           bootstrapping.)
     7915          derived from the target arch (for bootstrapping.)
    82997916
    830079172006-09-04 23:04  gb
     
    83047921         
    83057922          Don't treat (code-char #xca) as whitespace; do treat (code-char
    8306           #xa0)
    8307           as whitespace. (The former happens to be how the latter was
    8308           encoded
    8309           in MacRoman.)
     7923          #xa0) as whitespace. (The former happens to be how the latter was
     7924          encoded in MacRoman.)
    83107925         
    83117926          Handle U+<hex> syntax in NAME-CHAR.
     
    83257940        * [r5103] compiler/PPC/PPC32/ppc32-vinsns.lisp:
    83267941          LOAD-CHARACTER-CONSTANT: and the char code with #xff or 255., not
    8327           with
    8328           #x255. (Cause lots of wackiness, mostly in readtable
     7942          with #x255. (Cause lots of wackiness, mostly in readtable
    83297943          initialization.)
    83307944
     
    83327946
    83337947        * [r5102] compiler/PPC/ppc2.lisp: Use u32->char (which is defined)
    8334           vice u8->char (which is no more) in
    8335           %CHAR-CODE.
     7948          vice u8->char (which is no more) in %CHAR-CODE.
    83367949
    833779502006-09-04 12:20  gb
     
    84808093
    84818094        * [r5072] lisp-kernel/x86-exceptions.c: Install a "bogus signal
    8482           handler" on Darwin, to deal with apparent
    8483           race conditions/Mach kernel lossage.
     8095          handler" on Darwin, to deal with apparent race conditions/Mach
     8096          kernel lossage.
    84848097         
    84858098          Don't do the whole msg_server here; just do the exc_server thing.
     
    85018114         
    85028115          sem_wait_forever() does repeated timed waits, since I thought
    8503           that
    8504           Darwin was having trouble interrpting things that waited
    8505           indefinitely.
    8506           (That might just be a GDB bug. Who can tell ?)
     8116          that Darwin was having trouble interrpting things that waited
     8117          indefinitely. (That might just be a GDB bug. Who can tell ?)
    85078118
    850881192006-09-02 17:03  gb
    85098120
    85108121        * [r5069] lisp-kernel/Threads.h: Define some things in terms of
    8511           USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
    8512           Note that as of Q3 2006, Darwin still doesn't implement enough
    8513           POSIX
    8514           semaphore functionality to make it possible to avoid the use of
    8515           Mach
     8122          USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES. Note that as of Q3
     8123          2006, Darwin still doesn't implement enough POSIX semaphore
     8124          functionality to make it possible to avoid the use of Mach
    85168125          semaphores.
    85178126
     
    85198128
    85208129        * [r5068] lib/db-io.lisp: Try to avoid things like
    8521           %COPY-IVECTOR-TO-IVECTOR when strings are
    8522           involved.
     8130          %COPY-IVECTOR-TO-IVECTOR when strings are involved.
    85238131
    852481322006-09-02 17:01  gb
     
    85308138
    85318139        * [r5066] level-1/l1-streams.lisp: Try to avoid things like
    8532           %COPY-IVECTOR-TO-IVECTOR when strings are
    8533           involved.
     8140          %COPY-IVECTOR-TO-IVECTOR when strings are involved.
    85348141
    853581422006-09-02 16:59  gb
     
    85418148
    85428149        * [r5064] level-0/l0-misc.lisp: %COPY-U8-TO-STRING,
    8543           %COPY-STRING-TO-U8: new, to avoid %COPY-IVECTOR-TO-IVECTOR
    8544           when strings are involved.
     8150          %COPY-STRING-TO-U8: new, to avoid %COPY-IVECTOR-TO-IVECTOR when
     8151          strings are involved.
    85458152         
    85468153          %STR-FROM-PTR: take dest string as optional arg, don't assume
     
    86038210
    86048211        * [r5051] level-1/l1-streams.lisp: More missing BASIC-STREAM
    8605           methods (STREAM-LINE-COLUMN, STREAM-LISTEN,
    8606           STREAM-EOFP.)
     8212          methods (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
    86078213
    860882142006-08-28 10:57  gb
    86098215
    86108216        * [r5050] level-1/l1-reader.lisp: Use READ-CHAR instead of
    8611           STREAM-READ-CHAR, since it may be faster in
    8612           some cases.
     8217          STREAM-READ-CHAR, since it may be faster in some cases.
    86138218
    861482192006-08-28 10:56  gb
     
    86418246
    86428247        * [r5044] lib/macros.lisp: %CHAR-CODE: for how long has limit not
    8643           been 2^16 ? For how long will limit be
    8644           2^8 ?
     8248          been 2^16 ? For how long will limit be 2^8 ?
    86458249
    864682502006-08-28 10:51  gb
     
    86868290
    86878291        * [r5034] lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS;
    8688           same problems as always, but avoids problems with
    8689           Darwin x86-64 ld64 segfaulting for unknown reasons.
     8292          same problems as always, but avoids problems with Darwin x86-64
     8293          ld64 segfaulting for unknown reasons.
    86908294
    869182952006-08-26 09:11  gb
    86928296
    86938297        * [r5033] lisp-kernel/x86-exceptions.h: Need to do an explicit
    8694           sigreturn on Darwin (because of the sigaltstack
    8695           hacks; Darwin uses sigtramp glue that we can't just return to
    8696           after
    8697           switching off of the alt stack.)
     8298          sigreturn on Darwin (because of the sigaltstack hacks; Darwin
     8299          uses sigtramp glue that we can't just return to after switching
     8300          off of the alt stack.)
    86988301
    869983022006-08-26 09:08  gb
    87008303
    87018304        * [r5032] lib/numbers.lisp: Check fpu overflow bit (not underflow)
    8702           when deciding whether or not
    8703           to signal overflow.
     8305          when deciding whether or not to signal overflow.
    87048306
    870583072006-08-26 09:08  gb
    87068308
    87078309        * [r5031] level-1/x86-trap-support.lisp: Need an indirection to
    8708           access mcontext from ucontext on Darwin;
    8709           invent xp-gp-regs to get at mcontext64.ss.
     8310          access mcontext from ucontext on Darwin; invent xp-gp-regs to get
     8311          at mcontext64.ss.
    87108312
    871183132006-08-26 09:06  gb
     
    87398341
    87408342        * [r5025] lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can
    8741           appear at most once but doesn't
    8742           have to be the last clause.
     8343          appear at most once but doesn't have to be the last clause.
    87438344
    874483452006-08-26 02:21  gb
     
    87568357
    87578358        * [r5022] level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads
    8758           should be dead by the time that
    8759           streams on *OPEN-FILE-STREAMS* are closed, so unlock those
    8760           streams with extreme prejudice before closing them.
     8359          should be dead by the time that streams on *OPEN-FILE-STREAMS*
     8360          are closed, so unlock those streams with extreme prejudice before
     8361          closing them.
    87618362
    876283632006-08-26 02:18  gb
    87638364
    87648365        * [r5021] level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some
    8765           weird old code that assumed that interfered
    8766           with handling of relative logical pathnames.
     8366          weird old code that assumed that interfered with handling of
     8367          relative logical pathnames.
    87678368
    876883692006-08-26 02:17  gb
     
    87728373         
    87738374          Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on
    8774           each
    8775           stream (doing nothing if it's not :SHARING :LOCK; unconditional
    8776           locking on the *AUTO-FLUSH-STREAMS-LOCK*.
     8375          each stream (doing nothing if it's not :SHARING :LOCK;
     8376          unconditional locking on the *AUTO-FLUSH-STREAMS-LOCK*.
    87778377         
    87788378          ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
     
    88008400
    88018401        * [r5016] lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library
    8802           is pretty casual about causing spurious
    8803           exceptions, so ignore them.
     8402          is pretty casual about causing spurious exceptions, so ignore
     8403          them.
    88048404
    880584052006-08-24 04:57  gb
    88068406
    88078407        * [r5015] lisp-kernel/darwinx8664/.gdbinit: New file; like the
    8808           linuxx8664 version, with different signals to be
    8809           ignored by gdb.
     8408          linuxx8664 version, with different signals to be ignored by gdb.
    88108409
    881184102006-08-24 04:56  gb
    88128411
    88138412        * [r5014] lisp-kernel/x86-asmutils64.s: Using ud2b to force an
    8814           exception in pseudo_sigreturn() seems to
    8815           cause/be related to spurious SIGTRAPs. Use int $0 instead.
     8413          exception in pseudo_sigreturn() seems to cause/be related to
     8414          spurious SIGTRAPs. Use int $0 instead.
    88168415
    881784162006-08-24 04:55  gb
     
    88278426
    88288427        * [r5011] lisp-kernel/x86_print.c: Try not to use sprintf() (at
    8829           least not for printing integers), since it seems
    8830           to need access to pthread data (and calling print_lisp_object()
    8831           from GDB
    8832           might fail if %gs is pointing at the lisp TCR.)
     8428          least not for printing integers), since it seems to need access
     8429          to pthread data (and calling print_lisp_object() from GDB might
     8430          fail if %gs is pointing at the lisp TCR.)
    88338431
    883484322006-08-22 08:06  gb
     
    88398437         
    88408438          Use DARWIN_GS_HACK to swap %gs memory around when transitioning
    8841           between foreign
    8842           code and lisp.
     8439          between foreign code and lisp.
    88438440
    884484412006-08-22 08:04  gb
     
    88698466         
    88708467          DARWIN_GS_HACK stuff around suspend/resume signal handlers. (May
    8871           not
    8872           be necessary.)
     8468          not be necessary.)
    88738469         
    88748470          Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
     
    88938489         
    88948490          Something in the (m4-generated) symbolic info in some .s files is
    8895           screwy and
    8896           causes ld64 to segfault; it's currently necesssary to use "strip
    8897           -S" on the
    8898           assembler-generated .o files.
     8491          screwy and causes ld64 to segfault; it's currently necesssary to
     8492          use "strip -S" on the assembler-generated .o files.
    88998493
    890084942006-08-22 07:55  gb
     
    89838577
    89848578        * [r4984] lisp-kernel/x86-exceptions.h: Include Mach stuff on
    8985           Darwin; prototypes for DARWIN_GS_HACK %gs segment
    8986           switching.
     8579          Darwin; prototypes for DARWIN_GS_HACK %gs segment switching.
    89878580
    898885812006-08-21 05:57  gb
    89898582
    89908583        * [r4983] lisp-kernel/x86-subprims64.s: Manipulate the %gs register
    8991           when a lisp thread starts, exits and
    8992           DARWIN_GS_HACK is defined.
     8584          when a lisp thread starts, exits and DARWIN_GS_HACK is defined.
    89938585         
    89948586          This isn't so bad, but doing it around every ff-call might be.
     
    90408632
    90418633        * [r4972] lib/db-io.lisp: :struct-by-value: don't read-time
    9042           conditionalize (do other things still use
    9043           read-time conditionals ?)
     8634          conditionalize (do other things still use read-time conditionals
     8635          ?)
    90448636
    904586372006-08-20 23:09  gb
     
    90568648
    90578649        * [r4969] library/darwinx664-syscalls.lisp: New file; or's in the
    9058           bit for Unix syscalls on Darwinx8664.
    9059           (Screw: should (carefully) review word-size issues.)
     8650          bit for Unix syscalls on Darwinx8664. (Screw: should (carefully)
     8651          review word-size issues.)
    90608652
    906186532006-08-20 23:03  gb
     
    91048696         
    91058697          Explicily define lisp-context-register slot in each backend (%gs
    9106           for
    9107           those imolementations that follow the standard ABI, %fs for
     8698          for those imolementations that follow the standard ABI, %fs for
    91088699          Darwin.)
    91098700
     
    91358726          level-0/X86/x86-symbol.lisp, level-0/X86/x86-utils.lisp: Refer to
    91368727          rcontext segment register as :rcontext, since x86-64 Darwin
    9137           doesn't
    9138           laugh and play like the other children.
     8728          doesn't laugh and play like the other children.
    91398729
    914087302006-08-18 15:29  gb
    91418731
    91428732        * [r4954] lisp-kernel/x86-exceptions.c: Copy some of the Mach
    9143           exception code from the PPC version and tweak it
    9144           a little; needs more work.
     8733          exception code from the PPC version and tweak it a little; needs
     8734          more work.
    91458735
    914687362006-08-18 15:27  gb
     
    92248814
    92258815        * [r4940] lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't
    9226           like lock instructions on the same line as
    9227           the locked instruction. (Maybe there's a better way to do this,
    9228           than
    9229           just pretending that lock is a standalone instruction, but that
    9230           lock
     8816          like lock instructions on the same line as the locked
     8817          instruction. (Maybe there's a better way to do this, than just
     8818          pretending that lock is a standalone instruction, but that lock
    92318819          instruction does seem to be treated as a prefix.)
    92328820
     
    92398827
    92408828        * [r4938] lisp-kernel/lisptypes.h: xcode 2.4 headers:
    9241           <i386/ucontext.h> doesn't define mcontext64, but lots
    9242           of other things reference it. #define it here for now, but
    9243           that'll likely
     8829          <i386/ucontext.h> doesn't define mcontext64, but lots of other
     8830          things reference it. #define it here for now, but that'll likely
    92448831          break when the headers are fixed.
    92458832
     
    92618848
    92628849        * [r4934] level-1/l1-streams.lisp: STREAM-WRITE-BYTE,
    9263           STREAM-WRITE-IVECTOR.
    9264           :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
    9265           needs READ/WRITE-
    9266           SEQUENCE support.
     8850          STREAM-WRITE-IVECTOR. :BASIC defaults to T in OPEN;
     8851          BASIC-FILE-STREAM probably still needs READ/WRITE- SEQUENCE
     8852          support.
    92678853
    926888542006-07-29 14:20  gb
     
    92738859
    92748860        * [r4932] level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE:
    9275           use lock.
    9276           TODO: evaluate whether resources are worthwhile; used for
    9277           string-output-stream
    9278           allocation and DELETE-DUPLICATES.
     8861          use lock. TODO: evaluate whether resources are worthwhile; used
     8862          for string-output-stream allocation and DELETE-DUPLICATES.
    92798863
    928088642006-07-29 13:20  gb
     
    93188902
    93198903        * [r4923] level-1/l1-streams.lisp: BASIC-IO-STREAM;
    9320           ALLOCATE-BASIC-STREAM makes one more slot in
    9321           BASIC-FILE-STREAM.
     8904          ALLOCATE-BASIC-STREAM makes one more slot in BASIC-FILE-STREAM.
    93228905
    932389062006-07-28 10:20  gb
     
    93548937         
    93558938          (SLIME probably faces the same issue; should probably do
    9356           something
    9357           in the auto-flush case. Of course, it's hard to know just what to
    9358           do in that case. or at least what to do safely in that case.)
     8939          something in the auto-flush case. Of course, it's hard to know
     8940          just what to do in that case. or at least what to do safely in
     8941          that case.)
    93598942
    936089432006-07-28 06:49  gb
     
    94118994
    94128995        * [r4904] level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and
    9413           some sublasses may get that way);
    9414           FUNDAMENTAL-FILE-STREAM is an implementation of it (and
    9415           BASIC-FILE-STREAM soon will be.)
     8996          some sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
     8997          implementation of it (and BASIC-FILE-STREAM soon will be.)
    94168998
    941789992006-07-23 09:20  gb
     
    94329014         
    94339015          IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR. %ioblock-read-byte
    9434           variants;
    9435           fix read-byte botch (should vector according to element-type.)
     9016          variants; fix read-byte botch (should vector according to
     9017          element-type.)
    94369018
    943790192006-07-23 08:56  gb
     
    94689050         
    94699051          :private arg to stream creation primitives replaced with
    9470           :sharing, which can
    9471           have values:
     9052          :sharing, which can have values:
    94729053         
    94739054          :private (the default; stream can only be accessed by the
    9474           creating thread)
    9475           :lock (the old, often slow, default); most accesses to stream
    9476           involve locking
    9477           :nil or :external (stream code doesn't enforce exclusion).
     9055          creating thread) :lock (the old, often slow, default); most
     9056          accesses to stream involve locking :nil or :external (stream code
     9057          doesn't enforce exclusion).
    94789058
    947990592006-07-23 06:20  gb
     
    94979077          at making streams "private" (effectively always locked by the
    94989078          "owning" thread) to reduce some locking overhead. More to come,
    9499           some of which
    9500           will be a little tricky to bootstrap.
     9079          some of which will be a little tricky to bootstrap.
    95019080
    950290812006-07-20 07:20  gb
     
    95379116          compiler/PPC/PPC64/ppc64-arch.lisp,
    95389117          compiler/X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread
    9539           subtag (lisp-thread's are ISTRUCTs now); re-use
    9540           it for (to-be-introduced) BASIC-STREAM.
     9118          subtag (lisp-thread's are ISTRUCTs now); re-use it for
     9119          (to-be-introduced) BASIC-STREAM.
    95419120
    954291212006-07-15 21:20  gb
     
    95529131
    95539132        * [r4880] compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't
    9554           try to do simple vector operations unless we're
    9555           sure that the vector is a (SIMPLE-ARRAY * (*)) and we know the
    9556           element-type
     9133          try to do simple vector operations unless we're sure that the
     9134          vector is a (SIMPLE-ARRAY * (*)) and we know the element-type
    95579135          (these were leaping into the simple-typed-vector case when the
    9558           element-type was
    9559           known but the vector wasn't known to be SIMPLE.
     9136          element-type was known but the vector wasn't known to be SIMPLE.
    95609137
    956191382006-07-14 12:20  gb
     
    95839160
    95849161        * [r4874] compiler/X86/x862.lisp: Destination and 1st source arg
    9585           overlap (2-address instructions) in natural logical,
    9586           arithmetic operations.
     9162          overlap (2-address instructions) in natural logical, arithmetic
     9163          operations.
    95879164
    958891652006-07-05 09:20  gb
     
    96289205
    96299206        * [r4864] level-0/l0-cfm-support.lisp: *rtld-default* wants to be a
    9630           null pointer on DarwinPPC32 (at the very
    9631           least, that platform's xFindSymbol gets confused by anything but
    9632           a null pointer/global lookup.)
     9207          null pointer on DarwinPPC32 (at the very least, that platform's
     9208          xFindSymbol gets confused by anything but a null pointer/global
     9209          lookup.)
    96339210
    963492112006-06-28 11:20  gb
     
    96399216
    96409217        * [r4862] level-1/version.lisp: Bump. Call the FreeBSD/AMD64
    9641           version "Alpha", which may be a bit generous
    9642           (pretty regular deadlock, random thread creation errors, other
    9643           bugs.)
     9218          version "Alpha", which may be a bit generous (pretty regular
     9219          deadlock, random thread creation errors, other bugs.)
    96449220
    964592212006-06-28 11:07  gb
     
    96559231
    96569232        * [r4859] lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good
    9657           job of identifying the cause of XMM FP
    9658           exceptions. Try to do that by looking at MXCSR bits.
     9233          job of identifying the cause of XMM FP exceptions. Try to do that
     9234          by looking at MXCSR bits.
    96599235
    966092362006-06-28 10:03  gb
     
    97219297         
    97229298          Don't conditionalize as much code. Indices/offsets are
    9723           platform-specific,
    9724           but accessors defiend in terms of them needn't be.
     9299          platform-specific, but accessors defiend in terms of them needn't
     9300          be.
    97259301
    972693022006-06-27 14:51  gb
     
    97639339
    97649340        * [r4837] lisp-kernel/x86-exceptions.c: FreeBSD changes (at least
    9765           enough to recognize UUOs, which generate
    9766           SIGBUS vice SIGSEGV.)
     9341          enough to recognize UUOs, which generate SIGBUS vice SIGSEGV.)
    97679342
    976893432006-06-27 10:45  gb
     
    97819356
    97829357        * [r4834] lisp-kernel/pmcl-kernel.c: Some FreeBSD
    9783           conditionalization; get_r_debug() for ELF platforms.
    9784           (Needs testing under Linux.)
     9358          conditionalization; get_r_debug() for ELF platforms. (Needs
     9359          testing under Linux.)
    97859360
    978693612006-06-27 10:43  gb
     
    98409415          MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
    98419416          and test.
    9842          
    98439417         
    98449418          Now depends on an imported lisp-kernel function on ELF platforms
     
    98799453        * [r4817] compiler/X86/X8664/x8664-vinsns.lisp:
    98809454          SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
    9881           (wrong) sign of
    9882           the top 3 (fixnumshift) bits only. Where did the constant
    9883           #xffff000000000000
    9884           come from ?
     9455          (wrong) sign of the top 3 (fixnumshift) bits only. Where did the
     9456          constant #xffff000000000000 come from ?
    98859457
    988694582006-06-26 22:35  gb
     
    99119483          darwin-headers/quicktime/C,
    99129484          darwin-headers/quicktime/C/.cvsignore: Ignore Developer
    9913           subdirectory.
    9914           c
     9485          subdirectory. c
    99159486
    991694872006-06-24 01:28  gb
     
    99699540
    99709541        * [r4799] level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and
    9971           ppc64 versions) to handle FIXNUM vectors,
    9972           new UCS4 strings.
     9542          ppc64 versions) to handle FIXNUM vectors, new UCS4 strings.
    99739543
    997495442006-06-21 21:14  gb
    99759545
    99769546        * [r4798] level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
    9977           versions) to handle FIXNUM vectors,
    9978           new UCS4 strings.
     9547          versions) to handle FIXNUM vectors, new UCS4 strings.
    99799548
    998095492006-06-21 21:13  gb
     
    100169585
    100179586        * [r4791] examples/objc-runtime.lisp: Juggle things around so that
    10018           add-on framework bundles get loaded on
    10019           appication re-launch.
     9587          add-on framework bundles get loaded on appication re-launch.
    100209588         
    100219589          REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the
    10022           database,
    10023           since (a) it may not be there, or may not be where we can find it
    10024           yet and (b) it's probably more reasonable to do that than it
    10025           would
    10026           be to teach CLOS about classes that're "discovered" when the
    10027           appication's
    10028           launched on a newer OS release than it was saved on.
     9590          database, since (a) it may not be there, or may not be where we
     9591          can find it yet and (b) it's probably more reasonable to do that
     9592          than it would be to teach CLOS about classes that're "discovered"
     9593          when the appication's launched on a newer OS release than it was
     9594          saved on.
    100299595
    1003095962006-06-16 09:39  gb
    100319597
    100329598        * [r4790] examples/cocoa-application.lisp: Touch tha application
    10033           bundle before saving an image into it.
    10034           That -may- convincve LaunchServices to do the right thing.
     9599          bundle before saving an image into it. That -may- convincve
     9600          LaunchServices to do the right thing.
    100359601
    1003696022006-06-16 09:38  gb
    100379603
    100389604        * [r4789] examples/objc-support.lisp: Reload any addon/framework
    10039           bundles that had been loaded before the
    10040           image was saved when starting a bundled application.
     9605          bundles that had been loaded before the image was saved when
     9606          starting a bundled application.
    100419607         
    100429608          Juggle things around, so that that works (need to be able to use
     
    100639629
    100649630        * [r4784] lib/ppc-backtrace.lisp: PPC version of
    10065           %find-register-argument-value had the same sort of fencepost
    10066           as the x86-64 version had a few days ago.
     9631          %find-register-argument-value had the same sort of fencepost as
     9632          the x86-64 version had a few days ago.
    100679633
    1006896342006-06-11 06:20  gb
     
    100739639
    100749640        * [r4782] lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function,
    10075           return its
    10076           GENERIC-FUNCTION-LAMBDA-LIST.
     9641          return its GENERIC-FUNCTION-LAMBDA-LIST.
    100779642
    1007896432006-06-11 05:51  gb
    100799644
    100809645        * [r4781] level-1/l1-clos.lisp: Give reader/writer method args more
    10081           descriptive names. (Barely more
    10082           descriptive ...)
     9646          descriptive names. (Barely more descriptive ...)
    100839647
    1008496482006-06-11 02:20  gb
     
    100899653
    100909654        * [r4779] level-1/l1-clos-boot.lisp: Arrgh. In
    10091           %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing
    10092           about the type of the instance, so don't use INSTANCE.SLOTS
    10093           (instead,
    10094           let INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
     9655          %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
     9656          type of the instance, so don't use INSTANCE.SLOTS (instead, let
     9657          INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
    100959658         
    100969659          This was keeping non-standard instances - like ObjC classes and
     
    101019664
    101029665        * [r4778] examples/objc-clos.lisp: PRINT-OBJECT methods for
    10103           objc-class, objc-metaclass: don't die if the
    10104           class is unnamed (makes it easier to print classes for debugging
    10105           during
     9666          objc-class, objc-metaclass: don't die if the class is unnamed
     9667          (makes it easier to print classes for debugging during
    101069668          initialization.)
    101079669
     
    101699731
    101709732        * [r4763] lisp-kernel/x86-exceptions.c: thread_signal_setup() moved
    10171           here. Handle suspend (and maybe someday resume, again)
    10172           signals on the altstack, since we don't really want a signal
    10173           context in the middle
    10174           of the tagged lisp stack ...
     9733          here. Handle suspend (and maybe someday resume, again) signals on
     9734          the altstack, since we don't really want a signal context in the
     9735          middle of the tagged lisp stack ...
    101759736
    1017697372006-06-08 08:52  gb
    101779738
    101789739        * [r4762] lisp-kernel/thread_manager.c: thread_signal_setup() moved
    10179           to PLATFORM-exceptions.c; some constants/prototypes
    10180           moved to Threads.h.
     9740          to PLATFORM-exceptions.c; some constants/prototypes moved to
     9741          Threads.h.
    101819742
    1018297432006-06-08 08:51  gb
    101839744
    101849745        * [r4761] lisp-kernel/ppc-exceptions.c: suspend_resume_handler()
    10185           installed via install_signal_handler();
    10186           thread_signal_setup() moved here, to do that installation.
     9746          installed via install_signal_handler(); thread_signal_setup()
     9747          moved here, to do that installation.
    101879748
    1018897492006-06-08 08:50  gb
     
    102069767
    102079768        * [r4757] level-1/l1-files.lisp: Back out of ill-advised changed to
    10208           %LOAD; let OPTIMIZE proclamations
    10209           persist beyond the LOAD.
     9769          %LOAD; let OPTIMIZE proclamations persist beyond the LOAD.
    102109770
    1021197712006-06-08 04:20  gb
     
    102259785
    102269786        * [r4753] lisp-kernel/x86-macros.s: Don't maintain %tsp when
    10227           stack-consing; update (decrement) tcr.next_tsp atomically,
    10228           use %stack_temp as a temporary (old tsp), finish frame by storing
     9787          stack-consing; update (decrement) tcr.next_tsp atomically, use
     9788          %stack_temp as a temporary (old tsp), finish frame by storing
    102299789          into tcr.save_tsp.
    102309790
     
    102509810
    102519811        * [r4748] compiler/X86/X8664/x8664-vinsns.lisp: Don't try to
    10252           maintain %tsp (since it no longer exists ...). Use %stack-temp
    10253           in some cases.
     9812          maintain %tsp (since it no longer exists ...). Use %stack-temp in
     9813          some cases.
    102549814
    1025598152006-06-08 03:29  gb
     
    102589818          %next-tsp. %stack-temp is a symbolic name for an MMX register
    102599819          that can be used for (e.g.) linking frames on the temp/foreign
    10260           stacks (or for
    10261           any other purpose ...)
     9820          stacks (or for any other purpose ...)
    102629821
    1026398222006-06-07 22:20  gb
     
    102689827
    102699828        * [r4745] compiler/X86/X8664/x8664-vinsns.lisp: No more
    10270           %Rforeign_sp.
    10271           Keep tcr.next_tsp in sync with %next_tsp
    10272           Check to ensure that %tsp,tcr.save_tsp,and tcr.next_tsp all have
    10273           the same value
    10274           when allocating on the temp stack. (This will soon change, so
    10275           that %tsp and
    10276           %next_tsp will not be canonical and the tcr fields are, then will
    10277           change so
    10278           that %tsp and %next_tsp will cease to exist.)
     9829          %Rforeign_sp. Keep tcr.next_tsp in sync with %next_tsp Check to
     9830          ensure that %tsp,tcr.save_tsp,and tcr.next_tsp all have the same
     9831          value when allocating on the temp stack. (This will soon change,
     9832          so that %tsp and %next_tsp will not be canonical and the tcr
     9833          fields are, then will change so that %tsp and %next_tsp will
     9834          cease to exist.)
    102799835
    1028098362006-06-07 21:25  gb
     
    102859841
    102869842        * [r4743] lisp-kernel/x86-macros.s, lisp-kernel/x86-spentry64.s:
    10287           Keep tcr.next_tsp in sync with %Rnext_tsp.
    10288           No more %Rforeign_sp, but we can use %mm5 as a temporary.
     9843          Keep tcr.next_tsp in sync with %Rnext_tsp. No more %Rforeign_sp,
     9844          but we can use %mm5 as a temporary.
    102899845
    1029098462006-06-07 21:23  gb
    102919847
    102929848        * [r4742] lisp-kernel/x86-exceptions.c: Find the foreign RSP from
    10293           the TCR; don't need FP regs for this. (They're sometimes
    10294           invalid and sometimes missing, which is the point of recent
    10295           changes.)
     9849          the TCR; don't need FP regs for this. (They're sometimes invalid
     9850          and sometimes missing, which is the point of recent changes.)
    102969851
    1029798522006-06-07 21:21  gb
     
    103249879
    103259880        * [r4735] compiler/X86/X8664/x8664-arch.lisp: More bootstrapping:
    10326           no more foreign-sp register (though some code still uses
    10327           %mm5 as a temporary, the "canonical" foreign SP is maintained in
    10328           the TCR.)
     9881          no more foreign-sp register (though some code still uses %mm5 as
     9882          a temporary, the "canonical" foreign SP is maintained in the
     9883          TCR.)
    103299884
    1033098852006-06-07 11:20  gb
     
    103369891        * [r4733] compiler/X86/X8664/x8664-vinsns.lisp,
    103379892          lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
    10338           maintain the foreign sp in both the TCR and the MMX
    10339           register, but consider the TCR version to be canonical.
     9893          maintain the foreign sp in both the TCR and the MMX register, but
     9894          consider the TCR version to be canonical.
    103409895
    1034198962006-06-07 10:52  gb
     
    103669921         
    103679922          (The idea is to keep the temp/foreign stack pointers in the tcr
    10368           and only
    10369           use the MMX registers as temporaries, since it seems that
    10370           handlers for
    10371           asynchronous signals can't count on the MMX register values in
    10372           the
    10373           signal context being correct. This seems to either be a Linux
    10374           kernel
    10375           bug or ill-considered if it's intentional behavior, but it seems
    10376           better
    10377           to work around it this way.)
     9923          and only use the MMX registers as temporaries, since it seems
     9924          that handlers for asynchronous signals can't count on the MMX
     9925          register values in the signal context being correct. This seems
     9926          to either be a Linux kernel bug or ill-considered if it's
     9927          intentional behavior, but it seems better to work around it this
     9928          way.)
    103789929         
    103799930          This is just an early step in bootstrapping that change; it's
    10380           being
    10381           checked into CVS so that it doesn't get lost (and so that I can
    10382           recover
    10383           to this point if/when I hose things on a later step.)
     9931          being checked into CVS so that it doesn't get lost (and so that I
     9932          can recover to this point if/when I hose things on a later step.)
    103849933
    1038599342006-06-07 07:24  gb
     
    104049953
    104059954        * [r4723] lib/x86-backtrace.lisp: %find-register-argument-value:
    10406           Current frame (cfp argument) could be
    10407           an exception callback frame (xcf-p may be true of it), in which
    10408           case
    10409           the saved register value is in the xcf.xp context. (Basically,
    10410           this
    10411           means look at the first frame if it's an xcf, otherwise skip it
    10412           and
    10413           start with the child.)
     9955          Current frame (cfp argument) could be an exception callback frame
     9956          (xcf-p may be true of it), in which case the saved register value
     9957          is in the xcf.xp context. (Basically, this means look at the
     9958          first frame if it's an xcf, otherwise skip it and start with the
     9959          child.)
    104149960
    1041599612006-06-06 08:21  gb
     
    104229968          compiler/X86/x86-lapmacros.lisp, lisp-kernel/x86-macros.s: Using
    104239969          imul to box fixnums is smaller and seems to be faster than using
    10424           lea with a
    10425           scale factor.
     9970          lea with a scale factor.
    104269971
    1042799722006-06-06 06:20  gb
     
    104329977
    104339978        * [r4719] lisp-kernel/thread_manager.c: I don't think that
    10434           suspend_resume_handler wants to have suspend signals
    10435           unmasked, does it ?
     9979          suspend_resume_handler wants to have suspend signals unmasked,
     9980          does it ?
    104369981
    1043799822006-06-05 19:20  gb
     
    104519996
    104529997        * [r4715] lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't
    10453           skip the last catch frame, do skip others (test was
    10454           backwards. As it probably had been in the single-value case at
    10455           one point.)
     9998          skip the last catch frame, do skip others (test was backwards. As
     9999          it probably had been in the single-value case at one point.)
    1045610000
    10457100012006-06-02 10:20  gb
     
    1047710021          things like:
    1047810022         
    10479           (multiple-value-bind (...)
    10480           (multiple-value-call #'foo ...))
     10023          (multiple-value-bind (...) (multiple-value-call #'foo ...))
    1048110024         
    1048210025          correctly.
     
    1049010033
    1049110034        * [r4708] level-1/l1-files.lisp: Bind the variables which hold
    10492           global compiler optimization quantities, since people
    10493           persist in doing things like:
     10035          global compiler optimization quantities, since people persist in
     10036          doing things like:
    1049410037         
    1049510038          (declaim (optimize
     
    1050010043         
    1050110044          Note that this means that anyone who wanted such a declamation to
    10502           have persistent
    10503           global effects is now SOL. Blame whoever wrote (for instance)
    10504           clx/glx.lisp.
     10045          have persistent global effects is now SOL. Blame whoever wrote
     10046          (for instance) clx/glx.lisp.
    1050510047
    10506100482006-06-02 02:11  gb
     
    1051610058
    1051710059        * [r4705] lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE,
    10518           pass a pointer to ENCODED-GPR-LISP if we have to
    10519           get the register value from an exception frame.
     10060          pass a pointer to ENCODED-GPR-LISP if we have to get the register
     10061          value from an exception frame.
    1052010062
    10521100632006-05-31 02:20  gb
     
    1053910081
    1054010082        * [r4700] lisp-kernel/x86-spentry64.s: When unwinding the stack,
    10541           try to ensure that tcr.xframe is updated from the
    10542           catch frame (a) in all execution paths and (b) before RSP is
    10543           updated.
     10083          try to ensure that tcr.xframe is updated from the catch frame (a)
     10084          in all execution paths and (b) before RSP is updated.
    1054410085
    10545100862006-05-30 22:30  gb
     
    1058110122
    1058210123        * [r4691] lisp-kernel/x86-exceptions.c: altstack_interrupt_handler:
    10583           having made copies of the signal context and siginfo
    10584           on the foreign stack, don't pass the originals to
    10585           interrupt_handler().
     10124          having made copies of the signal context and siginfo on the
     10125          foreign stack, don't pass the originals to interrupt_handler().
    1058610126         
    1058710127          (altstack_interrupt_handler() looks suspiciously like
    10588           altstack_signal_handler(),
    10589           which probably had the same bug a few months ago ...)
     10128          altstack_signal_handler(), which probably had the same bug a few
     10129          months ago ...)
    1059010130         
    1059110131          Since the alternate signal stack (as we use it) isn't reentrant,
    10592           the next
    10593           signal (perhaps a suspend signal) overwrote the context. Which is
    10594           one reason
    10595           to have made a copy in the first place ...
     10132          the next signal (perhaps a suspend signal) overwrote the context.
     10133          Which is one reason to have made a copy in the first place ...
    1059610134
    10597101352006-05-30 07:43  gb
    1059810136
    1059910137        * [r4690] level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the
    10600           new %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether
    10601           or not a timeout is a good idea here, make sure that the timeout
    10602           isn't fooled
    10603           by #$EINTR.
     10138          new %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
     10139          timeout is a good idea here, make sure that the timeout isn't
     10140          fooled by #$EINTR.
    1060410141
    10605101422006-05-30 07:39  gb
     
    1060710144        * [r4689] level-1/linux-files.lisp: Rename the old
    1060810145          %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
    10609           since
    10610           it basically waits indefinitely.
     10146          since it basically waits indefinitely.
    1061110147         
    1061210148          Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
    1061310149          %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to
    10614           do a "timed wait"
    10615           that handles interruptions, etc. when the caller just has a "raw"
    10616           (native)
    10617           semaphore.
     10150          do a "timed wait" that handles interruptions, etc. when the
     10151          caller just has a "raw" (native) semaphore.
    1061810152         
    1061910153          Change callers, endure warnings. New binaries soon.
     
    1064110175
    1064210176        * [r4684] level-1/linux-files.lisp: In %OS-GETCWD: don't trust
    10643           syscall-based getcwd (it doesn't work as it
    10644           once did/is documented to on linuxx8664); use the library
    10645           function on
    10646           all platforms.
     10177          syscall-based getcwd (it doesn't work as it once did/is
     10178          documented to on linuxx8664); use the library function on all
     10179          platforms.
    1064710180
    10648101812006-05-29 20:02  gb
     
    1066110194         
    1066210195          Back out of the hack that tried to work around a Darwin bug (FP
    10663           exception
    10664           flags were cleared in the MSR after a thread had been interrupted
    10665           via
    10666           pthread_kill()), since the fix seems not to be GC-safe.
     10196          exception flags were cleared in the MSR after a thread had been
     10197          interrupted via pthread_kill()), since the fix seems not to be
     10198          GC-safe.
    1066710199         
    1066810200          Add some debugging code to print when the exception lock is
     
    1070810240         
    1070910241          SINGLE-FLOAT foreign args are stored in the low 32 bits of each
    10710           64-bit
    10711           arg word, regardless of whether they're also passed in f1-f13 as
    10712           well.
     10242          64-bit arg word, regardless of whether they're also passed in
     10243          f1-f13 as well.
    1071310244
    10714102452006-05-23 04:55  gb
    1071510246
    1071610247        * [r4672] compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
    10717           SINGLE-FLOATs passed in memory are passed in the low 32 bits
    10718           of the 64-bit word.
     10248          SINGLE-FLOATs passed in memory are passed in the low 32 bits of
     10249          the 64-bit word.
    1071910250
    10720102512006-05-23 04:54  gb
     
    1072710258
    1072810259        * [r4670] compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI"
    10729           (Darwin) callback fixes: SINGLE-FLOATs passed in
    10730           memory are passed as ... SINGLE-FLOATs, so don't use
     10260          (Darwin) callback fixes: SINGLE-FLOATs passed in memory are
     10261          passed as ... SINGLE-FLOATs, so don't use
    1073110262          %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to access them.
    1073210263
     
    1075710288
    1075810289        * [r4664] compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a
    10759           little earlier when creating a stack frame inline.
    10760           Doesn't seem to affect latency much.
     10290          little earlier when creating a stack frame inline. Doesn't seem
     10291          to affect latency much.