Changeset 11979 for trunk/source/level-1


Ignore:
Timestamp:
Apr 28, 2009, 8:01:47 AM (10 years ago)
Author:
gb
Message:

Don't use DEFLOADVAR to reinitialize *HEAP-IVECTORS*; done early in
RESTORE-LISP-POINTERS.

Preserve Windows line-termination in SET-TERMINAL-ENCODING. (Screw:
should really have a way of specifying line-termination as well as
character encoding.)

%LOCKED-IOBLOCK-WRITE-CHAR functions that translate newlines need to lock
the output lock, not the input lock.

Set *HEAP-IVECTORS* to NIL in RESTORE-LISP-POINTERS (and not via DEFLOADVAR),
so that buffers of initial streams will be recognized as non-bogus.

(This is all supposed to address ticket:464, but I haven't tested on Windows
yet.)

Location:
trunk/source/level-1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-boot-2.lisp

    r11817 r11979  
    171171(defun set-terminal-encoding (encoding-name)
    172172  (let* ((exformat (normalize-external-format t encoding-name)))
     173    #+windows-target (setf (external-format-line-termination external-format)
     174                           :crlf)
    173175    (setf (stream-external-format *stdin*) exformat
    174176          (stream-external-format *stdout*) exformat
  • trunk/source/level-1/l1-streams.lisp

    r11958 r11979  
    191191
    192192
    193 (defloadvar *heap-ivectors* ())
     193(defstatic *heap-ivectors* ())
    194194(defvar *heap-ivector-lock* (make-lock))
    195195
     
    26182618
    26192619(defun %locked-ioblock-write-char-translating-newline-to-cr (ioblock char)
    2620   (with-ioblock-input-lock-grabbed (ioblock)
     2620  (with-ioblock-output-lock-grabbed (ioblock)
    26212621    (%ioblock-write-char-translating-newline-to-cr ioblock char)))
    26222622
     
    26382638
    26392639(defun %locked-ioblock-write-char-translating-newline-to-crlf (ioblock char)
    2640   (with-ioblock-input-lock-grabbed (ioblock)
     2640  (with-ioblock-output-lock-grabbed (ioblock)
    26412641    (%ioblock-write-char-translating-newline-to-crlf ioblock char)))
    26422642
     
    26532653
    26542654(defun %locked-ioblock-write-char-translating-newline-to-line-separator (ioblock char)
    2655   (with-ioblock-input-lock-grabbed (ioblock)
     2655  (with-ioblock-output-lock-grabbed (ioblock)
    26562656    (%ioblock-write-char-translating-newline-to-line-separator ioblock char)))
    26572657
Note: See TracChangeset for help on using the changeset viewer.