diff --git a/hemlock/abbrev.lisp b/hemlock/abbrev.lisp index 535ed4d969010561a167327890cc2d01b89b2fab..af95ba787e1974a0700c0490da9ad6830cd81fc0 100644 --- a/hemlock/abbrev.lisp +++ b/hemlock/abbrev.lisp @@ -510,7 +510,7 @@ :default (value abbrev-pathname-defaults) :must-exist nil))) (with-open-file (file (value abbrev-pathname-defaults) :direction :input - :element-type 'string-char :if-does-not-exist :error) + :element-type 'base-character :if-does-not-exist :error) (read-abbrevs file))) @@ -584,7 +584,7 @@ :help "Name of the file to write current abbrevs to." :must-exist nil))) (with-open-file (file filename :direction :output - :element-type 'string-char :if-exists :supersede + :element-type 'base-character :if-exists :supersede :if-does-not-exist :create) (multiple-value-bind (x mode-tables) (count-abbrevs) (declare (ignore x)) @@ -626,7 +626,8 @@ (defun write-incremental (mode filename) - (with-open-file (file filename :direction :output :element-type 'string-char + (with-open-file (file filename :direction :output + :element-type 'base-character :if-exists mode :if-does-not-exist :create) (dolist (def *new-abbrevs*) (let ((abb (car def)) diff --git a/hemlock/key-event.lisp b/hemlock/key-event.lisp index 0e0defca4781899bae9c856809ea1116b30d8427..d2579b5797563cb40405a08c6f72195473a20466 100644 --- a/hemlock/key-event.lisp +++ b/hemlock/key-event.lisp @@ -111,7 +111,7 @@ ;;; TRANSLATE-KEY-EVENT -- Public. ;;; -#+nil +#+clx (defun translate-key-event (display scan-code bits) "Translates the X scan-code and X bits to a key-event. First this maps scan-code to an X keysym using XLIB:KEYCODE->KEYSYM looking at bits and @@ -317,7 +317,7 @@ ;;; modifier identifier. ;;; (defvar *id-namestring* - (make-array 30 :adjustable t :fill-pointer 0 :element-type 'string-char)) + (make-array 30 :adjustable t :fill-pointer 0 :element-type 'base-character)) ;;; PARSE-KEY-FUN -- Internal. ;;; @@ -472,7 +472,7 @@ ;;; DEFINE-CLX-MODIFIER -- Public. ;;; -(defun <define-clx-modifier (clx-mask modifier-name) +(defun define-clx-modifier (clx-mask modifier-name) "This establishes a mapping from clx-mask to a define key-event modifier-name. TRANSLATE-KEY-EVENT and TRANSLATE-MOUSE-KEY-EVENT can only return key-events with bits defined by this routine." @@ -540,13 +540,14 @@ (let* ((high-byte (ash keysym -8)) (low-byte-vector (svref *keysym-high-bytes* high-byte))) (unless low-byte-vector - (let ((new-vector (make-array 256))) + (let ((new-vector (make-array 256 :initial-element nil))) (setf (svref *keysym-high-bytes* high-byte) new-vector) (setf low-byte-vector new-vector))) (let* ((low-byte (ldb (byte 8 0) keysym)) (bit-vector (svref low-byte-vector low-byte))) (unless bit-vector - (let ((new-vector (make-array modifier-bits-limit))) + (let ((new-vector (make-array modifier-bits-limit + :initial-element nil))) (setf (svref low-byte-vector low-byte) new-vector) (setf bit-vector new-vector))) (let ((key-event (svref bit-vector bits))) @@ -728,7 +729,8 @@ (setf *all-modifier-names* ()) (setf *keysym-high-bytes* (make-array 256 :initial-element nil)) (setf *key-event-characters* (make-hash-table)) - (setf *character-key-events* (make-array char-code-limit :initial-element nil)) + (setf *character-key-events* + (make-array char-code-limit :initial-element nil)) (define-key-event-modifier "Hyper" "H") (define-key-event-modifier "Super" "S") @@ -736,10 +738,8 @@ (define-key-event-modifier "Control" "C") (define-key-event-modifier "Shift" "Shift") (define-key-event-modifier "Lock" "Lock") -#| - (define-clx-modifier (xlib:make-state-mask :shift) "Shift") - (define-clx-modifier (xlib:make-state-mask :mod-1) "Meta") - (define-clx-modifier (xlib:make-state-mask :control) "Control") - (define-clx-modifier (xlib:make-state-mask :lock) "Lock") -|# -) + + #+clx (define-clx-modifier (xlib:make-state-mask :shift) "Shift") + #+clx (define-clx-modifier (xlib:make-state-mask :mod-1) "Meta") + #+clx (define-clx-modifier (xlib:make-state-mask :control) "Control") + #+clx (define-clx-modifier (xlib:make-state-mask :lock) "Lock")) diff --git a/hemlock/lispbuf.lisp b/hemlock/lispbuf.lisp index ec610bf2a9cef4877e77a35a5239a3f9021eb846..81e58e6adb7f2ca464b283f22d069550897b82fc 100644 --- a/hemlock/lispbuf.lisp +++ b/hemlock/lispbuf.lisp @@ -38,7 +38,7 @@ thing) ((symbolp thing) (symbol-name thing)) - ((and (characterp thing) (string-char-p thing)) + ((characterp thing) (string thing)) (t (message diff --git a/hemlock/spell-build.lisp b/hemlock/spell-build.lisp index ab906757fdba46a6b9ddfbb1d64ed7dbb68c9919..afd2b8afa948a579d5cc2060d1db5af1079b0242 100644 --- a/hemlock/spell-build.lisp +++ b/hemlock/spell-build.lisp @@ -145,7 +145,7 @@ (entry-count 0)) (declare (fixnum descriptor-ptr string-ptr entry-count)) (loop (multiple-value-bind (line eofp) (read-line s nil nil) - (declare (simple-string line)) + (declare (type (or null simple-string) line)) (unless line (return (values entry-count string-ptr))) (incf entry-count) (when (> entry-count max-entry-count-estimate) @@ -237,6 +237,6 @@ (write-byte (aref dictionary i) s)) (dotimes (i descriptors-size) (write-byte (aref descriptors i) s)))) - (with-open-file (s f :direction :output :element-type 'string-char + (with-open-file (s f :direction :output :element-type 'base-character :if-exists :append) (write-string string-table s :end string-table-length))))