CMUCL commit: intl-branch src (9 files)

Raymond Toy rtoy at common-lisp.net
Tue Feb 9 04:43:36 CET 2010


    Date: Monday, February 8, 2010 @ 22:43:36
  Author: rtoy
    Path: /project/cmucl/cvsroot/src
     Tag: intl-branch

Modified: code/alieneval.lisp code/backq.lisp code/bignum.lisp
          code/bit-bash.lisp code/bsd-os.lisp code/byte-interp.lisp
          code/char.lisp i18n/locale/cmucl.pot
          i18n/locale/ko/LC_MESSAGES/cmucl.po

code/alieneval.lisp
code/backq.lisp
code/bignum.lisp
code/bit-bash.lisp
code/bsd-os.lisp
code/byte-interp.lisp
code/char.lisp
o Mark translatable strings

i18n/locale/cmucl.pot
i18n/locale/ko/LC_MESSAGES/cmucl.po
o Update


-------------------------------------+
 code/alieneval.lisp                 |  174 +++----
 code/backq.lisp                     |   18 
 code/bignum.lisp                    |   14 
 code/bit-bash.lisp                  |   18 
 code/bsd-os.lisp                    |    6 
 code/byte-interp.lisp               |   28 -
 code/char.lisp                      |   78 +--
 i18n/locale/cmucl.pot               |  827 ++++++++++++++++++++++++++++++++++
 i18n/locale/ko/LC_MESSAGES/cmucl.po |  824 +++++++++++++++++++++++++++++++++
 9 files changed, 1819 insertions(+), 168 deletions(-)


Index: src/code/alieneval.lisp
diff -u src/code/alieneval.lisp:1.66.12.1 src/code/alieneval.lisp:1.66.12.2
--- src/code/alieneval.lisp:1.66.12.1	Mon Feb  8 12:15:46 2010
+++ src/code/alieneval.lisp	Mon Feb  8 22:43:35 2010
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /project/cmucl/cvsroot/src/code/alieneval.lisp,v 1.66.12.1 2010-02-08 17:15:46 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/alieneval.lisp,v 1.66.12.2 2010-02-09 03:43:35 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -186,7 +186,7 @@
 
 (defun alien-type-class-or-lose (name)
   (or (gethash name *alien-type-classes*)
-      (error "No alien type class ~S" name)))
+      (error _"No alien type class ~S" name)))
 
 (defun create-alien-type-class-if-necessary (name include)
   (let ((old (gethash name *alien-type-classes*))
@@ -212,7 +212,7 @@
 
 (defun method-slot (method)
   (cdr (or (assoc method method-slot-alist)
-	   (error "No method ~S" method))))
+	   (error _"No method ~S" method))))
 
 ); eval-when
 
@@ -275,7 +275,7 @@
       `(funcall (do ((class (alien-type-class-or-lose (alien-type-class ,type))
 			    (alien-type-class-include class)))
 		    ((null class)
-		     (error "Method ~S not defined for ~S"
+		     (error _"Method ~S not defined for ~S"
 			    ',method (alien-type-class ,type)))
 		  (let ((fn (,slot class)))
 		    (when fn
@@ -323,7 +323,7 @@
 ;;; PARSE-ALIEN-TYPE -- public
 ;;;
 (defun parse-alien-type (type)
-  "Parse the list structure TYPE as an alien type specifier and return
+  _N"Parse the list structure TYPE as an alien type specifier and return
    the resultant alien-type structure."
   (if (boundp '*new-auxiliary-types*)
       (%parse-alien-type type)
@@ -334,19 +334,19 @@
   (if (consp type)
       (let ((translator (info alien-type translator (car type))))
 	(unless translator
-	  (error "Unknown alien type: ~S" type))
+	  (error _"Unknown alien type: ~S" type))
 	(funcall translator type))
       (case (info alien-type kind type)
 	(:primitive
 	 (let ((translator (info alien-type translator type)))
 	   (unless translator
-	     (error "No translator for primitive alien type ~S?" type))
+	     (error _"No translator for primitive alien type ~S?" type))
 	   (funcall translator (list type))))
 	(:defined
 	 (or (info alien-type definition type)
-	     (error "Definition missing for alien type ~S?" type)))
+	     (error _"Definition missing for alien type ~S?" type)))
 	(:unknown
-	 (error "Unknown alien type: ~S" type)))))
+	 (error _"Unknown alien type: ~S" type)))))
 
 (defun auxiliary-alien-type (kind name)
   (flet ((aux-defn-matches (x)
@@ -368,9 +368,9 @@
   (flet ((aux-defn-matches (x)
 	   (and (eq (first x) kind) (eq (second x) name))))
     (when (find-if #'aux-defn-matches *new-auxiliary-types*)
-      (error "Attempt to multiple define ~A ~S." kind name))
+      (error _"Attempt to multiple define ~A ~S." kind name))
     (when (find-if #'aux-defn-matches *auxiliary-type-definitions*)
-      (error "Attempt to shadow definition of ~A ~S." kind name)))
+      (error _"Attempt to shadow definition of ~A ~S." kind name)))
   (push (list kind name defn) *new-auxiliary-types*)
   defn)
 
@@ -387,7 +387,7 @@
 	       (info alien-type union name))
 	      (:enum
 	       (info alien-type enum name)))
-	(error "Attempt to shadow definition of ~A ~S." kind name)))))
+	(error _"Attempt to shadow definition of ~A ~S." kind name)))))
 
 ;;; *record-type-already-unparsed* -- internal
 ;;;
@@ -400,7 +400,7 @@
 ;;; UNPARSE-ALIEN-TYPE -- public.
 ;;; 
 (defun unparse-alien-type (type)
-  "Convert the alien-type structure TYPE back into a list specification of
+  _N"Convert the alien-type structure TYPE back into a list specification of
    the type."
   (declare (type alien-type type))
   (let ((*record-types-already-unparsed* nil))
@@ -447,7 +447,7 @@
 
 
 (defmacro def-alien-type (name type)
-  "Define the alien type NAME to be equivalent to TYPE.  Name may be NIL for
+  _N"Define the alien type NAME to be equivalent to TYPE.  Name may be NIL for
    STRUCT and UNION types, in which case the name is taken from the type
    specifier."
   (with-auxiliary-alien-types
@@ -464,7 +464,7 @@
       (macrolet ((frob (kind)
 		   `(let ((old (info alien-type ,kind name)))
 		      (unless (or (null old) (alien-type-= old defn))
-			(warn "Redefining ~A ~S to be:~%  ~S,~%was:~%  ~S"
+			(warn _"Redefining ~A ~S to be:~%  ~S,~%was:~%  ~S"
 			      kind name defn old))
 		      (setf (info alien-type ,kind name) defn))))
 	(ecase kind
@@ -475,11 +475,11 @@
 (defun %def-alien-type (name new)
   (ecase (info alien-type kind name)
     (:primitive
-     (error "~S is a built-in alien type." name))
+     (error _"~S is a built-in alien type." name))
     (:defined
      (let ((old (info alien-type definition name)))
        (unless (or (null old) (alien-type-= new old))
-	 (warn "Redefining ~S to be:~%  ~S,~%was~%  ~S" name
+	 (warn _"Redefining ~S to be:~%  ~S,~%was~%  ~S" name
 	       (unparse-alien-type new) (unparse-alien-type old)))))
     (:unknown))
   (setf (info alien-type definition name) new)
@@ -491,14 +491,14 @@
 ;;;; Interfaces to the different methods
 
 (defun alien-type-= (type1 type2)
-  "Return T iff TYPE1 and TYPE2 describe equivalent alien types."
+  _N"Return T iff TYPE1 and TYPE2 describe equivalent alien types."
   (or (eq type1 type2)
       (and (eq (alien-type-class type1)
 	       (alien-type-class type2))
 	   (invoke-alien-type-method :type= type1 type2))))
 
 (defun alien-subtype-p (type1 type2)
-  "Return T iff the alien type TYPE1 is a subtype of TYPE2.  Currently, the
+  _N"Return T iff the alien type TYPE1 is a subtype of TYPE2.  Currently, the
    only supported subtype relationships are that any pointer type is a
    subtype of (* t), and any array type's first dimension will match 
    (array <eltype> nil ...).  Otherwise, the two types have to be
@@ -507,7 +507,7 @@
       (invoke-alien-type-method :subtypep type1 type2)))
 
 (defun alien-typep (object type)
-  "Return T iff OBJECT is an alien of type TYPE."
+  _N"Return T iff OBJECT is an alien of type TYPE."
   (let ((lisp-rep-type (compute-lisp-rep-type type)))
     (if lisp-rep-type
 	(typep object lisp-rep-type)
@@ -588,27 +588,27 @@
 
 (def-alien-type-method (root :naturalize-gen) (type alien)
   (declare (ignore alien))
-  (error "Cannot represent ~S typed aliens." type))
+  (error _"Cannot represent ~S typed aliens." type))
 
 (def-alien-type-method (root :deport-gen) (type object)
   (declare (ignore object))
-  (error "Cannot represent ~S typed aliens." type))
+  (error _"Cannot represent ~S typed aliens." type))
 
 (def-alien-type-method (root :extract-gen) (type sap offset)
   (declare (ignore sap offset))
-  (error "Cannot represent ~S typed aliens." type))
+  (error _"Cannot represent ~S typed aliens." type))
 
 (def-alien-type-method (root :deposit-gen) (type sap offset value)
   `(setf ,(invoke-alien-type-method :extract-gen type sap offset) ,value))
 
 (def-alien-type-method (root :arg-tn) (type state)
   (declare (ignore state))
-  (error "Cannot pass aliens of type ~S as arguments to call-out"
+  (error _"Cannot pass aliens of type ~S as arguments to call-out"
 	 (unparse-alien-type type)))
 
 (def-alien-type-method (root :result-tn) (type state)
   (declare (ignore state))
-  (error "Cannot return aliens of type ~S from call-out"
+  (error _"Cannot return aliens of type ~S from call-out"
 	 (unparse-alien-type type)))
 
 
@@ -685,7 +685,7 @@
 	    (64 'sap-ref-64)))))
     (if ref-fun
 	`(,ref-fun ,sap (/ ,offset vm:byte-bits))
-	(error "Cannot extract ~D bit integers."
+	(error _"Cannot extract ~D bit integers."
 	       (alien-integer-type-bits type)))))
 
 
@@ -731,7 +731,7 @@
 		 (auxiliary-alien-type :enum name)
 	       (when old-p
 		 (unless (alien-type-= result old)
-		   (warn "Redefining alien enum ~S" name)))
+		   (warn _"Redefining alien enum ~S" name)))
 	       ;; I (rtoy) am not 100% sure about this.  But compare
 	       ;; what this does with what PARSE-ALIEN-RECORD-TYPE
 	       ;; does.  So, if we've seen this type before and it's
