Changes between Version 8 and Version 9 of WindowsNotes

Apr 17, 2009, 7:33:43 AM (11 years ago)

update, a little


  • WindowsNotes

    v8 v9  
    148148Windows pathnames can use either forward-slash or backward-slash characters
    149 as directory separators.  CCL translates backslashes to forward slashes on
    150 namestrings returned by the OS and generally doesn't interpret backslashes
    151 as directory separators in other contexts.
     149as directory separators.  As of the 1.3 release, CCL should handle namestrings
     150which use either forward- or backward-slashes; some prereleases and release-candidates
     151generally had difficulty with backslashes.
    153153Windows namestrings generally contain a "drive letter" preceded by a colon;
    160160file) on startup, just as on other platforms.
    162 As of this writing, there are still general stability issues that I think
    163 are more severe on win32.  At least one of them has to do with cases where
    164 thread "A" stops or suspends thread "B", accesses and/or modifies thread "B"'s
    165 state in some way, and then allows thread "B" to resume execution.  (There
    166 are cases where B is in the middle of modifying its own state when it's
    167 stopped, and issues with recognizing and safely handling those cases.)
    169 The good news is that the troublesome cases occur relatively rarely, ordinarily.
    171 The bad news is that a fairly common function - PROCESS-WHOSTATE, which obtains
    172 a string which describes the state of a thread - needs to stop/start the target
    173 thread in order to access this state reliably.
    175 The good news is that PROCESS-WHOSTATE is ordinarily only used for debugging - the
    176 :PROC toplevel command and when printing a PROCESS object.
    178 The bad news is that SLIME does some sort of transaction logging by default, and the
    179 information that it logs includes (the printed representation of) all lisp processes
    180 involved in transactions between Emacs and the lisp.  (In other words, running under
    181 SLIME tends to exacerbate the thread suspend/resume bug[s].)
    183 The good news is that there's a temporary workaround:  when a PROCESS object is
    184 printed, its PROCESS-WHOSTATE is only included in its printed representation if
    185 the value of CCL::*PRINT-PROCESS-WHOSTATE* is non-NIL.  (The bad news is that this
    186 variable defaults to T for backward compatibility; the good news is that you can
    187 set it to NIL in "home:ccl-init" and therefore decrease your chances of running
    188 into the suspend/resume bug when running under SLIME.)
    190163== Windows example ==
    271244If all of the tools/headers/libraries are installed, that should create a working
    272 kernel executable in the ccl directory.  There are still (as of November 2008) some
    273 warnings in the win32 build that are intended to serve as reminders that some cases
    274 of thread interrupt/suspend/resume still aren't handled correctly; the win64 kernel
    275 should generally build without warnings.
     245kernel executable in the ccl directory.