CMUCL commit: intl-branch src (7 files)

Raymond Toy rtoy at common-lisp.net
Tue Feb 9 22:33:11 CET 2010


    Date: Tuesday, February 9, 2010 @ 16:33:11
  Author: rtoy
    Path: /project/cmucl/cvsroot/src
     Tag: intl-branch

Modified: code/macros.lisp code/mipsstrops.lisp code/misc.lisp
          code/module.lisp code/multi-proc.lisp i18n/locale/cmucl.pot
          i18n/locale/ko/LC_MESSAGES/cmucl.po

Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.


-------------------------------------+
 code/macros.lisp                    |  194 +++---
 code/mipsstrops.lisp                |   20 
 code/misc.lisp                      |   40 -
 code/module.lisp                    |   20 
 code/multi-proc.lisp                |   72 +-
 i18n/locale/cmucl.pot               | 1043 ++++++++++++++++++++++++++++++++++
 i18n/locale/ko/LC_MESSAGES/cmucl.po | 1042 +++++++++++++++++++++++++++++++++
 7 files changed, 2258 insertions(+), 173 deletions(-)


Index: src/code/macros.lisp
diff -u src/code/macros.lisp:1.113.10.2 src/code/macros.lisp:1.113.10.3
--- src/code/macros.lisp:1.113.10.2	Mon Feb  8 21:03:13 2010
+++ src/code/macros.lisp	Tue Feb  9 16:33:10 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/macros.lisp,v 1.113.10.2 2010-02-09 02:03:13 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/macros.lisp,v 1.113.10.3 2010-02-09 21:33:10 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -41,7 +41,7 @@
 ;;; into declarations anymore.
 ;;;
 (defun parse-body (body environment &optional (doc-string-allowed t))
-  "This function is to parse the declarations and doc-string out of the body of
+  _N"This function is to parse the declarations and doc-string out of the body of
   a defun-like form.  Body is the list of stuff which is to be parsed.
   Environment is ignored.  If Doc-String-Allowed is true, then a doc string
   will be parsed out of the body and returned.  If it is false then a string
@@ -87,15 +87,15 @@
             (restart-case
                 (error 'lisp::package-locked-error
                        :package package
-                       :format-control "defining macro ~A"
+                       :format-control _"defining macro ~A"
                        :format-arguments (list name))
               (continue ()
-                :report "Ignore the lock and continue")
+                :report _"Ignore the lock and continue")
               (unlock-package ()
-                :report "Disable the package's definition-lock then continue"
+                :report _"Disable the package's definition-lock then continue"
                 (setf (ext:package-definition-lock package) nil))
               (unlock-all ()
-                :report "Unlock all packages, then continue"
+                :report _"Unlock all packages, then continue"
                 (lisp::unlock-all-packages))))))))
   (let ((whole (gensym "WHOLE-"))
 	(environment (gensym "ENV-")))
@@ -142,7 +142,7 @@
 ;;;; DEFINE-COMPILER-MACRO
 
 (defmacro define-compiler-macro (name lambda-list &body body)
-  "Define a compiler-macro for NAME."
+  _N"Define a compiler-macro for NAME."
   (let ((whole (gensym "WHOLE-"))
 	(environment (gensym "ENV-")))
     (multiple-value-bind
@@ -186,7 +186,7 @@
 (defun %define-symbol-macro (name expansion)
   (unless (symbolp name)
     (error 'simple-type-error :datum name :expected-type 'symbol
-	   :format-control "Symbol macro name is not a symbol: ~S."
+	   :format-control _"Symbol macro name is not a symbol: ~S."
 	   :format-arguments (list name)))
   (ecase (info variable kind name)
     ((:macro :global nil)
@@ -194,11 +194,11 @@
      (setf (info variable macro-expansion name) expansion))
     (:special
      (error 'simple-program-error
-	    :format-control "Symbol macro name already declared special: ~S."
+	    :format-control _"Symbol macro name already declared special: ~S."
 	    :format-arguments (list name)))
     (:constant
      (error 'simple-program-error
-	    :format-control "Symbol macro name already declared constant: ~S."
+	    :format-control _"Symbol macro name already declared constant: ~S."
 	    :format-arguments (list name))))
   name)
     
@@ -206,16 +206,16 @@
 ;;; DEFTYPE is a lot like DEFMACRO.
 
 (defmacro deftype (name arglist &body body)
-  "Syntax like DEFMACRO, but defines a new type."
+  _N"Syntax like DEFMACRO, but defines a new type."
   (unless (symbolp name)
-    (simple-program-error "~S -- Type name not a symbol." name))
+    (simple-program-error _"~S -- Type name not a symbol." name))
   (and lisp::*enable-package-locked-errors*
        (symbol-package name)
        (ext:package-definition-lock (symbol-package name))
        (restart-case
            (error 'lisp::package-locked-error
                   :package (symbol-package name)
-                  :format-control "defining type ~A"
+                  :format-control _"defining type ~A"
                   :format-arguments (list name))
          (continue ()
            :report "Ignore the lock and continue")
@@ -238,13 +238,13 @@
 ;;;
 (defun %deftype (name expander &optional doc)
   (when (info declaration recognized name)
-    (error "Deftype already names a declaration: ~S." name))
+    (error _"Deftype already names a declaration: ~S." name))
   (ecase (info type kind name)
     (:primitive
      (when *type-system-initialized*
-       (error "Illegal to redefine standard type: ~S." name)))
+       (error _"Illegal to redefine standard type: ~S." name)))
     (:instance
-     (warn "Redefining class ~S to be a DEFTYPE." name)
+     (warn _"Redefining class ~S to be a DEFTYPE." name)
      (undefine-structure (layout-info (%class-layout (kernel::find-class name))))
      (setf (class-cell-class (find-class-cell name)) nil)
      (setf (info type compiler-layout name) nil)
@@ -265,13 +265,13 @@
 
 ;;; And so is DEFINE-SETF-EXPANDER.
 
-(defparameter defsetf-error-string "Setf expander for ~S cannot be called with ~S args.")
+(defparameter defsetf-error-string _N"Setf expander for ~S cannot be called with ~S args.")
 
 (defmacro define-setf-expander (access-fn lambda-list &body body)
-  "Syntax like DEFMACRO, but creates a Setf-Expansion generator.  The body
+  _N"Syntax like DEFMACRO, but creates a Setf-Expansion generator.  The body
   must be a form that returns the five magical values."
   (unless (symbolp access-fn)
-    (simple-program-error "~S -- Access-function name not a symbol in DEFINE-SETF-EXPANDER."
+    (simple-program-error _"~S -- Access-function name not a symbol in DEFINE-SETF-EXPANDER."
 	   access-fn))
 
   (let ((whole (gensym "WHOLE-"))
@@ -290,7 +290,7 @@
 	  ',doc)))))
 
 (defmacro define-setf-method (&rest stuff)
-  "Obsolete, use define-setf-expander."
+  _N"Obsolete, use define-setf-expander."
   `(define-setf-expander , at stuff))
 
 
@@ -301,12 +301,12 @@
 (defun %define-setf-macro (name expander inverse doc)
   (cond ((not (fboundp `(setf ,name))))
 	((info function accessor-for name)
-	 (warn "Defining setf macro for destruct slot accessor; redefining as ~
+	 (warn _"Defining setf macro for destruct slot accessor; redefining as ~
 	        a normal function:~%  ~S"
 	       name)
 	 (c::define-function-name name))
 	((not (eq (symbol-package name) (symbol-package 'aref)))
-	 (warn "Defining setf macro for ~S, but ~S is fbound."
+	 (warn _"Defining setf macro for ~S, but ~S is fbound."
 	       name `(setf ,name))))
   (when (or inverse (info setf inverse name))
     (setf (info setf inverse name) inverse))
@@ -320,7 +320,7 @@
 ;;;; Destructuring-bind
 
 (defmacro destructuring-bind (lambda-list arg-list &rest body)
-  "Bind the variables in LAMBDA-LIST to the contents of ARG-LIST."
+  _N"Bind the variables in LAMBDA-LIST to the contents of ARG-LIST."
   (let* ((arg-list-name (gensym "ARG-LIST-")))
     (multiple-value-bind
 	(body local-decls)
@@ -383,7 +383,7 @@
 ;;; DEFCONSTANT  --  Public
 ;;;
 (defmacro defconstant (var val &optional doc)
-  "For defining global constants at top level.  The DEFCONSTANT says that the
+  _N"For defining global constants at top level.  The DEFCONSTANT says that the
   value is constant and may be compiled into code.  If the variable already has
   a value, and this is not equal to the init, an error is signalled.  The third
   argument is an optional documentation string for the variable."
@@ -410,8 +410,8 @@
     (setf (documentation name 'variable) doc))
   (when (boundp name)
     (unless (equalp (symbol-value name) value)
-      (cerror "Go ahead and change the value."
-	      "Constant ~S being redefined." name)))
+      (cerror _"Go ahead and change the value."
+	      _"Constant ~S being redefined." name)))
   (setf (symbol-value name) value)
   (setf (info variable kind name) :constant)
   (clear-info variable constant-value name)
@@ -420,7 +420,7 @@
 
 
 (defmacro defvar (var &optional (val nil valp) (doc nil docp))
-  "For defining global variables at top level.  Declares the variable
+  _N"For defining global variables at top level.  Declares the variable
   SPECIAL and, optionally, initializes it.  If the variable already has a
   value, the old value is not clobbered.  The third argument is an optional
   documentation string for the variable."
@@ -437,7 +437,7 @@
     ',var))
 
 (defmacro defparameter (var val &optional (doc nil docp))
-  "Defines a parameter that is not normally changed by the program,
+  _N"Defines a parameter that is not normally changed by the program,
   but that may be changed without causing an error.  Declares the
   variable special and sets its value to VAL.  The third argument is
   an optional documentation string for the parameter."
@@ -456,12 +456,12 @@
 
 
 (defmacro when (test &body forms)
-  "First arg is a predicate.  If it is non-null, the rest of the forms are
+  _N"First arg is a predicate.  If it is non-null, the rest of the forms are
   evaluated as a PROGN."
   `(cond (,test nil , at forms)))
 
 (defmacro unless (test &rest forms)
-  "First arg is a predicate.  If it is null, the rest of the forms are
+  _N"First arg is a predicate.  If it is null, the rest of the forms are
   evaluated as a PROGN."
   `(cond ((not ,test) nil , at forms)))
 
@@ -528,7 +528,7 @@
       nil
       (let ((clause (first clauses)))
 	(when (atom clause)
-	  (error "Cond clause is not a list: ~S." clause))
+	  (error _"Cond clause is not a list: ~S." clause))
 	(let ((test (first clause))
 	      (forms (rest clause)))
 	  (if (endp forms)
@@ -551,7 +551,7 @@
 ;;;
 (defmacro multiple-value-setq (varlist value-form)
   (unless (and (listp varlist) (every #'symbolp varlist))
-    (simple-program-error "Varlist is not a list of symbols: ~S." varlist))
+    (simple-program-error _"Varlist is not a list of symbols: ~S." varlist))
   (if varlist
       `(values (setf (values , at varlist) ,value-form))
       `(values ,value-form)))
@@ -559,7 +559,7 @@
 ;;;
 (defmacro multiple-value-bind (varlist value-form &body body)
   (unless (and (listp varlist) (every #'symbolp varlist))
-    (simple-program-error  "Varlist is not a list of symbols: ~S." varlist))
+    (simple-program-error  _"Varlist is not a list of symbols: ~S." varlist))
   (if (= (length varlist) 1)
       `(let ((,(car varlist) ,value-form))
 	 , at body)
@@ -574,7 +574,7 @@
 
 
 (defmacro nth-value (n form)
-  "Evaluates FORM and returns the Nth value (zero based).  This involves no
+  _N"Evaluates FORM and returns the Nth value (zero based).  This involves no
   consing when N is a trivial constant integer."
   (if (integerp n)
       (let ((dummy-list nil)
@@ -618,7 +618,7 @@
 ;;; and an accessing function.
 
 (defun get-setf-expansion (form &optional environment)
-  "Returns five values needed by the SETF machinery: a list of temporary
+  _N"Returns five values needed by the SETF machinery: a list of temporary
    variables, a list of values with which to fill them, a list of temporaries
    for the new values, the setting function, and the accessing function."
   (let (temp)
@@ -648,7 +648,7 @@
 	   (expand-or-get-setf-inverse form environment)))))
 
 (defun get-setf-method-multiple-value (form &optional env)
-  "Obsolete: use GET-SETF-EXPANSION."
+  _N"Obsolete: use GET-SETF-EXPANSION."
   (get-setf-expansion form env))
 
 ;;;
@@ -680,12 +680,12 @@
 
 
 (defun get-setf-method (form &optional environment)
-  "Obsolete: use GET-SETF-EXPANSION and handle multiple store values."
+  _N"Obsolete: use GET-SETF-EXPANSION and handle multiple store values."
   (multiple-value-bind
       (temps value-forms store-vars store-form access-form)
       (get-setf-expansion form environment)
     (when (cdr store-vars)
-      (error "GET-SETF-METHOD used for a form with multiple store ~
+      (error _"GET-SETF-METHOD used for a form with multiple store ~
 	      variables:~%  ~S" form))
     (values temps value-forms store-vars store-form access-form)))
 
@@ -705,7 +705,7 @@
 
 
 (defmacro defsetf (access-fn &rest rest)
-  "Associates a SETF update function or macro with the specified access
+  _N"Associates a SETF update function or macro with the specified access
   function or macro.  The format is complex.  See the manual for
   details."
   (cond ((not (listp (car rest)))
@@ -738,7 +738,7 @@
 		   nil
 		   ',doc))))))
 	(t
-	 (error "Ill-formed DEFSETF for ~S." access-fn))))
+	 (error _"Ill-formed DEFSETF for ~S." access-fn))))
 
 (defun %defsetf (orig-access-form num-store-vars expander)
   (collect ((subforms) (subform-vars) (subform-exprs) (store-vars))
@@ -767,7 +767,7 @@
 ;;; use of setf inverses without the full interpreter.
 ;;;
 (defmacro setf (&rest args &environment env)
-  "Takes pairs of arguments like SETQ.  The first is a place and the second
+  _N"Takes pairs of arguments like SETQ.  The first is a place and the second
   is the value that is supposed to go into that place.  Returns the last
   value.  The place argument may be any of the access forms for which SETF
   knows a corresponding setting form."
@@ -788,14 +788,14 @@
 		       (multiple-value-bind ,newval ,value-form
 			 ,setter))))))))
      ((oddp nargs) 
-      (error "Odd number of args to SETF."))
+      (error _"Odd number of args to SETF."))
      (t
       (do ((a args (cddr a)) (l nil))
 	  ((null a) `(progn ,@(nreverse l)))
 	(setq l (cons (list 'setf (car a) (cadr a)) l)))))))
 
 (defmacro psetf (&rest args &environment env)
-  "This is to SETF as PSETQ is to SETQ.  Args are alternating place
+  _N"This is to SETF as PSETQ is to SETQ.  Args are alternating place
   expressions and values to go into those places.  All of the subforms and
   values are determined, left to right, and only then are the locations
   updated.  Returns NIL."
@@ -803,7 +803,7 @@
     (do ((a args (cddr a)))
 	((endp a))
       (if (endp (cdr a))
-	  (simple-program-error "Odd number of args to PSETF."))
+	  (simple-program-error _"Odd number of args to PSETF."))
       (multiple-value-bind
 	  (dummies vals newval setter getter)
 	  (get-setf-expansion (car a) env)
@@ -820,7 +820,7 @@
       (thunk (let*-bindings) (mv-bindings)))))
 
 (defmacro shiftf (&rest args &environment env)
-  "One or more SETF-style place expressions, followed by a single
+  _N"One or more SETF-style place expressions, followed by a single
    value expression.  Evaluates all of the expressions in turn, then
    assigns the value of each expression to the place on its left,
    returning the value of the leftmost."
@@ -859,7 +859,7 @@
 	    (values ,@(car (mv-bindings)))))))))
 
 (defmacro rotatef (&rest args &environment env)
-  "Takes any number of SETF-style place expressions.  Evaluates all of the
+  _N"Takes any number of SETF-style place expressions.  Evaluates all of the
    expressions in turn, then assigns to each place the value of the form to
    its right.  The rightmost form gets the value of the leftmost.
    Returns NIL."
@@ -890,7 +890,7 @@
 
 
 (defmacro define-modify-macro (name lambda-list function &optional doc-string)
-  "Creates a new read-modify-write macro like PUSH or INCF."
+  _N"Creates a new read-modify-write macro like PUSH or INCF."
   (let ((other-args nil)
 	(rest-arg nil)
 	(env (gensym "ENV-"))
@@ -905,17 +905,17 @@
 	    ((eq arg '&rest)
 	     (if (symbolp (cadr ll))
 		 (setq rest-arg (cadr ll))
-		 (error "Non-symbol &rest arg in definition of ~S." name))
+		 (error _"Non-symbol &rest arg in definition of ~S." name))
 	     (if (null (cddr ll))
 		 (return nil)
-		 (error "Illegal stuff after &rest arg in Define-Modify-Macro.")))
+		 (error _"Illegal stuff after &rest arg in Define-Modify-Macro.")))
 	    ((memq arg '(&key &allow-other-keys &aux))
-	     (error "~S not allowed in Define-Modify-Macro lambda list." arg))
+	     (error _"~S not allowed in Define-Modify-Macro lambda list." arg))
 	    ((symbolp arg)
 	     (push arg other-args))
 	    ((and (listp arg) (symbolp (car arg)))
 	     (push (car arg) other-args))
-	    (t (error "Illegal stuff in lambda list of Define-Modify-Macro."))))
+	    (t (error _"Illegal stuff in lambda list of Define-Modify-Macro."))))
     (setq other-args (nreverse other-args))
     `(defmacro ,name (,reference , at lambda-list &environment ,env)
        ,doc-string
@@ -935,7 +935,7 @@
 		 ,setter)))))))
 
 (defmacro push (obj place &environment env)
-  "Takes an object and a location holding a list.  Conses the object onto
+  _N"Takes an object and a location holding a list.  Conses the object onto
   the list, returning the modified list.  OBJ is evaluated before PLACE."
 
   ;; This special case for place being a symbol isn't strictly needed.
@@ -969,7 +969,7 @@
 	       ,setter)))))))
 
 (defmacro pushnew (obj place &rest keys &environment env)
-  "Takes an object and a location holding a list.  If the object is already
+  _N"Takes an object and a location holding a list.  If the object is already
   in the list, does nothing.  Else, conses the object onto the list.  Returns
   NIL.  If there is a :TEST keyword, this is used for the comparison."
   (if (and (symbolp place)
@@ -1001,7 +1001,7 @@
 		,setter)))))))
 
 (defmacro pop (place &environment env)
-  "The argument is a location holding a list.  Pops one item off the front
+  _N"The argument is a location holding a list.  Pops one item off the front
   of the list and returns it."
   (if (and (symbolp place)
 	   (eq place (macroexpand place env)))
@@ -1023,7 +1023,7 @@
 
 ;;; we can't use DEFINE-MODIFY-MACRO because of ANSI 5.1.3
 (defmacro incf (place &optional (delta 1) &environment env)
-  "The first argument is some location holding a number. This number is
+  _N"The first argument is some location holding a number. This number is
   incremented by the second argument, DELTA, which defaults to 1."
   (multiple-value-bind (dummies vals newval setter getter)
       (get-setf-method place env)
@@ -1034,7 +1034,7 @@
          ,setter))))
 
 (defmacro decf (place &optional (delta 1) &environment env)
-  "The first argument is some location holding a number. This number is
+  _N"The first argument is some location holding a number. This number is
   decremented by the second argument, DELTA, which defaults to 1."
   (multiple-value-bind (dummies vals newval setter getter)
       (get-setf-method place env)
@@ -1045,7 +1045,7 @@
          ,setter))))
 
 (defmacro remf (place indicator &environment env)
-  "Place may be any place expression acceptable to SETF, and is expected
+  _N"Place may be any place expression acceptable to SETF, and is expected
   to hold a property list or ().  This list is destructively altered to
   remove the property specified by the indicator.  Returns T if such a
   property was present, NIL if not."
@@ -1066,7 +1066,7 @@
 		  (,local2 nil ,local1))
 		 ((atom ,local1) nil)
 	       (cond ((atom (cdr ,local1))
-		      (error "Odd-length property list in REMF."))
+		      (error _"Odd-length property list in REMF."))
 		     ((eq (car ,local1) ,ind-temp)
 		      (cond (,local2
 			     (rplacd (cdr ,local2) (cddr ,local1))
@@ -1204,7 +1204,7 @@
 	       (= (list-length function) 2)
 	       (eq (first function) 'function)
 	       (symbolp (second function)))
-    (error "Setf of Apply is only defined for function args like #'symbol."))
+    (error _"Setf of Apply is only defined for function args like #'symbol."))
   (let ((function (second function))
 	(new-var (gensym))
 	(vars nil))
@@ -1219,7 +1219,7 @@
 ;;; Special-case a BYTE bytespec so that the compiler can recognize it.
 ;;;
 (define-setf-expander ldb (bytespec place &environment env)
-  "The first argument is a byte specifier.  The second is any place form
+  _N"The first argument is a byte specifier.  The second is any place form
   acceptable to SETF.  Replaces the specified byte of the number in this
   place with bits from the low-order end of the new value."
   (multiple-value-bind (dummies vals newval setter getter)
@@ -1248,7 +1248,7 @@
 
 
 (define-setf-expander mask-field (bytespec place &environment env)
-  "The first argument is a byte specifier.  The second is any place form
+  _N"The first argument is a byte specifier.  The second is any place form
   acceptable to SETF.  Replaces the specified byte of the number in this place
   with bits from the corresponding position in the new value."
   (multiple-value-bind (dummies vals newval setter getter)
@@ -1320,7 +1320,7 @@
 	  (case (first case-list) (first case-list)))
 	 ((null case-list))
       (cond ((atom case)
-	     (error "~S -- Bad clause in ~S." case name))
+	     (error _"~S -- Bad clause in ~S." case name))
 	    ((and (not allow-otherwise)
 		  (memq (car case) '(t otherwise)))
 	     (cond ((null (cdr case-list))
@@ -1328,10 +1328,10 @@
 		    ;; only if it's the last case.  Otherwise, it's just a
 		    ;; normal clause.
 		    (if errorp
-			(error "No default clause allowed in ~S: ~S" name case)
+			(error _"No default clause allowed in ~S: ~S" name case)
 			(push `(t nil ,@(rest case)) clauses)))
 		   ((and (eq name 'case))
-		    (error "T and OTHERWISE may not be used as key designators for ~A" name))
+		    (error _"T and OTHERWISE may not be used as key designators for ~A" name))
 		   ((eq (first case) t)
 		    ;; The key T is normal clause, because it's not
 		    ;; the last clause.
@@ -1348,7 +1348,7 @@
 	    (t
 	     (when (and allow-otherwise
 			(memq (car case) '(t otherwise)))
-	       (warn "Bad style to use T or OTHERWISE in ECASE or CCASE"))
+	       (warn _"Bad style to use T or OTHERWISE in ECASE or CCASE"))
 	     (push (first case) keys)
 	     (push `((,test ,keyform-value
 			    ',(first case)) nil ,@(rest case)) clauses))))
@@ -1404,46 +1404,46 @@
 	     :possibilities keys)
     (store-value (value)
       :report (lambda (stream)
-		(format stream "Supply a new value for ~S." keyform))
+		(format stream _"Supply a new value for ~S." keyform))
       :interactive read-evaluated-form
       value)))
 
 
 (defmacro case (keyform &body cases)
-  "CASE Keyform {({(Key*) | Key} Form*)}*
+  _N"CASE Keyform {({(Key*) | Key} Form*)}*
   Evaluates the Forms in the first clause with a Key EQL to the value
   of Keyform.  If a singleton key is T or Otherwise then the clause is
   a default clause."
   (case-body 'case keyform cases t 'eql nil nil))
 
 (defmacro ccase (keyform &body cases)
-  "CCASE Keyform {({(Key*) | Key} Form*)}*
+  _N"CCASE Keyform {({(Key*) | Key} Form*)}*
   Evaluates the Forms in the first clause with a Key EQL to the value of
   Keyform.  If none of the keys matches then a correctable error is
   signalled."
   (case-body 'ccase keyform cases t 'eql nil t t))
 
 (defmacro ecase (keyform &body cases)
-  "ECASE Keyform {({(Key*) | Key} Form*)}*
+  _N"ECASE Keyform {({(Key*) | Key} Form*)}*
   Evaluates the Forms in the first clause with a Key EQL to the value of
   Keyform.  If none of the keys matches then an error is signalled."
   (case-body 'ecase keyform cases t 'eql nil nil t))
 
 (defmacro typecase (keyform &body cases)
-  "TYPECASE Keyform {(Type Form*)}*
+  _N"TYPECASE Keyform {(Type Form*)}*
   Evaluates the Forms in the first clause for which TYPEP of Keyform
   and Type is true.  If a singleton key is T or Otherwise then the
   clause is a default clause."
   (case-body 'typecase keyform cases nil 'typep nil nil))
 
 (defmacro ctypecase (keyform &body cases)
-  "CTYPECASE Keyform {(Type Form*)}*
+  _N"CTYPECASE Keyform {(Type Form*)}*
   Evaluates the Forms in the first clause for which TYPEP of Keyform and Type
   is true.  If no form is satisfied then a correctable error is signalled."
   (case-body 'ctypecase keyform cases nil 'typep nil t t))
 
 (defmacro etypecase (keyform &body cases)
-  "ETYPECASE Keyform {(Type Form*)}*
+  _N"ETYPECASE Keyform {(Type Form*)}*
   Evaluates the Forms in the first clause for which TYPEP of Keyform and Type
   is true.  If no form is satisfied then an error is signalled."
   (case-body 'etypecase keyform cases nil 'typep nil nil t))
@@ -1457,7 +1457,7 @@
 ;;; of whether they are needed.
 ;;;
 (defmacro assert (test-form &optional places datum &rest arguments)
-  "Signals an error if the value of test-form is nil.  Continuing from this
+  _N"Signals an error if the value of test-form is nil.  Continuing from this
    error using the CONTINUE restart will allow the user to alter the value of
    some locations known to SETF, starting over with test-form.  Returns nil."
   `(loop
@@ -1473,7 +1473,7 @@
 		   datum arguments
 		   'simple-error 'error)
 		  (make-condition 'simple-error
-				  :format-control "The assertion ~S failed."
+				  :format-control _"The assertion ~S failed."
 				  :format-arguments (list assertion)))))
   (restart-case (error cond)
     (continue ()
@@ -1482,17 +1482,17 @@
 
 
 (defun assert-report (names stream)
-  (format stream "Retry assertion")
+  (format stream _"Retry assertion")
   (if names
-      (format stream " with new value~P for ~{~S~^, ~}."
+      (format stream _" with new value~P for ~{~S~^, ~}."
 	      (length names) names)
       (format stream ".")))
 
 (defun assert-prompt (name value)
-  (cond ((y-or-n-p "The old value of ~S is ~S.~
+  (cond ((y-or-n-p _"The old value of ~S is ~S.~
 		  ~%Do you want to supply a new value? "
 		   name value)
-	 (format *query-io* "~&Type a form to be evaluated:~%")
+	 (format *query-io* _"~&Type a form to be evaluated:~%")
 	 (flet ((read-it () (eval (read *query-io*))))
 	   (if (symbolp name) ;help user debug lexical variables
 	       (progv (list name) (list value) (read-it))
@@ -1509,7 +1509,7 @@
 ;;;
 
 (defmacro check-type (place type &optional type-string)
-  "Signals an error of type type-error if the contents of place are not of the
+  _N"Signals an error of type type-error if the contents of place are not of the
    specified type.  If an error is signaled, this can only return if
    STORE-VALUE is invoked.  It will store into place and start over."
   (let ((place-value (gensym)))
@@ -1524,19 +1524,19 @@
 		  (make-condition 'simple-type-error
 				  :datum place-value :expected-type type
 				  :format-control
-				  "The value of ~S is ~S, which is not ~A."
+				  _"The value of ~S is ~S, which is not ~A."
 				  :format-arguments
 				  (list place place-value type-string))
 		  (make-condition 'simple-type-error
 				  :datum place-value :expected-type type
 				  :format-control
-				  "The value of ~S is ~S, which is not of type ~S."
+				  _"The value of ~S is ~S, which is not of type ~S."
 				  :format-arguments
 				  (list place place-value type)))))
     (restart-case (error cond)
       (store-value (value)
 	:report (lambda (stream)
-		  (format stream "Supply a new value of ~S."
+		  (format stream _"Supply a new value of ~S."
 			  place))
 	:interactive read-evaluated-form
 	value))))
@@ -1546,13 +1546,13 @@
 ;;; and by CHECK-TYPE.
 ;;;
 (defun read-evaluated-form ()
-  (format *query-io* "~&Type a form to be evaluated:~%")
+  (format *query-io* _"~&Type a form to be evaluated:~%")
   (list (eval (read *query-io*))))
 
 
 ;;;; With-XXX
 (defmacro with-open-file ((var filespec &rest open-args) &parse-body (forms decls))
-  "The file whose name is Filespec is opened using the Open-args and
+  _N"The file whose name is Filespec is opened using the Open-args and
   bound to the variable Var. If the call to open is unsuccessful, the
   forms are not evaluated.  The Forms are executed, and when they
   terminate, normally or otherwise, the file is closed."
@@ -1569,7 +1569,7 @@
 
 
 (defmacro with-open-stream ((var stream) &parse-body (forms decls))
-  "The form stream should evaluate to a stream.  VAR is bound
+  _N"The form stream should evaluate to a stream.  VAR is bound
    to the stream and the forms are evaluated as an implicit
    progn.  The stream is closed upon exit."
   (let ((abortp (gensym)))
@@ -1586,7 +1586,7 @@
 
 (defmacro with-input-from-string ((var string &key index start end)
 				  &parse-body (forms decls))
-  "Binds the Var to an input stream that returns characters from String and
+  _N"Binds the Var to an input stream that returns characters from String and
   executes the body.  See manual for details."
   ;; The once-only inhibits compiler note for unreachable code when 'end' is true.
   (once-only ((string string))
@@ -1610,7 +1610,7 @@
 
 (defmacro with-output-to-string ((var &optional string &key element-type)
 				 &parse-body (forms decls))
-  "If STRING is specified, it must be a string with a fill pointer;
+  _N"If STRING is specified, it must be a string with a fill pointer;
    the output is incrementally appended to the string (as if by use of
    VECTOR-PUSH-EXTEND)."
   (declare (ignore element-type))
@@ -1730,7 +1730,7 @@
 
 
 (defmacro do (varlist endlist &parse-body (body decls))
-  "DO ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*
+  _N"DO ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*
   Iteration construct.  Each Var is initialized in parallel to the value of the
   specified Init form.  On subsequent iterations, the Vars are assigned the
   value of the Step form (if any) in paralell.  The Test is evaluated before
@@ -1743,7 +1743,7 @@
 
 
 (defmacro do* (varlist endlist &parse-body (body decls))
-  "DO* ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*
+  _N"DO* ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*
   Iteration construct.  Each Var is initialized sequentially (like LET*) to the
   value of the specified Init form.  On subsequent iterations, the Vars are
   sequentially assigned the value of the Step form (if any).  The Test is
@@ -1757,7 +1757,7 @@
 ;;;; Miscellaneous macros:
 
 (defmacro psetq (&rest pairs)
-  "PSETQ {var value}*
+  _N"PSETQ {var value}*
    Set the variables to the values, like SETQ, except that assignments
    happen in parallel, i.e. no assignments take place until all the
    forms have been evaluated."
@@ -1768,7 +1768,7 @@
       ((endp pair) `(psetf , at pairs))
     (unless (symbolp (car pair))
       (error 'simple-program-error
-             :format-control "variable ~S in PSETQ is not a SYMBOL"
+             :format-control _"variable ~S in PSETQ is not a SYMBOL"
              :format-arguments (list (car pair))))))
 
 
@@ -1820,7 +1820,7 @@
 	      (:global (member parent '(defun defmacro function)))
 	      (:local (member parent '(labels flet)))
 	      (t
-	       (error "Unknown declaration context: ~S." context))))
+	       (error _"Unknown declaration context: ~S." context))))
 	  (case (first context)
 	    (:or
 	     (loop for x in (rest context)
@@ -1841,7 +1841,7 @@
 		  (loop for x in (rest context)
 			thereis (eq (find-package (string x)) package))))
 	    (t
-	     (error "Unknown declaration context: ~S." context)))))))
+	     (error _"Unknown declaration context: ~S." context)))))))
 
   
 ;;; PROCESS-CONTEXT-DECLARATIONS  --  Internal