@@ -754,14 +754,14 @@
 	     (result found)
 	     (auxiliary-alien-type :enum name)
 	   (unless found
-	     (error "Unknown enum type: ~S" name))
+	     (error _"Unknown enum type: ~S" name))
 	   result))
 	(t
-	 (error "Empty enum type: ~S" type))))
+	 (error _"Empty enum type: ~S" type))))
 
 (defun parse-enum (name elements)
   (when (null elements)
-    (error "An enumeration must contain at least one element."))
+    (error _"An enumeration must contain at least one element."))
   (let ((min nil)
 	(max nil)
 	(from-alist ())
@@ -775,15 +775,15 @@
 	      (values el (1+ prev)))
 	(setf prev val)
 	(unless (keywordp sym)
-	  (error "Enumeration element ~S is not a keyword." sym))
+	  (error _"Enumeration element ~S is not a keyword." sym))
 	(unless (integerp val)
-	  (error "Element value ~S is not an integer." val))
+	  (error _"Element value ~S is not an integer." val))
 	(unless (and max (> max val)) (setq max val))
 	(unless (and min (< min val)) (setq min val))
 	(when (rassoc val from-alist)
-	  (error "Element value ~S used more than once." val))
+	  (error _"Element value ~S used more than once." val))
 	(when (assoc sym from-alist :test #'eq)
-	  (error "Enumeration element ~S used more than once." sym))
+	  (error _"Enumeration element ~S used more than once." sym))
 	(push (cons sym val) from-alist)))
     (let* ((signed (minusp min))
 	   (min-bits (if signed
@@ -791,7 +791,7 @@
 				  (integer-length max)))
 			 (integer-length max))))
       (when (> min-bits 32)
-	(error "Can't represent enums needing more than 32 bits."))
+	(error _"Can't represent enums needing more than 32 bits."))
       (setf from-alist (sort from-alist #'< :key #'cdr))
       (cond
        ;;
@@ -1022,7 +1022,7 @@
 (def-alien-type-method (mem-block :deposit-gen) (type sap offset value)
   (let ((bits (alien-mem-block-type-bits type)))
     (unless bits
-      (error "Cannot deposit aliens of type ~S (unknown size)." type))
+      (error _"Cannot deposit aliens of type ~S (unknown size)." type))
     `(kernel:system-area-copy ,value 0 ,sap ,offset ',bits)))
 
 
@@ -1035,12 +1035,12 @@
 (def-alien-type-translator array (ele-type &rest dims)
   (when dims
     (unless (typep (first dims) '(or kernel:index null))
-      (error "First dimension is not a non-negative fixnum or NIL: ~S"
+      (error _"First dimension is not a non-negative fixnum or NIL: ~S"
 	     (first dims)))
     (let ((loser (find-if-not #'(lambda (x) (typep x 'kernel:index))
 			      (rest dims))))
       (when loser
-	(error "Dimension is not a non-negative fixnum: ~S" loser))))
+	(error _"Dimension is not a non-negative fixnum: ~S" loser))))
 
   (let ((type (parse-alien-type ele-type)))
     (make-alien-array-type
@@ -1149,10 +1149,10 @@
 					 :name var)))
 	  (push parsed-field parsed-fields)
 	  (when (null bits)
-	    (error "Unknown size: ~S"
+	    (error _"Unknown size: ~S"
 		   (unparse-alien-type field-type)))
 	  (when (null alignment)
-	    (error "Unknown alignment: ~S"
+	    (error _"Unknown alignment: ~S"
 		   (unparse-alien-type field-type)))
 	  (setf overall-alignment (max overall-alignment alignment))
 	  (ecase (alien-record-type-kind result)
@@ -1199,10 +1199,10 @@
 		     (alien-record-field-type field2))))
 
 (defvar *match-history* nil
-  "A hash table used to detect cycles while comparing record types.")
+  _N"A hash table used to detect cycles while comparing record types.")
 
 (defun in-match-history-or (type1 type2 alternative)
-  "Test if TYPE1 and TYPE2 are in the *MATCH-HISTORY*.
+  _N"Test if TYPE1 and TYPE2 are in the *MATCH-HISTORY*.
 If so return true; otherwise call ALTERNATIVE."
   (cond (*match-history*
 	 (let ((list (gethash type1 *match-history*)))
@@ -1270,7 +1270,7 @@
 
 (def-alien-type-translator values (&rest values)
   (unless *values-type-okay*
-    (error "Cannot use values types here."))
+    (error _"Cannot use values types here."))
   (let ((*values-type-okay* nil))
     (make-alien-values-type
      :values (mapcar #'parse-alien-type values))))
@@ -1331,7 +1331,7 @@
 (defun %print-local-alien-info (info stream depth)
   (declare (ignore depth))
   (print-unreadable-object (info stream :type t)
-    (funcall (formatter "~:[~;(forced to stack) ~]~S")
+    (funcall (formatter _"~:[~;(forced to stack) ~]~S")
 	     stream
 	     (local-alien-info-force-to-memory-p info)
 	     (unparse-alien-type (local-alien-info-type info)))))
@@ -1368,13 +1368,13 @@
      (values name (guess-alien-name-from-lisp-name name)))
     (list
      (unless (= (length name) 2)
-       (error "Badly formed alien name."))
+       (error _"Badly formed alien name."))
      (values (cadr name) (car name)))))
 
 ;;; DEF-ALIEN-VARIABLE -- public
 ;;;
 (defmacro def-alien-variable (name type)
-  "Define NAME as an external alien variable of type TYPE.  NAME should be
+  _N"Define NAME as an external alien variable of type TYPE.  NAME should be
    a list of a string holding the alien name and a symbol to use as the Lisp
    name.  If NAME is just a symbol or string, then the other name is guessed
    from the one supplied."
@@ -1406,7 +1406,7 @@
 ;;; EXTERN-ALIEN -- public.
 ;;; 
 (defmacro extern-alien (name type)
-  "Access the alien variable named NAME, assuming it is of type TYPE.  This
+  _N"Access the alien variable named NAME, assuming it is of type TYPE.  This
    is SETFable."
   (let* ((alien-name (etypecase name
 		       (symbol (guess-alien-name-from-lisp-name name))
@@ -1423,7 +1423,7 @@
 ;;; WITH-ALIEN -- public.
 ;;;
 (defmacro with-alien (bindings &body body)
-  "Establish some local alien variables.  Each BINDING is of the form:
+  _N"Establish some local alien variables.  Each BINDING is of the form:
      VAR TYPE [ ALLOCATION ] [ INITIAL-VALUE | EXTERNAL-NAME ]
    ALLOCATION should be one of:
      :LOCAL (the default)
@@ -1515,24 +1515,24 @@
 (defun %print-alien-value (value stream depth)
   (declare (ignore depth))
   (print-unreadable-object (value stream)
-    (funcall (formatter "Alien ~S at #x~8,'0X")
+    (funcall (formatter _"Alien ~S at #x~8,'0X")
 	     stream 
 	     (unparse-alien-type (alien-value-type value))
 	     (sap-int (alien-value-sap value)))))
 
 (declaim (inline null-alien))
 (defun null-alien (x)
-  "Return true if X (which must be an Alien pointer) is null, false otherwise."
+  _N"Return true if X (which must be an Alien pointer) is null, false otherwise."
   (zerop (sap-int (alien-sap x))))
 
   
 (defmacro sap-alien (sap type)
-  "Convert the System-Area-Pointer SAP to an Alien of the specified Type (not
+  _N"Convert the System-Area-Pointer SAP to an Alien of the specified Type (not
    evaluated.)  Type must be pointer-like."
   (let ((alien-type (parse-alien-type type)))
     (if (eq (compute-alien-rep-type alien-type) 'system-area-pointer)
 	`(%sap-alien ,sap ',alien-type)
-	(error "Cannot make aliens of type ~S out of SAPs" type))))
+	(error _"Cannot make aliens of type ~S out of SAPs" type))))
 
 (defun %sap-alien (sap type)
   (declare (type system-area-pointer sap)
@@ -1540,7 +1540,7 @@
   (make-alien-value :sap sap :type type))
 
 (defun alien-sap (alien)
-  "Return a System-Area-Pointer pointing to Alien's data."
+  _N"Return a System-Area-Pointer pointing to Alien's data."
   (declare (type alien-value alien))
   (alien-value-sap alien))
 
@@ -1551,7 +1551,7 @@
 ;;; MAKE-ALIEN -- public.
 ;;; 
 (defmacro make-alien (type &optional size)
-  "Allocate an alien of type TYPE and return an alien pointer to it.  If SIZE
+  _N"Allocate an alien of type TYPE and return an alien pointer to it.  If SIZE
    is supplied, how it is interpreted depends on TYPE.  If TYPE is an array
    type, SIZE is used as the first dimension for the allocated array.  If TYPE
    is not an array, then SIZE is the number of elements to allocate.  The
@@ -1566,7 +1566,7 @@
 	       (size
 		(unless dims
 		  (error
-		   "Cannot override the size of zero-dimensional arrays."))
+		   _"Cannot override the size of zero-dimensional arrays."))
 		(when (constantp size)
 		  (setf alien-type (copy-alien-array-type alien-type))
 		  (setf (alien-array-type-dimensions alien-type)
@@ -1581,9 +1581,9 @@
       (let ((bits (alien-type-bits element-type))
 	    (alignment (alien-type-alignment element-type)))
 	(unless bits
-	  (error "Size of ~S unknown." (unparse-alien-type element-type)))
+	  (error _"Size of ~S unknown." (unparse-alien-type element-type)))
 	(unless alignment
-	  (error "Alignment of ~S unknown." (unparse-alien-type element-type)))
+	  (error _"Alignment of ~S unknown." (unparse-alien-type element-type)))
 	`(%sap-alien (%make-alien (* ,(align-offset bits alignment)
 				     ,size-expr))
 		     ',(make-alien-pointer-type :to alien-type))))))
@@ -1603,7 +1603,7 @@
 ;;;
 (declaim (inline free-alien))
 (defun free-alien (alien)
-  "Dispose of the storage pointed to by ALIEN.  ALIEN must have been allocated
+  _N"Dispose of the storage pointed to by ALIEN.  ALIEN must have been allocated
    by MAKE-ALIEN or ``malloc''."
   (alien-funcall (extern-alien "free" (function (values) system-area-pointer))
 		 (alien-sap alien))
@@ -1621,7 +1621,7 @@
 	   (type symbol slot))
   (or (find slot (alien-record-type-fields type)
 	    :key #'alien-record-field-name)
-      (error "No slot named ~S in ~S" slot type)))
+      (error _"No slot named ~S in ~S" slot type)))
 
 ;;; SLOT -- public
 ;;;
@@ -1629,7 +1629,7 @@
 ;;; alien is actually a pointer, then deref it first.
 ;;; 
 (defun slot (alien slot)
-  "Extract SLOT from the Alien STRUCT or UNION ALIEN.  May be set with SETF."
+  _N"Extract SLOT from the Alien STRUCT or UNION ALIEN.  May be set with SETF."
   (declare (type alien-value alien)
 	   (type symbol slot)
 	   (optimize (inhibit-warnings 3)))
@@ -1713,7 +1713,7 @@
 		     0))))
       (alien-array-type
        (unless (= (length indices) (length (alien-array-type-dimensions type)))
-	 (error "Incorrect number of indices when derefing ~S: ~D"
+	 (error _"Incorrect number of indices when derefing ~S: ~D"
 		type (length indices)))
        (labels ((frob (dims indices offset)
 		  (if (null dims)
@@ -1735,7 +1735,7 @@
 ;;; Dereference the alien and return the results.
 ;;; 
 (defun deref (alien &rest indices)
-  "De-reference an Alien pointer or array.  If an array, the indices are used
+  _N"De-reference an Alien pointer or array.  If an array, the indices are used
    as the indices of the array element to access.  If a pointer, one index can
    optionally be specified, giving the equivalent of C pointer arithmetic."
   (declare (type alien-value alien)
@@ -1835,7 +1835,7 @@
 	(info (if (and (consp info)
 		       (eq (car info) 'quote))
 		  (second info)
-		  (error "Something is wrong; local-alien-info not found: ~S"
+		  (error _"Something is wrong; local-alien-info not found: ~S"
 			 whole))))
     (values nil
 	    nil
@@ -1854,7 +1854,7 @@
 (defun %local-alien-addr (info alien)
   (declare (type local-alien-info info))
   (unless (local-alien-info-force-to-memory-p info)
-    (error "~S isn't forced to memory.  Something went wrong." alien))
+    (error _"~S isn't forced to memory.  Something went wrong." alien))
   alien)
 
 (defun dispose-local-alien (info alien)
@@ -1866,7 +1866,7 @@
 ;;;; The ADDR macro.
 
 (defmacro addr (expr &environment env)
-  "Return an Alien pointer to the data addressed by Expr, which must be a call
+  _N"Return an Alien pointer to the data addressed by Expr, which must be a call
    to SLOT or DEREF, or a reference to an Alien variable."
   (let ((form (macroexpand expr env)))
     (or (typecase form
@@ -1885,7 +1885,7 @@
 			    (eq (car info-arg) 'quote)
 			    (second info-arg)))))
 		(unless (local-alien-info-p info)
-		  (error "Something is wrong, local-alien-info not found: ~S"
+		  (error _"Something is wrong, local-alien-info not found: ~S"
 			 form))
 		(setf (local-alien-info-force-to-memory-p info) t))
 	      (cons '%local-alien-addr (cdr form)))))
@@ -1893,13 +1893,13 @@
 	   (let ((kind (info variable kind form)))
 	     (when (eq kind :alien)
 	       `(%heap-alien-addr ',(info variable alien-info form))))))
-	(error "~S is not a valid L-value" form))))
+	(error _"~S is not a valid L-value" form))))
 
 
 ;;;; The CAST macro.
 
 (defmacro cast (alien type)
-  "Convert ALIEN to an Alien of the specified TYPE (not evaluated).  Both types
+  _N"Convert ALIEN to an Alien of the specified TYPE (not evaluated).  Both types
    must be Alien array, pointer or function types."
   `(%cast ,alien ',(parse-alien-type type)))
 
@@ -1916,15 +1916,15 @@
 		(alien-array-type-p alien-type)
 		(alien-function-type-p alien-type))
 	    (naturalize (alien-value-sap alien) target-type)
-	    (error "~S cannot be cast." alien)))
-      (error "Cannot cast to alien type ~S" (unparse-alien-type target-type))))
+	    (error _"~S cannot be cast." alien)))
+      (error _"Cannot cast to alien type ~S" (unparse-alien-type target-type))))
 
 
 
 ;;;; The ALIEN-SIZE macro.
 
 (defmacro alien-size (type &optional (units :bits))
-  "Return the size of the alien type TYPE.  UNITS specifies the units to
+  _N"Return the size of the alien type TYPE.  UNITS specifies the units to
    use and can be either :BITS, :BYTES, or :WORDS."
   (let* ((alien-type (parse-alien-type type))
 	 (bits (alien-type-bits alien-type)))
@@ -1934,7 +1934,7 @@
 			   (:bits 1)
 			   (:bytes vm:byte-bits)
 			   (:words vm:word-bits))))
-	(error "Unknown size for alien type ~S."
+	(error _"Unknown size for alien type ~S."
 	       (unparse-alien-type alien-type)))))
 
 
@@ -1970,7 +1970,7 @@
 ;;;; alien-funcall, def-alien-function
 
 (defun alien-funcall (alien &rest args)
-  "Call the foreign function ALIEN with the specified arguments.  ALIEN's
+  _N"Call the foreign function ALIEN with the specified arguments.  ALIEN's
    type specifies the argument and result types."
   (declare (type alien-value alien))
   (let ((type (alien-value-type alien)))
@@ -1980,7 +1980,7 @@
       (alien-function-type
        (unless (= (length (alien-function-type-arg-types type))
 		  (length args))
-	 (error "Wrong number of arguments for ~S~%Expected ~D, got ~D."
+	 (error _"Wrong number of arguments for ~S~%Expected ~D, got ~D."
 		type
 		(length (alien-function-type-arg-types type))
 		(length args)))
@@ -1996,10 +1996,10 @@
 	   (setf (alien-function-type-stub type) stub))
 	 (apply stub alien args)))
       (t
-       (error "~S is not an alien function." alien)))))
+       (error _"~S is not an alien function." alien)))))
 
 (defmacro def-alien-routine (name result-type &rest args)
-  "Def-Alien-Routine Name Result-Type
+  _N"Def-Alien-Routine Name Result-Type
                     {(Arg-Name Arg-Type [Style])}*
 
   Define a foreign interface function for the routine with the specified Name,
@@ -2043,12 +2043,12 @@
 	    (docs arg)
 	    (destructuring-bind (name type &optional (style :in)) arg
 	      (unless (member style '(:in :copy :out :in-out))
-		(error "Bogus argument style ~S in ~S." style arg))
+		(error _"Bogus argument style ~S in ~S." style arg))
 	      (unless (eq style :out)
 		(lisp-args name))
 	      (when (and (member style '(:out :in-out))
 			 (typep (parse-alien-type type) 'alien-pointer-type))
-		(error "Can't use :out or :in-out on pointer-like type:~%  ~S"
+		(error _"Can't use :out or :in-out on pointer-like type:~%  ~S"
 		       type))
 	      (cond ((eq style :in)
 		     (arg-types type)
@@ -2157,7 +2157,7 @@
 
 (defstruct (callback
 	     (:constructor make-callback (trampoline lisp-fn function-type)))
-  "A callback consists of a piece assembly code -- the trampoline --
+  _N"A callback consists of a piece assembly code -- the trampoline --
 and a lisp function.  We store the function type (including return
 type and arg types), so we can detect incompatible redefinitions."
   (trampoline (required-argument) :type system-area-pointer)
@@ -2167,7 +2167,7 @@
 (declaim (type (vector callback) *callbacks*))
 (defvar *callbacks* (make-array 10 :element-type 'callback
 				:fill-pointer 0 :adjustable t)
-  "Vector of all callbacks.")
+  _N"Vector of all callbacks.")
 
 (defun call-callback (index sp-fixnum ret-addr)
   (declare (type fixnum index sp-fixnum ret-addr)
@@ -2229,7 +2229,7 @@
 	   (len (* page-size (ceiling length page-size))))
       (unless (unix::unix-mprotect code-base len
 				   (logior unix:prot_exec unix:prot_read unix:prot_write))
-	(warn "Unable to mprotect ~S bytes (~S) at ~S (~S).  Callbacks may not work."
+	(warn _"Unable to mprotect ~S bytes (~S) at ~S (~S).  Callbacks may not work."
 	      len length code-base code)))
     (new-assem:segment-map-output segment
       (lambda (sap length)
@@ -2242,7 +2242,7 @@
   (callback-trampoline (symbol-value symbol)))
 
 (defmacro callback (name)
-  "Return the trampoline pointer for the callback NAME."
+  _N"Return the trampoline pointer for the callback NAME."
   `(symbol-trampoline ',name))
 
 ;; Convenience macro to make it easy to call callbacks.
@@ -2271,11 +2271,11 @@
 			  (setf (callback-function-type callback) fn-type)
 			  callback)
 			 (t
-			  (let ((e (format nil "~
+			  (let ((e (format nil _"~
 Attempt to redefine callback with incompatible return type.
    Old type was: ~A 
     New type is: ~A" old-type fn-type))
-				(c (format nil "~
+				(c (format nil _"~
 Create new trampoline (old trampoline calls old lisp function).")))
 			    (cerror c e)
 			    (register-new-callback))))))
@@ -2290,7 +2290,7 @@
     (typecase type
       ((or integer$ single$ double$ pointer$ sap$)
        (ceiling (word-aligned-bits type) vm:byte-bits))
-      (t (error "Unsupported argument type: ~A" spec)))))
+      (t (error _"Unsupported argument type: ~A" spec)))))
 
 (defun parse-return-type (spec)
   (let ((*values-type-okay* t))
@@ -2311,10 +2311,10 @@
 	 (store `(unsigned ,(word-aligned-bits type))))
 	((or single$ double$ pointer$ sap$)
 	 (store spec))
-	(t (error "Unsupported return type: ~A" spec))))))
+	(t (error _"Unsupported return type: ~A" spec))))))
 
 (defmacro def-callback (name (return-type &rest arg-specs) &parse-body (body decls doc))
-  "(defcallback NAME (RETURN-TYPE {(ARG-NAME ARG-TYPE)}*)
+  _N"(defcallback NAME (RETURN-TYPE {(ARG-NAME ARG-TYPE)}*)
      {doc-string} {decls}* {FORM}*)
 
 Define a function which can be called by foreign code.  The pointer
Index: src/code/backq.lisp
diff -u src/code/backq.lisp:1.14.22.1 src/code/backq.lisp:1.14.22.2
--- src/code/backq.lisp:1.14.22.1	Mon Feb  8 12:15:46 2010
+++ src/code/backq.lisp	Mon Feb  8 22:43:35 2010
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /project/cmucl/cvsroot/src/code/backq.lisp,v 1.14.22.1 2010-02-08 17:15:46 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/backq.lisp,v 1.14.22.2 2010-02-09 03:43:35 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -45,7 +45,7 @@
 ;;;<hair> involves starting over again pretending you had read ".,a)" instead
 ;;; of ", at a)"
 
-(defvar *backquote-count* 0  "How deep we are into backquotes")
+(defvar *backquote-count* 0  _N"How deep we are into backquotes")
 (defvar *bq-comma-flag* '(|,|))
 (defvar *bq-at-flag* '(|,@|))
 (defvar *bq-dot-flag* '(|,.|))
@@ -61,9 +61,9 @@
     (multiple-value-bind (flag thing)
 			 (backquotify stream (read stream t nil t))
       (if (eq flag *bq-at-flag*)
-	  (%reader-error stream ",@ after backquote in ~S" thing))
+	  (%reader-error stream _",@ after backquote in ~S" thing))
       (if (eq flag *bq-dot-flag*)
-	  (%reader-error stream ",. after backquote in ~S" thing))
+	  (%reader-error stream _",. after backquote in ~S" thing))
       (values (backquotify-1 flag thing) 'list))))
 
 (defun comma-macro (stream ignore)
@@ -71,7 +71,7 @@
   (unless (> *backquote-count* 0)
     (when *read-suppress*
       (return-from comma-macro nil))
-    (%reader-error stream "Comma not inside a backquote."))
+    (%reader-error stream _"Comma not inside a backquote."))
   (let ((c (read-char stream))
 	(*backquote-count* (1- *backquote-count*)))
     (values
@@ -112,9 +112,9 @@
 	     (multiple-value-bind (dflag d) (backquotify stream (cdr code))
 	       (if (eq dflag *bq-at-flag*)
 		   ;; get the errors later.
-		   (%reader-error stream ",@ after dot in ~S" code))
+		   (%reader-error stream _",@ after dot in ~S" code))
 	       (if (eq dflag *bq-dot-flag*)
-		   (%reader-error stream ",. after dot in ~S" code))
+		   (%reader-error stream _",. after dot in ~S" code))
 	       (cond
 		((eq aflag *bq-at-flag*)
 		 (if (null dflag)
@@ -238,7 +238,7 @@
     ))
 
 (defun backq-unparse (form &optional splicing)
-  "Given a lisp form containing the magic functions BACKQ-LIST, BACKQ-LIST*,
+  _N"Given a lisp form containing the magic functions BACKQ-LIST, BACKQ-LIST*,
   BACKQ-APPEND, etc. produced by the backquote reader macro, will return a
   corresponding backquote input form.  In this form, `,' `,@' and `,.' are
   represented by lists whose cars are BACKQ-COMMA, BACKQ-COMMA-AT, and
@@ -250,7 +250,7 @@
    ((atom form)
     (backq-unparse-expr form splicing))
    ((not (null (cdr (last form))))
-    "### illegal dotted backquote form ###")
+    _"### illegal dotted backquote form ###")
    (t
     (case (car form)
       (backq-list
Index: src/code/bignum.lisp
diff -u src/code/bignum.lisp:1.47.12.1 src/code/bignum.lisp:1.47.12.2
--- src/code/bignum.lisp:1.47.12.1	Mon Feb  8 12:15:46 2010
+++ src/code/bignum.lisp	Mon Feb  8 22:43:35 2010
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /project/cmucl/cvsroot/src/code/bignum.lisp,v 1.47.12.1 2010-02-08 17:15:46 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/bignum.lisp,v 1.47.12.2 2010-02-09 03:43:35 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -572,7 +572,7 @@
 ;; This might need some tuning
 (declaim (fixnum *karatsuba-classical-cutoff*))
 (defparameter *karatsuba-classical-cutoff* 10
-  "When the bignum pieces are smaller than this many words, we use the
+  _N"When the bignum pieces are smaller than this many words, we use the
 classical multiplication algorithm instead of recursing all the way
 down to individual words.")
 
@@ -917,7 +917,7 @@
     (%normalize-bignum res len-res)))
 
 (defparameter *min-karatsuba-bits* 512
-  "Use Karatsuba if the bignums have at least this many bits")
+  _N"Use Karatsuba if the bignums have at least this many bits")
 
 (defun multiply-bignums (a b)
   (declare (type bignum-type a b))
@@ -1137,7 +1137,7 @@
 ;;; Could do freelisting someday.
 ;;;
 (defmacro with-bignum-buffers (specs &body body)
-  "WITH-BIGNUM-BUFFERS ({(var size [init])}*) Form*"
+  _N"WITH-BIGNUM-BUFFERS ({(var size [init])}*) Form*"
   (ext:collect ((binds)
 		(inits))
     (dolist (spec specs)
@@ -1387,7 +1387,7 @@
   (declare (type bignum-index len-a len-b) (type bignum-type a))
   (do ((i 0 (1+ i))
        (end (min len-a len-b)))
-      ((= i end) (error "Unexpected zero bignums?"))
+      ((= i end) (error _"Unexpected zero bignums?"))
     (declare (type bignum-index i end))
     (let ((or-digits (%logior (%bignum-ref a i) (%bignum-ref b i))))
       (unless (zerop or-digits)
@@ -1734,7 +1734,7 @@
     (let* ((bignum-len (or bignum-len (%bignum-length bignum)))
 	   (res-len (+ digits bignum-len 1)))
       (when (> res-len maximum-bignum-length)
-	(error "Can't represent result of left shift."))
+	(error _"Can't represent result of left shift."))
       (if (zerop n-bits)
 	  (bignum-ashift-left-digits bignum bignum-len digits)
 	  (bignum-ashift-left-unaligned bignum digits n-bits res-len)))))
@@ -1961,7 +1961,7 @@
 		 (when (> exp max)
 		   (error 'simple-type-error
 			  :datum x
-                          :format-control "Too large to be represented as a ~S:~%  ~S"
+                          :format-control _"Too large to be represented as a ~S:~%  ~S"
 			  :format-arguments (list format x)
                           :expected-type format))
 		 exp)))
Index: src/code/bit-bash.lisp
diff -u src/code/bit-bash.lisp:1.25.12.1 src/code/bit-bash.lisp:1.25.12.2
--- src/code/bit-bash.lisp:1.25.12.1	Mon Feb  8 12:15:46 2010
+++ src/code/bit-bash.lisp	Mon Feb  8 22:43:35 2010
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /project/cmucl/cvsroot/src/code/bit-bash.lisp,v 1.25.12.1 2010-02-08 17:15:46 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/bit-bash.lisp,v 1.25.12.2 2010-02-09 03:43:35 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -25,10 +25,10 @@
 (eval-when (compile load eval)
 
 (defconstant unit-bits vm:word-bits
-  "The number of bits to process at a time.")
+  _N"The number of bits to process at a time.")
 
 (defconstant max-bits (1- (ash 1 vm:word-bits))
-  "The maximum number of bits that can be dealt with during a single call.")
+  _N"The maximum number of bits that can be dealt with during a single call.")
 
 
 (deftype unit ()
@@ -79,7 +79,7 @@
       (:little-endian little-endian))))
 
 (defun shift-towards-start (number count)
-  "Shift NUMBER by COUNT bits, adding zero bits at the ``end'' and removing
+  _N"Shift NUMBER by COUNT bits, adding zero bits at the ``end'' and removing
   bits from the ``start.''  On big-endian machines this is a left-shift and
   on little-endian machines this is a right-shift.  Note: only the low 5/6 bits
   of count are significant."
@@ -93,7 +93,7 @@
 	 (ash number (- count))))))
 
 (defun shift-towards-end (number count)
-  "Shift NUMBER by COUNT bits, adding zero bits at the ``start'' and removing
+  _N"Shift NUMBER by COUNT bits, adding zero bits at the ``start'' and removing
   bits from the ``end.''  On big-endian machines this is a right-shift and
   on little-endian machines this is a left-shift."
   (declare (type unit number) (fixnum count))
@@ -107,20 +107,20 @@
 
 (declaim (inline start-mask end-mask fix-sap-and-offset))
 (defun start-mask (count)
-  "Produce a mask that contains 1's for the COUNT ``start'' bits and 0's for
+  _N"Produce a mask that contains 1's for the COUNT ``start'' bits and 0's for
   the remaining ``end'' bits.  Only the lower 5 bits of COUNT are significant."
   (declare (fixnum count))
   (shift-towards-start (1- (ash 1 unit-bits)) (- count)))
 
 (defun end-mask (count)
-  "Produce a mask that contains 1's for the COUNT ``end'' bits and 0's for
+  _N"Produce a mask that contains 1's for the COUNT ``end'' bits and 0's for
   the remaining ``start'' bits.  Only the lower 5 bits of COUNT are
   significant."
   (declare (fixnum count))
   (shift-towards-end (1- (ash 1 unit-bits)) (- count)))
 
 (defun fix-sap-and-offset (sap offset)
-  "Align the SAP to a word boundry, and update the offset accordingly."
+  _N"Align the SAP to a word boundry, and update the offset accordingly."
   (declare (type system-area-pointer sap)
 	   (type index offset)
 	   (values system-area-pointer index))
@@ -157,7 +157,7 @@
 
 (declaim (inline do-constant-bit-bash))
 (defun do-constant-bit-bash (dst dst-offset length value dst-ref-fn dst-set-fn)
-  "Fill DST with VALUE starting at DST-OFFSET and continuing for LENGTH bits."
+  _N"Fill DST with VALUE starting at DST-OFFSET and continuing for LENGTH bits."
   (declare (type offset dst-offset) (type unit value)
 	   (type function dst-ref-fn dst-set-fn))
   (multiple-value-bind (dst-word-offset dst-bit-offset)
Index: src/code/bsd-os.lisp
diff -u src/code/bsd-os.lisp:1.13.4.1 src/code/bsd-os.lisp:1.13.4.2
--- src/code/bsd-os.lisp:1.13.4.1	Mon Feb  8 12:15:46 2010
+++ src/code/bsd-os.lisp	Mon Feb  8 22:43:35 2010
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /project/cmucl/cvsroot/src/code/bsd-os.lisp,v 1.13.4.1 2010-02-08 17:15:46 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/bsd-os.lisp,v 1.13.4.2 2010-02-09 03:43:35 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -79,7 +79,7 @@
 		       (unix:unix-getrusage unix:rusage_self)
     (declare (ignore maxrss ixrss idrss isrss minflt))
     (unless err?
-      (error "Unix system call getrusage failed: ~A."
+      (error _"Unix system call getrusage failed: ~A."
 	     (unix:get-unix-error-msg utime)))
     
     (values utime stime majflt)))
@@ -93,5 +93,5 @@
   (multiple-value-bind (val err)
       (unix:unix-getpagesize)
     (unless val
-      (error "Getpagesize failed: ~A" (unix:get-unix-error-msg err)))
+      (error _"Getpagesize failed: ~A" (unix:get-unix-error-msg err)))
     val))
Index: src/code/byte-interp.lisp
diff -u src/code/byte-interp.lisp:1.46.12.1 src/code/byte-interp.lisp:1.46.12.2
--- src/code/byte-interp.lisp:1.46.12.1	Mon Feb  8 12:15:46 2010
+++ src/code/byte-interp.lisp	Mon Feb  8 22:43:35 2010
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /project/cmucl/cvsroot/src/code/byte-interp.lisp,v 1.46.12.1 2010-02-08 17:15:46 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/byte-interp.lisp,v 1.46.12.2 2010-02-09 03:43:35 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -191,11 +191,11 @@
 ;;;; The stack.
 
 (defvar *eval-stack* (make-array 100)
-  "This is the interpreter's evaluation stack.")
+  _N"This is the interpreter's evaluation stack.")
 (declaim (type simple-vector *eval-stack*))
 
 (defvar *eval-stack-top* 0
-  "This is the next free element of the interpreter's evaluation stack.")
+  _N"This is the next free element of the interpreter's evaluation stack.")
 (declaim (type index *eval-stack-top*))
 
 (defmacro current-stack-pointer () '*eval-stack-top*)
@@ -450,7 +450,7 @@
 					   `(push-eval-stack ,res))
 				       results)))
 			`(push-eval-stack ,func))))
-	      `(error "Unknown inline function, id=~D" ,base)))
+	      `(error _"Unknown inline function, id=~D" ,base)))
 	`(if (zerop (logand byte ,(ash 1 bit)))
 	     ,(build-dispatch (1- bit) base)
 	     ,(build-dispatch (1- bit) (+ base (ash 1 bit)))))))
@@ -475,7 +475,7 @@
   `(let ((x ,x))
      (unless (boundp x)
        (with-debugger-info (component pc fp)
-	 (error "Unbound variable: ~S" x)))
+	 (error _"Unbound variable: ~S" x)))
      (symbol-value x)))
 
 (defmacro %byte-car (x)
@@ -483,7 +483,7 @@
      (unless (listp x)
        (with-debugger-info (component pc fp)
 	 (error 'simple-type-error :datum x :expected-type 'list
-		:format-control "Non-list argument to CAR: ~S"
+		:format-control _"Non-list argument to CAR: ~S"
 		:format-arguments (list x))))
      (car x)))
 
@@ -492,7 +492,7 @@
      (unless (listp x)
        (with-debugger-info (component pc fp)
 	 (error 'simple-type-error :datum x :expected-type 'list
-		:format-control "Non-list argument to CDR: ~S"
+		:format-control _"Non-list argument to CDR: ~S"
 		:format-arguments (list x))))
      (cdr x)))
 
@@ -589,7 +589,7 @@
 ;;;
 (defun undefined-xop (component old-pc pc fp)
   (declare (ignore component old-pc pc fp))
-  (error "Undefined XOP."))
+  (error _"Undefined XOP."))
 
 ;;; *BYTE-XOPS* -- Simple vector of the XOP functions.
 ;;; 
@@ -1377,7 +1377,7 @@
 	  ((typep xep 'simple-byte-function)
 	   (unless (eql (simple-byte-function-num-args xep) num-args)
 	     (with-debugger-info (old-component ret-pc old-fp)
-	       (simple-program-error "Wrong number of arguments.")))
+	       (simple-program-error _"Wrong number of arguments.")))
 	   (simple-byte-function-entry-point xep))
 	  (t
 	   (let ((min (hairy-byte-function-min-args xep))
@@ -1385,12 +1385,12 @@
 	     (cond
 	      ((< num-args min)
 	       (with-debugger-info (old-component ret-pc old-fp)
-		 (simple-program-error "Not enough arguments.")))
+		 (simple-program-error _"Not enough arguments.")))
 	      ((<= num-args max)
 	       (nth (- num-args min) (hairy-byte-function-entry-points xep)))
 	      ((null (hairy-byte-function-more-args-entry-point xep))
 	       (with-debugger-info (old-component ret-pc old-fp)
-		 (simple-program-error "Too many arguments.")))
+		 (simple-program-error _"Too many arguments.")))
 	      (t
 	       (let* ((more-args-supplied (- num-args max))
 		      (sp (current-stack-pointer))
@@ -1417,7 +1417,7 @@
 		  (t
 		   (unless (evenp more-args-supplied)
 		     (with-debugger-info (old-component ret-pc old-fp)
-		       (simple-program-error "Odd number of keyword arguments.")))
+		       (simple-program-error _"Odd number of keyword arguments.")))
 		   ;;
 		   ;; If there are keyword args we need to leave the
 		   ;; defaulted and supplied-p values where the more args
@@ -1480,7 +1480,7 @@
 					  (incf target))))))))
 		       (when (and bogus-key-p (not allow))
 			 (with-debugger-info (old-component ret-pc old-fp)
-			   (simple-program-error "Unknown keyword: ~S"
+			   (simple-program-error _"Unknown keyword: ~S"
 						 bogus-key))))
 		     (setf (current-stack-pointer) new-sp)))))
 	       (hairy-byte-function-more-args-entry-point xep))))))))
@@ -1515,7 +1515,7 @@
 	      (values-list results))))))
       (t
        ;; ### Function end breakpoint?
-       (error "function-end breakpoints not supported.")))))
+       (error _"function-end breakpoints not supported.")))))
 
 (defun do-local-return (old-component fp num-results)
   (declare (type stack-pointer fp) (type index num-results))
Index: src/code/char.lisp
diff -u src/code/char.lisp:1.18.12.1 src/code/char.lisp:1.18.12.2
--- src/code/char.lisp:1.18.12.1	Mon Feb  8 12:15:47 2010
+++ src/code/char.lisp	Mon Feb  8 22:43:35 2010
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /project/cmucl/cvsroot/src/code/char.lisp,v 1.18.12.1 2010-02-08 17:15:47 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/char.lisp,v 1.18.12.2 2010-02-09 03:43:35 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -47,14 +47,14 @@
 (defconstant char-code-limit
   #-unicode 256
   #+unicode 65536
-  "The upper exclusive bound on values produced by CHAR-CODE.")
+  _N"The upper exclusive bound on values produced by CHAR-CODE.")
 
 (deftype char-code ()
   `(integer 0 (,char-code-limit)))
 
 (defconstant codepoint-limit
   #x110000
-  "The upper exclusive bound on the value of a Unicode codepoint")
+  _N"The upper exclusive bound on the value of a Unicode codepoint")
 
 ;;; The range of a Unicode code point
 (deftype codepoint ()
@@ -69,7 +69,7 @@
 		   (dolist (name names)
 		     (results (cons name (code-char ccode))))))
 	       `(defparameter char-name-alist ',(results)
-  "This is the alist of (character-name . character) for characters with
+  _N"This is the alist of (character-name . character) for characters with
   long names.  The first name in this list for a given character is used
   on typeout and is the preferred form for input."))))
   ;; Note: the char-name listed here should be what string-capitalize
@@ -114,25 +114,25 @@
 ;;;; Accessor functions:
 
 (defun char-code (char)
-  "Returns the integer code of CHAR."
+  _N"Returns the integer code of CHAR."
   (etypecase char
     (base-char (char-code (truly-the base-char char)))))
 
 
 (defun char-int (char)
-  "Returns the integer code of CHAR.  This is the same as char-code, as
+  _N"Returns the integer code of CHAR.  This is the same as char-code, as
    CMU Common Lisp does not implement character bits or fonts."
   (char-code char))
 
 
 (defun code-char (code)
-  "Returns the character with the code CODE."
+  _N"Returns the character with the code CODE."
   (declare (type char-code code))
   (code-char code))
 
 
 (defun character (object)
-  "Coerces its argument into a character object if possible.  Accepts
+  _N"Coerces its argument into a character object if possible.  Accepts
   characters, strings and symbols of length 1."
   (flet ((do-error (control args)
 	   (error 'simple-type-error
@@ -146,16 +146,16 @@
       (string (if (= 1 (length (the string object)))
 		  (char object 0)
 		  (do-error
-		   "String is not of length one: ~S" (list object))))
+		   _"String is not of length one: ~S" (list object))))
       (symbol (if (= 1 (length (symbol-name object)))
 		  (schar (symbol-name object) 0)
 		  (do-error
-		   "Symbol name is not of length one: ~S" (list object))))
-      (t (do-error "~S cannot be coerced to a character." (list object))))))
+		   _"Symbol name is not of length one: ~S" (list object))))
+      (t (do-error _"~S cannot be coerced to a character." (list object))))))
 
 
 (defun char-name (char)
-  "Given a character object, char-name returns the name for that
+  _N"Given a character object, char-name returns the name for that
   object (a symbol)."
   (let ((name (car (rassoc char char-name-alist))))
     (if name
@@ -171,7 +171,7 @@
 	      (format nil "U+~4,'0X" code))))))
 
 (defun name-char (name)
-  "Given an argument acceptable to string, name-char returns a character
+  _N"Given an argument acceptable to string, name-char returns a character
   object whose name is that symbol, if one exists, otherwise NIL."
   (if (and (stringp name) (> (length name) 2) (string-equal name "U+" :end1 2))
       (code-char (parse-integer name :radix 16 :start 1))
@@ -188,7 +188,7 @@
 ;;;; Predicates:
 
 (defun standard-char-p (char)
-  "The argument must be a character object.  Standard-char-p returns T if the
+  _N"The argument must be a character object.  Standard-char-p returns T if the
    argument is a standard character -- one of the 95 ASCII printing characters
    or <return>."
   (declare (character char))
@@ -198,12 +198,12 @@
 	     (= n 10)))))
 
 (defun %standard-char-p (thing)
-  "Return T if and only if THING is a standard-char.  Differs from
+  _N"Return T if and only if THING is a standard-char.  Differs from
   standard-char-p in that THING doesn't have to be a character."
   (and (characterp thing) (standard-char-p thing)))
 
 (defun graphic-char-p (char)
-  "The argument must be a character object.  Graphic-char-p returns T if the
+  _N"The argument must be a character object.  Graphic-char-p returns T if the
   argument is a printing character, otherwise returns NIL."
   (declare (character char))
   (and (typep char 'base-char)
@@ -215,7 +215,7 @@
 
 
 (defun alpha-char-p (char)
-  "The argument must be a character object.  Alpha-char-p returns T if the
+  _N"The argument must be a character object.  Alpha-char-p returns T if the
   argument is an alphabetic character; otherwise NIL."
   (declare (character char))
   (let ((m (char-code char)))
@@ -227,7 +227,7 @@
 
 
 (defun upper-case-p (char)
-  "The argument must be a character object; upper-case-p returns T if the
+  _N"The argument must be a character object; upper-case-p returns T if the
   argument is an upper-case character, NIL otherwise."
   (declare (character char))
   (let ((m (char-code char)))
@@ -238,7 +238,7 @@
 
 
 (defun lower-case-p (char)
-  "The argument must be a character object; lower-case-p returns T if the 
+  _N"The argument must be a character object; lower-case-p returns T if the 
   argument is a lower-case character, NIL otherwise."
   (declare (character char))
   (let ((m (char-code char)))
@@ -248,7 +248,7 @@
 	     (= (unicode-category m) +unicode-category-lower+)))))
 
 (defun title-case-p (char)
-  "The argument must be a character object; title-case-p returns T if the
+  _N"The argument must be a character object; title-case-p returns T if the
   argument is a title-case character, NIL otherwise."
   (declare (character char))
   (let ((m (char-code char)))
@@ -259,7 +259,7 @@
 
 
 (defun both-case-p (char)
-  "The argument must be a character object.  Both-case-p returns T if the
+  _N"The argument must be a character object.  Both-case-p returns T if the
   argument is an alphabetic character and if the character exists in
   both upper and lower case.  For ASCII, this is the same as Alpha-char-p."
   (declare (character char))
@@ -273,7 +273,7 @@
 
 
 (defun digit-char-p (char &optional (radix 10.))
-  "If char is a digit in the specified radix, returns the fixnum for
+  _N"If char is a digit in the specified radix, returns the fixnum for
   which that digit stands, else returns NIL.  Radix defaults to 10
   (decimal)."
   (declare (character char) (type (integer 2 36) radix))
@@ -293,7 +293,7 @@
 
 
 (defun alphanumericp (char)
-  "Given a character-object argument, alphanumericp returns T if the
+  _N"Given a character-object argument, alphanumericp returns T if the
   argument is either numeric or alphabetic."
   (declare (character char))
   (let ((m (char-code char)))
@@ -306,14 +306,14 @@
 
 
 (defun char= (character &rest more-characters)
-  "Returns T if all of its arguments are the same character."
+  _N"Returns T if all of its arguments are the same character."
   (do ((clist more-characters (cdr clist)))
       ((atom clist) T)
     (unless (eq (car clist) character) (return nil))))
 
 
 (defun char/= (character &rest more-characters)
-  "Returns T if no two of its arguments are the same character."
+  _N"Returns T if no two of its arguments are the same character."
   (do* ((head character (car list))
 	(list more-characters (cdr list)))
        ((atom list) T)
@@ -324,7 +324,7 @@
 
 
 (defun char< (character &rest more-characters)
-  "Returns T if its arguments are in strictly increasing alphabetic order."
+  _N"Returns T if its arguments are in strictly increasing alphabetic order."
   (do* ((c character (car list))
 	(list more-characters (cdr list)))
        ((atom list) T)
@@ -334,7 +334,7 @@
 
 
 (defun char> (character &rest more-characters)
-  "Returns T if its arguments are in strictly decreasing alphabetic order."
+  _N"Returns T if its arguments are in strictly decreasing alphabetic order."
   (do* ((c character (car list))
 	(list more-characters (cdr list)))
        ((atom list) T)
@@ -344,7 +344,7 @@
 
 
 (defun char<= (character &rest more-characters)
-  "Returns T if its arguments are in strictly non-decreasing alphabetic order."
+  _N"Returns T if its arguments are in strictly non-decreasing alphabetic order."
   (do* ((c character (car list))
 	(list more-characters (cdr list)))
        ((atom list) T)
@@ -354,7 +354,7 @@
 
 
 (defun char>= (character &rest more-characters)
-  "Returns T if its arguments are in strictly non-increasing alphabetic order."
+  _N"Returns T if its arguments are in strictly non-increasing alphabetic order."
   (do* ((c character (car list))
 	(list more-characters (cdr list)))
        ((atom list) T)
@@ -379,7 +379,7 @@
 
 
 (defun char-equal (character &rest more-characters)
-  "Returns T if all of its arguments are the same character.
+  _N"Returns T if all of its arguments are the same character.
    Case is ignored."
   (do ((clist more-characters (cdr clist)))
       ((atom clist) T)
@@ -389,7 +389,7 @@
 
 
 (defun char-not-equal (character &rest more-characters)
-  "Returns T if no two of its arguments are the same character.
+  _N"Returns T if no two of its arguments are the same character.
    Case is ignored."
   (do* ((head character (car list))
 	(list more-characters (cdr list)))
@@ -403,7 +403,7 @@
 
 
 (defun char-lessp (character &rest more-characters)
-  "Returns T if its arguments are in strictly increasing alphabetic order.
+  _N"Returns T if its arguments are in strictly increasing alphabetic order.
    Case is ignored."
   (do* ((c character (car list))
 	(list more-characters (cdr list)))
@@ -414,7 +414,7 @@
 
 
 (defun char-greaterp (character &rest more-characters)
-  "Returns T if its arguments are in strictly decreasing alphabetic order.
+  _N"Returns T if its arguments are in strictly decreasing alphabetic order.
    Case is ignored."
   (do* ((c character (car list))
 	(list more-characters (cdr list)))
@@ -425,7 +425,7 @@
 
 
 (defun char-not-greaterp (character &rest more-characters)
-  "Returns T if its arguments are in strictly non-decreasing alphabetic order.
+  _N"Returns T if its arguments are in strictly non-decreasing alphabetic order.
    Case is ignored."
   (do* ((c character (car list))
 	(list more-characters (cdr list)))
@@ -436,7 +436,7 @@
 
 
 (defun char-not-lessp (character &rest more-characters)
-  "Returns T if its arguments are in strictly non-increasing alphabetic order.
+  _N"Returns T if its arguments are in strictly non-increasing alphabetic order.
    Case is ignored."
   (do* ((c character (car list))
 	(list more-characters (cdr list)))
@@ -451,7 +451,7 @@
 ;;;; Miscellaneous functions:
 
 (defun char-upcase (char)
-  "Returns CHAR converted to upper-case if that is possible."
+  _N"Returns CHAR converted to upper-case if that is possible."
   (declare (character char))
   #-(and unicode (not unicode-bootstrap))
   (if (lower-case-p char)
@@ -464,7 +464,7 @@
 	  (t char))))
 
 (defun char-titlecase (char)
-  "Returns CHAR converted to title-case if that is possible."
+  _N"Returns CHAR converted to title-case if that is possible."
   (declare (character char))
   #-(and unicode (not unicode-bootstrap))
   (if (lower-case-p char)
@@ -477,7 +477,7 @@
 	  (t char))))
 
 (defun char-downcase (char)
-  "Returns CHAR converted to lower-case if that is possible."
+  _N"Returns CHAR converted to lower-case if that is possible."
   (declare (character char))
   #-(and unicode (not unicode-bootstrap))
   (if (upper-case-p char)
@@ -490,7 +490,7 @@
 	  (t char))))
 
 (defun digit-char (weight &optional (radix 10))
-  "All arguments must be integers.  Returns a character object that
+  _N"All arguments must be integers.  Returns a character object that
   represents a digit of the given weight in the specified radix.  Returns
   NIL if no such character exists."
   (declare (type (integer 2 36) radix) (type unsigned-byte weight))
Index: src/i18n/locale/cmucl.pot
diff -u src/i18n/locale/cmucl.pot:1.1.2.2 src/i18n/locale/cmucl.pot:1.1.2.3
--- src/i18n/locale/cmucl.pot:1.1.2.2	Mon Feb  8 21:44:51 2010
+++ src/i18n/locale/cmucl.pot	Mon Feb  8 22:43:35 2010
@@ -73,6 +73,406 @@
 msgid "_@ is a reserved reader macro prefix."
 msgstr ""
 
+#: target:code/alieneval.lisp
+msgid "No alien type class ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "No method ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Parse the list structure TYPE as an alien type specifier and return\n"
+"   the resultant alien-type structure."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown alien type: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "No translator for primitive alien type ~S?"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Definition missing for alien type ~S?"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Attempt to multiple define ~A ~S."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Attempt to shadow definition of ~A ~S."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Convert the alien-type structure TYPE back into a list specification of\n"
+"   the type."
+msgstr ""
+
+#: target:compiler/x86/c-call.lisp target:code/alieneval.lisp
+msgid "Method ~S not defined for ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Define the alien type NAME to be equivalent to TYPE.  Name may be NIL for\n"
+"   STRUCT and UNION types, in which case the name is taken from the type\n"
+"   specifier."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Redefining ~A ~S to be:~%  ~S,~%was:~%  ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S is a built-in alien type."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Redefining ~S to be:~%  ~S,~%was~%  ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Return T iff TYPE1 and TYPE2 describe equivalent alien types."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Return T iff the alien type TYPE1 is a subtype of TYPE2.  Currently, the\n"
+"   only supported subtype relationships are that any pointer type is a\n"
+"   subtype of (* t), and any array type's first dimension will match \n"
+"   (array <eltype> nil ...).  Otherwise, the two types have to be\n"
+"   ALIEN-TYPE-=."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Return T iff OBJECT is an alien of type TYPE."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot represent ~S typed aliens."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot pass aliens of type ~S as arguments to call-out"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot return aliens of type ~S from call-out"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot extract ~D bit integers."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Redefining alien enum ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown enum type: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Empty enum type: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "An enumeration must contain at least one element."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Enumeration element ~S is not a keyword."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Element value ~S is not an integer."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Element value ~S used more than once."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Enumeration element ~S used more than once."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Can't represent enums needing more than 32 bits."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot deposit aliens of type ~S (unknown size)."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "First dimension is not a non-negative fixnum or NIL: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Dimension is not a non-negative fixnum: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown size: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown alignment: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "A hash table used to detect cycles while comparing record types."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Test if TYPE1 and TYPE2 are in the *MATCH-HISTORY*.\n"
+"If so return true; otherwise call ALTERNATIVE."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot use values types here."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Badly formed alien name."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Define NAME as an external alien variable of type TYPE.  NAME should be\n"
+"   a list of a string holding the alien name and a symbol to use as the "
+"Lisp\n"
+"   name.  If NAME is just a symbol or string, then the other name is "
+"guessed\n"
+"   from the one supplied."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Access the alien variable named NAME, assuming it is of type TYPE.  This\n"
+"   is SETFable."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Establish some local alien variables.  Each BINDING is of the form:\n"
+"     VAR TYPE [ ALLOCATION ] [ INITIAL-VALUE | EXTERNAL-NAME ]\n"
+"   ALLOCATION should be one of:\n"
+"     :LOCAL (the default)\n"
+"       The alien is allocated on the stack, and has dynamic extent.\n"
+"     :STATIC\n"
+"       The alien is allocated on the heap, and has infinate extent.  The "
+"alien\n"
+"       is allocated at load time, so the same piece of memory is used each "
+"time\n"
+"       this form executes.\n"
+"     :EXTERN\n"
+"       No alien is allocated, but VAR is established as a local name for\n"
+"       the external alien given by EXTERNAL-NAME."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Return true if X (which must be an Alien pointer) is null, false otherwise."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Convert the System-Area-Pointer SAP to an Alien of the specified Type (not\n"
+"   evaluated.)  Type must be pointer-like."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot make aliens of type ~S out of SAPs"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Return a System-Area-Pointer pointing to Alien's data."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Allocate an alien of type TYPE and return an alien pointer to it.  If SIZE\n"
+"   is supplied, how it is interpreted depends on TYPE.  If TYPE is an array\n"
+"   type, SIZE is used as the first dimension for the allocated array.  If "
+"TYPE\n"
+"   is not an array, then SIZE is the number of elements to allocate.  The\n"
+"   memory is allocated using ``malloc'', so it can be passed to foreign\n"
+"   functions which use ``free''."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Size of ~S unknown."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Alignment of ~S unknown."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot override the size of zero-dimensional arrays."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Dispose of the storage pointed to by ALIEN.  ALIEN must have been allocated\n"
+"   by MAKE-ALIEN or ``malloc''."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "No slot named ~S in ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Extract SLOT from the Alien STRUCT or UNION ALIEN.  May be set with SETF."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Incorrect number of indices when derefing ~S: ~D"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"De-reference an Alien pointer or array.  If an array, the indices are used\n"
+"   as the indices of the array element to access.  If a pointer, one index "
+"can\n"
+"   optionally be specified, giving the equivalent of C pointer arithmetic."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Something is wrong; local-alien-info not found: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S isn't forced to memory.  Something went wrong."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Return an Alien pointer to the data addressed by Expr, which must be a call\n"
+"   to SLOT or DEREF, or a reference to an Alien variable."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S is not a valid L-value"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Something is wrong, local-alien-info not found: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Convert ALIEN to an Alien of the specified TYPE (not evaluated).  Both "
+"types\n"
+"   must be Alien array, pointer or function types."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S cannot be cast."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot cast to alien type ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Return the size of the alien type TYPE.  UNITS specifies the units to\n"
+"   use and can be either :BITS, :BYTES, or :WORDS."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown size for alien type ~S."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Call the foreign function ALIEN with the specified arguments.  ALIEN's\n"
+"   type specifies the argument and result types."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Wrong number of arguments for ~S~%Expected ~D, got ~D."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S is not an alien function."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Def-Alien-Routine Name Result-Type\n"
+"                    {(Arg-Name Arg-Type [Style])}*\n"
+"\n"
+"  Define a foreign interface function for the routine with the specified "
+"Name,\n"
+"  which may be either a string, symbol or list of the form (string symbol).\n"
+"  Return-Type is the Alien type for the function return value.  VOID may be\n"
+"  used to specify a function with no result.\n"
+"\n"
+"  The remaining forms specify individual arguments that are passed to the\n"
+"  routine.  Arg-Name is a symbol that names the argument, primarily for\n"
+"  documentation.  Arg-Type is the C-Type of the argument.  Style specifies "
+"the\n"
+"  way that the argument is passed.\n"
+"\n"
+"  :IN\n"
+"        An :In argument is simply passed by value.  The value to be passed "
+"is\n"
+"        obtained from argument(s) to the interface function.  No values are\n"
+"        returned for :In arguments.  This is the default mode.\n"
+"\n"
+"  :OUT\n"
+"        The specified argument type must be a pointer to a fixed sized "
+"object.\n"
+"        A pointer to a preallocated object is passed to the routine, and "
+"the\n"
+"        the object is accessed on return, with the value being returned "
+"from\n"
+"        the interface function.  :OUT and :IN-OUT cannot be used with "
+"pointers\n"
+"        to arrays, records or functions.\n"
+"\n"
+"  :COPY\n"
+"        Similar to :IN, except that the argument values are stored in on\n"
+"        the stack, and a pointer to the object is passed instead of\n"
+"        the values themselves.\n"
+"\n"
+"  :IN-OUT\n"
+"        A combination of :OUT and :COPY.  A pointer to the argument is "
+"passed,\n"
+"        with the object being initialized from the supplied argument and\n"
+"        the return value being determined by accessing the object on "
+"return."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Bogus argument style ~S in ~S."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Can't use :out or :in-out on pointer-like type:~%  ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"A callback consists of a piece assembly code -- the trampoline --\n"
+"and a lisp function.  We store the function type (including return\n"
+"type and arg types), so we can detect incompatible redefinitions."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Vector of all callbacks."
+msgstr ""
+
 #: target:pcl/simple-streams/string.lisp target:compiler/tn.lisp
 #: target:compiler/main.lisp target:code/describe.lisp
 #: target:code/debug-int.lisp target:code/debug-info.lisp
@@ -82,6 +482,151 @@
 msgid "~S is not an array with a fill-pointer."
 msgstr ""
 
+#: target:code/alieneval.lisp
+msgid "Unable to mprotect ~S bytes (~S) at ~S (~S).  Callbacks may not work."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Return the trampoline pointer for the callback NAME."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"~\n"
+"Attempt to redefine callback with incompatible return type.\n"
+"   Old type was: ~A \n"
+"    New type is: ~A"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~\n"
+"Create new trampoline (old trampoline calls old lisp function)."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unsupported argument type: ~A"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unsupported return type: ~A"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"(defcallback NAME (RETURN-TYPE {(ARG-NAME ARG-TYPE)}*)\n"
+"     {doc-string} {decls}* {FORM}*)\n"
+"\n"
+"Define a function which can be called by foreign code.  The pointer\n"
+"returned by (callback NAME), when called by foreign code, invokes the\n"
+"lisp function.  The lisp function expects alien arguments of the\n"
+"specified ARG-TYPEs and returns an alien of type RETURN-TYPE.\n"
+"\n"
+"If (callback NAME) is already a callback function pointer, its value\n"
+"is not changed (though it's arranged that an updated version of the\n"
+"lisp callback function will be called).  This feature allows for\n"
+"incremental redefinition of callback functions."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid "The number of bits to process at a time."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"The maximum number of bits that can be dealt with during a single call."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Shift NUMBER by COUNT bits, adding zero bits at the ``end'' and removing\n"
+"  bits from the ``start.''  On big-endian machines this is a left-shift and\n"
+"  on little-endian machines this is a right-shift.  Note: only the low 5/6 "
+"bits\n"
+"  of count are significant."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Shift NUMBER by COUNT bits, adding zero bits at the ``start'' and removing\n"
+"  bits from the ``end.''  On big-endian machines this is a right-shift and\n"
+"  on little-endian machines this is a left-shift."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Produce a mask that contains 1's for the COUNT ``start'' bits and 0's for\n"
+"  the remaining ``end'' bits.  Only the lower 5 bits of COUNT are significan"
+"t."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Produce a mask that contains 1's for the COUNT ``end'' bits and 0's for\n"
+"  the remaining ``start'' bits.  Only the lower 5 bits of COUNT are\n"
+"  significant."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid "Align the SAP to a word boundry, and update the offset accordingly."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Fill DST with VALUE starting at DST-OFFSET and continuing for LENGTH bits."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "This is the interpreter's evaluation stack."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "This is the next free element of the interpreter's evaluation stack."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Undefined XOP."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Unbound variable: ~S"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Non-list argument to CAR: ~S"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Non-list argument to CDR: ~S"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Unknown inline function, id=~D"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Wrong number of arguments."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Not enough arguments."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Too many arguments."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Odd number of keyword arguments."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Unknown keyword: ~S"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "function-end breakpoints not supported."
+msgstr ""
+
 #: target:code/array.lisp
 msgid "The exclusive upper bound on the rank of an array."
 msgstr ""
@@ -440,6 +985,247 @@
 "  created.  Both arrays must have the same rank and dimensions."
 msgstr ""
 
+#: target:code/bsd-os.lisp
+msgid "Unix system call getrusage failed: ~A."
+msgstr ""
+
+#: target:code/bsd-os.lisp
+msgid "Getpagesize failed: ~A"
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid ""
+"When the bignum pieces are smaller than this many words, we use the\n"
+"classical multiplication algorithm instead of recursing all the way\n"
+"down to individual words."
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "Use Karatsuba if the bignums have at least this many bits"
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "WITH-BIGNUM-BUFFERS ({(var size [init])}*) Form*"
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "Unexpected zero bignums?"
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "Can't represent result of left shift."
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "Too large to be represented as a ~S:~%  ~S"
+msgstr ""
+
+#: target:code/char.lisp
+msgid "The upper exclusive bound on values produced by CHAR-CODE."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "The upper exclusive bound on the value of a Unicode codepoint"
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"This is the alist of (character-name . character) for characters with\n"
+"  long names.  The first name in this list for a given character is used\n"
+"  on typeout and is the preferred form for input."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns the integer code of CHAR."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns the integer code of CHAR.  This is the same as char-code, as\n"
+"   CMU Common Lisp does not implement character bits or fonts."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns the character with the code CODE."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Coerces its argument into a character object if possible.  Accepts\n"
+"  characters, strings and symbols of length 1."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "String is not of length one: ~S"
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Symbol name is not of length one: ~S"
+msgstr ""
+
+#: target:code/char.lisp
+msgid "~S cannot be coerced to a character."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Given a character object, char-name returns the name for that\n"
+"  object (a symbol)."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Given an argument acceptable to string, name-char returns a character\n"
+"  object whose name is that symbol, if one exists, otherwise NIL."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object.  Standard-char-p returns T if the\n"
+"   argument is a standard character -- one of the 95 ASCII printing characte"
+"rs\n"
+"   or <return>."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Return T if and only if THING is a standard-char.  Differs from\n"
+"  standard-char-p in that THING doesn't have to be a character."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object.  Graphic-char-p returns T if the\n"
+"  argument is a printing character, otherwise returns NIL."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object.  Alpha-char-p returns T if the\n"
+"  argument is an alphabetic character; otherwise NIL."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object; upper-case-p returns T if the\n"
+"  argument is an upper-case character, NIL otherwise."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object; lower-case-p returns T if the \n"
+"  argument is a lower-case character, NIL otherwise."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object; title-case-p returns T if the\n"
+"  argument is a title-case character, NIL otherwise."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object.  Both-case-p returns T if the\n"
+"  argument is an alphabetic character and if the character exists in\n"
+"  both upper and lower case.  For ASCII, this is the same as Alpha-char-p."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"If char is a digit in the specified radix, returns the fixnum for\n"
+"  which that digit stands, else returns NIL.  Radix defaults to 10\n"
+"  (decimal)."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Given a character-object argument, alphanumericp returns T if the\n"
+"  argument is either numeric or alphabetic."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns T if all of its arguments are the same character."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns T if no two of its arguments are the same character."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly increasing alphabetic order."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly decreasing alphabetic order."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly non-decreasing alphabetic order."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly non-increasing alphabetic order."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if all of its arguments are the same character.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if no two of its arguments are the same character.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly increasing alphabetic order.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly decreasing alphabetic order.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly non-decreasing alphabetic order.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly non-increasing alphabetic order.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns CHAR converted to upper-case if that is possible."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns CHAR converted to title-case if that is possible."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns CHAR converted to lower-case if that is possible."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"All arguments must be integers.  Returns a character object that\n"
+"  represents a digit of the given weight in the specified radix.  Returns\n"
+"  NIL if no such character exists."
+msgstr ""
+
 #: target:code/gc.lisp
 msgid "Oh no.  The current dynamic space is missing!"
 msgstr ""
@@ -612,6 +1398,47 @@
 "  generation.  See the gencgc source code for more info."
 msgstr ""
 
+#: target:code/backq.lisp
+msgid "How deep we are into backquotes"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ",@ after backquote in ~S"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ",. after backquote in ~S"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid "Comma not inside a backquote."
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ",@ after dot in ~S"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ",. after dot in ~S"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ""
+"Given a lisp form containing the magic functions BACKQ-LIST, BACKQ-LIST*,\n"
+"  BACKQ-APPEND, etc. produced by the backquote reader macro, will return a\n"
+"  corresponding backquote input form.  In this form, `,' `,@' and `,.' are\n"
+"  represented by lists whose cars are BACKQ-COMMA, BACKQ-COMMA-AT, and\n"
+"  BACKQ-COMMA-DOT respectively, and whose cadrs are the form after the "
+"comma.\n"
+"  SPLICING indicates whether a comma-escape return should be modified for\n"
+"  splicing with other forms: a value of T or :NCONC meaning that an extra\n"
+"  level of parentheses should be added."
+msgstr ""
+
+#: target:code/backq.lisp
+msgid "### illegal dotted backquote form ###"
+msgstr ""
+
 #: target:code/describe.lisp
 msgid "Depth of recursive descriptions allowed."
 msgstr ""
Index: src/i18n/locale/ko/LC_MESSAGES/cmucl.po
diff -u src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.2 src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.3
--- src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.2	Mon Feb  8 21:49:15 2010
+++ src/i18n/locale/ko/LC_MESSAGES/cmucl.po	Mon Feb  8 22:43:36 2010
@@ -72,6 +72,405 @@
 msgid "_@ is a reserved reader macro prefix."
 msgstr ""
 
+#: target:code/alieneval.lisp
+msgid "No alien type class ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "No method ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Parse the list structure TYPE as an alien type specifier and return\n"
+"   the resultant alien-type structure."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown alien type: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "No translator for primitive alien type ~S?"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Definition missing for alien type ~S?"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Attempt to multiple define ~A ~S."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Attempt to shadow definition of ~A ~S."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Convert the alien-type structure TYPE back into a list specification of\n"
+"   the type."
+msgstr ""
+
+#: target:compiler/x86/c-call.lisp target:code/alieneval.lisp
+msgid "Method ~S not defined for ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Define the alien type NAME to be equivalent to TYPE.  Name may be NIL for\n"
+"   STRUCT and UNION types, in which case the name is taken from the type\n"
+"   specifier."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Redefining ~A ~S to be:~%  ~S,~%was:~%  ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S is a built-in alien type."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Redefining ~S to be:~%  ~S,~%was~%  ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Return T iff TYPE1 and TYPE2 describe equivalent alien types."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Return T iff the alien type TYPE1 is a subtype of TYPE2.  Currently, the\n"
+"   only supported subtype relationships are that any pointer type is a\n"
+"   subtype of (* t), and any array type's first dimension will match \n"
+"   (array <eltype> nil ...).  Otherwise, the two types have to be\n"
+"   ALIEN-TYPE-=."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Return T iff OBJECT is an alien of type TYPE."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot represent ~S typed aliens."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot pass aliens of type ~S as arguments to call-out"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot return aliens of type ~S from call-out"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot extract ~D bit integers."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Redefining alien enum ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown enum type: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Empty enum type: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "An enumeration must contain at least one element."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Enumeration element ~S is not a keyword."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Element value ~S is not an integer."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Element value ~S used more than once."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Enumeration element ~S used more than once."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Can't represent enums needing more than 32 bits."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot deposit aliens of type ~S (unknown size)."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "First dimension is not a non-negative fixnum or NIL: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Dimension is not a non-negative fixnum: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown size: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown alignment: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "A hash table used to detect cycles while comparing record types."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Test if TYPE1 and TYPE2 are in the *MATCH-HISTORY*.\n"
+"If so return true; otherwise call ALTERNATIVE."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot use values types here."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Badly formed alien name."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Define NAME as an external alien variable of type TYPE.  NAME should be\n"
+"   a list of a string holding the alien name and a symbol to use as the "
+"Lisp\n"
+"   name.  If NAME is just a symbol or string, then the other name is "
+"guessed\n"
+"   from the one supplied."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Access the alien variable named NAME, assuming it is of type TYPE.  This\n"
+"   is SETFable."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Establish some local alien variables.  Each BINDING is of the form:\n"
+"     VAR TYPE [ ALLOCATION ] [ INITIAL-VALUE | EXTERNAL-NAME ]\n"
+"   ALLOCATION should be one of:\n"
+"     :LOCAL (the default)\n"
+"       The alien is allocated on the stack, and has dynamic extent.\n"
+"     :STATIC\n"
+"       The alien is allocated on the heap, and has infinate extent.  The "
+"alien\n"
+"       is allocated at load time, so the same piece of memory is used each "
+"time\n"
+"       this form executes.\n"
+"     :EXTERN\n"
+"       No alien is allocated, but VAR is established as a local name for\n"
+"       the external alien given by EXTERNAL-NAME."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Return true if X (which must be an Alien pointer) is null, false otherwise."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Convert the System-Area-Pointer SAP to an Alien of the specified Type (not\n"
+"   evaluated.)  Type must be pointer-like."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot make aliens of type ~S out of SAPs"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Return a System-Area-Pointer pointing to Alien's data."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Allocate an alien of type TYPE and return an alien pointer to it.  If SIZE\n"
+"   is supplied, how it is interpreted depends on TYPE.  If TYPE is an array\n"
+"   type, SIZE is used as the first dimension for the allocated array.  If "
+"TYPE\n"
+"   is not an array, then SIZE is the number of elements to allocate.  The\n"
+"   memory is allocated using ``malloc'', so it can be passed to foreign\n"
+"   functions which use ``free''."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Size of ~S unknown."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Alignment of ~S unknown."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot override the size of zero-dimensional arrays."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Dispose of the storage pointed to by ALIEN.  ALIEN must have been allocated\n"
+"   by MAKE-ALIEN or ``malloc''."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "No slot named ~S in ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Extract SLOT from the Alien STRUCT or UNION ALIEN.  May be set with SETF."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Incorrect number of indices when derefing ~S: ~D"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"De-reference an Alien pointer or array.  If an array, the indices are used\n"
+"   as the indices of the array element to access.  If a pointer, one index "
+"can\n"
+"   optionally be specified, giving the equivalent of C pointer arithmetic."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Something is wrong; local-alien-info not found: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S isn't forced to memory.  Something went wrong."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Return an Alien pointer to the data addressed by Expr, which must be a call\n"
+"   to SLOT or DEREF, or a reference to an Alien variable."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S is not a valid L-value"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Something is wrong, local-alien-info not found: ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Convert ALIEN to an Alien of the specified TYPE (not evaluated).  Both "
+"types\n"
+"   must be Alien array, pointer or function types."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S cannot be cast."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Cannot cast to alien type ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Return the size of the alien type TYPE.  UNITS specifies the units to\n"
+"   use and can be either :BITS, :BYTES, or :WORDS."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unknown size for alien type ~S."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Call the foreign function ALIEN with the specified arguments.  ALIEN's\n"
+"   type specifies the argument and result types."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Wrong number of arguments for ~S~%Expected ~D, got ~D."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "~S is not an alien function."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"Def-Alien-Routine Name Result-Type\n"
+"                    {(Arg-Name Arg-Type [Style])}*\n"
+"\n"
+"  Define a foreign interface function for the routine with the specified "
+"Name,\n"
+"  which may be either a string, symbol or list of the form (string symbol).\n"
+"  Return-Type is the Alien type for the function return value.  VOID may be\n"
+"  used to specify a function with no result.\n"
+"\n"
+"  The remaining forms specify individual arguments that are passed to the\n"
+"  routine.  Arg-Name is a symbol that names the argument, primarily for\n"
+"  documentation.  Arg-Type is the C-Type of the argument.  Style specifies "
+"the\n"
+"  way that the argument is passed.\n"
+"\n"
+"  :IN\n"
+"        An :In argument is simply passed by value.  The value to be passed "
+"is\n"
+"        obtained from argument(s) to the interface function.  No values are\n"
+"        returned for :In arguments.  This is the default mode.\n"
+"\n"
+"  :OUT\n"
+"        The specified argument type must be a pointer to a fixed sized "
+"object.\n"
+"        A pointer to a preallocated object is passed to the routine, and "
+"the\n"
+"        the object is accessed on return, with the value being returned "
+"from\n"
+"        the interface function.  :OUT and :IN-OUT cannot be used with "
+"pointers\n"
+"        to arrays, records or functions.\n"
+"\n"
+"  :COPY\n"
+"        Similar to :IN, except that the argument values are stored in on\n"
+"        the stack, and a pointer to the object is passed instead of\n"
+"        the values themselves.\n"
+"\n"
+"  :IN-OUT\n"
+"        A combination of :OUT and :COPY.  A pointer to the argument is "
+"passed,\n"
+"        with the object being initialized from the supplied argument and\n"
+"        the return value being determined by accessing the object on return."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Bogus argument style ~S in ~S."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Can't use :out or :in-out on pointer-like type:~%  ~S"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"A callback consists of a piece assembly code -- the trampoline --\n"
+"and a lisp function.  We store the function type (including return\n"
+"type and arg types), so we can detect incompatible redefinitions."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Vector of all callbacks."
+msgstr ""
+
 #: target:pcl/simple-streams/string.lisp target:compiler/tn.lisp
 #: target:compiler/main.lisp target:code/describe.lisp
 #: target:code/debug-int.lisp target:code/debug-info.lisp
@@ -81,6 +480,151 @@
 msgid "~S is not an array with a fill-pointer."
 msgstr ""
 
+#: target:code/alieneval.lisp
+msgid "Unable to mprotect ~S bytes (~S) at ~S (~S).  Callbacks may not work."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Return the trampoline pointer for the callback NAME."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"~\n"
+"Attempt to redefine callback with incompatible return type.\n"
+"   Old type was: ~A \n"
+"    New type is: ~A"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"~\n"
+"Create new trampoline (old trampoline calls old lisp function)."
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unsupported argument type: ~A"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid "Unsupported return type: ~A"
+msgstr ""
+
+#: target:code/alieneval.lisp
+msgid ""
+"(defcallback NAME (RETURN-TYPE {(ARG-NAME ARG-TYPE)}*)\n"
+"     {doc-string} {decls}* {FORM}*)\n"
+"\n"
+"Define a function which can be called by foreign code.  The pointer\n"
+"returned by (callback NAME), when called by foreign code, invokes the\n"
+"lisp function.  The lisp function expects alien arguments of the\n"
+"specified ARG-TYPEs and returns an alien of type RETURN-TYPE.\n"
+"\n"
+"If (callback NAME) is already a callback function pointer, its value\n"
+"is not changed (though it's arranged that an updated version of the\n"
+"lisp callback function will be called).  This feature allows for\n"
+"incremental redefinition of callback functions."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid "The number of bits to process at a time."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid "The maximum number of bits that can be dealt with during a single call."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Shift NUMBER by COUNT bits, adding zero bits at the ``end'' and removing\n"
+"  bits from the ``start.''  On big-endian machines this is a left-shift and\n"
+"  on little-endian machines this is a right-shift.  Note: only the low 5/6 "
+"bits\n"
+"  of count are significant."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Shift NUMBER by COUNT bits, adding zero bits at the ``start'' and removing\n"
+"  bits from the ``end.''  On big-endian machines this is a right-shift and\n"
+"  on little-endian machines this is a left-shift."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Produce a mask that contains 1's for the COUNT ``start'' bits and 0's for\n"
+"  the remaining ``end'' bits.  Only the lower 5 bits of COUNT are "
+"significant."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Produce a mask that contains 1's for the COUNT ``end'' bits and 0's for\n"
+"  the remaining ``start'' bits.  Only the lower 5 bits of COUNT are\n"
+"  significant."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid "Align the SAP to a word boundry, and update the offset accordingly."
+msgstr ""
+
+#: target:code/bit-bash.lisp
+msgid ""
+"Fill DST with VALUE starting at DST-OFFSET and continuing for LENGTH bits."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "This is the interpreter's evaluation stack."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "This is the next free element of the interpreter's evaluation stack."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Undefined XOP."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Unbound variable: ~S"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Non-list argument to CAR: ~S"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Non-list argument to CDR: ~S"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Unknown inline function, id=~D"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Wrong number of arguments."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Not enough arguments."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Too many arguments."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Odd number of keyword arguments."
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "Unknown keyword: ~S"
+msgstr ""
+
+#: target:code/byte-interp.lisp
+msgid "function-end breakpoints not supported."
+msgstr ""
+
 #: target:code/array.lisp
 msgid "The exclusive upper bound on the rank of an array."
 msgstr ""
@@ -441,6 +985,245 @@
 "  created.  Both arrays must have the same rank and dimensions."
 msgstr ""
 
+#: target:code/bsd-os.lisp
+msgid "Unix system call getrusage failed: ~A."
+msgstr ""
+
+#: target:code/bsd-os.lisp
+msgid "Getpagesize failed: ~A"
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid ""
+"When the bignum pieces are smaller than this many words, we use the\n"
+"classical multiplication algorithm instead of recursing all the way\n"
+"down to individual words."
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "Use Karatsuba if the bignums have at least this many bits"
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "WITH-BIGNUM-BUFFERS ({(var size [init])}*) Form*"
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "Unexpected zero bignums?"
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "Can't represent result of left shift."
+msgstr ""
+
+#: target:code/bignum.lisp
+msgid "Too large to be represented as a ~S:~%  ~S"
+msgstr ""
+
+#: target:code/char.lisp
+msgid "The upper exclusive bound on values produced by CHAR-CODE."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "The upper exclusive bound on the value of a Unicode codepoint"
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"This is the alist of (character-name . character) for characters with\n"
+"  long names.  The first name in this list for a given character is used\n"
+"  on typeout and is the preferred form for input."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns the integer code of CHAR."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns the integer code of CHAR.  This is the same as char-code, as\n"
+"   CMU Common Lisp does not implement character bits or fonts."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns the character with the code CODE."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Coerces its argument into a character object if possible.  Accepts\n"
+"  characters, strings and symbols of length 1."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "String is not of length one: ~S"
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Symbol name is not of length one: ~S"
+msgstr ""
+
+#: target:code/char.lisp
+msgid "~S cannot be coerced to a character."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Given a character object, char-name returns the name for that\n"
+"  object (a symbol)."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Given an argument acceptable to string, name-char returns a character\n"
+"  object whose name is that symbol, if one exists, otherwise NIL."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object.  Standard-char-p returns T if the\n"
+"   argument is a standard character -- one of the 95 ASCII printing "
+"characters\n"
+"   or <return>."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Return T if and only if THING is a standard-char.  Differs from\n"
+"  standard-char-p in that THING doesn't have to be a character."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object.  Graphic-char-p returns T if the\n"
+"  argument is a printing character, otherwise returns NIL."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object.  Alpha-char-p returns T if the\n"
+"  argument is an alphabetic character; otherwise NIL."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object; upper-case-p returns T if the\n"
+"  argument is an upper-case character, NIL otherwise."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object; lower-case-p returns T if the \n"
+"  argument is a lower-case character, NIL otherwise."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object; title-case-p returns T if the\n"
+"  argument is a title-case character, NIL otherwise."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"The argument must be a character object.  Both-case-p returns T if the\n"
+"  argument is an alphabetic character and if the character exists in\n"
+"  both upper and lower case.  For ASCII, this is the same as Alpha-char-p."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"If char is a digit in the specified radix, returns the fixnum for\n"
+"  which that digit stands, else returns NIL.  Radix defaults to 10\n"
+"  (decimal)."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Given a character-object argument, alphanumericp returns T if the\n"
+"  argument is either numeric or alphabetic."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns T if all of its arguments are the same character."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns T if no two of its arguments are the same character."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns T if its arguments are in strictly increasing alphabetic order."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns T if its arguments are in strictly decreasing alphabetic order."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly non-decreasing alphabetic order."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly non-increasing alphabetic order."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if all of its arguments are the same character.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if no two of its arguments are the same character.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly increasing alphabetic order.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly decreasing alphabetic order.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly non-decreasing alphabetic order.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"Returns T if its arguments are in strictly non-increasing alphabetic order.\n"
+"   Case is ignored."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns CHAR converted to upper-case if that is possible."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns CHAR converted to title-case if that is possible."
+msgstr ""
+
+#: target:code/char.lisp
+msgid "Returns CHAR converted to lower-case if that is possible."
+msgstr ""
+
+#: target:code/char.lisp
+msgid ""
+"All arguments must be integers.  Returns a character object that\n"
+"  represents a digit of the given weight in the specified radix.  Returns\n"
+"  NIL if no such character exists."
+msgstr ""
+
 #: target:code/gc.lisp
 #, fuzzy
 msgid "Oh no.  The current dynamic space is missing!"
@@ -628,6 +1411,47 @@
 "  generation.  See the gencgc source code for more info."
 msgstr ""
 
+#: target:code/backq.lisp
+msgid "How deep we are into backquotes"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ",@ after backquote in ~S"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ",. after backquote in ~S"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid "Comma not inside a backquote."
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ",@ after dot in ~S"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ",. after dot in ~S"
+msgstr ""
+
+#: target:code/backq.lisp
+msgid ""
+"Given a lisp form containing the magic functions BACKQ-LIST, BACKQ-LIST*,\n"
+"  BACKQ-APPEND, etc. produced by the backquote reader macro, will return a\n"
+"  corresponding backquote input form.  In this form, `,' `,@' and `,.' are\n"
+"  represented by lists whose cars are BACKQ-COMMA, BACKQ-COMMA-AT, and\n"
+"  BACKQ-COMMA-DOT respectively, and whose cadrs are the form after the "
+"comma.\n"
+"  SPLICING indicates whether a comma-escape return should be modified for\n"
+"  splicing with other forms: a value of T or :NCONC meaning that an extra\n"
+"  level of parentheses should be added."
+msgstr ""
+
+#: target:code/backq.lisp
+msgid "### illegal dotted backquote form ###"
+msgstr ""
+
 #: target:code/describe.lisp
 msgid "Depth of recursive descriptions allowed."
 msgstr "허용되는 재귀적인 묘사의 깊이."



More information about the cmucl-commit mailing list