@@ -1854,7 +1854,7 @@
    (mapcar
     #'(lambda (decl)
 	(unless (>= (length decl) 2)
-	  (error "Context declaration spec should have context and at ~
+	  (error _"Context declaration spec should have context and at ~
 	  least one DECLARE form:~%  ~S" decl))
 	#'(lambda (name parent)
 	    (when (evaluate-declaration-context (first decl) name parent)
@@ -1866,7 +1866,7 @@
 ;;; With-Compilation-Unit  --  Public
 ;;;
 (defmacro with-compilation-unit (options &body body)
-  "WITH-COMPILATION-UNIT ({Key Value}*) Form*
+  _N"WITH-COMPILATION-UNIT ({Key Value}*) Form*
   This form affects compilations that take place within its dynamic extent.  It
   is intended to be wrapped around the compilation of all files in the same
   system.  These keywords are defined:
@@ -1928,7 +1928,7 @@
 	(n-fun (gensym))
 	(n-abort-p (gensym)))
     (when (oddp (length options))
-      (error "Odd number of key/value pairs: ~S." options))
+      (error _"Odd number of key/value pairs: ~S." options))
     (do ((opt options (cddr opt)))
 	((null opt))
       (case (first opt)
@@ -1941,7 +1941,7 @@
 	(:context-declarations
 	 (setq context-declarations (second opt)))
 	(t
-	 (warn "Ignoring unknown option: ~S." (first opt)))))
+	 (warn _"Ignoring unknown option: ~S." (first opt)))))
 
     `(flet ((,n-fun ()
 	      (let (,@(when optimize
Index: src/code/mipsstrops.lisp
diff -u src/code/mipsstrops.lisp:1.8.56.1 src/code/mipsstrops.lisp:1.8.56.2
--- src/code/mipsstrops.lisp:1.8.56.1	Mon Feb  8 12:15:48 2010
+++ src/code/mipsstrops.lisp	Tue Feb  9 16:33:10 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/mipsstrops.lisp,v 1.8.56.1 2010-02-08 17:15:48 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/mipsstrops.lisp,v 1.8.56.2 2010-02-09 21:33:10 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -32,7 +32,7 @@
 (defun %sp-string-compare (string1 start1 end1 string2 start2 end2)
   (declare (simple-string string1 string2))
   (declare (fixnum start1 end1 start2 end2))
-  "Compares the substrings specified by String1 and String2 and returns
+  _N"Compares the substrings specified by String1 and String2 and returns
 NIL if the strings are String=, or the lowest index of String1 in
 which the two differ. If one string is longer than the other and the
 shorter is a prefix of the longer, the length of the shorter + start1 is
@@ -67,7 +67,7 @@
 (defun %sp-reverse-string-compare (string1 start1 end1 string2 start2 end2)
   (declare (simple-string string1 string2))
   (declare (fixnum start1 end1 start2 end2))
-  "Like %sp-string-compare, only backwards."
+  _N"Like %sp-string-compare, only backwards."
   (let ((len1 (- end1 start1))
 	(len2 (- end2 start2)))
     (declare (fixnum len1 len2))
@@ -113,7 +113,7 @@
   (declare (type (simple-array (unsigned-byte 8) (256)) table)
 	   (type (or simple-string system-area-pointer) string)
 	   (fixnum start end mask))
-  "%SP-Find-Character-With-Attribute  String, Start, End, Table, Mask
+  _N"%SP-Find-Character-With-Attribute  String, Start, End, Table, Mask
   The codes of the characters of String from Start to End are used as indices
   into the Table, which is a U-Vector of 8-bit bytes. When the number picked
   up from the table bitwise ANDed with Mask is non-zero, the current
@@ -126,7 +126,7 @@
 	(return index)))))
 
 (defun %sp-reverse-find-character-with-attribute (string start end table mask)
-  "Like %SP-Find-Character-With-Attribute, only sdrawkcaB."
+  _N"Like %SP-Find-Character-With-Attribute, only sdrawkcaB."
   (declare (type (or simple-string system-area-pointer) string)
 	   (fixnum start end mask)
 	   (type (array (unsigned-byte 8) (256)) table))
@@ -138,7 +138,7 @@
 	(return index)))))
 
 (defun %sp-find-character (string start end character)
-  "%SP-Find-Character  String, Start, End, Character
+  _N"%SP-Find-Character  String, Start, End, Character
   Searches String for the Character from Start to End.  If the character is
   found, the corresponding index into String is returned, otherwise NIL is
   returned."
@@ -156,7 +156,7 @@
   (declare (type (or simple-string system-area-pointer) string)
 	   (fixnum start end)
 	   (base-char character))
-  "%SP-Reverse-Find-Character  String, Start, End, Character
+  _N"%SP-Reverse-Find-Character  String, Start, End, Character
   Searches String for Character from End to Start.  If the character is
   found, the corresponding index into String is returned, otherwise NIL is
   returned."
@@ -172,7 +172,7 @@
   (declare (type (or simple-string system-area-pointer) string)
 	   (fixnum start end)
 	   (base-char character))
-  "%SP-Skip-Character  String, Start, End, Character
+  _N"%SP-Skip-Character  String, Start, End, Character
   Returns the index of the first character between Start and End which
   is not Char=  to Character, or NIL if there is no such character."
   (maybe-sap-maybe-string (string)
@@ -186,7 +186,7 @@
   (declare (type (or simple-string system-area-pointer) string)
 	   (fixnum start end)
 	   (base-char character))
-  "%SP-Skip-Character  String, Start, End, Character
+  _N"%SP-Skip-Character  String, Start, End, Character
   Returns the index of the last character between Start and End which
   is not Char=  to Character, or NIL if there is no such character."
   (maybe-sap-maybe-string (string)
@@ -198,7 +198,7 @@
 	  (return index)))))
 
 (defun %sp-string-search (string1 start1 end1 string2 start2 end2)
-  "%SP-String-Search  String1, Start1, End1, String2, Start2, End2
+  _N"%SP-String-Search  String1, Start1, End1, String2, Start2, End2
    Searches for the substring of String1 specified in String2.
    Returns an index into String2 or NIL if the substring wasn't
    found."
Index: src/code/misc.lisp
diff -u src/code/misc.lisp:1.38.8.2 src/code/misc.lisp:1.38.8.3
--- src/code/misc.lisp:1.38.8.2	Mon Feb  8 21:41:23 2010
+++ src/code/misc.lisp	Tue Feb  9 16:33:10 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/misc.lisp,v 1.38.8.2 2010-02-09 02:41:23 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/misc.lisp,v 1.38.8.3 2010-02-09 21:33:10 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -57,7 +57,7 @@
       (values (info function documentation name)))))
 
 (defun documentation (x doc-type)
-  "Returns the documentation string of Doc-Type for X, or NIL if
+  _N"Returns the documentation string of Doc-Type for X, or NIL if
   none exists.  System doc-types are VARIABLE, FUNCTION, STRUCTURE, TYPE,
   SETF, and T."
   (flet (;; CMUCL random-documentation.
@@ -115,7 +115,7 @@
      (setf (info function documentation name) string))
     (structure
      (unless (eq (info type kind name) :instance)
-       (error "~S is not the name of a structure type." name))
+       (error _"~S is not the name of a structure type." name))
      (setf (info type textdomain name) intl::*default-domain*)
      (setf (info type documentation name) string))
     (type
@@ -161,7 +161,7 @@
 (sys:register-lisp-runtime-feature :unicode)
 
 (defun featurep (x)
-  "If X is an atom, see if it is present in *FEATURES*.  Also
+  _N"If X is an atom, see if it is present in *FEATURES*.  Also
   handle arbitrary combinations of atoms using NOT, AND, OR."
   (if (consp x)
       (case (car x)
@@ -169,44 +169,44 @@
 	((:and and) (every #'featurep (cdr x)))
 	((:or or) (some #'featurep (cdr x)))
 	(t
-	 (error "Unknown operator in feature expression: ~S." x)))
+	 (error _"Unknown operator in feature expression: ~S." x)))
       (not (null (memq x *features*)))))
 
 
 ;;; Other Environment Inquiries.
 
 (defun lisp-implementation-type ()
-  "Returns a string describing the implementation type."
+  _N"Returns a string describing the implementation type."
   "CMU Common Lisp")
 
 (defun lisp-implementation-version ()
-  "Returns a string describing the implementation version."
+  _N"Returns a string describing the implementation version."
   (format nil "~A (~X~A)" *lisp-implementation-version* c:byte-fasl-file-version
-	  #+unicode " Unicode" #-unicode ""))
+	  #+unicode _" Unicode" #-unicode ""))
 
 (defun machine-instance ()
-  "Returns a string giving the name of the local machine."
+  _N"Returns a string giving the name of the local machine."
   (unix:unix-gethostname))
 
 (defvar *software-type* "Unix"
-  "The value of SOFTWARE-TYPE.  Set in FOO-os.lisp.")
+  _N"The value of SOFTWARE-TYPE.  Set in FOO-os.lisp.")
 
 (defun software-type ()
-  "Returns a string describing the supporting software."
+  _N"Returns a string describing the supporting software."
   *software-type*)
 
-(defvar *short-site-name* "Unknown"
-  "The value of SHORT-SITE-NAME.  Set in library:site-init.lisp.")
+(defvar *short-site-name* _"Unknown"
+  _N"The value of SHORT-SITE-NAME.  Set in library:site-init.lisp.")
 
 (defun short-site-name ()
-  "Returns a string with the abbreviated site name."
+  _N"Returns a string with the abbreviated site name."
   *short-site-name*)
 
-(defvar *long-site-name* "Site name not initialized"
-  "The value of LONG-SITE-NAME.  Set in library:site-init.lisp.")
+(defvar *long-site-name* _"Site name not initialized"
+  _N"The value of LONG-SITE-NAME.  Set in library:site-init.lisp.")
 
 (defun long-site-name ()
-  "Returns a string with the long form of the site name."
+  _N"Returns a string with the long form of the site name."
   *long-site-name*)
 
 
@@ -228,7 +228,7 @@
 (defvar *dribble-stream* nil)
 
 (defun dribble (&optional pathname &key (if-exists :append))
-  "With a file name as an argument, dribble opens the file and
+  _N"With a file name as an argument, dribble opens the file and
    sends a record of further I/O to that file.  Without an
    argument, it closes the dribble file, and quits logging."
   (cond (pathname
@@ -249,7 +249,7 @@
 	   (setf *standard-output* new-standard-output)
 	   (setf *error-output* new-error-output)))
 	((null *dribble-stream*)
-	 (error "Not currently dribbling."))
+	 (error _"Not currently dribbling."))
 	(t
 	 (let ((old-streams (pop *previous-streams*)))
 	   (close *dribble-stream*)
@@ -260,7 +260,7 @@
   (values))
 
 (defun ed (&optional x)
-  "Default implementation of ed.  This does nothing.  If hemlock is
+  _N"Default implementation of ed.  This does nothing.  If hemlock is
   loaded, ed can be used to edit a file"
   (declare (ignorable x))
   (values))
Index: src/code/module.lisp
diff -u src/code/module.lisp:1.11.10.1 src/code/module.lisp:1.11.10.2
--- src/code/module.lisp:1.11.10.1	Mon Feb  8 12:15:48 2010
+++ src/code/module.lisp	Tue Feb  9 16:33:10 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/module.lisp,v 1.11.10.1 2010-02-08 17:15:48 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/module.lisp,v 1.11.10.2 2010-02-09 21:33:10 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 
@@ -31,21 +31,21 @@
 ;;;; Exported specials.
 
 (defvar *modules* ()
-  "This is a list of module names that have been loaded into Lisp so far.
+  _N"This is a list of module names that have been loaded into Lisp so far.
    It is used by PROVIDE and REQUIRE.")
 
 (defvar *require-verbose* t
-  "*load-verbose* is bound to this before loading files.")
+  _N"*load-verbose* is bound to this before loading files.")
 
 (defvar *module-provider-functions*
     '(module-provide-cmucl-defmodule module-provide-cmucl-library)
-  "See function documentation for REQUIRE")
+  _N"See function documentation for REQUIRE")
 
 ;;;; Defmodule.
 
 (defvar *module-file-translations* (make-hash-table :test #'equal))
 (defmacro defmodule (name &rest files)
-  "Defines a module by registering the files that need to be loaded when
+  _N"Defines a module by registering the files that need to be loaded when
    the module is required.  If name is a symbol, its print name is used
    after downcasing it."
   `(%define-module ,name ',files))
@@ -62,14 +62,14 @@
 ;;;; Provide and Require.
 
 (defun provide (module-name)
-  "Adds a new module name to *modules* indicating that it has been loaded.
+  _N"Adds a new module name to *modules* indicating that it has been loaded.
    Module-name may be any valid string designator.  All comparisons are
    done using string=, i.e. module names are case-sensitive."
   (pushnew (module-name-string module-name) *modules* :test #'string=)
   t)
 
 (defun require (module-name &optional pathname)
-  "Loads a module when it has not been already.  Pathname, if supplied,
+  _N"Loads a module when it has not been already.  Pathname, if supplied,
    is a single pathname or list of pathnames to be loaded if the module
    needs to be.  If pathname is not supplied, then functions from the list
    *MODULE-PROVIDER-FUNCTIONS* are called in order with the stringified
@@ -98,7 +98,7 @@
 	      (load file))
             (unless (some (lambda (p) (funcall p module-name))
                           *module-provider-functions*)
-              (error "Don't know how to load ~A" module-name)))))
+              (error _"Don't know how to load ~A" module-name)))))
     (set-difference *modules* saved-modules)))
 
 ;;;; Default module providers
@@ -115,11 +115,11 @@
 ;;;; Misc.
 
 (defun module-name-string (name)
-  "Coerce a string designator to a module name."
+  _N"Coerce a string designator to a module name."
   (string name))
 
 (defun module-default-pathname (module-name)
-  "Derive a default pathname to try to load for an undefined module
+  _N"Derive a default pathname to try to load for an undefined module
 named module-name.  The default pathname is constructed from the
 module-name by appending the suffix \"-LIBRARY\" to it, and merging
 with \"modules:\".  Note that both the module-name and the suffix are
Index: src/code/multi-proc.lisp
diff -u src/code/multi-proc.lisp:1.44.14.1 src/code/multi-proc.lisp:1.44.14.2
--- src/code/multi-proc.lisp:1.44.14.1	Mon Feb  8 12:15:48 2010
+++ src/code/multi-proc.lisp	Tue Feb  9 16:33:10 2010
@@ -5,7 +5,7 @@
 ;;; the Public domain, and is provided 'as is'.
 ;;;
 (ext:file-comment
-  "$Header: /project/cmucl/cvsroot/src/code/multi-proc.lisp,v 1.44.14.1 2010-02-08 17:15:48 rtoy Exp $")
+  "$Header: /project/cmucl/cvsroot/src/code/multi-proc.lisp,v 1.44.14.2 2010-02-09 21:33:10 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -727,7 +727,7 @@
 (declaim (inline get-real-time))
 ;;;
 (defun get-real-time ()
-  "Return the real time in seconds."
+  _N"Return the real time in seconds."
   (declare (optimize (speed 3) (safety 0)))
   (multiple-value-bind (ignore seconds useconds)
       (unix:unix-gettimeofday)
@@ -741,7 +741,7 @@
 (declaim (inline get-run-time))
 ;;;
 (defun get-run-time ()
-  "Return the run time in seconds"
+  _N"Return the run time in seconds"
   (declare (optimize (speed 3) (safety 0)))
   (multiple-value-bind (ignore utime-sec utime-usec stime-sec stime-usec)
       (unix:unix-fast-getrusage unix:rusage_self)
@@ -762,7 +762,7 @@
 ;;; Process-Whostate  --  Public
 ;;;
 (defun process-whostate (process)
-  "Return the process state which is either Run, Killed, or a wait reason."
+  _N"Return the process state which is either Run, Killed, or a wait reason."
   (cond ((eq (process-state process) :killed)
 	 "Killed")
 	((process-wait-function process)
@@ -795,18 +795,18 @@
 ;;;
 (declaim (inline current-process))
 (defun current-process ()
-  "Returns the current process."
+  _N"Returns the current process."
   *current-process*)
 
 (declaim (list *all-processes*))
 (defvar *all-processes* nil
-  "A list of all alive processes.")
+  _N"A list of all alive processes.")
 
 ;;; All-Processes  --  Public
 ;;;
 (declaim (inline all-processes))
 (defun all-processes ()
-  "Return a list of all the live processes."
+  _N"Return a list of all the live processes."
   *all-processes*)
 
 (declaim (type (or null process) *initial-process*))
@@ -820,7 +820,7 @@
 (defvar *inhibit-scheduling* t)
 ;;;
 (defmacro without-scheduling (&body body)
-  "Execute the body the scheduling disabled."
+  _N"Execute the body the scheduling disabled."
   `(let ((inhibit *inhibit-scheduling*))
     (unwind-protect
 	 (progn
@@ -829,22 +829,22 @@
       (setf *inhibit-scheduling* inhibit))))
 
 (defmacro atomic-incf (reference &optional (delta 1))
-  "Increaments the reference by delta in a single atomic operation"
+  _N"Increaments the reference by delta in a single atomic operation"
   `(without-scheduling
     (incf ,reference ,delta)))
 
 (defmacro atomic-decf (reference &optional (delta 1))
-  "Decrements the reference by delta in a single atomic operation"
+  _N"Decrements the reference by delta in a single atomic operation"
   `(without-scheduling
     (decf ,reference ,delta)))
 
 (defmacro atomic-push (obj place)
-  "Atomically push object onto place."
+  _N"Atomically push object onto place."
   `(without-scheduling
     (push ,obj ,place)))
 
 (defmacro atomic-pop (place)
-  "Atomically pop place."
+  _N"Atomically pop place."
   `(without-scheduling
     (pop ,place)))
 
@@ -894,7 +894,7 @@
 		     (run-reasons (list :enable))
 		     (arrest-reasons nil)
 		     (initial-bindings nil))
-  "Make a process which will run FUNCTION when it starts up.  By
+  _N"Make a process which will run FUNCTION when it starts up.  By
   default the process is created in a runnable (active) state.
   If FUNCTION is NIL, the process is started in a killed state; it may
   be restarted later with process-preset.
@@ -1015,7 +1015,7 @@
 ;;; Process-Interrupt  --  Public
 ;;;
 (defun process-interrupt (process function)
-  "Interrupt process and cause it to evaluate function."
+  _N"Interrupt process and cause it to evaluate function."
   ;; Place the interrupt function at the end of process's interrupts
   ;; queue, to be called the next time the process is scheduled.
   (without-scheduling
@@ -1027,7 +1027,7 @@
 ;;; Destroy-Process  --  Public
 ;;;
 (defun destroy-process (process)
-  "Destroy a process. The process is sent a interrupt which throws to
+  _N"Destroy a process. The process is sent a interrupt which throws to
   the end of the process allowing it to unwind gracefully."
   (declare (type process process))
   (assert (not (eq process *current-process*)))
@@ -1046,7 +1046,7 @@
   (process-yield))
 
 (defun restart-process (process)
-  "Restart process by unwinding it to its initial state and calling its
+  _N"Restart process by unwinding it to its initial state and calling its
   initial function."
   (destroy-process process)
   (if *inhibit-scheduling*		;Called inside without-scheduling?
@@ -1112,7 +1112,7 @@
 
 ;;; Process-Preset
 (defun process-preset (process function &rest args)
-  "Restart process, unwinding it to its initial state and calls
+  _N"Restart process, unwinding it to its initial state and calls
   function with args."
   (setf (process-initial-function process) function)
   (setf (process-initial-args process) args)
@@ -1122,7 +1122,7 @@
 ;;; Disable-Process  --  Public
 ;;;
 (defun disable-process (process)
-  "Disable process from being runnable until enabled."
+  _N"Disable process from being runnable until enabled."
   (without-scheduling
    (assert (not (eq (process-state process) :killed)))
    (setf (process-state process) :inactive)))
@@ -1130,7 +1130,7 @@
 ;;; Enable-Process  --  Public
 ;;;
 (defun enable-process (process)
-  "Allow process to become runnable again after it has been disabled."
+  _N"Allow process to become runnable again after it has been disabled."
   (without-scheduling
    (assert (not (eq (process-state process) :killed)))
    (setf (process-state process) :active)))
@@ -1138,7 +1138,7 @@
 ;;; Process-Wait  --  Public.
 ;;;
 (defun process-wait (whostate predicate &rest args)
-  "Causes the process to wait until predicate returns True. Processes
+  _N"Causes the process to wait until predicate returns True. Processes
   can only call process-wait when scheduling is enabled, and the predicate
   can not call process-wait. Since the predicate may be evaluated may
   times by the scheduler it should be relative fast native compiled code.
@@ -1160,7 +1160,7 @@
 ;;;
 (defun process-wait-with-timeout (whostate timeout predicate &rest args)
   (declare (type (or fixnum float) timeout))
-  "Causes the process to wait until predicate returns True, or the
+  _N"Causes the process to wait until predicate returns True, or the
   number of seconds specified by timeout has elapsed. The timeout may
   be a fixnum or a float in seconds.  The single True predicate value is
   returned, or NIL if the timeout was reached."
@@ -1210,7 +1210,7 @@
 ;;; Shutdown-multi-processing  --  Internal.
 ;;;
 (defun shutdown-multi-processing ()
-  "Try to gracefully destroy all the processes giving them some
+  _N"Try to gracefully destroy all the processes giving them some
   chance to unwinding, before shutting down multi-processing. This is
   currently necessary before a purify and is performed before a save-lisp.
   Multi-processing can be restarted by calling init-multi-processing."
@@ -1260,7 +1260,7 @@
 (defvar *idle-loop-timeout* 0.1d0)
 ;;;
 (defun idle-process-loop ()
-  "An idle loop to be run by the initial process. The select based event
+  _N"An idle loop to be run by the initial process. The select based event
   server is called with a timeout calculated from the minimum of the
   *idle-loop-timeout* and the time to the next process wait timeout.
   To avoid this delay when there are runnable processes the *idle-process*
@@ -1303,7 +1303,7 @@
 ;;;
 (defun process-yield ()
   (declare (optimize (speed 3)))
-  "Allow other processes to run."
+  _N"Allow other processes to run."
   (unless *inhibit-scheduling*
     ;; Catch any FP exceptions before entering the scheduler.
     #+x87 (kernel:float-wait)
@@ -1446,7 +1446,7 @@
 ;;; The real time in seconds accrued while the process was scheduled.
 ;;;
 (defun process-real-time (process)
-  "Return the accrued real time elapsed while the given process was
+  _N"Return the accrued real time elapsed while the given process was
   scheduled. The returned time is a double-float in seconds."
   (declare (type process process))
   (if (eq process *current-process*)
@@ -1461,7 +1461,7 @@
 ;;; The run time in seconds accrued while the process was scheduled.
 ;;;
 (defun process-run-time (process)
-  "Return the accrued run time elapsed for the given process. The returned
+  _N"Return the accrued run time elapsed for the given process. The returned
   time is a double-float in seconds."
   (declare (type process process))
   (if (eq process *current-process*)
@@ -1477,7 +1477,7 @@
 ;;; de-scheduled.
 ;;;
 (defun process-idle-time (process)
-  "Return the real time elapsed since the given process was last
+  _N"Return the real time elapsed since the given process was last
   descheduled. The returned time is a double-float in seconds."
   (declare (type process process))
   (if (eq process *current-process*)
@@ -1492,7 +1492,7 @@
 ;;; good idea yet as the CMUCL code is not too interrupt safe.
 ;;;
 (defun start-sigalrm-yield (&optional (sec 0) (usec 500000))
-  "Start a regular SIGALRM interrupt which calls process-yield. An optional
+  _N"Start a regular SIGALRM interrupt which calls process-yield. An optional
   time in seconds and micro seconds may be provided. Note that CMUCL code
   base is not too interrupt safe so this may cause problems."
   (declare (fixnum sec usec))
@@ -1552,7 +1552,7 @@
 ;;; Wait until FD is usable for DIRECTION.
 ;;;
 (defun process-wait-until-fd-usable (fd direction &optional timeout)
-  "Wait until FD is usable for DIRECTION and return True. DIRECTION should be
+  _N"Wait until FD is usable for DIRECTION and return True. DIRECTION should be
   either :INPUT or :OUTPUT. TIMEOUT, if supplied, is the number of seconds to
   wait before giving up and returing NIL."
   (declare (type kernel:index fd)
@@ -1625,7 +1625,7 @@
 ;;; rather than blocking.
 ;;;
 (defun sleep (n)
-  "This function causes execution to be suspended for N seconds.  N may
+  _N"This function causes execution to be suspended for N seconds.  N may
   be any non-negative, non-complex number."
   (when (or (not (realp n))
 	    (minusp n))
@@ -1668,7 +1668,7 @@
 ;;; With-Timeout  --  Public
 ;;;
 (defmacro with-timeout ((timeout &body timeout-forms) &body body)
-  "Executes body and returns the values of the last form in body. However, if
+  _N"Executes body and returns the values of the last form in body. However, if
   the execution takes longer than timeout seconds, abort it and evaluate
   timeout-forms, returning the values of last form."
   `(flet ((fn () . ,body)
@@ -1679,7 +1679,7 @@
 ;;; Show-Processes  --  Public
 ;;;
 (defun show-processes (&optional verbose)
-  "Show the all the processes, their whostate, and state. If the optional
+  _N"Show the all the processes, their whostate, and state. If the optional
   verbose argument is true then the run, real, and idle times are also
   shown."
   (fresh-line)
@@ -1698,7 +1698,7 @@
 ;;; Top-Level  --  Internal
 ;;;
 (defun top-level ()
-  "Top-level READ-EVAL-PRINT loop for processes."
+  _N"Top-level READ-EVAL-PRINT loop for processes."
   (let ((* nil) (** nil) (*** nil)
 	(- nil) (+ nil) (++ nil) (+++ nil)
 	(/// nil) (// nil) (/ nil)
@@ -1729,7 +1729,7 @@
 ;;; Startup-Idle-and-Top-Level-Loops -- Internal
 ;;;
 (defun startup-idle-and-top-level-loops ()
-  "Enter the idle loop, starting a new process to run the top level loop.
+  _N"Enter the idle loop, starting a new process to run the top level loop.
   The awaking of sleeping processes is timed better with the idle loop process
   running, and starting a new process for the top level loop supports a
   simultaneous interactive session. Such an initialisation will likely be the
@@ -1750,7 +1750,7 @@
 (defun start-lisp-connection-listener (&key (port 1025)
 					    (password (random (expt 2 24))))
   (declare (type (unsigned-byte 16) port))
-  "Create a Lisp connection listener, listening on a TCP port for new
+  _N"Create a Lisp connection listener, listening on a TCP port for new
   connections and starting a new top-level loop for each. If a password
   is not given then one will be generated and reported.  A search is
   performed for the first free port starting at the given port which
@@ -1926,7 +1926,7 @@
 (defmacro with-lock-held ((lock &optional (whostate "Lock Wait")
 				&key (wait t) timeout)
 			  &body body)
-  "Execute the body with the lock held. If the lock is held by another
+  _N"Execute the body with the lock held. If the lock is held by another
   process then the current process waits until the lock is released or
   an optional timeout is reached. The optional wait timeout is a time in
   seconds acceptable to process-wait-with-timeout.  The results of the
Index: src/i18n/locale/cmucl.pot
diff -u src/i18n/locale/cmucl.pot:1.1.2.8 src/i18n/locale/cmucl.pot:1.1.2.9
--- src/i18n/locale/cmucl.pot:1.1.2.8	Tue Feb  9 15:23:02 2010
+++ src/i18n/locale/cmucl.pot	Tue Feb  9 16:33:11 2010
@@ -1850,6 +1850,73 @@
 msgid "Computes a hash code for S-EXPR and returns it as an integer."
 msgstr ""
 
+#: target:code/mipsstrops.lisp
+msgid ""
+"Compares the substrings specified by String1 and String2 and returns\n"
+"NIL if the strings are String=, or the lowest index of String1 in\n"
+"which the two differ. If one string is longer than the other and the\n"
+"shorter is a prefix of the longer, the length of the shorter + start1 is\n"
+"returned. This would be done on the Vax with CMPC3. The arguments must\n"
+"be simple strings."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid "Like %sp-string-compare, only backwards."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Find-Character-With-Attribute  String, Start, End, Table, Mask\n"
+"  The codes of the characters of String from Start to End are used as "
+"indices\n"
+"  into the Table, which is a U-Vector of 8-bit bytes. When the number "
+"picked\n"
+"  up from the table bitwise ANDed with Mask is non-zero, the current\n"
+"  index into the String is returned. The corresponds to SCANC on the Vax."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid "Like %SP-Find-Character-With-Attribute, only sdrawkcaB."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Find-Character  String, Start, End, Character\n"
+"  Searches String for the Character from Start to End.  If the character is\n"
+"  found, the corresponding index into String is returned, otherwise NIL is\n"
+"  returned."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Reverse-Find-Character  String, Start, End, Character\n"
+"  Searches String for Character from End to Start.  If the character is\n"
+"  found, the corresponding index into String is returned, otherwise NIL is\n"
+"  returned."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Skip-Character  String, Start, End, Character\n"
+"  Returns the index of the first character between Start and End which\n"
+"  is not Char=  to Character, or NIL if there is no such character."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Skip-Character  String, Start, End, Character\n"
+"  Returns the index of the last character between Start and End which\n"
+"  is not Char=  to Character, or NIL if there is no such character."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-String-Search  String1, Start1, End1, String2, Start2, End2\n"
+"   Searches for the substring of String1 specified in String2.\n"
+"   Returns an index into String2 or NIL if the substring wasn't\n"
+"   found."
+msgstr ""
+
 #: target:code/bsd-os.lisp
 msgid "Unix system call getrusage failed: ~A."
 msgstr ""
@@ -2487,6 +2554,92 @@
 "  NIL if no such character exists."
 msgstr ""
 
+#: target:code/misc.lisp
+msgid ""
+"Returns the documentation string of Doc-Type for X, or NIL if\n"
+"  none exists.  System doc-types are VARIABLE, FUNCTION, STRUCTURE, TYPE,\n"
+"  SETF, and T."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "~S is not the name of a structure type."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid ""
+"If X is an atom, see if it is present in *FEATURES*.  Also\n"
+"  handle arbitrary combinations of atoms using NOT, AND, OR."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Unknown operator in feature expression: ~S."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string describing the implementation type."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string describing the implementation version."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid " Unicode"
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string giving the name of the local machine."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "The value of SOFTWARE-TYPE.  Set in FOO-os.lisp."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string describing the supporting software."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "The value of SHORT-SITE-NAME.  Set in library:site-init.lisp."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Unknown"
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string with the abbreviated site name."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "The value of LONG-SITE-NAME.  Set in library:site-init.lisp."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Site name not initialized"
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string with the long form of the site name."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid ""
+"With a file name as an argument, dribble opens the file and\n"
+"   sends a record of further I/O to that file.  Without an\n"
+"   argument, it closes the dribble file, and quits logging."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Not currently dribbling."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid ""
+"Default implementation of ed.  This does nothing.  If hemlock is\n"
+"  loaded, ed can be used to edit a file"
+msgstr ""
+
 #: target:code/extensions.lisp
 msgid ""
 "This function can be used as the default value for keyword arguments that\n"
@@ -3369,6 +3522,11 @@
 "  See the manual for details."
 msgstr ""
 
+#: target:pcl/std-class.lisp target:pcl/boot.lisp target:pcl/defs.lisp
+#: target:pcl/defclass.lisp target:code/fd-stream.lisp
+msgid "Odd-length property list in REMF."
+msgstr ""
+
 #: target:code/fd-stream.lisp
 msgid "Unable to open streams of class ~S."
 msgstr ""
@@ -3645,6 +3803,77 @@
 msgid "~A is not defined as a foreign symbol"
 msgstr ""
 
+#: target:code/module.lisp
+msgid ""
+"This is a list of module names that have been loaded into Lisp so far.\n"
+"   It is used by PROVIDE and REQUIRE."
+msgstr ""
+
+#: target:code/module.lisp
+msgid "*load-verbose* is bound to this before loading files."
+msgstr ""
+
+#: target:code/module.lisp
+msgid "See function documentation for REQUIRE"
+msgstr ""
+
+#: target:code/module.lisp
+msgid ""
+"Defines a module by registering the files that need to be loaded when\n"
+"   the module is required.  If name is a symbol, its print name is used\n"
+"   after downcasing it."
+msgstr ""
+
+#: target:code/module.lisp
+msgid ""
+"Adds a new module name to *modules* indicating that it has been loaded.\n"
+"   Module-name may be any valid string designator.  All comparisons are\n"
+"   done using string=, i.e. module names are case-sensitive."
+msgstr ""
+
+#: target:code/module.lisp
+msgid ""
+"Loads a module when it has not been already.  Pathname, if supplied,\n"
+"   is a single pathname or list of pathnames to be loaded if the module\n"
+"   needs to be.  If pathname is not supplied, then functions from the list\n"
+"   *MODULE-PROVIDER-FUNCTIONS* are called in order with the stringified\n"
+"   MODULE-NAME as the argument, until one of them returns non-NIL.  By\n"
+"   default the functions MODULE-PROVIDE-CMUCL-DEFMODULE and MODULE-PROVIDE-\n"
+"   CMUCL-LIBRARY are on this list of functions, in that order.  The first\n"
+"   of those looks for a list of files that was registered by a EXT:DEFMODULE"
+"\n"
+"   form.  If the module has not been defined, then the second function\n"
+"   causes a file to be loaded whose name is formed by merging \"modules:\"\n"
+"   and the concatenation of module-name with the suffix \"-LIBRARY\".\n"
+"   Note that both the module-name and the suffix are each, separately,\n"
+"   converted from :case :common to :case :local.  This merged name will be\n"
+"   probed with both a .lisp and .fasl extensions, calling LOAD if it "
+"exists.\n"
+"\n"
+"   Note that in all cases covered above, user code is responsible for\n"
+"   calling PROVIDE to indicate a successful load of the module.\n"
+"\n"
+"   While loading any files, *load-verbose* is bound to *require-verbose*\n"
+"   which defaults to t."
+msgstr ""
+
+#: target:code/module.lisp
+msgid "Don't know how to load ~A"
+msgstr ""
+
+#: target:code/module.lisp
+msgid "Coerce a string designator to a module name."
+msgstr ""
+
+#: target:code/module.lisp
+msgid ""
+"Derive a default pathname to try to load for an undefined module\n"
+"named module-name.  The default pathname is constructed from the\n"
+"module-name by appending the suffix \"-LIBRARY\" to it, and merging\n"
+"with \"modules:\".  Note that both the module-name and the suffix are\n"
+"each, separately, converted from :case :common to :case :local."
+msgstr ""
+
 #: target:code/eval.lisp
 msgid ""
 "Keywords that you can put in a lambda-list, supposing you should want\n"
@@ -5283,6 +5512,244 @@
 msgid "network connection from ~D.~D.~D.~D:~D"
 msgstr ""
 
+#: target:code/multi-proc.lisp
+msgid "Return the real time in seconds."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Return the run time in seconds"
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Return the process state which is either Run, Killed, or a wait reason."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Returns the current process."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "A list of all alive processes."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Return a list of all the live processes."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Execute the body the scheduling disabled."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Increaments the reference by delta in a single atomic operation"
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Decrements the reference by delta in a single atomic operation"
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Atomically push object onto place."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Atomically pop place."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Make a process which will run FUNCTION when it starts up.  By\n"
+"  default the process is created in a runnable (active) state.\n"
+"  If FUNCTION is NIL, the process is started in a killed state; it may\n"
+"  be restarted later with process-preset.\n"
+"\n"
+"  :NAME\n"
+"	A name for the process displayed in process listings.\n"
+"\n"
+"  :RUN-REASONS\n"
+"	Initial value for process-run-reasons; defaults to (:ENABLE).  A\n"
+"	process needs a at least one run reason to be runnable.  Together with\n"
+"	arrest reasons, run reasons provide an alternative to process-wait for\n"
+"	controling whether or not a process is runnable.  To get the default\n"
+"	behavior of MAKE-PROCESS in Allegro Common Lisp, which is to create a\n"
+"	process which is active but not runnable, initialize RUN-REASONS to\n"
+"	NIL.\n"
+"\n"
+"  :ARREST-REASONS\n"
+"	Initial value for process-arrest-reasons; defaults to NIL.  A\n"
+"	process must have no arrest reasons in order to be runnable.\n"
+"\n"
+"  :INITIAL-BINDINGS\n"
+"	An alist of initial special bindings for the process.  At\n"
+"	startup the new process has a fresh set of special bindings\n"
+"	with a default binding of *package* setup to the CL-USER\n"
+"	package.  INITIAL-BINDINGS specifies additional bindings for\n"
+"	the process.  The cdr of each alist element is evaluated in\n"
+"	the fresh dynamic environment and then bound to the car of the\n"
+"	element."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Interrupt process and cause it to evaluate function."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Destroy a process. The process is sent a interrupt which throws to\n"
+"  the end of the process allowing it to unwind gracefully."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Restart process by unwinding it to its initial state and calling its\n"
+"  initial function."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Restart process, unwinding it to its initial state and calls\n"
+"  function with args."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Disable process from being runnable until enabled."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Allow process to become runnable again after it has been disabled."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Causes the process to wait until predicate returns True. Processes\n"
+"  can only call process-wait when scheduling is enabled, and the predicate\n"
+"  can not call process-wait. Since the predicate may be evaluated may\n"
+"  times by the scheduler it should be relative fast native compiled code.\n"
+"  The single True predicate value is returned."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Causes the process to wait until predicate returns True, or the\n"
+"  number of seconds specified by timeout has elapsed. The timeout may\n"
+"  be a fixnum or a float in seconds.  The single True predicate value is\n"
+"  returned, or NIL if the timeout was reached."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Try to gracefully destroy all the processes giving them some\n"
+"  chance to unwinding, before shutting down multi-processing. This is\n"
+"  currently necessary before a purify and is performed before a save-lisp.\n"
+"  Multi-processing can be restarted by calling init-multi-processing."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"An idle loop to be run by the initial process. The select based event\n"
+"  server is called with a timeout calculated from the minimum of the\n"
+"  *idle-loop-timeout* and the time to the next process wait timeout.\n"
+"  To avoid this delay when there are runnable processes the *idle-process*\n"
+"  should be setup to the *initial-process*. If one of the processes quits\n"
+"  by throwing to %end-of-the-world then *quitting-lisp* will have been\n"
+"  set to the exit value which is noted by the idle loop which tries to\n"
+"  exit gracefully destroying all the processes and giving them a chance\n"
+"  to unwind."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Allow other processes to run."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Return the accrued real time elapsed while the given process was\n"
+"  scheduled. The returned time is a double-float in seconds."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Return the accrued run time elapsed for the given process. The returned\n"
+"  time is a double-float in seconds."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Return the real time elapsed since the given process was last\n"
+"  descheduled. The returned time is a double-float in seconds."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Start a regular SIGALRM interrupt which calls process-yield. An optional\n"
+"  time in seconds and micro seconds may be provided. Note that CMUCL code\n"
+"  base is not too interrupt safe so this may cause problems."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Wait until FD is usable for DIRECTION and return True. DIRECTION should be\n"
+"  either :INPUT or :OUTPUT. TIMEOUT, if supplied, is the number of seconds "
+"to\n"
+"  wait before giving up and returing NIL."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"This function causes execution to be suspended for N seconds.  N may\n"
+"  be any non-negative, non-complex number."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Executes body and returns the values of the last form in body. However, if\n"
+"  the execution takes longer than timeout seconds, abort it and evaluate\n"
+"  timeout-forms, returning the values of last form."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Show the all the processes, their whostate, and state. If the optional\n"
+"  verbose argument is true then the run, real, and idle times are also\n"
+"  shown."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Top-level READ-EVAL-PRINT loop for processes."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Enter the idle loop, starting a new process to run the top level loop.\n"
+"  The awaking of sleeping processes is timed better with the idle loop "
+"process\n"
+"  running, and starting a new process for the top level loop supports a\n"
+"  simultaneous interactive session. Such an initialisation will likely be "
+"the\n"
+"  default when there is better MP debug support etc."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Create a Lisp connection listener, listening on a TCP port for new\n"
+"  connections and starting a new top-level loop for each. If a password\n"
+"  is not given then one will be generated and reported.  A search is\n"
+"  performed for the first free port starting at the given port which\n"
+"  defaults to 1025."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Execute the body with the lock held. If the lock is held by another\n"
+"  process then the current process waits until the lock is released or\n"
+"  an optional timeout is reached. The optional wait timeout is a time in\n"
+"  seconds acceptable to process-wait-with-timeout.  The results of the\n"
+"  body are return upon success and NIL is return if the timeout is\n"
+"  reached. When the wait key is NIL and the lock is held by another\n"
+"  process then NIL is return immediately without processing the body."
+msgstr ""
+
 #: target:code/defstruct.lisp
 msgid ""
 "Controls compiling DEFSTRUCT :print-function and :print-method\n"
@@ -5586,3 +6053,579 @@
 msgid ", but got ~D."
 msgstr ""
 
+#: target:code/macros.lisp
+msgid ""
+"This function is to parse the declarations and doc-string out of the body "
+"of\n"
+"  a defun-like form.  Body is the list of stuff which is to be parsed.\n"
+"  Environment is ignored.  If Doc-String-Allowed is true, then a doc string\n"
+"  will be parsed out of the body and returned.  If it is false then a "
+"string\n"
+"  will terminate the search for declarations.  Three values are returned: "
+"the\n"
+"  tail of Body after the declarations and doc strings, a list of declare "
+"forms,\n"
+"  and the doc-string, or NIL if none."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "defining macro ~A"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Define a compiler-macro for NAME."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Symbol macro name is not a symbol: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Symbol macro name already declared special: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Symbol macro name already declared constant: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Syntax like DEFMACRO, but defines a new type."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~S -- Type name not a symbol."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "defining type ~A"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Deftype already names a declaration: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Illegal to redefine standard type: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Redefining class ~S to be a DEFTYPE."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Setf expander for ~S cannot be called with ~S args."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Syntax like DEFMACRO, but creates a Setf-Expansion generator.  The body\n"
+"  must be a form that returns the five magical values."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~S -- Access-function name not a symbol in DEFINE-SETF-EXPANDER."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Obsolete, use define-setf-expander."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Defining setf macro for destruct slot accessor; redefining as ~\n"
+"	        a normal function:~%  ~S"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Defining setf macro for ~S, but ~S is fbound."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Bind the variables in LAMBDA-LIST to the contents of ARG-LIST."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"For defining global constants at top level.  The DEFCONSTANT says that the\n"
+"  value is constant and may be compiled into code.  If the variable already "
+"has\n"
+"  a value, and this is not equal to the init, an error is signalled.  The "
+"third\n"
+"  argument is an optional documentation string for the variable."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Go ahead and change the value."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Constant ~S being redefined."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"For defining global variables at top level.  Declares the variable\n"
+"  SPECIAL and, optionally, initializes it.  If the variable already has a\n"
+"  value, the old value is not clobbered.  The third argument is an optional\n"
+"  documentation string for the variable."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Defines a parameter that is not normally changed by the program,\n"
+"  but that may be changed without causing an error.  Declares the\n"
+"  variable special and sets its value to VAL.  The third argument is\n"
+"  an optional documentation string for the parameter."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"First arg is a predicate.  If it is non-null, the rest of the forms are\n"
+"  evaluated as a PROGN."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"First arg is a predicate.  If it is null, the rest of the forms are\n"
+"  evaluated as a PROGN."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Cond clause is not a list: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Varlist is not a list of symbols: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Evaluates FORM and returns the Nth value (zero based).  This involves no\n"
+"  consing when N is a trivial constant integer."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Returns five values needed by the SETF machinery: a list of temporary\n"
+"   variables, a list of values with which to fill them, a list of temporarie"
+"s\n"
+"   for the new values, the setting function, and the accessing function."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Obsolete: use GET-SETF-EXPANSION."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Obsolete: use GET-SETF-EXPANSION and handle multiple store values."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"GET-SETF-METHOD used for a form with multiple store ~\n"
+"	      variables:~%  ~S"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Associates a SETF update function or macro with the specified access\n"
+"  function or macro.  The format is complex.  See the manual for\n"
+"  details."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Ill-formed DEFSETF for ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Takes pairs of arguments like SETQ.  The first is a place and the second\n"
+"  is the value that is supposed to go into that place.  Returns the last\n"
+"  value.  The place argument may be any of the access forms for which SETF\n"
+"  knows a corresponding setting form."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Odd number of args to SETF."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"This is to SETF as PSETQ is to SETQ.  Args are alternating place\n"
+"  expressions and values to go into those places.  All of the subforms and\n"
+"  values are determined, left to right, and only then are the locations\n"
+"  updated.  Returns NIL."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Odd number of args to PSETF."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"One or more SETF-style place expressions, followed by a single\n"
+"   value expression.  Evaluates all of the expressions in turn, then\n"
+"   assigns the value of each expression to the place on its left,\n"
+"   returning the value of the leftmost."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Takes any number of SETF-style place expressions.  Evaluates all of the\n"
+"   expressions in turn, then assigns to each place the value of the form to\n"
+"   its right.  The rightmost form gets the value of the leftmost.\n"
+"   Returns NIL."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Creates a new read-modify-write macro like PUSH or INCF."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Non-symbol &rest arg in definition of ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Illegal stuff after &rest arg in Define-Modify-Macro."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~S not allowed in Define-Modify-Macro lambda list."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Illegal stuff in lambda list of Define-Modify-Macro."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Takes an object and a location holding a list.  Conses the object onto\n"
+"  the list, returning the modified list.  OBJ is evaluated before PLACE."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Takes an object and a location holding a list.  If the object is already\n"
+"  in the list, does nothing.  Else, conses the object onto the list.  "
+"Returns\n"
+"  NIL.  If there is a :TEST keyword, this is used for the comparison."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The argument is a location holding a list.  Pops one item off the front\n"
+"  of the list and returns it."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The first argument is some location holding a number. This number is\n"
+"  incremented by the second argument, DELTA, which defaults to 1."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The first argument is some location holding a number. This number is\n"
+"  decremented by the second argument, DELTA, which defaults to 1."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Place may be any place expression acceptable to SETF, and is expected\n"
+"  to hold a property list or ().  This list is destructively altered to\n"
+"  remove the property specified by the indicator.  Returns T if such a\n"
+"  property was present, NIL if not."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Setf of Apply is only defined for function args like #'symbol."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The first argument is a byte specifier.  The second is any place form\n"
+"  acceptable to SETF.  Replaces the specified byte of the number in this\n"
+"  place with bits from the low-order end of the new value."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The first argument is a byte specifier.  The second is any place form\n"
+"  acceptable to SETF.  Replaces the specified byte of the number in this "
+"place\n"
+"  with bits from the corresponding position in the new value."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~S -- Bad clause in ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "No default clause allowed in ~S: ~S"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "T and OTHERWISE may not be used as key designators for ~A"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Bad style to use T or OTHERWISE in ECASE or CCASE"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Supply a new value for ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"CASE Keyform {({(Key*) | Key} Form*)}*\n"
+"  Evaluates the Forms in the first clause with a Key EQL to the value\n"
+"  of Keyform.  If a singleton key is T or Otherwise then the clause is\n"
+"  a default clause."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"CCASE Keyform {({(Key*) | Key} Form*)}*\n"
+"  Evaluates the Forms in the first clause with a Key EQL to the value of\n"
+"  Keyform.  If none of the keys matches then a correctable error is\n"
+"  signalled."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"ECASE Keyform {({(Key*) | Key} Form*)}*\n"
+"  Evaluates the Forms in the first clause with a Key EQL to the value of\n"
+"  Keyform.  If none of the keys matches then an error is signalled."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"TYPECASE Keyform {(Type Form*)}*\n"
+"  Evaluates the Forms in the first clause for which TYPEP of Keyform\n"
+"  and Type is true.  If a singleton key is T or Otherwise then the\n"
+"  clause is a default clause."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"CTYPECASE Keyform {(Type Form*)}*\n"
+"  Evaluates the Forms in the first clause for which TYPEP of Keyform and "
+"Type\n"
+"  is true.  If no form is satisfied then a correctable error is signalled."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"ETYPECASE Keyform {(Type Form*)}*\n"
+"  Evaluates the Forms in the first clause for which TYPEP of Keyform and "
+"Type\n"
+"  is true.  If no form is satisfied then an error is signalled."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Signals an error if the value of test-form is nil.  Continuing from this\n"
+"   error using the CONTINUE restart will allow the user to alter the value "
+"of\n"
+"   some locations known to SETF, starting over with test-form.  Returns "
+"nil."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "The assertion ~S failed."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Retry assertion"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid " with new value~P for ~{~S~^, ~}."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "The old value of ~S is ~S.~\n"
+"		  ~%Do you want to supply a new value? "
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~&Type a form to be evaluated:~%"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Signals an error of type type-error if the contents of place are not of the\n"
+"   specified type.  If an error is signaled, this can only return if\n"
+"   STORE-VALUE is invoked.  It will store into place and start over."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Supply a new value of ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "The value of ~S is ~S, which is not ~A."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "The value of ~S is ~S, which is not of type ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The file whose name is Filespec is opened using the Open-args and\n"
+"  bound to the variable Var. If the call to open is unsuccessful, the\n"
+"  forms are not evaluated.  The Forms are executed, and when they\n"
+"  terminate, normally or otherwise, the file is closed."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The form stream should evaluate to a stream.  VAR is bound\n"
+"   to the stream and the forms are evaluated as an implicit\n"
+"   progn.  The stream is closed upon exit."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Binds the Var to an input stream that returns characters from String and\n"
+"  executes the body.  See manual for details."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"If STRING is specified, it must be a string with a fill pointer;\n"
+"   the output is incrementally appended to the string (as if by use of\n"
+"   VECTOR-PUSH-EXTEND)."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"DO ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*\n"
+"  Iteration construct.  Each Var is initialized in parallel to the value of "
+"the\n"
+"  specified Init form.  On subsequent iterations, the Vars are assigned the\n"
+"  value of the Step form (if any) in paralell.  The Test is evaluated "
+"before\n"
+"  each evaluation of the body Forms.  When the Test is true, the Exit-Forms\n"
+"  are evaluated as a PROGN, with the result being the value of the DO.  A "
+"block\n"
+"  named NIL is established around the entire expansion, allowing RETURN to "
+"be\n"
+"  used as an laternate exit mechanism."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"DO* ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*\n"
+"  Iteration construct.  Each Var is initialized sequentially (like LET*) to "
+"the\n"
+"  value of the specified Init form.  On subsequent iterations, the Vars are\n"
+"  sequentially assigned the value of the Step form (if any).  The Test is\n"
+"  evaluated before each evaluation of the body Forms.  When the Test is "
+"true,\n"
+"  the Exit-Forms are evaluated as a PROGN, with the result being the value\n"
+"  of the DO.  A block named NIL is established around the entire expansion,\n"
+"  allowing RETURN to be used as an laternate exit mechanism."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"PSETQ {var value}*\n"
+"   Set the variables to the values, like SETQ, except that assignments\n"
+"   happen in parallel, i.e. no assignments take place until all the\n"
+"   forms have been evaluated."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "variable ~S in PSETQ is not a SYMBOL"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Unknown declaration context: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Context declaration spec should have context and at ~\n"
+"	  least one DECLARE form:~%  ~S"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"WITH-COMPILATION-UNIT ({Key Value}*) Form*\n"
+"  This form affects compilations that take place within its dynamic extent. "
+" It\n"
+"  is intended to be wrapped around the compilation of all files in the same\n"
+"  system.  These keywords are defined:\n"
+"    :OVERRIDE Boolean-Form\n"
+"        One of the effects of this form is to delay undefined warnings \n"
+"        until the end of the form, instead of giving them at the end of "
+"each\n"
+"        compilation.  If OVERRIDE is NIL (the default), then the outermost\n"
+"        WITH-COMPILATION-UNIT form grabs the undefined warnings.  Specifying"
+"\n"
+"        OVERRIDE true causes that form to grab any enclosed warnings, even "
+"if\n"
+"        it is enclosed by another WITH-COMPILATION-UNIT.\n"
+"    :OPTIMIZE Decl-Form\n"
+"        Decl-Form should evaluate to an OPTIMIZE declaration specifier.  "
+"This\n"
+"        declaration changes the `global' policy for compilations within the\n"
+"        body.\n"
+"    :OPTIMIZE-INTERFACE Decl-Form\n"
+"        Like OPTIMIZE, except that it specifies the value of the CMU "
+"extension\n"
+"        OPTIMIZE-INTERFACE policy (which controls argument type and syntax\n"
+"        checking.)\n"
+"    :CONTEXT-DECLARATIONS List-of-Context-Decls-Form\n"
+"        This is a CMU extension which allows compilation to be controlled\n"
+"        by pattern matching on the context in which a definition appears.  "
+"The\n"
+"        argument should evaluate to a list of lists of the form:\n"
+"            (Context-Spec Declare-Form+)\n"
+"        In the indicated context, the specified declare forms are inserted "
+"at\n"
+"        the head of each definition.  The declare forms for all contexts "
+"that\n"
+"	match are appended together, with earlier declarations getting\n"
+"	predecence over later ones.  A simple example:\n"
+"            :context-declarations\n"
+"            '((:external (declare (optimize (safety 2)))))\n"
+"        This will cause all functions that are named by external symbols to "
+"be\n"
+"        compiled with SAFETY 2.  The full syntax of context specs is:\n"
+"	:INTERNAL, :EXTERNAL\n"
+"	    True if the symbols is internal (external) in its home package.\n"
+"	:UNINTERNED\n"
+"	    True if the symbol has no home package.\n"
+"	:ANONYMOUS\n"
+"	    True if the function doesn't have any interesting name (not\n"
+"	    DEFMACRO, DEFUN, LABELS or FLET).\n"
+"	:MACRO, :FUNCTION\n"
+"	    :MACRO is a global (DEFMACRO) macro.  :FUNCTION is anything else.\n"
+"	:LOCAL, :GLOBAL\n"
+"	    :LOCAL is a LABELS or FLET.  :GLOBAL is anything else.\n"
+"	(:OR Context-Spec*)\n"
+"	    True in any specified context.\n"
+"	(:AND Context-Spec*)\n"
+"	    True only when all specs are true.\n"
+"	(:NOT Context-Spec)\n"
+"	    True when the spec is false.\n"
+"        (:MEMBER Name*)\n"
+"	    True when the name is one of these names (EQUAL test.)\n"
+"	(:MATCH Pattern*)\n"
+"	    True when any of the patterns is a substring of the name.  The name\n"
+"	    is wrapped with $'s, so $FOO matches names beginning with FOO,\n"
+"	    etc."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Odd number of key/value pairs: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Ignoring unknown option: ~S."
+msgstr ""
+
Index: src/i18n/locale/ko/LC_MESSAGES/cmucl.po
diff -u src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.8 src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.9
--- src/i18n/locale/ko/LC_MESSAGES/cmucl.po:1.1.2.8	Tue Feb  9 15:23:02 2010
+++ src/i18n/locale/ko/LC_MESSAGES/cmucl.po	Tue Feb  9 16:33:11 2010
@@ -1850,6 +1850,73 @@
 msgid "Computes a hash code for S-EXPR and returns it as an integer."
 msgstr ""
 
+#: target:code/mipsstrops.lisp
+msgid ""
+"Compares the substrings specified by String1 and String2 and returns\n"
+"NIL if the strings are String=, or the lowest index of String1 in\n"
+"which the two differ. If one string is longer than the other and the\n"
+"shorter is a prefix of the longer, the length of the shorter + start1 is\n"
+"returned. This would be done on the Vax with CMPC3. The arguments must\n"
+"be simple strings."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid "Like %sp-string-compare, only backwards."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Find-Character-With-Attribute  String, Start, End, Table, Mask\n"
+"  The codes of the characters of String from Start to End are used as "
+"indices\n"
+"  into the Table, which is a U-Vector of 8-bit bytes. When the number "
+"picked\n"
+"  up from the table bitwise ANDed with Mask is non-zero, the current\n"
+"  index into the String is returned. The corresponds to SCANC on the Vax."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid "Like %SP-Find-Character-With-Attribute, only sdrawkcaB."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Find-Character  String, Start, End, Character\n"
+"  Searches String for the Character from Start to End.  If the character is\n"
+"  found, the corresponding index into String is returned, otherwise NIL is\n"
+"  returned."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Reverse-Find-Character  String, Start, End, Character\n"
+"  Searches String for Character from End to Start.  If the character is\n"
+"  found, the corresponding index into String is returned, otherwise NIL is\n"
+"  returned."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Skip-Character  String, Start, End, Character\n"
+"  Returns the index of the first character between Start and End which\n"
+"  is not Char=  to Character, or NIL if there is no such character."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-Skip-Character  String, Start, End, Character\n"
+"  Returns the index of the last character between Start and End which\n"
+"  is not Char=  to Character, or NIL if there is no such character."
+msgstr ""
+
+#: target:code/mipsstrops.lisp
+msgid ""
+"%SP-String-Search  String1, Start1, End1, String2, Start2, End2\n"
+"   Searches for the substring of String1 specified in String2.\n"
+"   Returns an index into String2 or NIL if the substring wasn't\n"
+"   found."
+msgstr ""
+
 #: target:code/bsd-os.lisp
 msgid "Unix system call getrusage failed: ~A."
 msgstr ""
@@ -2485,6 +2552,92 @@
 "  NIL if no such character exists."
 msgstr ""
 
+#: target:code/misc.lisp
+msgid ""
+"Returns the documentation string of Doc-Type for X, or NIL if\n"
+"  none exists.  System doc-types are VARIABLE, FUNCTION, STRUCTURE, TYPE,\n"
+"  SETF, and T."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "~S is not the name of a structure type."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid ""
+"If X is an atom, see if it is present in *FEATURES*.  Also\n"
+"  handle arbitrary combinations of atoms using NOT, AND, OR."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Unknown operator in feature expression: ~S."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string describing the implementation type."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string describing the implementation version."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid " Unicode"
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string giving the name of the local machine."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "The value of SOFTWARE-TYPE.  Set in FOO-os.lisp."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string describing the supporting software."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "The value of SHORT-SITE-NAME.  Set in library:site-init.lisp."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Unknown"
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string with the abbreviated site name."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "The value of LONG-SITE-NAME.  Set in library:site-init.lisp."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Site name not initialized"
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Returns a string with the long form of the site name."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid ""
+"With a file name as an argument, dribble opens the file and\n"
+"   sends a record of further I/O to that file.  Without an\n"
+"   argument, it closes the dribble file, and quits logging."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid "Not currently dribbling."
+msgstr ""
+
+#: target:code/misc.lisp
+msgid ""
+"Default implementation of ed.  This does nothing.  If hemlock is\n"
+"  loaded, ed can be used to edit a file"
+msgstr ""
+
 #: target:code/extensions.lisp
 msgid ""
 "This function can be used as the default value for keyword arguments that\n"
@@ -3382,6 +3535,11 @@
 "  See the manual for details."
 msgstr ""
 
+#: target:pcl/std-class.lisp target:pcl/boot.lisp target:pcl/defs.lisp
+#: target:pcl/defclass.lisp target:code/fd-stream.lisp
+msgid "Odd-length property list in REMF."
+msgstr ""
+
 #: target:code/fd-stream.lisp
 msgid "Unable to open streams of class ~S."
 msgstr ""
@@ -3658,6 +3816,77 @@
 msgid "~A is not defined as a foreign symbol"
 msgstr ""
 
+#: target:code/module.lisp
+msgid ""
+"This is a list of module names that have been loaded into Lisp so far.\n"
+"   It is used by PROVIDE and REQUIRE."
+msgstr ""
+
+#: target:code/module.lisp
+msgid "*load-verbose* is bound to this before loading files."
+msgstr ""
+
+#: target:code/module.lisp
+msgid "See function documentation for REQUIRE"
+msgstr ""
+
+#: target:code/module.lisp
+msgid ""
+"Defines a module by registering the files that need to be loaded when\n"
+"   the module is required.  If name is a symbol, its print name is used\n"
+"   after downcasing it."
+msgstr ""
+
+#: target:code/module.lisp
+msgid ""
+"Adds a new module name to *modules* indicating that it has been loaded.\n"
+"   Module-name may be any valid string designator.  All comparisons are\n"
+"   done using string=, i.e. module names are case-sensitive."
+msgstr ""
+
+#: target:code/module.lisp
+msgid ""
+"Loads a module when it has not been already.  Pathname, if supplied,\n"
+"   is a single pathname or list of pathnames to be loaded if the module\n"
+"   needs to be.  If pathname is not supplied, then functions from the list\n"
+"   *MODULE-PROVIDER-FUNCTIONS* are called in order with the stringified\n"
+"   MODULE-NAME as the argument, until one of them returns non-NIL.  By\n"
+"   default the functions MODULE-PROVIDE-CMUCL-DEFMODULE and MODULE-PROVIDE-\n"
+"   CMUCL-LIBRARY are on this list of functions, in that order.  The first\n"
+"   of those looks for a list of files that was registered by a EXT:"
+"DEFMODULE\n"
+"   form.  If the module has not been defined, then the second function\n"
+"   causes a file to be loaded whose name is formed by merging \"modules:\"\n"
+"   and the concatenation of module-name with the suffix \"-LIBRARY\".\n"
+"   Note that both the module-name and the suffix are each, separately,\n"
+"   converted from :case :common to :case :local.  This merged name will be\n"
+"   probed with both a .lisp and .fasl extensions, calling LOAD if it "
+"exists.\n"
+"\n"
+"   Note that in all cases covered above, user code is responsible for\n"
+"   calling PROVIDE to indicate a successful load of the module.\n"
+"\n"
+"   While loading any files, *load-verbose* is bound to *require-verbose*\n"
+"   which defaults to t."
+msgstr ""
+
+#: target:code/module.lisp
+msgid "Don't know how to load ~A"
+msgstr ""
+
+#: target:code/module.lisp
+msgid "Coerce a string designator to a module name."
+msgstr ""
+
+#: target:code/module.lisp
+msgid ""
+"Derive a default pathname to try to load for an undefined module\n"
+"named module-name.  The default pathname is constructed from the\n"
+"module-name by appending the suffix \"-LIBRARY\" to it, and merging\n"
+"with \"modules:\".  Note that both the module-name and the suffix are\n"
+"each, separately, converted from :case :common to :case :local."
+msgstr ""
+
 #: target:code/eval.lisp
 msgid ""
 "Keywords that you can put in a lambda-list, supposing you should want\n"
@@ -5296,6 +5525,243 @@
 msgid "network connection from ~D.~D.~D.~D:~D"
 msgstr ""
 
+#: target:code/multi-proc.lisp
+msgid "Return the real time in seconds."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Return the run time in seconds"
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Return the process state which is either Run, Killed, or a wait reason."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Returns the current process."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "A list of all alive processes."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Return a list of all the live processes."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Execute the body the scheduling disabled."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Increaments the reference by delta in a single atomic operation"
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Decrements the reference by delta in a single atomic operation"
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Atomically push object onto place."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Atomically pop place."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Make a process which will run FUNCTION when it starts up.  By\n"
+"  default the process is created in a runnable (active) state.\n"
+"  If FUNCTION is NIL, the process is started in a killed state; it may\n"
+"  be restarted later with process-preset.\n"
+"\n"
+"  :NAME\n"
+"\tA name for the process displayed in process listings.\n"
+"\n"
+"  :RUN-REASONS\n"
+"\tInitial value for process-run-reasons; defaults to (:ENABLE).  A\n"
+"\tprocess needs a at least one run reason to be runnable.  Together with\n"
+"\tarrest reasons, run reasons provide an alternative to process-wait for\n"
+"\tcontroling whether or not a process is runnable.  To get the default\n"
+"\tbehavior of MAKE-PROCESS in Allegro Common Lisp, which is to create a\n"
+"\tprocess which is active but not runnable, initialize RUN-REASONS to\n"
+"\tNIL.\n"
+"\n"
+"  :ARREST-REASONS\n"
+"\tInitial value for process-arrest-reasons; defaults to NIL.  A\n"
+"\tprocess must have no arrest reasons in order to be runnable.\n"
+"\n"
+"  :INITIAL-BINDINGS\n"
+"\tAn alist of initial special bindings for the process.  At\n"
+"\tstartup the new process has a fresh set of special bindings\n"
+"\twith a default binding of *package* setup to the CL-USER\n"
+"\tpackage.  INITIAL-BINDINGS specifies additional bindings for\n"
+"\tthe process.  The cdr of each alist element is evaluated in\n"
+"\tthe fresh dynamic environment and then bound to the car of the\n"
+"\telement."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Interrupt process and cause it to evaluate function."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Destroy a process. The process is sent a interrupt which throws to\n"
+"  the end of the process allowing it to unwind gracefully."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Restart process by unwinding it to its initial state and calling its\n"
+"  initial function."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Restart process, unwinding it to its initial state and calls\n"
+"  function with args."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Disable process from being runnable until enabled."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Allow process to become runnable again after it has been disabled."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Causes the process to wait until predicate returns True. Processes\n"
+"  can only call process-wait when scheduling is enabled, and the predicate\n"
+"  can not call process-wait. Since the predicate may be evaluated may\n"
+"  times by the scheduler it should be relative fast native compiled code.\n"
+"  The single True predicate value is returned."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Causes the process to wait until predicate returns True, or the\n"
+"  number of seconds specified by timeout has elapsed. The timeout may\n"
+"  be a fixnum or a float in seconds.  The single True predicate value is\n"
+"  returned, or NIL if the timeout was reached."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Try to gracefully destroy all the processes giving them some\n"
+"  chance to unwinding, before shutting down multi-processing. This is\n"
+"  currently necessary before a purify and is performed before a save-lisp.\n"
+"  Multi-processing can be restarted by calling init-multi-processing."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"An idle loop to be run by the initial process. The select based event\n"
+"  server is called with a timeout calculated from the minimum of the\n"
+"  *idle-loop-timeout* and the time to the next process wait timeout.\n"
+"  To avoid this delay when there are runnable processes the *idle-process*\n"
+"  should be setup to the *initial-process*. If one of the processes quits\n"
+"  by throwing to %end-of-the-world then *quitting-lisp* will have been\n"
+"  set to the exit value which is noted by the idle loop which tries to\n"
+"  exit gracefully destroying all the processes and giving them a chance\n"
+"  to unwind."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Allow other processes to run."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Return the accrued real time elapsed while the given process was\n"
+"  scheduled. The returned time is a double-float in seconds."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Return the accrued run time elapsed for the given process. The returned\n"
+"  time is a double-float in seconds."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Return the real time elapsed since the given process was last\n"
+"  descheduled. The returned time is a double-float in seconds."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Start a regular SIGALRM interrupt which calls process-yield. An optional\n"
+"  time in seconds and micro seconds may be provided. Note that CMUCL code\n"
+"  base is not too interrupt safe so this may cause problems."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Wait until FD is usable for DIRECTION and return True. DIRECTION should be\n"
+"  either :INPUT or :OUTPUT. TIMEOUT, if supplied, is the number of seconds "
+"to\n"
+"  wait before giving up and returing NIL."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"This function causes execution to be suspended for N seconds.  N may\n"
+"  be any non-negative, non-complex number."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Executes body and returns the values of the last form in body. However, if\n"
+"  the execution takes longer than timeout seconds, abort it and evaluate\n"
+"  timeout-forms, returning the values of last form."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Show the all the processes, their whostate, and state. If the optional\n"
+"  verbose argument is true then the run, real, and idle times are also\n"
+"  shown."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid "Top-level READ-EVAL-PRINT loop for processes."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Enter the idle loop, starting a new process to run the top level loop.\n"
+"  The awaking of sleeping processes is timed better with the idle loop "
+"process\n"
+"  running, and starting a new process for the top level loop supports a\n"
+"  simultaneous interactive session. Such an initialisation will likely be "
+"the\n"
+"  default when there is better MP debug support etc."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Create a Lisp connection listener, listening on a TCP port for new\n"
+"  connections and starting a new top-level loop for each. If a password\n"
+"  is not given then one will be generated and reported.  A search is\n"
+"  performed for the first free port starting at the given port which\n"
+"  defaults to 1025."
+msgstr ""
+
+#: target:code/multi-proc.lisp
+msgid ""
+"Execute the body with the lock held. If the lock is held by another\n"
+"  process then the current process waits until the lock is released or\n"
+"  an optional timeout is reached. The optional wait timeout is a time in\n"
+"  seconds acceptable to process-wait-with-timeout.  The results of the\n"
+"  body are return upon success and NIL is return if the timeout is\n"
+"  reached. When the wait key is NIL and the lock is held by another\n"
+"  process then NIL is return immediately without processing the body."
+msgstr ""
+
 #: target:code/defstruct.lisp
 msgid ""
 "Controls compiling DEFSTRUCT :print-function and :print-method\n"
@@ -5601,6 +6067,582 @@
 msgid ", but got ~D."
 msgstr ""
 
+#: target:code/macros.lisp
+msgid ""
+"This function is to parse the declarations and doc-string out of the body "
+"of\n"
+"  a defun-like form.  Body is the list of stuff which is to be parsed.\n"
+"  Environment is ignored.  If Doc-String-Allowed is true, then a doc string\n"
+"  will be parsed out of the body and returned.  If it is false then a "
+"string\n"
+"  will terminate the search for declarations.  Three values are returned: "
+"the\n"
+"  tail of Body after the declarations and doc strings, a list of declare "
+"forms,\n"
+"  and the doc-string, or NIL if none."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "defining macro ~A"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Define a compiler-macro for NAME."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Symbol macro name is not a symbol: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Symbol macro name already declared special: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Symbol macro name already declared constant: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Syntax like DEFMACRO, but defines a new type."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~S -- Type name not a symbol."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "defining type ~A"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Deftype already names a declaration: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Illegal to redefine standard type: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Redefining class ~S to be a DEFTYPE."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Setf expander for ~S cannot be called with ~S args."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Syntax like DEFMACRO, but creates a Setf-Expansion generator.  The body\n"
+"  must be a form that returns the five magical values."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~S -- Access-function name not a symbol in DEFINE-SETF-EXPANDER."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Obsolete, use define-setf-expander."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Defining setf macro for destruct slot accessor; redefining as ~\n"
+"\t        a normal function:~%  ~S"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Defining setf macro for ~S, but ~S is fbound."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Bind the variables in LAMBDA-LIST to the contents of ARG-LIST."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"For defining global constants at top level.  The DEFCONSTANT says that the\n"
+"  value is constant and may be compiled into code.  If the variable already "
+"has\n"
+"  a value, and this is not equal to the init, an error is signalled.  The "
+"third\n"
+"  argument is an optional documentation string for the variable."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Go ahead and change the value."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Constant ~S being redefined."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"For defining global variables at top level.  Declares the variable\n"
+"  SPECIAL and, optionally, initializes it.  If the variable already has a\n"
+"  value, the old value is not clobbered.  The third argument is an optional\n"
+"  documentation string for the variable."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Defines a parameter that is not normally changed by the program,\n"
+"  but that may be changed without causing an error.  Declares the\n"
+"  variable special and sets its value to VAL.  The third argument is\n"
+"  an optional documentation string for the parameter."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"First arg is a predicate.  If it is non-null, the rest of the forms are\n"
+"  evaluated as a PROGN."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"First arg is a predicate.  If it is null, the rest of the forms are\n"
+"  evaluated as a PROGN."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Cond clause is not a list: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Varlist is not a list of symbols: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Evaluates FORM and returns the Nth value (zero based).  This involves no\n"
+"  consing when N is a trivial constant integer."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Returns five values needed by the SETF machinery: a list of temporary\n"
+"   variables, a list of values with which to fill them, a list of "
+"temporaries\n"
+"   for the new values, the setting function, and the accessing function."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Obsolete: use GET-SETF-EXPANSION."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Obsolete: use GET-SETF-EXPANSION and handle multiple store values."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"GET-SETF-METHOD used for a form with multiple store ~\n"
+"\t      variables:~%  ~S"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Associates a SETF update function or macro with the specified access\n"
+"  function or macro.  The format is complex.  See the manual for\n"
+"  details."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Ill-formed DEFSETF for ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Takes pairs of arguments like SETQ.  The first is a place and the second\n"
+"  is the value that is supposed to go into that place.  Returns the last\n"
+"  value.  The place argument may be any of the access forms for which SETF\n"
+"  knows a corresponding setting form."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Odd number of args to SETF."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"This is to SETF as PSETQ is to SETQ.  Args are alternating place\n"
+"  expressions and values to go into those places.  All of the subforms and\n"
+"  values are determined, left to right, and only then are the locations\n"
+"  updated.  Returns NIL."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Odd number of args to PSETF."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"One or more SETF-style place expressions, followed by a single\n"
+"   value expression.  Evaluates all of the expressions in turn, then\n"
+"   assigns the value of each expression to the place on its left,\n"
+"   returning the value of the leftmost."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Takes any number of SETF-style place expressions.  Evaluates all of the\n"
+"   expressions in turn, then assigns to each place the value of the form to\n"
+"   its right.  The rightmost form gets the value of the leftmost.\n"
+"   Returns NIL."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Creates a new read-modify-write macro like PUSH or INCF."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Non-symbol &rest arg in definition of ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Illegal stuff after &rest arg in Define-Modify-Macro."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~S not allowed in Define-Modify-Macro lambda list."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Illegal stuff in lambda list of Define-Modify-Macro."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Takes an object and a location holding a list.  Conses the object onto\n"
+"  the list, returning the modified list.  OBJ is evaluated before PLACE."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Takes an object and a location holding a list.  If the object is already\n"
+"  in the list, does nothing.  Else, conses the object onto the list.  "
+"Returns\n"
+"  NIL.  If there is a :TEST keyword, this is used for the comparison."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The argument is a location holding a list.  Pops one item off the front\n"
+"  of the list and returns it."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The first argument is some location holding a number. This number is\n"
+"  incremented by the second argument, DELTA, which defaults to 1."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The first argument is some location holding a number. This number is\n"
+"  decremented by the second argument, DELTA, which defaults to 1."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Place may be any place expression acceptable to SETF, and is expected\n"
+"  to hold a property list or ().  This list is destructively altered to\n"
+"  remove the property specified by the indicator.  Returns T if such a\n"
+"  property was present, NIL if not."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Setf of Apply is only defined for function args like #'symbol."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The first argument is a byte specifier.  The second is any place form\n"
+"  acceptable to SETF.  Replaces the specified byte of the number in this\n"
+"  place with bits from the low-order end of the new value."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The first argument is a byte specifier.  The second is any place form\n"
+"  acceptable to SETF.  Replaces the specified byte of the number in this "
+"place\n"
+"  with bits from the corresponding position in the new value."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~S -- Bad clause in ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "No default clause allowed in ~S: ~S"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "T and OTHERWISE may not be used as key designators for ~A"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Bad style to use T or OTHERWISE in ECASE or CCASE"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Supply a new value for ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"CASE Keyform {({(Key*) | Key} Form*)}*\n"
+"  Evaluates the Forms in the first clause with a Key EQL to the value\n"
+"  of Keyform.  If a singleton key is T or Otherwise then the clause is\n"
+"  a default clause."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"CCASE Keyform {({(Key*) | Key} Form*)}*\n"
+"  Evaluates the Forms in the first clause with a Key EQL to the value of\n"
+"  Keyform.  If none of the keys matches then a correctable error is\n"
+"  signalled."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"ECASE Keyform {({(Key*) | Key} Form*)}*\n"
+"  Evaluates the Forms in the first clause with a Key EQL to the value of\n"
+"  Keyform.  If none of the keys matches then an error is signalled."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"TYPECASE Keyform {(Type Form*)}*\n"
+"  Evaluates the Forms in the first clause for which TYPEP of Keyform\n"
+"  and Type is true.  If a singleton key is T or Otherwise then the\n"
+"  clause is a default clause."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"CTYPECASE Keyform {(Type Form*)}*\n"
+"  Evaluates the Forms in the first clause for which TYPEP of Keyform and "
+"Type\n"
+"  is true.  If no form is satisfied then a correctable error is signalled."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"ETYPECASE Keyform {(Type Form*)}*\n"
+"  Evaluates the Forms in the first clause for which TYPEP of Keyform and "
+"Type\n"
+"  is true.  If no form is satisfied then an error is signalled."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Signals an error if the value of test-form is nil.  Continuing from this\n"
+"   error using the CONTINUE restart will allow the user to alter the value "
+"of\n"
+"   some locations known to SETF, starting over with test-form.  Returns nil."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "The assertion ~S failed."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Retry assertion"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid " with new value~P for ~{~S~^, ~}."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The old value of ~S is ~S.~\n"
+"\t\t  ~%Do you want to supply a new value? "
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "~&Type a form to be evaluated:~%"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Signals an error of type type-error if the contents of place are not of the\n"
+"   specified type.  If an error is signaled, this can only return if\n"
+"   STORE-VALUE is invoked.  It will store into place and start over."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Supply a new value of ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "The value of ~S is ~S, which is not ~A."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "The value of ~S is ~S, which is not of type ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The file whose name is Filespec is opened using the Open-args and\n"
+"  bound to the variable Var. If the call to open is unsuccessful, the\n"
+"  forms are not evaluated.  The Forms are executed, and when they\n"
+"  terminate, normally or otherwise, the file is closed."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"The form stream should evaluate to a stream.  VAR is bound\n"
+"   to the stream and the forms are evaluated as an implicit\n"
+"   progn.  The stream is closed upon exit."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Binds the Var to an input stream that returns characters from String and\n"
+"  executes the body.  See manual for details."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"If STRING is specified, it must be a string with a fill pointer;\n"
+"   the output is incrementally appended to the string (as if by use of\n"
+"   VECTOR-PUSH-EXTEND)."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"DO ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*\n"
+"  Iteration construct.  Each Var is initialized in parallel to the value of "
+"the\n"
+"  specified Init form.  On subsequent iterations, the Vars are assigned the\n"
+"  value of the Step form (if any) in paralell.  The Test is evaluated "
+"before\n"
+"  each evaluation of the body Forms.  When the Test is true, the Exit-Forms\n"
+"  are evaluated as a PROGN, with the result being the value of the DO.  A "
+"block\n"
+"  named NIL is established around the entire expansion, allowing RETURN to "
+"be\n"
+"  used as an laternate exit mechanism."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"DO* ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*\n"
+"  Iteration construct.  Each Var is initialized sequentially (like LET*) to "
+"the\n"
+"  value of the specified Init form.  On subsequent iterations, the Vars are\n"
+"  sequentially assigned the value of the Step form (if any).  The Test is\n"
+"  evaluated before each evaluation of the body Forms.  When the Test is "
+"true,\n"
+"  the Exit-Forms are evaluated as a PROGN, with the result being the value\n"
+"  of the DO.  A block named NIL is established around the entire expansion,\n"
+"  allowing RETURN to be used as an laternate exit mechanism."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"PSETQ {var value}*\n"
+"   Set the variables to the values, like SETQ, except that assignments\n"
+"   happen in parallel, i.e. no assignments take place until all the\n"
+"   forms have been evaluated."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "variable ~S in PSETQ is not a SYMBOL"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Unknown declaration context: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"Context declaration spec should have context and at ~\n"
+"\t  least one DECLARE form:~%  ~S"
+msgstr ""
+
+#: target:code/macros.lisp
+msgid ""
+"WITH-COMPILATION-UNIT ({Key Value}*) Form*\n"
+"  This form affects compilations that take place within its dynamic extent.  "
+"It\n"
+"  is intended to be wrapped around the compilation of all files in the same\n"
+"  system.  These keywords are defined:\n"
+"    :OVERRIDE Boolean-Form\n"
+"        One of the effects of this form is to delay undefined warnings \n"
+"        until the end of the form, instead of giving them at the end of "
+"each\n"
+"        compilation.  If OVERRIDE is NIL (the default), then the outermost\n"
+"        WITH-COMPILATION-UNIT form grabs the undefined warnings.  "
+"Specifying\n"
+"        OVERRIDE true causes that form to grab any enclosed warnings, even "
+"if\n"
+"        it is enclosed by another WITH-COMPILATION-UNIT.\n"
+"    :OPTIMIZE Decl-Form\n"
+"        Decl-Form should evaluate to an OPTIMIZE declaration specifier.  "
+"This\n"
+"        declaration changes the `global' policy for compilations within the\n"
+"        body.\n"
+"    :OPTIMIZE-INTERFACE Decl-Form\n"
+"        Like OPTIMIZE, except that it specifies the value of the CMU "
+"extension\n"
+"        OPTIMIZE-INTERFACE policy (which controls argument type and syntax\n"
+"        checking.)\n"
+"    :CONTEXT-DECLARATIONS List-of-Context-Decls-Form\n"
+"        This is a CMU extension which allows compilation to be controlled\n"
+"        by pattern matching on the context in which a definition appears.  "
+"The\n"
+"        argument should evaluate to a list of lists of the form:\n"
+"            (Context-Spec Declare-Form+)\n"
+"        In the indicated context, the specified declare forms are inserted "
+"at\n"
+"        the head of each definition.  The declare forms for all contexts "
+"that\n"
+"\tmatch are appended together, with earlier declarations getting\n"
+"\tpredecence over later ones.  A simple example:\n"
+"            :context-declarations\n"
+"            '((:external (declare (optimize (safety 2)))))\n"
+"        This will cause all functions that are named by external symbols to "
+"be\n"
+"        compiled with SAFETY 2.  The full syntax of context specs is:\n"
+"\t:INTERNAL, :EXTERNAL\n"
+"\t    True if the symbols is internal (external) in its home package.\n"
+"\t:UNINTERNED\n"
+"\t    True if the symbol has no home package.\n"
+"\t:ANONYMOUS\n"
+"\t    True if the function doesn't have any interesting name (not\n"
+"\t    DEFMACRO, DEFUN, LABELS or FLET).\n"
+"\t:MACRO, :FUNCTION\n"
+"\t    :MACRO is a global (DEFMACRO) macro.  :FUNCTION is anything else.\n"
+"\t:LOCAL, :GLOBAL\n"
+"\t    :LOCAL is a LABELS or FLET.  :GLOBAL is anything else.\n"
+"\t(:OR Context-Spec*)\n"
+"\t    True in any specified context.\n"
+"\t(:AND Context-Spec*)\n"
+"\t    True only when all specs are true.\n"
+"\t(:NOT Context-Spec)\n"
+"\t    True when the spec is false.\n"
+"        (:MEMBER Name*)\n"
+"\t    True when the name is one of these names (EQUAL test.)\n"
+"\t(:MATCH Pattern*)\n"
+"\t    True when any of the patterns is a substring of the name.  The name\n"
+"\t    is wrapped with $'s, so $FOO matches names beginning with FOO,\n"
+"\t    etc."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Odd number of key/value pairs: ~S."
+msgstr ""
+
+#: target:code/macros.lisp
+msgid "Ignoring unknown option: ~S."
+msgstr ""
+
 #~ msgid "Read-Only Space Usage:  ~13:D 바이트 (~4:D 메가바이트의) 아웃.~%"
 #~ msgstr "읽기 전용 공간 사용:  ~13:D 바이트 (~4:D 메가바이트의) 아웃.~%"
 



More information about the cmucl-commit mailing list