From a4f4cfc71a49bce2039c399536986ebc022cccdd Mon Sep 17 00:00:00 2001
From: Tim Daly <daly@axiom-developer.org>
Date: Thu, 30 Apr 2015 01:33:01 -0400
Subject: [PATCH] src/interp/vmlisp.lisp replace stringimage with
 princ-to-string

Remove a layer of function call renaming; use Lisp primitive
---
 books/bookvol10.2.pamphlet        |    6 +-
 books/bookvol10.3.pamphlet        |   20 +-
 books/bookvol10.4.pamphlet        |    2 +-
 books/bookvol5.pamphlet           |  112 +++----
 books/bookvol9.pamphlet           |   56 ++--
 changelog                         |   46 +++
 patch                             |    2 +-
 src/axiom-website/patches.html    |    2 +
 src/interp/br-con.lisp.pamphlet   |  272 ++++++++--------
 src/interp/c-doc.lisp.pamphlet    |   24 +-
 src/interp/c-util.lisp.pamphlet   |   22 +-
 src/interp/clam.lisp.pamphlet     |    4 +-
 src/interp/format.lisp.pamphlet   |   20 +-
 src/interp/fortcall.lisp.pamphlet |   36 +-
 src/interp/functor.lisp.pamphlet  |    8 +-
 src/interp/g-timer.lisp.pamphlet  |   30 +-
 src/interp/g-util.lisp.pamphlet   |    6 +-
 src/interp/i-coerce.lisp.pamphlet |    8 +-
 src/interp/i-funsel.lisp.pamphlet |   12 +-
 src/interp/i-intern.lisp.pamphlet |    4 +-
 src/interp/i-map.lisp.pamphlet    |   24 +-
 src/interp/i-output.lisp.pamphlet |   22 +-
 src/interp/i-resolv.lisp.pamphlet |    4 +-
 src/interp/i-spec1.lisp.pamphlet  |    8 +-
 src/interp/interp-proclaims.lisp  |    2 +-
 src/interp/msgdb.lisp.pamphlet    |    8 +-
 src/interp/nag-c02.lisp.pamphlet  |   32 +-
 src/interp/nag-c05.lisp.pamphlet  |   60 ++--
 src/interp/nag-c06.lisp.pamphlet  |  194 ++++++------
 src/interp/nag-d01.lisp.pamphlet  |  176 +++++-----
 src/interp/nag-d02.lisp.pamphlet  |  330 +++++++++---------
 src/interp/nag-d03.lisp.pamphlet  |   68 ++--
 src/interp/nag-e01.lisp.pamphlet  |  226 ++++++------
 src/interp/nag-e02.lisp.pamphlet  |  676 ++++++++++++++++++------------------
 src/interp/nag-e02b.boot.pamphlet |  114 +++---
 src/interp/nag-e04.lisp.pamphlet  |  380 +++++++++++-----------
 src/interp/nag-f01.lisp.pamphlet  |  244 +++++++-------
 src/interp/nag-f02.lisp.pamphlet  |  376 ++++++++++----------
 src/interp/nag-f04.lisp.pamphlet  |  248 +++++++-------
 src/interp/nag-f07.lisp.pamphlet  |   90 +++---
 src/interp/nag-s.lisp.pamphlet    |   80 +++---
 src/interp/newfort.lisp.pamphlet  |  114 +++---
 src/interp/nrunopt.lisp.pamphlet  |   16 +-
 src/interp/parsing.lisp.pamphlet  |    2 +-
 src/interp/patches.lisp.pamphlet  |    4 +-
 src/interp/slam.lisp.pamphlet     |    4 +-
 src/interp/sys-pkg.lisp.pamphlet  |    5 +-
 src/interp/vmlisp.lisp.pamphlet   |   25 +-
 48 files changed, 2117 insertions(+), 2107 deletions(-)

diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet
index 8eb08ab..7cac65d 100644
--- a/books/bookvol10.2.pamphlet
+++ b/books/bookvol10.2.pamphlet
@@ -46879,7 +46879,7 @@ FiniteRankNonAssociativeAlgebra(R:CommutativeRing):
     -- conditionsForIdempotents b  ==
     --   n := rank()
     --   gamma : Vector Matrix R := structuralConstants b
-    --   listOfNumbers : List String :=  [STRINGIMAGE(q)$Lisp for q in 1..n]
+    --   listOfNumbers : List String:=[PRINC_-TO_-STRING(q)$Lisp for q in 1..n]
     --   symbolsForCoef : Vector Symbol :=
     --     [concat("%", concat("x", i))::Symbol  for i in listOfNumbers]
     --   conditions : List Polynomial R := []
@@ -51263,7 +51263,7 @@ FramedNonAssociativeAlgebra(R:CommutativeRing):
         n := rank()
         b := basis()
         gamma : Vector Matrix R := structuralConstants b
-        listOfNumbers : List String :=  [STRINGIMAGE(q)$Lisp for q in 1..n]
+        listOfNumbers : List String:= [PRINC_-TO_-STRING(q)$Lisp for q in 1..n]
         symbolsForCoef : Vector Symbol :=
           [concat("%", concat("x", i))::Symbol  for i in listOfNumbers]
         xx : M P R
@@ -51296,7 +51296,7 @@ FramedNonAssociativeAlgebra(R:CommutativeRing):
         n := rank()
         b := basis()
         gamma : Vector Matrix R := structuralConstants b
-        listOfNumbers : List String :=  [STRINGIMAGE(q)$Lisp for q in 1..n]
+        listOfNumbers : List String :=[PRINC_-TO_-STRING(q)$Lisp for q in 1..n]
         symbolsForCoef : Vector Symbol :=
           [concat("%", concat("x", i))::Symbol  for i in listOfNumbers]
         xx : M P R
diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index ee1e41e..0585c7f 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -52977,11 +52977,11 @@ FortranCode(): public == private where
       cnt : O := "CONTINUE"::O
       --sp  : O := hspace(6-width lab)
       sp  : O := hspace(_$fortIndent$Lisp -width lab)
-      LIST(STRCONC(STRINGIMAGE(lab)$Lisp,sp,cnt)$Lisp)$Lisp
+      LIST(STRCONC(PRINC_-TO_-STRING(lab)$Lisp,sp,cnt)$Lisp)$Lisp
 
     getGoto(label:SingleInteger):SEX ==
      fortran2Lines(
-      LIST(STRCONC("GOTO ",STRINGIMAGE(label::O)$Lisp)$Lisp)$Lisp)$Lisp
+      LIST(STRCONC("GOTO ",PRINC_-TO_-STRING(label::O)$Lisp)$Lisp)$Lisp)$Lisp
 
     getRepeat(repRec:LOOP):SEX ==
       sw : Switch := NOT elt(repRec,switch)$LOOP
@@ -59214,7 +59214,7 @@ GenericNonAssociativeAlgebra(R : CommutativeRing, n : PositiveInteger,_
   private ==> AlgebraGivenByStructuralConstants(FPR,n,ls,_
          coerce(gamma)$CoerceVectorMatrixPackage(R) ) add
 
-    listOfNumbers : List String :=  [STRINGIMAGE(q)$Lisp for q in 1..n]
+    listOfNumbers : List String :=  [PRINC_-TO_-STRING(q)$Lisp for q in 1..n]
     symbolsForCoef : V Symbol :=
         [concat("%", concat("x", i))::Symbol  for i in listOfNumbers]
     genericElement : % :=
@@ -59335,13 +59335,13 @@ GenericNonAssociativeAlgebra(R : CommutativeRing, n : PositiveInteger,_
       represents(map(coerce,v)$VectorFunctions2(PR,FPR),ve)
 
     generic(s: S, ve: V %): % ==
-      lON : List String :=  [STRINGIMAGE(q)$Lisp for q in 1..maxIndex ve]
+      lON : List String :=  [PRINC_-TO_-STRING(q)$Lisp for q in 1..maxIndex ve]
       sFC : Vector Symbol :=
         [concat(s pretend String, i)::Symbol  for i in lON]
       generic(sFC, ve)
 
     generic(ve : V %) ==
-      lON : List String :=  [STRINGIMAGE(q)$Lisp for q in 1..maxIndex ve]
+      lON : List String :=  [PRINC_-TO_-STRING(q)$Lisp for q in 1..maxIndex ve]
       sFC : Vector Symbol :=
         [concat("%", concat("x", i))::Symbol  for i in lON]
       v : Vector PR :=
@@ -137935,7 +137935,7 @@ o )show String
 ++ This is the domain of character strings. Strings are 1 based.
 
 String(): StringCategory == IndexedString(1) add 
-    string n == STRINGIMAGE(n)$Lisp
+    string n == PRINC_-TO_-STRING(n)$Lisp
 
     OMwrite(x: %): String ==
       s: String := ""
@@ -160458,15 +160458,17 @@ Note that this code is not included in the generated catdef.spad file.
 
 (DEFUN |INT;convert;$If;24| (|x| |$|) (SPADCALL |x| (QREFELT |$| 49))) 
 
-(PUT (QUOTE |INT;convert;$S;25|) (QUOTE |SPADreplace|) (QUOTE STRINGIMAGE)) 
+(PUT (QUOTE |INT;convert;$S;25|)
+     (QUOTE |SPADreplace|)
+     (QUOTE PRINC-TO-STRING)) 
 
-(DEFUN |INT;convert;$S;25| (|x| |$|) (STRINGIMAGE |x|)) 
+(DEFUN |INT;convert;$S;25| (|x| |$|) (PRINC-TO-STRING |x|)) 
 
 (DEFUN |INT;latex;$S;26| (|x| |$|)
  (PROG (|s|)
   (RETURN
    (SEQ
-    (LETT |s| (STRINGIMAGE |x|) |INT;latex;$S;26|)
+    (LETT |s| (PRINC-TO-STRING |x|) |INT;latex;$S;26|)
     (COND ((|<| -1 |x|) (COND ((|<| |x| 10) (EXIT |s|)))))
     (EXIT (STRCONC "{" (STRCONC |s| "}"))))))) 
 
diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 49cc200..c461cd7 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -143280,7 +143280,7 @@ NumberFormats(): NFexports == NFimplementation where
         pren:C  := char ")"
         ichar:C := char "I"
 
-        FormatArabic n == STRINGIMAGE(n)$Lisp
+        FormatArabic n == PRINC_-TO_-STRING(n)$Lisp
         ScanArabic   s == PARSE_-INTEGER(s)$Lisp
 
         FormatRoman pn ==
diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 82c1d69..ccb30c4 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -26294,7 +26294,6 @@ SL is augmented, if cond is true, otherwise the result is 'failed
 
 \defun{constructSubst}{constructSubst}
 \calls{constructSubst}{internl}
-\calls{constructSubst}{stringimage}
 \begin{chunk}{defun constructSubst}
 (defun |constructSubst| (d)
  (let (sl (i 0))
@@ -26302,7 +26301,7 @@ SL is augmented, if cond is true, otherwise the result is 'failed
   (when (listp d) 
    (dolist (x (cdr d))
     (setq i (1+ i))
-    (setq sl (cons (cons (internl "#" (stringimage i)) x) sl))))
+    (setq sl (cons (cons (internl "#" (princ-to-string i)) x) sl))))
   sl))
 
 \end{chunk}
@@ -50722,7 +50721,6 @@ Pressing the {\bf Continue} button will call the function
 \calls{bcInputMatrixByFormulaGen}{htpProperty}
 \calls{bcInputMatrixByFormulaGen}{htpLabelInputString}
 \calls{bcInputMatrixByFormulaGen}{bcGen}
-\calls{bcInputMatrixByFormulaGen}{stringimage}
 \calls{bcInputMatrixByFormulaGen}{strconc}
 \begin{chunk}{defun bcInputMatrixByFormulaGen}
 (defun |bcInputMatrixByFormulaGen| (htPage)
@@ -50738,9 +50736,9 @@ Pressing the {\bf Continue} button will call the function
      (setq ncols (|htpProperty| htPage '|ncols|))
      (|bcGen| (strconc "matrix([[" formula
                            " for " colVar
-                           " in 1.." (stringimage ncols)
+                           " in 1.." (princ-to-string ncols)
                            "] for " rowVar
-                           " in 1.." (stringimage nrows)
+                           " in 1.." (princ-to-string nrows)
                            "])"))))))
 
 \end{chunk}
@@ -50751,7 +50749,6 @@ Pressing the {\bf Continue} button will call the function
 \calls{bcInputExplicitMatrix}{htpLabelInputString}
 \calls{bcInputExplicitMatrix}{parse-integer}
 \calls{bcInputExplicitMatrix}{length}
-\calls{bcInputExplicitMatrix}{stringimage}
 \calls{bcInputExplicitMatrix}{nreverse0}
 \calls{bcInputExplicitMatrix}{strconc}
 \calls{bcInputExplicitMatrix}{htInitPage}
@@ -50789,8 +50786,8 @@ Pressing the {\bf Continue} button will call the function
        (|objValUnwrap| (|htpLabelSpadValue| htPage '|cols|))
        (parse-integer  (|htpLabelInputString| htPage '|cols|))))
   (setq k 0)
-  (setq wrows (|#| (stringimage nrows)))
-  (setq wcols (|#| (stringimage ncols)))
+  (setq wrows (|#| (princ-to-string nrows)))
+  (setq wcols (|#| (princ-to-string ncols)))
   (setq labelList
     (do ((i 1 (1+ i))) ((> i nrows) t1)
       (setq t2 nil)
@@ -50804,7 +50801,7 @@ Pressing the {\bf Continue} button will call the function
              (setq colpart (strconc ", Column" (|htStringPad| j wcols) 
                                     ":}\\space{2}"))
              (setq prefix (strconc rowpart colpart))
-             (setq name (intern (stringimage (setq k (1+ k)))))
+             (setq name (intern (princ-to-string (setq k (1+ k)))))
              (list prefix "" 30 0 name 'P))
             t2)))))))
   (setq labelList
@@ -50843,7 +50840,6 @@ Pressing the {\bf Continue} button will call the function
 \calls{bcMatrixGen}{htpProperty}
 \calls{bcMatrixGen}{lassoc}
 \calls{bcMatrixGen}{strconc}
-\calls{bcMatrixGen}{stringimage}
 \calls{bcMatrixGen}{bcwords2liststring}
 \calls{bcMatrixGen}{systemError}
 \begin{chunk}{defun bcMatrixGen}
@@ -50859,9 +50855,9 @@ Pressing the {\bf Continue} button will call the function
       (setq colVar (elt (lassoc '|colVar| mat) 0))
       (strconc "matrix([[" formula
                          " for " colVar
-                         " in 1.." (stringimage ncols)
+                         " in 1.." (princ-to-string ncols)
                          "] for " rowVar
-                         " in 1.." (stringimage nrows)
+                         " in 1.." (princ-to-string nrows)
                          "])"))
     ((setq mat (|htpProperty| htPage '|matrix|))
       (setq mat (reverse mat))
@@ -52519,7 +52515,6 @@ Pressing the {\bf Continue} button will call the function
 
 \defun{bcInputEquations}{bcInputEquations}
 \calls{bcInputEquations}{strconc}
-\calls{bcInputEquations}{stringimage}
 \calls{bcInputEquations}{bcMakeLinearEquations}
 \calls{bcInputEquations}{bcMakeEquations}
 \calls{bcInputEquations}{htProperty}
@@ -52543,10 +52538,10 @@ Pressing the {\bf Continue} button will call the function
   (let (spacer prefix lnam rnam var)
    (setq spacer (cond ((> i 99) 0) ((> i 9) 1) (t 2)))
    (setq prefix
-       (strconc "\\newline\\tab{2}{\\em Equation " (stringimage i) ":}"))
-   (setq prefix (strconc prefix "\\space{" (stringimage spacer) "}"))
-   (setq lnam (intern (strconc "l" (stringimage i))))
-   (setq rnam (intern (strconc "r" (stringimage i))))
+       (strconc "\\newline\\tab{2}{\\em Equation " (princ-to-string i) ":}"))
+   (setq prefix (strconc prefix "\\space{" (princ-to-string spacer) "}"))
+   (setq lnam (intern (strconc "l" (princ-to-string i))))
+   (setq rnam (intern (strconc "r" (princ-to-string i))))
    (setq var (if linearp
                   (|bcMakeLinearEquations| i n)
                   (|bcMakeEquations| i n)))
@@ -52802,7 +52797,6 @@ after the matrix has been read.
 
 \defun{bcLinearSolveMatrixInhomo}{Linear Solve Basic Command options}
 \calls{bcLinearSolveMatrixInhomo}{strconc}
-\calls{bcLinearSolveMatrixInhomo}{stringimage}
 \calls{bcLinearSolveMatrixInhomo}{htpProperty}
 \calls{bcLinearSolveMatrixInhomo}{htInitPage}
 \calls{bcLinearSolveMatrixInhomo}{htpPropertyList}
@@ -52823,10 +52817,10 @@ after the matrix has been read.
   (f (i)
    (let (spacer prefix name)
     (setq spacer (cond ((> i 99) 0) ((> i 9) 1) (t 2)))
-    (setq prefix (strconc "{\\em Coefficient " (stringimage i) ":}"))
+    (setq prefix (strconc "{\\em Coefficient " (princ-to-string i) ":}"))
     (unless (eql spacer 0)
-       (setq prefix (strconc prefix "\\space{" (stringimage spacer) "}")))
-    (setq name (intern (strconc "c" (stringimage i))))
+       (setq prefix (strconc prefix "\\space{" (princ-to-string spacer) "}")))
+    (setq name (intern (strconc "c" (princ-to-string i))))
     (list prefix '|| 30 0  name 'p ))))
  (let (nrows ncols labelList page)
  (declare (special |$EmptyMode|))
@@ -53154,13 +53148,12 @@ identical. We no longer care so we just call {\tt bcGen}.
 
 \defun{htStringPad}{pad a string with blanks}
 \calls{htStringPad}{strconc}
-\calls{htStringPad}{stringimage}
 \begin{chunk}{defun htStringPad}
 (defun |htStringPad| (n w)
  (let (s ws)
-  (setq s (stringimage n))
+  (setq s (princ-to-string n))
   (setq ws (|#| s))
-  (strconc "\\space{" (stringimage (1+ (- w ws))) "}" s)))
+  (strconc "\\space{" (princ-to-string (1+ (- w ws))) "}" s)))
 
 \end{chunk}
 
@@ -53184,10 +53177,9 @@ Given \verb|("one" "two" "three")| generate \verb|"(one,two,three)"|
 
 \defun{htMkName}{construct a name string}
 \calls{htMkName}{strconc}
-\calls{htMkName}{stringimage}
 \begin{chunk}{defun htMkName}
 (defun |htMkName| (s n)
- (strconc s (stringimage n)))
+ (strconc s (princ-to-string n)))
 
 \end{chunk}
 
@@ -53425,7 +53417,7 @@ This is a list with the fields
 (defun |htpSetLabelInputString| (htPage label val)
  (let (props)
   (setq props (lassoc label (|htpInputAreaAlist| htPage)))
-  (when props (setelt props 0 (stringimage val)))))
+  (when props (setelt props 0 (princ-to-string val)))))
 
 \end{chunk}
 
@@ -55121,22 +55113,22 @@ This is a list with the fields
                                           (setq maxWidth2
                                            (max
                                             (|htShowCount|
-                                             (STRINGIMAGE
+                                             (PRINC-TO-STRING
                                               (elt setData 1)))
                                             maxWidth2)))))))))
                   (setq maxWidth1 (max 9 maxWidth1))
                   (setq maxWidth2 (max 41 maxWidth2))
-                  (setq tabset1 (STRINGIMAGE maxWidth1))
+                  (setq tabset1 (PRINC-TO-STRING maxWidth1))
                   (setq tabset2
-                           (STRINGIMAGE
+                           (PRINC-TO-STRING
                                (SPADDIFFERENCE
                                    (+ maxWidth2 maxWidth1) 1)))
                   (|htSay| "\\tab{2}\\newline Variable\\tab{"
-                           (STRINGIMAGE
+                           (PRINC-TO-STRING
                                (+ maxWidth1
                                      (quotient maxWidth2 3)))
                            "}Description\\tab{"
-                           (STRINGIMAGE
+                           (PRINC-TO-STRING
                                (+ (+ maxWidth2 maxWidth1) 2))
                            "}Value\\newline\\beginitems ")
                   (DO ((G167392 (reverse okList) (CDR G167392))
@@ -55308,7 +55300,7 @@ This is a list with the fields
                                         (cons
                                          (cons
                                           (STRCONC ""
-                                           (STRINGIMAGE opt))
+                                           (PRINC-TO-STRING opt))
                                           (cons "\\newline\\tab{3}"
                                            (cons functionToCall
                                             (cons opt nil))))
@@ -56117,7 +56109,7 @@ This is a list with the fields
 (defun |dbNonEmptyPattern| (pattern)
   (cond
     ((null pattern) "*")
-    (t (setq pattern (STRINGIMAGE pattern))
+    (t (setq pattern (PRINC-TO-STRING pattern))
      (cond ((> (|#| pattern) 0) pattern) (t "*")))))
 
 \end{chunk}
@@ -56186,7 +56178,7 @@ This is a list with the fields
                                 (|isDomain| INT (|Integer|)))))
                       (EXIT (|htMakePage|
        (list 
-         (cons '|bcStrings| (list (list 5 (stringimage val) name 'int)))))))))
+         (cons '|bcStrings| (list (list 5 (princ-to-string val) name 'int)))))))))
        (if (eq class 'string)
            (EXIT (|htSay| "{\\em " val
                           "}\\space{1}")))
@@ -56243,7 +56235,7 @@ This is a list with the fields
                                      (cons '|bcStrings|
                                       (cons
                                        (cons 30
-                                        (cons (STRINGIMAGE val)
+                                        (cons (PRINC-TO-STRING val)
                                          (cons name
                                           (cons valuesOrFunction nil))))
                                        nil))
@@ -56884,11 +56876,10 @@ This is a list with the fields
 \end{chunk}
 
 \defun{checkFilter}{checkFilter}
-\calls{checkFilter}{stringimage}
 \calls{checkFilter}{trimString}
 \begin{chunk}{defun checkFilter}
 (defun |checkFilter| (filter)
-  (setq filter (stringimage filter))
+  (setq filter (princ-to-string filter))
   (if (string= filter "") 
    "*"
    (|trimString| filter)))
@@ -57207,7 +57198,7 @@ There are 8 parts of an htPage:
    (t
     (setq name (if (stringp filter) (intern filter) filter))
     (when (setq u (hget |$lowerCaseConTb| name))
-      (setq filter (stringimage (car u))))
+      (setq filter (princ-to-string (car u))))
     (cond
       ((setq line (|conPageFastPath| (downcase filter)))
         (setq newkind
@@ -57316,7 +57307,6 @@ There are 8 parts of an htPage:
 
 \defun{conPageFastPath}{gets line quickly for constructor name or abbreviation}
 \calls{conPageFastPath}{length}
-\calls{conPageFastPath}{stringimage}
 \calls{conPageFastPath}{charPosition}
 \calls{conPageFastPath}{lassq}
 \calls{conPageFastPath}{dbRead}
@@ -57326,7 +57316,7 @@ There are 8 parts of an htPage:
 (defun |conPageFastPath| (x)
  (let (s name entry lineNumber)
  (declare (special |$lowerCaseConTb|))
-  (setq s (stringimage x))
+  (setq s (princ-to-string x))
   (unless (> (|#| s) (|charPosition| #\* s 0)) ; quit if name has * in it
     (setq name (cond ((stringp x) (intern x)) (t x)))
     (setq entry (hget |$lowerCaseConTb| name))
@@ -57362,7 +57352,6 @@ There are 8 parts of an htPage:
 \calls{kdPageInfo}{htSay}
 \calls{kdPageInfo}{nequal}
 \calls{kdPageInfo}{bcHt}
-\calls{kdPageInfo}{stringimage}
 \calls{kdPageInfo}{htSaturnBreak}
 \calls{kdPageInfo}{htSayStandard}
 \calls{kdPageInfo}{kPageArgs}
@@ -57386,7 +57375,7 @@ There are 8 parts of an htPage:
      (|bcHt| 
       (if (eql nargs 1)
         " takes one argument:"
-        (list '| takes | (stringimage nargs) '| arguments:|)))))
+        (list '| takes | (princ-to-string nargs) '| arguments:|)))))
   (|htSaturnBreak|)
   (|htSayStandard| "\\indentrel{2}")
   (when (> nargs 0) (|kPageArgs| conform signature))
@@ -57670,7 +57659,6 @@ There are 8 parts of an htPage:
 \calls{kePageDisplay}{menuButton}
 \calls{kePageDisplay}{htSayStandard}
 \calls{kePageDisplay}{htSay}
-\calls{kePageDisplay}{stringimage}
 \calls{kePageDisplay}{pluralize}
 \calls{kePageDisplay}{htSaySaturn}
 \calls{kePageDisplay}{dbGatherData}
@@ -57699,9 +57687,9 @@ There are 8 parts of an htPage:
     (unless (= count total)
       (if (eql count 1)
        (|htSay| "1 name for ")
-       (|htSay| (stringimage count) " names for ")))
+       (|htSay| (princ-to-string count) " names for ")))
     (if (> total 1)
-      (|htSay| (stringimage total) " " (|pluralize| which) 
+      (|htSay| (princ-to-string total) " " (|pluralize| which) 
                " are explicitly exported:")
       (|htSay| "1 " which " is explicitly exported:"))
     (|htSaySaturn| "\\\\")
@@ -58344,14 +58332,13 @@ There are 8 parts of an htPage:
 \defun{koPageInputAreaUnchanged?}{koPageInputAreaUnchanged?}
 \calls{koPageInputAreaUnchanged?}{htpLabelInputString}
 \calls{koPageInputAreaUnchanged?}{concat}
-\calls{koPageInputAreaUnchanged?}{stringimage}
 \calls{koPageInputAreaUnchanged?}{htpProperty}
 \begin{chunk}{defun koPageInputAreaUnchanged?}
 (defun |koPageInputAreaUnchanged?| (htPage nargs)
  (equal
   (loop for i from 1 to nargs 
    collect
-   (|htpLabelInputString| htPage (intern (concat "*" (stringimage i)))))
+   (|htpLabelInputString| htPage (intern (concat "*" (princ-to-string i)))))
   (|htpProperty| htPage '|inputAreaList|)))
 
 \end{chunk}
@@ -58413,7 +58400,6 @@ There are 8 parts of an htPage:
 \defun{kArgumentCheck}{kArgumentCheck}
 \calls{kArgumentCheck}{conSpecialString?}
 \calls{kArgumentCheck}{kdr}
-\calls{kArgumentCheck}{stringimage}
 \calls{kArgumentCheck}{opOf}
 \calls{kArgumentCheck}{form2String}
 \begin{chunk}{defun kArgumentCheck}
@@ -58423,7 +58409,7 @@ There are 8 parts of an htPage:
    ((string= s "") nil)
    ((and domain? (setq form (|conSpecialString?| s)))
     (if (null (kdr form))
-      (list (stringimage (|opOf| form)))
+      (list (princ-to-string (|opOf| form)))
       (|form2String| form)))
    (t (list s)))))
 
@@ -58761,7 +58747,6 @@ There are 8 parts of an htPage:
 \calls{koaPageFilterByName}{dbGetInputString}
 \calls{koaPageFilterByName}{superMatch?}
 \calls{koaPageFilterByName}{downcase}
-\calls{koaPageFilterByName}{stringimage}
 \calls{koaPageFilterByName}{htpSetProperty}
 \begin{chunk}{defun koaPageFilterByName}
 (defun |koaPageFilterByName| (htPage functionToCall)
@@ -58774,7 +58759,7 @@ There are 8 parts of an htPage:
     (setq which (|htpProperty| htPage '|which|))
     (setq opAlist
      (loop for x in (|htpProperty| htPage '|opAlist|)
-           when (|superMatch?| filter (downcase (stringimage (car x))))
+           when (|superMatch?| filter (downcase (princ-to-string (car x))))
            collect x))
     (|htpSetProperty| htPage '|opAlist| opAlist)
     (funcall functionToCall htPage nil)))))
@@ -58955,7 +58940,6 @@ There are 8 parts of an htPage:
 \end{chunk}
 
 \defun{dbGetDocTable}{dbGetDocTable}
-\calls{dbGetDocTable}{stringimage}
 \calls{dbGetDocTable}{string2Integer}
 \calls{dbGetDocTable}{dbConstructorDoc}
 \calls{dbGetDocTable}{qcdr}
@@ -58970,7 +58954,7 @@ There are 8 parts of an htPage:
  (declare (special |$sig| |$which|))
  (let (doc origin s)
  (declare (special |$conform| |$op|))
-  (when (and (null (integerp op)) (digitp (elt (setq s (stringimage op)) 0)))
+  (when (and (null (integerp op)) (digitp (elt (setq s (princ-to-string op)) 0)))
    (setq op (|string2Integer| s)))
   (cond
    ((and (consp aux) (consp (qcar aux)))
@@ -59063,7 +59047,6 @@ There are 8 parts of an htPage:
 \calls{dbShowCons}{constructor?}
 \calls{dbShowCons}{superMatch?}
 \calls{dbShowCons}{downcase}
-\calls{dbShowCons}{stringimage}
 \calls{dbShowCons}{emptySearchPage}
 \calls{dbShowCons}{htInitPageNoScroll}
 \calls{dbShowCons}{htCopyProplist}
@@ -59094,7 +59077,7 @@ There are 8 parts of an htPage:
            when (progn
                  (setq conname (caar x))
                  (setq subject (if abbrev? (|constructor?| conname) conname))
-                 (|superMatch?| filter (downcase (stringimage subject))))
+                 (|superMatch?| filter (downcase (princ-to-string subject))))
            collect x))
         (cond
          ((null u)
@@ -59352,7 +59335,6 @@ There are 8 parts of an htPage:
 \calls{dbShowConditions}{opOf}
 \calls{dbShowConditions}{splitConTable}
 \calls{dbShowConditions}{pluralize}
-\calls{dbShowConditions}{stringimage}
 \calls{dbShowConditions}{length}
 \calls{dbShowConditions}{dbSayItems}
 \calls{dbShowConditions}{htSaySaturn}
@@ -59370,7 +59352,7 @@ There are 8 parts of an htPage:
   (setq consNoPred (car lt1))
   (setq consPred (cdr lt1))
   (setq singular (list kind " is"))
-  (setq plural (list (|pluralize| (stringimage kind)) " are"))
+  (setq plural (list (|pluralize| (princ-to-string kind)) " are"))
   (|dbSayItems| (|#| consNoPred) singular plural " unconditional")
   (|htSaySaturn| "\\\\")
   (|bcConPredTable| consNoPred conname)
@@ -59385,7 +59367,6 @@ There are 8 parts of an htPage:
 \calls{dbConsHeading}{htpProperty}
 \calls{dbConsHeading}{length}
 \calls{dbConsHeading}{remdup}
-\calls{dbConsHeading}{stringimage}
 \calls{dbConsHeading}{form2HtString}
 \calls{dbConsHeading}{capitalize}
 \calls{dbConsHeading}{pluralize}
@@ -59404,7 +59385,7 @@ There are 8 parts of an htPage:
  (setq count (|#| (remdup conlist)))
  (cond
   ((string= thing "benefactor")
-    (list (stringimage count) " Constructors Used by " 
+    (list (princ-to-string count) " Constructors Used by " 
           (|form2HtString| place nil t) ))
   (t
    (setq modifier
@@ -59415,15 +59396,15 @@ There are 8 parts of an htPage:
      ((eq kind '|constructor|)
        (list " "))
      (t
-       (cons " " (|capitalize| (stringimage kind)) " "))))
+       (cons " " (|capitalize| (princ-to-string kind)) " "))))
    (setq exposureWord (when |$exposedOnlyIfTrue| '(" Exposed ")))
    (setq prefix
     (cond
      ((eql count 1)
-      (cons (stringimage count)
+      (cons (princ-to-string count)
        (append modifier (list (|capitalize| thing)))))
      (t
-      (setq firstWord (if (eql count 0) "No "(stringimage count)))
+      (setq firstWord (if (eql count 0) "No "(princ-to-string count)))
       (cons firstWord
        (append exposureWord
         (append modifier
@@ -59438,7 +59419,7 @@ There are 8 parts of an htPage:
           (|member| view '(|abbrs| |files| |parameters| |conditions|)))
      (setq heading
       (append heading
-       (list " viewed" connective "{\\em " (stringimage view) "}")))))
+       (list " viewed" connective "{\\em " (princ-to-string view) "}")))))
    heading))))
 
 \end{chunk}
@@ -59467,7 +59448,6 @@ There are 8 parts of an htPage:
 \calls{bcUnixTable}{htSaySaturn}
 \calls{bcUnixTable}{namestring}
 \calls{bcUnixTable}{findfile}
-\calls{bcUnixTable}{stringimage}
 \calls{bcUnixTable}{htMakePage}
 \calls{bcUnixTable}{htEndTable}
 \begin{chunk}{defun bcUnixTable}
@@ -59479,7 +59459,7 @@ There are 8 parts of an htPage:
   (loop for x in u do
     (if firstTime (setq firstTime nil) (|htSaySaturn| "&"))
     (|htSay| "{")
-    (setq filename (namestring ($findfile (stringimage x) "SPAD")))
+    (setq filename (namestring ($findfile (princ-to-string x) "SPAD")))
     (|htMakePage|
      (list
        (list '|text| "\\unixcommand{" (pathname-name x) 
diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet
index b7508a3..a2191c6 100644
--- a/books/bookvol9.pamphlet
+++ b/books/bookvol9.pamphlet
@@ -7640,7 +7640,6 @@ which will walk the structure $Y$ looking for this constant.
 Code for encoding function names inside package or domain
 \calls{encodeFunctionName}{mkRepititionAssoc}
 \calls{encodeFunctionName}{encodeItem}
-\calls{encodeFunctionName}{stringimage}
 \calls{encodeFunctionName}{internl}
 \calls{encodeFunctionName}{getAbbreviation}
 \calls{encodeFunctionName}{length}
@@ -7666,11 +7665,11 @@ Code for encoding function names inside package or domain
        (strconc result
         (if (eql n 1)
           (|encodeItem| x)
-          (strconc (stringimage n) (|encodeItem| x))))))
+          (strconc (princ-to-string n) (|encodeItem| x))))))
      result))
   (setq encodedName
    (internl (|getAbbreviation| packageName (|#| arglist))
-            '|;| (|encodeItem| fun) '|;| encodedSig sep (stringimage count)))
+            '|;| (|encodeItem| fun) '|;| encodedSig sep (princ-to-string count)))
   (when $lisplib
    (setq |$lisplibSignatureAlist|
      (cons (cons encodedName signaturep) |$lisplibSignatureAlist|)))
@@ -7695,14 +7694,13 @@ Code for encoding function names inside package or domain
 \end{chunk}
 
 \defun{splitEncodedFunctionName}{splitEncodedFunctionName}
-\calls{splitEncodedFunctionName}{stringimage}
 \calls{splitEncodedFunctionName}{strpos}
 \begin{chunk}{defun splitEncodedFunctionName}
 (defun |splitEncodedFunctionName| (encodedName sep)
  (let (sep0 p1 p2 p3 s1 s2 s3 s4)
   ; sep0 is the separator used in "encodeFunctionName".
   (setq sep0 ";")
-  (unless (stringp encodedName) (setq encodedName (stringimage encodedName)))
+  (unless (stringp encodedName) (setq encodedName (princ-to-string encodedName)))
   (cond
    ((null (setq p1 (strpos sep0 encodedName 0 "*"))) nil)
    ; This is picked up in compile for inner functions in partial compilation
@@ -7721,25 +7719,23 @@ Code for encoding function names inside package or domain
 \calls{encodeItem}{getCaps}
 \calls{encodeItem}{identp}
 \calls{encodeItem}{pname}
-\calls{encodeItem}{stringimage}
 \begin{chunk}{defun encodeItem}
 (defun |encodeItem| (x)
  (cond
   ((consp x) (|getCaps| (qfirst x)))
   ((identp x) (pname x))
-  (t (stringimage x))))
+  (t (princ-to-string x))))
 
 \end{chunk}
 
 \defun{getCaps}{getCaps}
-\calls{getCaps}{stringimage}
 \calls{getCaps}{maxindex}
 \calls{getCaps}{downcase}
 \calls{getCaps}{strconc}
 \begin{chunk}{defun getCaps}
 (defun |getCaps| (x)
  (let (s c clist tmp1)
-  (setq s (stringimage x))
+  (setq s (princ-to-string x))
   (setq clist
    (loop for i from 0 to (maxindex s) 
     when (upper-case-p (setq c (elt s i)))
@@ -10739,7 +10735,6 @@ The way XLAMs work:
 
 \defun{substituteCategoryArguments}{substituteCategoryArguments}
 \calls{substituteCategoryArguments}{internl}
-\calls{substituteCategoryArguments}{stringimage}
 \calls{substituteCategoryArguments}{sublis}
 \begin{chunk}{defun substituteCategoryArguments}
 (defun |substituteCategoryArguments| (argl catform)
@@ -10747,7 +10742,7 @@ The way XLAMs work:
   (setq argl (subst '$$ '$ argl :test #'equal))
   (setq arglAssoc
    (loop for a in argl 
-    collect (cons (internl '|#| (stringimage (incf i))) a)))
+    collect (cons (internl '|#| (princ-to-string (incf i))) a)))
   (sublis arglAssoc catform)))
 
 \end{chunk}
@@ -12657,9 +12652,9 @@ We set up the
 \begin{chunk}{defun addSuffix}
 (defun |addSuffix| (n u)
  (let (s)
-  (if (alpha-char-p (elt (setq s (stringimage u)) (maxindex s)))
-    (intern (strconc s (stringimage n)))
-    (internl (strconc s (stringimage '|;|) (stringimage n))))))
+  (if (alpha-char-p (elt (setq s (princ-to-string u)) (maxindex s)))
+    (intern (strconc s (princ-to-string n)))
+    (internl (strconc s (princ-to-string '|;|) (princ-to-string n))))))
 
 \end{chunk}
 
@@ -19535,16 +19530,15 @@ Formal for libdb.text:
 
 \defun{buildLibdbString}{buildLibdbString}
 \calls{buildLibdbString}{strconc}
-\calls{buildLibdbString}{stringimage}
 \begin{chunk}{defun buildLibdbString}
 (defun |buildLibdbString| (arg)
  (let (x u)
   (setq x (car arg))
   (setq u (cdr arg))
-  (strconc (stringimage x)
+  (strconc (princ-to-string x)
    (let ((result ""))
     (loop for y in u
-     collect (setq result (strconc result (strconc "`" (stringimage y)))))
+     collect (setq result (strconc result (strconc "`" (princ-to-string y)))))
     result))))
 
 \end{chunk}
@@ -19685,7 +19679,6 @@ Formal for libdb.text:
 \calls{buildLibOp}{sublislis}
 \calls{buildLibOp}{msubst}
 \calls{buildLibOp}{form2LispString}
-\calls{buildLibOp}{stringimage}
 \calls{buildLibOp}{strconc}
 \calls{buildLibOp}{libdbTrim}
 \calls{buildLibOp}{concatWithBlanks}
@@ -19709,7 +19702,7 @@ Formal for libdb.text:
   (setq predString (if (eq pred t) "" (|form2LispString| pred)))
   (setq sop
    (cond
-    ((string= (setq s (stringimage op)) "One") "1")
+    ((string= (setq s (princ-to-string op)) "One") "1")
     ((string= s "Zero") "0")
     (t s)))
   (setq header (strconc "o" sop))
@@ -19738,7 +19731,6 @@ Formal for libdb.text:
 \begin{verbatim}
   attributes      AKname\#\args\conname\pred\comments (K is U or C)
 \end{verbatim}
-\calls{buildLibAttr}{stringimage}
 \calls{buildLibAttr}{form2LispString}
 \calls{buildLibAttr}{sublislis}
 \calls{buildLibAttr}{concatWithBlanks}
@@ -19758,15 +19750,15 @@ Formal for libdb.text:
  (let (argPart predString header conname comments)
  (declare (special |$kind| |$conname| |$doc| |$conform| 
                    |$FormalMapVariableList| |$exposed?|))
-  (setq header (strconc "a" (stringimage name)))
+  (setq header (strconc "a" (princ-to-string name)))
   (setq argPart (substring (|form2LispString| (cons '|f| argl)) 1 nil))
   (setq pred (sublislis (cdr |$conform|) |$FormalMapVariableList| pred))
   (setq predString (if (eq pred t) "" (|form2LispString| pred)))
-  (setq header (strconc "a" (stringimage name)))
+  (setq header (strconc "a" (princ-to-string name)))
   (setq conname (strconc |$kind| (|form2LispString| |$conname|)))
   (setq comments
    (|concatWithBlanks| (lassoc (cons '|attribute| argl) (lassoc name |$doc|))))
-  (|checkCommentsForBraces| '|attribute| (stringimage name) argl comments)
+  (|checkCommentsForBraces| '|attribute| (princ-to-string name) argl comments)
   (|writedb|
    (|buildLibdbString|
     (list header (|#| argl) |$exposed?| argPart 
@@ -20054,7 +20046,6 @@ digraph hierarchy {
 \defun{finalizeDocumentation}{finalizeDocumentation}
 \calls{finalizeDocumentation}{bright}
 \calls{finalizeDocumentation}{sayMSG}
-\calls{finalizeDocumentation}{stringimage}
 \calls{finalizeDocumentation}{strconc}
 \calls{finalizeDocumentation}{sayKeyedMsg}
 \calls{finalizeDocumentation}{form2String}
@@ -20123,18 +20114,18 @@ digraph hierarchy {
       (when (or noHeading signatures attributes)
        (|sayKeyedMsg|
          " %1 The constructor %2 has missing documentation."
-         (list (strconc (stringimage bigcnt) ".") name))
+         (list (strconc (princ-to-string bigcnt) ".") name))
        (setq bigcnt (1+ bigcnt))
        (setq litcnt 1)
        (when noHeading
          (|sayKeyedMsg| 
           " %x3 %1 The constructor %2 is missing the heading description."
-          (list (strconc "(" (stringimage litcnt) ")") name))
+          (list (strconc "(" (princ-to-string litcnt) ")") name))
          (setq litcnt (1+ litcnt)))
        (when signatures
          (|sayKeyedMsg|
           " %x3 %1 The following functions do not have documentation:"
-          (list (strconc "(" (stringimage litcnt) ")")))
+          (list (strconc "(" (princ-to-string litcnt) ")")))
          (setq litcnt (1+ litcnt))
          (loop for item in signatures
           do
@@ -20148,7 +20139,7 @@ digraph hierarchy {
        (when attributes
          (|sayKeyedMsg| 
           " %x3 %1 The following attributes do not have documentation:"
-          (list (strconc "(" (stringimage litcnt) ")")))
+          (list (strconc "(" (princ-to-string litcnt) ")")))
          (setq litcnt (1+ litcnt))
                             (DO ((G166491 attributes
                                      (CDR G166491))
@@ -20169,7 +20160,7 @@ digraph hierarchy {
         (when unusedCommentLineNumbers
          (|sayKeyedMsg| 
           " %1 The constructor %2 has incorrectly placed documentation."
-          (list (strconc (stringimage bigcnt) ".") name))
+          (list (strconc (princ-to-string bigcnt) ".") name))
          (loop for item in unusedCommentLineNumbers
           do
            (setq r (second item))
@@ -21292,7 +21283,6 @@ Note that {\tt u} should start with an open brace.
 \defun{checkAddIndented}{checkAddIndented}
 \calls{checkAddIndented}{firstNonBlankPosition}
 \calls{checkAddIndented}{strconc}
-\calls{checkAddIndented}{stringimage}
 \calls{checkAddIndented}{checkAddSpaceSegments}
 \tpdhere{Note that this function was missing without error, so may be junk}
 \begin{chunk}{defun checkAddIndented}
@@ -21303,7 +21293,7 @@ Note that {\tt u} should start with an open brace.
     ((eql k -1) "\\blankline ")
     ((eql margin k) x)
     (t
-     (strconc "\\indented{" (stringimage (- k margin)) "}{"
+     (strconc "\\indented{" (princ-to-string (- k margin)) "}{"
       (|checkAddSpaceSegments| (substring x k nil) 0) "}")))))
 
 \end{chunk}
@@ -21515,7 +21505,7 @@ Note that {\tt u} should start with an open brace.
        (t
          (setq u2 
           (append u2 
-           (list (strconc "\\indented{" (stringimage (- k margin))
+           (list (strconc "\\indented{" (princ-to-string (- k margin))
                           "}{" (|checkAddSpaceSegments| s 0) "}")))))))))
   u2))
 
@@ -21730,7 +21720,7 @@ Note that {\tt u} should start with an open brace.
     (loop while (and (incf j) (char= (elt u j) #\space)))
     (setq n (- j i)) ; number of blanks
     (if (> n 1)
-     (strconc (substring u 0 i) "\\space{" (stringimage n) "}"
+     (strconc (substring u 0 i) "\\space{" (princ-to-string n) "}"
                (|checkAddSpaceSegments| (substring u (+ i n) nil) 0))
      (|checkAddSpaceSegments| u j))))))
 
diff --git a/changelog b/changelog
index 563545d..fbd285f 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,49 @@
+20150430 tpd src/axiom-website/patches.html 20150430.01.tpd.patch
+20150430 tpd books/bookvol10.2 replace stringimage with princ-to-string
+20150430 tpd books/bookvol10.3 replace stringimage with princ-to-string
+20150430 tpd books/bookvol10.4 replace stringimage with princ-to-string
+20150430 tpd books/bookvol5 replace stringimage with princ-to-string
+20150430 tpd books/bookvol9 replace stringimage with princ-to-string
+20150430 tpd src/interp/br-con.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/c-doc.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/c-util.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/clam.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/format.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/fortcall.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/functor.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/g-timer.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/g-util.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/i-coerce.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/i-funsel.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/i-intern.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/i-map.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/i-output.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/i-resolv.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/i-spec1.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/interp-proclaims.lisp remove stringimage
+20150430 tpd src/interp/msgdb.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-c02.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-c05.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-c06.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-d01.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-d02.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-d03.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-e01.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-e02.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-e02b.boot replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-e04.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-f01.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-f02.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-f04.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-f07.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nag-s.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/newfort.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/nrunopt.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/parsing.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/patches.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/slam.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/sys-pkg.lisp replace stringimage with princ-to-string
+20150430 tpd src/interp/vmlisp.lisp replace stringimage with princ-to-string
 20150429 tpd src/axiom-website/patches.html 20150429.02.tpd.patch
 20150429 tpd src/interp/c-util.lisp change prin0 to prin1 everywhere
 20150429 tpd src/interp/i-output.lisp change prin0 to prin1 everywhere
diff --git a/patch b/patch
index 7776883..88d2bc1 100644
--- a/patch
+++ b/patch
@@ -1,3 +1,3 @@
-src/interp/vmlisp.lisp change prin0 to prin1 everywhere
+src/interp/vmlisp.lisp replace stringimage with princ-to-string
 
 Remove a layer of function call renaming; use Lisp primitive
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 14448dc..0d9cc0b 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -5046,6 +5046,8 @@ src/interp/vmlisp.lisp reduce the use of spadlet<br/>
 src/interp/vmlisp.lisp sayString to PRINTEXP to PRINC<br/>
 <a href="patches/20150429.02.tpd.patch">20150429.02.tpd.patch</a>
 src/interp/vmlisp.lisp change prin0 to prin1 everywhere<br/>
+<a href="patches/20150430.01.tpd.patch">20150430.01.tpd.patch</a>
+src/interp/vmlisp.lisp replace stringimage with princ-to-string<br/>
  </body>
 </html>
 
diff --git a/src/interp/br-con.lisp.pamphlet b/src/interp/br-con.lisp.pamphlet
index 33ae713..10440d2 100644
--- a/src/interp/br-con.lisp.pamphlet
+++ b/src/interp/br-con.lisp.pamphlet
@@ -155,9 +155,9 @@
              '|done|)))))
 
 ;dbHasExamplePage conname ==
-;  sname    := STRINGIMAGE conname
+;  sname    := princ-to-string conname
 ;  abb      := constructor? conname
-;  ucname   := UPCASE STRINGIMAGE abb
+;  ucname   := UPCASE princ-to-string abb
 ;  pathname :=STRCONC(getEnv '"AXIOM",'"/doc/hypertex/pages/",ucname,'".ht")
 ;  isExistingFile pathname => INTERN STRCONC(sname,'"XmpPage")
 ;  nil
@@ -166,9 +166,9 @@
   (PROG (|sname| |abb| |ucname| |pathname|)
     (RETURN
       (PROGN
-        (setq |sname| (STRINGIMAGE |conname|))
+        (setq |sname| (princ-to-string |conname|))
         (setq |abb| (|constructor?| |conname|))
-        (setq |ucname| (UPCASE (STRINGIMAGE |abb|)))
+        (setq |ucname| (UPCASE (princ-to-string |abb|)))
         (setq |pathname|
                  (STRCONC (|getEnv| "AXIOM")
                           "/doc/hypertex/pages/" |ucname|
@@ -3099,7 +3099,7 @@
 ;--============================================================================
 ;dbShowOps(htPage,which,key,:options) ==
 ;  --NEXT LINE SHOULD BE REMOVED if we are sure that which is a string
-;  which := STRINGIMAGE which
+;  which := princ-to-string which
 ;  if MEMQ(key,'(extended basic all)) then
 ;    $groupChoice := key
 ;    key := htpProperty(htPage,'key) or 'names
@@ -3110,7 +3110,7 @@
 ;--      al
 ;    htpProperty(htPage,'attrAlist)
 ;  key = 'generalise =>
-;    arg  := STRINGIMAGE CAAR opAlist
+;    arg  := princ-to-string CAAR opAlist
 ;    which = '"attribute" => aPage arg
 ;    oPage arg
 ;  key = 'allDomains => dbShowOpAllDomains(htPage,opAlist,which)
@@ -3119,7 +3119,7 @@
 ;    filter := IFCAR options or pmTransFilter(dbGetInputString htPage)
 ;    filter is ['error,:.] => bcErrorPage filter
 ;    opAlist:= _
-;      [x for x in opAlist | superMatch?(filter,DOWNCASE STRINGIMAGE opOf x)]
+;      [x for x in opAlist | superMatch?(filter,DOWNCASE princ-to-string opOf x)]
 ;    null opAlist => emptySearchPage(which,filter)
 ;    htPage := htInitPageNoScroll(htCopyProplist htPage)
 ;    if which = '"operation"
@@ -3143,7 +3143,7 @@
   (declare (special |$groupChoice| |$exposedOnlyIfTrue|))
     (RETURN
       (SEQ (PROGN
-             (setq |which| (STRINGIMAGE |which|))
+             (setq |which| (princ-to-string |which|))
              (COND
                ((member |key| '(|extended| |basic| |all|))
                 (setq |$groupChoice| |key|)
@@ -3156,7 +3156,7 @@
                         ('T (|htpProperty| |htPage| '|attrAlist|))))
              (COND
                ((BOOT-EQUAL |key| '|generalise|)
-                (setq |arg| (STRINGIMAGE (CAAR |opAlist|)))
+                (setq |arg| (princ-to-string (CAAR |opAlist|)))
                 (COND
                   ((BOOT-EQUAL |which| "attribute")
                    (|aPage| |arg|))
@@ -3188,7 +3188,7 @@
                                         (COND
                                           ((|superMatch?| |filter|
                                             (DOWNCASE
-                                             (STRINGIMAGE (|opOf| |x|))))
+                                             (princ-to-string (|opOf| |x|))))
                                            (SETQ G170560
                                             (CONS |x| G170560))))))))))
                    (COND
@@ -3387,7 +3387,7 @@
 ;                                     $exposedOnlyIfTrue => atom x; true)]
 ;  namedPart :=
 ;    null rest opAlist =>
-;      ops := escapeSpecialChars STRINGIMAGE CAAR opAlist
+;      ops := escapeSpecialChars princ-to-string CAAR opAlist
 ;      ['" {\em ",ops,'"}"]
 ;    nil
 ;  if what = '"Condition" and null KAR KAR data then dataCount := dataCount - 1
@@ -3398,10 +3398,10 @@
 ;    opCount = 0 => ['"No ",:exposurePart, pluralize capitalize which]
 ;    dataCount = 1 or dataCount = opCount =>
 ;      opCount = 1 => [:exposurePart, capitalize which,:namedPart]
-;      [STRINGIMAGE opCount,'" ",:exposurePart,
+;      [princ-to-string opCount,'" ",:exposurePart,
 ;         pluralize capitalize which,:namedPart]
 ;    prefix := pluralSay(dataCount,what,whats)
-;    [:prefix,'" for ",STRINGIMAGE opCount,'" ",_
+;    [:prefix,'" for ",princ-to-string opCount,'" ",_
 ;                                    pluralize capitalize which,:namedPart]
 ;  page := htInitPageNoScroll(htCopyProplist htPage)
 ;  ------------>above line used to call htInitPageHoHeading<----------
@@ -3590,7 +3590,7 @@
                            ((NULL (CDR |opAlist|))
                             (setq |ops|
                                      (|escapeSpecialChars|
-                                      (STRINGIMAGE (CAAR |opAlist|))))
+                                      (princ-to-string (CAAR |opAlist|))))
                             (CONS " {\\em "
                                   (CONS |ops|
                                         (CONS "}" NIL))))
@@ -3620,7 +3620,7 @@
                                        (CONS (|capitalize| |which|)
                                         |namedPart|)))
                               ('T
-                               (CONS (STRINGIMAGE |opCount|)
+                               (CONS (princ-to-string |opCount|)
                                      (CONS " "
                                       (APPEND |exposurePart|
                                        (CONS
@@ -3633,7 +3633,7 @@
                                       |whats|))
                             (APPEND |prefix|
                                     (CONS " for "
-                                     (CONS (STRINGIMAGE |opCount|)
+                                     (CONS (princ-to-string |opCount|)
                                       (CONS " "
                                        (CONS
                                         (|pluralize|
@@ -5068,7 +5068,7 @@
 ;dbShowOpNames(htPage,opAlist,which,data) ==
 ;  single? := opAlist and null rest data
 ;  single? =>
-;    ops := escapeSpecialChars STRINGIMAGE CAAR opAlist
+;    ops := escapeSpecialChars princ-to-string CAAR opAlist
 ;    htSayStandard('"Select a view below")
 ;    htSaySaturn '"Select a view with the right mouse button"
 ;  exposedOnly? := $exposedOnlyIfTrue and not dbFromConstructor?(htPage)
@@ -5084,7 +5084,7 @@
           (|single?|
               (setq |ops|
                        (|escapeSpecialChars|
-                           (STRINGIMAGE (CAAR |opAlist|))))
+                           (princ-to-string (CAAR |opAlist|))))
               (|htSayStandard| "Select a view below")
               (|htSaySaturn|
                                         "Select a view with the right mouse button"))
@@ -5105,7 +5105,7 @@
 ;      exposeFlag := true
 ;    else
 ;      [op,exposeFlag] := item
-;    ops := escapeSpecialChars STRINGIMAGE op
+;    ops := escapeSpecialChars princ-to-string op
 ;    exposeFlag or not exposedOnly? =>
 ;      htSay('"{")
 ;      bcStarSpaceOp(ops,exposeFlag)
@@ -5136,7 +5136,7 @@
                                |item|))
                             (setq |ops|
                                      (|escapeSpecialChars|
-                                      (STRINGIMAGE |op|)))
+                                      (princ-to-string |op|)))
                             (COND
                               ((OR |exposeFlag| (NULL |exposedOnly?|))
                                (PROGN
@@ -5385,7 +5385,7 @@
 ;  for [[op,sig,:.],exposureFlag,:tail] in dataItems repeat
 ;    if firstTime then firstTime := false
 ;    else htSaySaturn '"&";
-;    ops := escapeSpecialChars STRINGIMAGE op
+;    ops := escapeSpecialChars princ-to-string op
 ;    htSay '"{"
 ;--  if single? then htSay('"{\em ",ops,'"}") else.....
 ;    htSayExpose(ops,exposureFlag)
@@ -5425,7 +5425,7 @@
                               ('T (|htSaySaturn| "&")))
                             (setq |ops|
                                      (|escapeSpecialChars|
-                                      (STRINGIMAGE |op|)))
+                                      (princ-to-string |op|)))
                             (|htSay| "{")
                             (|htSayExpose| |ops| |exposureFlag|)
                             (|htMakePage|
@@ -5465,7 +5465,7 @@
 ;    [opform,exposeFlag,:tail] := item
 ;    op := intern IFCAR opform
 ;    args := IFCDR opform
-;    ops := escapeSpecialChars STRINGIMAGE op
+;    ops := escapeSpecialChars princ-to-string op
 ;    htSay '"{"
 ;    htSayExpose(ops,exposeFlag)
 ;    n := #opform
@@ -5525,7 +5525,7 @@
                             (setq |args| (IFCDR |opform|))
                             (setq |ops|
                                      (|escapeSpecialChars|
-                                      (STRINGIMAGE |op|)))
+                                      (princ-to-string |op|)))
                             (|htSay| "{")
                             (|htSayExpose| |ops| |exposeFlag|)
                             (setq |n| (|#| |opform|))
@@ -6709,8 +6709,8 @@
 ;    arg :=
 ;      atom arg => [arg]
 ;      [y for x in arg | y := (x is ['QUOTE,a] => a; x)]
-;    tailPart := "STRCONC"/[STRCONC('",",STRINGIMAGE x) for x in rest arg]
-;    STRCONC('"[",STRINGIMAGE first arg,tailPart,'"]")
+;    tailPart := "STRCONC"/[STRCONC('",",princ-to-string x) for x in rest arg]
+;    STRCONC('"[",princ-to-string first arg,tailPart,'"]")
 ;  form is ['BRACKET,['AGGLST,'QUOTE,arg]] =>
 ;    if atom arg then arg := [arg]
 ;    tailPart := "STRCONC"/[STRCONC('",",x) for x in rest arg]
@@ -6825,8 +6825,8 @@
                                      (SETQ G172610
                                       (STRCONC G172610
                                        (STRCONC ","
-                                        (STRINGIMAGE |x|))))))))))
-                    (STRCONC "[" (STRINGIMAGE (CAR |arg|))
+                                        (princ-to-string |x|))))))))))
+                    (STRCONC "[" (princ-to-string (CAR |arg|))
                              |tailPart| "]"))
                    ((AND (CONSP |form|) (EQ (QCAR |form|) 'BRACKET)
                          (PROGN
@@ -7479,7 +7479,7 @@
 ;  for x in r repeat
 ;    htSay '"\newline "
 ;    x is ['SIGNATURE,op,sig] =>
-;      ops := escapeSpecialChars STRINGIMAGE op
+;      ops := escapeSpecialChars princ-to-string op
 ;      htMakePage [['bcLinks,[ops,'"",'oPage,ops]]]
 ;      htSay '": "
 ;      bcConform ['Mapping,:sig]
@@ -7524,7 +7524,7 @@
                                                'T))))))
                                   (setq |ops|
                                            (|escapeSpecialChars|
-                                            (STRINGIMAGE |op|)))
+                                            (princ-to-string |op|)))
                                   (|htMakePage|
                                       (CONS
                                        (CONS '|bcLinks|
@@ -8114,7 +8114,7 @@
 ;  prefix := pluralSay(#u,'"constructor uses",'"constructors use")
 ;  suffix :=
 ;    opAlist is [[op1,.]] =>
-;      ['" operation {\em ",escapeSpecialChars STRINGIMAGE op1,_
+;      ['" operation {\em ",escapeSpecialChars princ-to-string op1,_
 ;       '":",form2HtString ['Mapping,:sig],'"}"]
 ;    ['" these operations"]
 ;  page := htInitPage([:prefix,:suffix],htCopyProplist htPage)
@@ -8125,7 +8125,7 @@
 ;      nopAlist := insertAlist(opsig,[name,:LASSOC(opsig,nopAlist)],nopAlist)
 ;  usedList := nil
 ;  for [(pair := [op,:sig]),:namelist] in nopAlist repeat
-;    ops := escapeSpecialChars STRINGIMAGE op
+;    ops := escapeSpecialChars princ-to-string op
 ;    usedList := [pair,:usedList]
 ;    htSay('"Users of {\em ",ops,'": ")
 ;    bcConform ['Mapping,:sublisFormal(conargs,sig)]
@@ -8139,7 +8139,7 @@
 ;      [#noOneUses,'" operations:"]
 ;    htSay '"\newline "
 ;    for [op,:sig] in noOneUses repeat
-;      htSay('"\tab{2}{\em ",escapeSpecialChars STRINGIMAGE op,'": ")
+;      htSay('"\tab{2}{\em ",escapeSpecialChars princ-to-string op,'": ")
 ;      bcConform ['Mapping,:sublisFormal(conargs,sig)]
 ;      htSay('"}\newline")
 ;  htSayStandard '"\endscroll "
@@ -8211,7 +8211,7 @@
                                          (EQ (QCDR |ISTMP#2|) NIL))))))
                           (CONS " operation {\\em "
                                 (CONS (|escapeSpecialChars|
-                                       (STRINGIMAGE |op1|))
+                                       (princ-to-string |op1|))
                                       (CONS ":"
                                        (CONS
                                         (|form2HtString|
@@ -8266,7 +8266,7 @@
                 (SEQ (EXIT (PROGN
                              (setq |ops|
                                       (|escapeSpecialChars|
-                                       (STRINGIMAGE |op|)))
+                                       (princ-to-string |op|)))
                              (setq |usedList|
                                       (CONS |pair| |usedList|))
                              (|htSay| "Users of {\\em "
@@ -8304,7 +8304,7 @@
                    (SEQ (EXIT (PROGN
                                 (|htSay| "\\tab{2}{\\em "
                                          (|escapeSpecialChars|
-                                          (STRINGIMAGE |op|))
+                                          (princ-to-string |op|))
                                          ": ")
                                 (|bcConform|
                                     (CONS '|Mapping|
@@ -9405,7 +9405,7 @@
 
 ;opPageFastPath opstring ==
 ;--return nil
-;  x := STRINGIMAGE opstring
+;  x := princ-to-string opstring
 ;  charPosition(char '_*,x,0) < #x => nil     --quit if name has * in it
 ;  op := (STRINGP x => INTERN x; x)
 ;  mmList := getAllModemapsFromDatabase(op,nil) or return nil
@@ -9421,7 +9421,7 @@
              |predicate| |exposed?| |opAlist|)
     (RETURN
       (SEQ (PROGN
-             (setq |x| (STRINGIMAGE |opstring|))
+             (setq |x| (princ-to-string |opstring|))
              (COND
                ((> (|#| |x|) (|charPosition| (|char| '*) |x| 0)) NIL)
                ('T
@@ -9750,7 +9750,7 @@
 ;  $key     : local := key
 ;  if key = 'k and          --convert 'k to 'y if name contains an "&"
 ;    or/[s . i = char '_& for i in 0..MAXINDEX s] then key := 'y
-;  filter := pmTransFilter STRINGIMAGE s  --parses and-or-not form
+;  filter := pmTransFilter princ-to-string s  --parses and-or-not form
 ;  filter is ['error,:.] => filter        --exit on parser error
 ;  pattern := mkGrepPattern(filter,key)  --create string to pass to "grep"
 ;  grepConstructDo(pattern, key)  --do the "grep"---see b-saturn.boot
@@ -9776,7 +9776,7 @@
                                         (BOOT-EQUAL (ELT |s| |i|)
                                          (|char| '&))))))))))
                 (setq |key| '|y|)))
-             (setq |filter| (|pmTransFilter| (STRINGIMAGE |s|)))
+             (setq |filter| (|pmTransFilter| (princ-to-string |s|)))
              (COND
                ((AND (CONSP |filter|) (EQ (QCAR |filter|) '|error|))
                 |filter|)
@@ -9850,7 +9850,7 @@
 ;grepForAbbrev(s,key) ==
 ;--checks that filter s is not * and is all uppercase; if so, look for abbrevs
 ;  u := HGET($lowerCaseConTb,s) => ['Abbreviations,u]    --try cheap test first
-;  s := STRINGIMAGE s
+;  s := princ-to-string s
 ;  someLowerCaseChar := false
 ;  someUpperCaseChar := false
 ;  for i in 0..MAXINDEX s repeat
@@ -9874,7 +9874,7 @@
       (SEQ (COND
              ((setq |u| (HGET |$lowerCaseConTb| |s|))
               (CONS '|Abbreviations| (CONS |u| NIL)))
-             ('T (setq |s| (STRINGIMAGE |s|))
+             ('T (setq |s| (princ-to-string |s|))
               (setq |someLowerCaseChar| NIL)
               (setq |someUpperCaseChar| NIL)
               (DO ((G174530 (MAXINDEX |s|)) (|i| 0 (QSADD1 |i|)))
@@ -10591,8 +10591,8 @@
 
 ;mkGrepPattern1(x,:options) == --called by mkGrepPattern (and grepConstructName?)
 ;  $options : local := options
-;  s := STRINGIMAGE x
-;--s := DOWNCASE STRINGIMAGE x
+;  s := princ-to-string x
+;--s := DOWNCASE princ-to-string x
 ;  addOptions remUnderscores addWilds split(g s,char '_*) where
 ;    addWilds sl ==    --add wild cards (sl is list of parts between *'s)
 ;      IFCAR sl = '"" => h(IFCDR sl,[$wild1])
@@ -10646,7 +10646,7 @@
 ;--      true => '""    ----> never put on following prefixes
 ;        one = 'k => '"[cdp]"
 ;        one = 'y => '"[cdpx]"
-;        STRINGIMAGE one
+;        princ-to-string one
 ;      s = $wild1 => STRCONC('"^",prefix)
 ;      STRCONC('"^",prefix,s)
 
@@ -10685,7 +10685,7 @@
                              (EXIT "[cdp]"))
                          (IF (BOOT-EQUAL |one| '|y|)
                              (EXIT "[cdpx]"))
-                         (EXIT (STRINGIMAGE |one|))))
+                         (EXIT (princ-to-string |one|))))
            (IF (BOOT-EQUAL |s| |$wild1|)
                (EXIT (STRCONC "^" |prefix|)))
            (EXIT (STRCONC "^" |prefix| |s|))))))
@@ -10808,7 +10808,7 @@
     (RETURN
       (PROGN
         (setq |$options| |options|)
-        (setq |s| (STRINGIMAGE |x|))
+        (setq |s| (princ-to-string |x|))
         (|mkGrepPattern1,addOptions|
             (|mkGrepPattern1,remUnderscores|
                 (|mkGrepPattern1,addWilds|
@@ -10908,7 +10908,7 @@
 ;oPageFrom(opname,conname) == --called by \spadfunFrom{opname}{conname}
 ;  htPage := htInitPage(nil,nil) --create empty page and fill in needed properties
 ;  htpSetProperty(htPage,'conform,conform := getConstructorForm conname)
-;  htpSetProperty(htPage,'kind,STRINGIMAGE GETDATABASE(conname,'CONSTRUCTORKIND))
+;  htpSetProperty(htPage,'kind,princ-to-string GETDATABASE(conname,'CONSTRUCTORKIND))
 ;  itemlist := ASSOC(opname,koOps(conform,nil)) --all operations name "opname"
 ;  null itemlist => systemError [conform,'" has no operation named ",opname]
 ;  opAlist := [itemlist]
@@ -10922,7 +10922,7 @@
         (|htpSetProperty| |htPage| '|conform|
             (setq |conform| (|getConstructorForm| |conname|)))
         (|htpSetProperty| |htPage| '|kind|
-            (STRINGIMAGE (GETDATABASE |conname| 'CONSTRUCTORKIND)))
+            (princ-to-string (GETDATABASE |conname| 'CONSTRUCTORKIND)))
         (setq |itemlist| (|assoc| |opname| (|koOps| |conform| NIL)))
         (COND
           ((NULL |itemlist|)
@@ -10937,7 +10937,7 @@
 ;aPage(a,:b) ==  --called by \spadatt{a}
 ;  $attributeArgs : local := nil
 ;  arg := IFCAR b or a
-;  s   := pmParseFromString STRINGIMAGE arg
+;  s   := pmParseFromString princ-to-string arg
 ;  searchOn :=
 ;    ATOM s => s
 ;    IFCAR s
@@ -10952,7 +10952,7 @@
       (PROGN
         (setq |$attributeArgs| NIL)
         (setq |arg| (OR (IFCAR |b|) |a|))
-        (setq |s| (|pmParseFromString| (STRINGIMAGE |arg|)))
+        (setq |s| (|pmParseFromString| (princ-to-string |arg|)))
         (setq |searchOn| (COND ((ATOM |s|) |s|) ('T (IFCAR |s|))))
         (setq |$attributeArgs| (IFCAR (IFCDR |s|)))
         (|aSearch| |searchOn|)))))
@@ -11071,7 +11071,7 @@
 ;  filter = '"*" => htErrorStar()
 ;  includeDoc? := not IFCAR options
 ;--give summaries for how many a o c d p x match filter
-;  regSearchAlist := grepConstruct(STRINGIMAGE filter,".",true)
+;  regSearchAlist := grepConstruct(princ-to-string filter,".",true)
 ;  regSearchAlist is ['error,:.] => bcErrorPage regSearchAlist
 ;  key := removeSurroundingStars filter
 ;  if includeDoc? then
@@ -11089,7 +11089,7 @@
              ((BOOT-EQUAL |filter| "*") (|htErrorStar|))
              ('T (setq |includeDoc?| (NULL (IFCAR |options|)))
               (setq |regSearchAlist|
-                       (|grepConstruct| (STRINGIMAGE |filter|)
+                       (|grepConstruct| (princ-to-string |filter|)
                            (INTERN "." "BOOT") 'T))
               (COND
                 ((AND (CONSP |regSearchAlist|)
@@ -11173,7 +11173,7 @@
 ;    $exposedOnlyIfTrue => '"exposed entries match"
 ;    '"entries match"
 ;  prefix := pluralSay(count,'"", plural)
-;  emfilter := ['"{\em ",escapeSpecialChars STRINGIMAGE filter,'"}"]
+;  emfilter := ['"{\em ",escapeSpecialChars princ-to-string filter,'"}"]
 ;  header := [:prefix,'" ",:emfilter]
 ;  page := htInitPage(header,nil)
 ;  htpSetProperty(page,'regSearchAlist,regSearchAlist)
@@ -11280,7 +11280,7 @@
                    (setq |emfilter|
                             (CONS "{\\em "
                                   (CONS (|escapeSpecialChars|
-                                         (STRINGIMAGE |filter|))
+                                         (princ-to-string |filter|))
                                         (CONS "}" NIL))))
                    (setq |header|
                             (APPEND |prefix|
@@ -11850,7 +11850,7 @@
 ;  count = 0 => emptySearchPage('"entry",filter,true)
 ;  count = 1 => showNamedConstruct(or/[x for x in docSearchAlist | CADR x],1)
 ;  prefix := pluralSay(count,'"entry matches",'"entries match")
-;  emfilter := ['"{\em ",escapeSpecialChars STRINGIMAGE filter,'"}"]
+;  emfilter := ['"{\em ",escapeSpecialChars princ-to-string filter,'"}"]
 ;  header := [:prefix,'" ",:emfilter]
 ;  page := htInitPage(header,nil)
 ;  htpSetProperty(page,'docSearchAlist,docSearchAlist)
@@ -11901,7 +11901,7 @@
                 (setq |emfilter|
                          (CONS "{\\em "
                                (CONS (|escapeSpecialChars|
-                                      (STRINGIMAGE |filter|))
+                                      (princ-to-string |filter|))
                                      (CONS "}" NIL))))
                 (setq |header|
                          (APPEND |prefix|
@@ -11939,7 +11939,7 @@
                 (|htShowPageStar|))))))))
 
 ;removeSurroundingStars filter ==
-;  key := STRINGIMAGE filter
+;  key := princ-to-string filter
 ;  if key.0 = char '_* then key := SUBSTRING(key,1,nil)
 ;  if key.(max := MAXINDEX key) = char '_* then key := SUBSTRING(key,0,max)
 ;  key
@@ -11948,7 +11948,7 @@
   (PROG (|max| |key|)
     (RETURN
       (PROGN
-        (setq |key| (STRINGIMAGE |filter|))
+        (setq |key| (princ-to-string |filter|))
         (COND
           ((BOOT-EQUAL (ELT |key| 0) (|char| '*))
            (setq |key| (SUBSTRING |key| 1 NIL))))
@@ -12243,10 +12243,10 @@
 ;  htpSetProperty(htPage,'thing,nil)
 ;  return dbShowCons(htPage,'names)
 ;  page := htInitPage([#conlist,
-;    '" Abbreviations Match {\em ",STRINGIMAGE filter,'"}"],nil)
+;    '" Abbreviations Match {\em ",princ-to-string filter,'"}"],nil)
 ;  for [nam,abbr,:r] in conlist repeat
 ;    kind := LASSOC('kind,r)
-;    htSay('"\newline{\em ",s := STRINGIMAGE abbr)
+;    htSay('"\newline{\em ",s := princ-to-string abbr)
 ;    htSayStandard '"\tab{10}"
 ;    htSay '"}"
 ;    htSay kind
@@ -12323,7 +12323,7 @@
                                 (CONS (|#| |conlist|)
                                       (CONS
                                                                                " Abbreviations Match {\\em "
-                                       (CONS (STRINGIMAGE |filter|)
+                                       (CONS (princ-to-string |filter|)
                                         (CONS "}" NIL))))
                                 NIL))
                    (DO ((G176230 |conlist| (CDR G176230))
@@ -12344,7 +12344,7 @@
                                   (setq |kind| (LASSOC '|kind| |r|))
                                   (|htSay|                                             "\\newline{\\em "
                                            (setq |s|
-                                            (STRINGIMAGE |abbr|)))
+                                            (princ-to-string |abbr|)))
                                   (|htSayStandard|
                                       "\\tab{10}")
                                   (|htSay| "}")
@@ -12816,11 +12816,11 @@
            ((member |key| '(|.| |a| |c| |d| |k| |o| |p| |x|)) '|libdb|)
            ('T '|comdb|))))))
 
-;mkGrepTextfile s == STRCONC($SPADROOT,"/algebra/", STRINGIMAGE s, '".text")
+;mkGrepTextfile s == STRCONC($SPADROOT,"/algebra/", princ-to-string s, '".text")
 
 (defun |mkGrepTextfile| (|s|)
   (declare (special $spadroot))
-  (STRCONC $SPADROOT '|/algebra/| (STRINGIMAGE |s|)
+  (STRCONC $SPADROOT '|/algebra/| (princ-to-string |s|)
            ".text"))
 
 ;mkGrepFile s ==  --called to generate a path name for a temporary grep file
@@ -12860,7 +12860,7 @@
 ;      command := STRCONC('"grep ",casepart,'" _'",pattern,'"_' ",source)
 ;      obey
 ;        MEMBER(key,'(a o c d p x)) =>
-;          STRCONC(command, '" | sed 's/~/", STRINGIMAGE key, '"/' > ", target)
+;          STRCONC(command, '" | sed 's/~/", princ-to-string key, '"/' > ", target)
 ;        STRCONC(command, '" > ",target)
 ;      dbReadLines target
 ;    ----Windows Version------
@@ -12900,7 +12900,7 @@
                                    '(|a| |o| |c| |d| |p| |x|))
                                (STRCONC |command|
                                         " | sed 's/~/"
-                                        (STRINGIMAGE |key|)
+                                        (princ-to-string |key|)
                                         "/' > " |target|))
                               ('T
                                (STRCONC |command| " > "
@@ -13509,11 +13509,11 @@ $dbKindAlist :=
          (SUBSTRING (|form2HtString| (CONS '|f| |x|) |emList|) 1 NIL))))))
 
 ;quickForm2HtString(x) ==
-;  atom x => STRINGIMAGE x
+;  atom x => princ-to-string x
 ;  form2HtString x
 
 (defun |quickForm2HtString| (|x|)
-  (COND ((ATOM |x|) (STRINGIMAGE |x|)) ('T (|form2HtString| |x|))))
+  (COND ((ATOM |x|) (princ-to-string |x|)) ('T (|form2HtString| |x|))))
 
 ;form2HtString(x,:options) ==
 ;  $emList:local := IFCAR options   --list of atoms to be emphasized
@@ -13521,8 +13521,8 @@ $dbKindAlist :=
 ;  fn(x) where
 ;    fn x ==
 ;      atom x =>
-;        MEMQ(x,$FormalMapVariableList) => STRCONC('"\",STRINGIMAGE x)
-;        u := escapeSpecialChars STRINGIMAGE x
+;        MEMQ(x,$FormalMapVariableList) => STRCONC('"\",princ-to-string x)
+;        u := escapeSpecialChars princ-to-string x
 ;        MEMQ(x,$emList) => STRCONC('"{\em ",u,'"}")
 ;        STRINGP x => STRCONC('"_"",u,'"_"")
 ;        u
@@ -13560,10 +13560,10 @@ $dbKindAlist :=
       (SEQ (IF (ATOM |x|)
                (EXIT (SEQ (IF (member |x| |$FormalMapVariableList|)
                               (EXIT (STRCONC "\\"
-                                     (STRINGIMAGE |x|))))
+                                     (princ-to-string |x|))))
                           (setq |u|
                                    (|escapeSpecialChars|
-                                    (STRINGIMAGE |x|)))
+                                    (princ-to-string |x|)))
                           (IF (member |x| |$emList|)
                               (EXIT (STRCONC "{\\em " |u|
                                      "}")))
@@ -13636,9 +13636,9 @@ $dbKindAlist :=
 ;form2LispString(x) ==
 ;  atom x =>
 ;    x = '_$ => '"__$"
-;    MEMQ(x,$FormalMapVariableList) => STRCONC(STRINGIMAGE '__, STRINGIMAGE x)
-;    STRINGP x => STRCONC('"_"",STRINGIMAGE x,'"_"")
-;    STRINGIMAGE x
+;    MEMQ(x,$FormalMapVariableList) => STRCONC(princ-to-string '__, princ-to-string x)
+;    STRINGP x => STRCONC('"_"",princ-to-string x,'"_"")
+;    princ-to-string x
 ;  x is ['QUOTE,a] => STRCONC('"'",sexpr2LispString a)
 ;  x is [":",a,b] => STRCONC(form2LispString a,'":",form2LispString b)
 ;  first x = 'Mapping =>
@@ -13654,11 +13654,11 @@ $dbKindAlist :=
          (COND
            ((BOOT-EQUAL |x| '$) "_$")
            ((member |x| |$FormalMapVariableList|)
-            (STRCONC (STRINGIMAGE '_) (STRINGIMAGE |x|)))
+            (STRCONC (princ-to-string '_) (princ-to-string |x|)))
            ((STRINGP |x|)
-            (STRCONC "\"" (STRINGIMAGE |x|)
+            (STRCONC "\"" (princ-to-string |x|)
                      "\""))
-           ('T (STRINGIMAGE |x|))))
+           ('T (princ-to-string |x|))))
         ((AND (CONSP |x|) (EQ (QCAR |x|) 'QUOTE)
               (PROGN
                 (setq |ISTMP#1| (QCDR |x|))
@@ -13938,7 +13938,7 @@ $dbKindAlist :=
 
 ;bcCon(name,:options) ==
 ;  argString := IFCAR options or '""
-;  s := STRINGIMAGE name
+;  s := princ-to-string name
 ;  bcStar name
 ;  htSayConstructorName(s,s)
 ;  htSay argString
@@ -13949,14 +13949,14 @@ $dbKindAlist :=
     (RETURN
       (PROGN
         (setq |argString| (OR (IFCAR |options|) ""))
-        (setq |s| (STRINGIMAGE |name|))
+        (setq |s| (princ-to-string |name|))
         (|bcStar| |name|)
         (|htSayConstructorName| |s| |s|)
         (|htSay| |argString|)))))
 
 ;bcAbb(name,abb) ==
-;  s := STRINGIMAGE name
-;  a := STRINGIMAGE abb
+;  s := princ-to-string name
+;  a := princ-to-string abb
 ;  bcStar name
 ;  htSayConstructorName(a,s)
 
@@ -13964,8 +13964,8 @@ $dbKindAlist :=
   (PROG (|s| |a|)
     (RETURN
       (PROGN
-        (setq |s| (STRINGIMAGE |name|))
-        (setq |a| (STRINGIMAGE |abb|))
+        (setq |s| (princ-to-string |name|))
+        (setq |a| (princ-to-string |abb|))
         (|bcStar| |name|)
         (|htSayConstructorName| |a| |s|)))))
 
@@ -14057,7 +14057,7 @@ $dbKindAlist :=
 ;    if firstTime then firstTime := false
 ;    else htSaySaturn '"&"
 ;    htSay '"{"
-;    htMakePage [['bcLinks,[escapeSpecialChars STRINGIMAGE opOf op,'"",fn,i]]]
+;    htMakePage [['bcLinks,[escapeSpecialChars princ-to-string opOf op,'"",fn,i]]]
 ;    htSay '"}"
 ;  htEndTable()
 
@@ -14082,7 +14082,7 @@ $dbKindAlist :=
                                        (CONS
                                         (CONS
                                          (|escapeSpecialChars|
-                                          (STRINGIMAGE (|opOf| |op|)))
+                                          (princ-to-string (|opOf| |op|)))
                                          (CONS ""
                                           (CONS |fn| (CONS |i| NIL))))
                                         NIL))
@@ -14360,7 +14360,7 @@ $dbKindAlist :=
 ;    else htSaySaturn '"&"
 ;    htSay '"{"
 ;    if IFCAR option then bcStar x
-;    htMakePage [['bcLinks,[s := escapeSpecialChars STRINGIMAGE x,'"",fn,s]]]
+;    htMakePage [['bcLinks,[s := escapeSpecialChars princ-to-string x,'"",fn,s]]]
 ;    htSay '"}"
 ;  htEndTable()
 
@@ -14388,7 +14388,7 @@ $dbKindAlist :=
                                         (CONS
                                          (setq |s|
                                           (|escapeSpecialChars|
-                                           (STRINGIMAGE |x|)))
+                                           (princ-to-string |x|)))
                                          (CONS ""
                                           (CONS |fn| (CONS |s| NIL))))
                                         NIL))
@@ -15201,7 +15201,7 @@ $dbKindAlist :=
 ;  conname := opOf conform
 ;--argTypes := REVERSE ASSOCRIGHT LASSOC('arguments,alist)
 ;--sig := or/[sig for [sig,:.] in LASSOC(op,opAlist) | rest sig = argTypes]
-;  ops := escapeSpecialChars STRINGIMAGE zeroOneConvert op
+;  ops := escapeSpecialChars princ-to-string zeroOneConvert op
 ;  oppart := ['"{\em ", ops, '"}"]
 ;  head :=
 ;    sig => [:oppart,'": ",:dbConformGen dbInfoSig sig]
@@ -15291,7 +15291,7 @@ $dbKindAlist :=
              (setq |conname| (|opOf| |conform|))
              (setq |ops|
                       (|escapeSpecialChars|
-                          (STRINGIMAGE (|zeroOneConvert| |op|))))
+                          (princ-to-string (|zeroOneConvert| |op|))))
              (setq |oppart|
                       (CONS "{\\em "
                             (CONS |ops| (CONS "}" NIL))))
@@ -15496,7 +15496,7 @@ $dbKindAlist :=
 ;         buttonForOp? := true
 ;         s
 ;       item
-;    ops := escapeSpecialChars STRINGIMAGE op
+;    ops := escapeSpecialChars princ-to-string op
 ;    htSay '"{"
 ;    if count < 16384 or not buttonForOp? then
 ;      htSay [ops,'": "]
@@ -15548,7 +15548,7 @@ $dbKindAlist :=
                             (setq |sig| (CDR |LETTMP#1|))
                             (setq |ops|
                                      (|escapeSpecialChars|
-                                      (STRINGIMAGE |op|)))
+                                      (princ-to-string |op|)))
                             (|htSay| "{")
                             (COND
                               ((OR (> 16384 |count|)
@@ -16009,7 +16009,7 @@ $dbKindAlist :=
 
 ;getInfoAlist conname ==
 ;  cat? := GETDATABASE(conname,'CONSTRUCTORKIND) = 'category
-;  if cat? then conname := INTERN STRCONC(STRINGIMAGE conname,'"&")
+;  if cat? then conname := INTERN STRCONC(princ-to-string conname,'"&")
 ;  abb := constructor? conname or return '"not a constructor"
 ;  fs  := STRCONC(PNAME abb,'".nrlib/info")
 ;  inStream :=
@@ -16033,7 +16033,7 @@ $dbKindAlist :=
                      '|category|))
         (COND
           (|cat?| (setq |conname|
-                           (INTERN (STRCONC (STRINGIMAGE |conname|)
+                           (INTERN (STRCONC (princ-to-string |conname|)
                                     "&")))))
         (setq |abb|
                  (OR (|constructor?| |conname|)
@@ -16397,7 +16397,7 @@ $dbKindAlist :=
 ;     writeSaturn(line)
 ;     writeSaturnSuffix()
 ;     if $saturnFileNumber then
-;       fn := STRCONC('"sat", STRINGIMAGE $saturnFileNumber, '".tex")
+;       fn := STRCONC('"sat", princ-to-string $saturnFileNumber, '".tex")
 ;       obey STRCONC('"doswrite -a saturn.tex ",fn, '".tex")
 ;       $saturnFileNumber := $saturnFileNumber + 1
 
@@ -16415,7 +16415,7 @@ $dbKindAlist :=
               (|$saturnFileNumber|
                   (setq |fn|
                            (STRCONC "sat"
-                                    (STRINGIMAGE |$saturnFileNumber|)
+                                    (princ-to-string |$saturnFileNumber|)
                                     ".tex"))
                   (|obey| (STRCONC                                     "doswrite -a saturn.tex "
                                    |fn| ".tex"))
@@ -16427,7 +16427,7 @@ $dbKindAlist :=
 ;writeSaturnPrefix() ==
 ;  $saturnContextMenuLines =>
 ;    index :=
-;      STRINGIMAGE ($saturnContextMenuIndex := $saturnContextMenuIndex + 1)
+;      princ-to-string ($saturnContextMenuIndex := $saturnContextMenuIndex + 1)
 ;    writeSaturnLines
 ;      ['"\newmenu{BCM", index,
 ;          '"}{",:nreverse $saturnContextMenuLines,
@@ -16441,7 +16441,7 @@ $dbKindAlist :=
              (|$saturnContextMenuLines|
                  (EXIT (PROGN
                          (setq |index|
-                                  (STRINGIMAGE
+                                  (princ-to-string
                                       (setq
                                        |$saturnContextMenuIndex|
                                        (+ |$saturnContextMenuIndex|
@@ -16897,7 +16897,7 @@ $dbKindAlist :=
 ;    itemType := 'text
 ;    items :=
 ;      STRINGP u => u
-;      ATOM u => STRINGIMAGE u
+;      ATOM u => princ-to-string u
 ;      STRINGP first u => u
 ;      u is ['text, :s] => s
 ;      itemType := first u
@@ -16933,7 +16933,7 @@ $dbKindAlist :=
                           (setq |items|
                                    (COND
                                      ((STRINGP |u|) |u|)
-                                     ((ATOM |u|) (STRINGIMAGE |u|))
+                                     ((ATOM |u|) (princ-to-string |u|))
                                      ((STRINGP (CAR |u|)) |u|)
                                      ((AND (CONSP |u|)
                                        (EQ (QCAR |u|) '|text|)
@@ -17185,7 +17185,7 @@ $dbKindAlist :=
 
 ;--------------------> NEW DEFINITION (override in ht-util.boot.pamphlet)
 ;htpAddInputAreaProp(htPage, label, prop) ==
-;------------> Add STRINGIMAGE
+;------------> Add princ-to-string
 ;  SETELT(htPage, 5, [[label, nil, nil, nil, :prop], :ELT(htPage, 5)])
 
 (defun |htpAddInputAreaProp| (|htPage| |label| |prop|)
@@ -17195,10 +17195,10 @@ $dbKindAlist :=
 
 ;--------------------> NEW DEFINITION (override in ht-util.boot.pamphlet)
 ;htpSetLabelInputString(htPage, label, val) ==
-;------------> Add STRINGIMAGE
+;------------> Add princ-to-string
 ;-- value user typed as input string on page
 ;  props := LASSOC(label, htpInputAreaAlist htPage)
-;  props => SETELT(props, 0, STRINGIMAGE val)
+;  props => SETELT(props, 0, princ-to-string val)
 ;  nil
 
 (defun |htpSetLabelInputString| (|htPage| |label| |val|)
@@ -17208,7 +17208,7 @@ $dbKindAlist :=
         (setq |props|
                  (LASSOC |label| (|htpInputAreaAlist| |htPage|)))
         (COND
-          (|props| (SETELT |props| 0 (STRINGIMAGE |val|)))
+          (|props| (SETELT |props| 0 (princ-to-string |val|)))
           ('T NIL))))))
 
 ;--------------------> NEW DEFINITION (override in ht-util.boot.pamphlet)
@@ -18745,7 +18745,7 @@ $dbKindAlist :=
 
 ;addParameterTemplates(page, conform) ==
 ;---------------> from kPage <-----------------------
-;  parlist := [STRINGIMAGE par for par in rest conform]
+;  parlist := [princ-to-string par for par in rest conform]
 ;  manuelsCode? := "MAX"/[#s for s in parlist] > 10
 ;  w := (manuelsCode? => 55; 23)
 ;  htSaySaturn '"\colorbuttonbox{lightgray}{"
@@ -18768,7 +18768,7 @@ $dbKindAlist :=
 ;      $conArgstrings is [a,:r] => ($conArgstrings := r; a)
 ;      '""
 ;    htMakePageStandard [['text,'"{\em ",par,'"} = "],
-;        ['bcStrings,[w - #STRINGIMAGE par,argstring,parname,'EM]]]
+;        ['bcStrings,[w - #princ-to-string par,argstring,parname,'EM]]]
 ;    if $saturn then
 ;      setUpDefault(parname, ['string, '"", 'EM, nil])
 ;    htSaySaturn '"{\em "
@@ -18801,7 +18801,7 @@ $dbKindAlist :=
                                      NIL))
                                (NREVERSE0 G179168))
                             (SEQ (EXIT (SETQ G179168
-                                        (CONS (STRINGIMAGE |par|)
+                                        (CONS (princ-to-string |par|)
                                          G179168))))))))
              (setq |manuelsCode?|
                       (> (PROG (G179179)
@@ -18874,7 +18874,7 @@ $dbKindAlist :=
                                         (CONS
                                          (CONS
                                           (SPADDIFFERENCE |w|
-                                           (|#| (STRINGIMAGE |par|)))
+                                           (|#| (princ-to-string |par|)))
                                           (CONS |argstring|
                                            (CONS |parname|
                                             (CONS 'EM NIL))))
@@ -18913,7 +18913,7 @@ $dbKindAlist :=
 ;    if pred = true
 ;      then htMakePage [['bcLinks,[x,'"",'kArgPage,x]]]
 ;      else htSay('"{\em ",x,'"}")
-;    htSayStandard( '"\tab{",STRINGIMAGE( # PNAME x),'"}, ")
+;    htSayStandard( '"\tab{",princ-to-string( # PNAME x),'"}, ")
 ;    htSaySaturnAmpersand()
 ;    htSay
 ;      pred => '"a domain of category "
@@ -18986,7 +18986,7 @@ $dbKindAlist :=
                                (|htSay| "{\\em " |x|
                                         "}")))
                             (|htSayStandard| "\\tab{"
-                                (STRINGIMAGE (|#| (PNAME |x|)))
+                                (princ-to-string (|#| (PNAME |x|)))
                                 "}, ")
                             (|htSaySaturnAmpersand|)
                             (|htSay| (COND
@@ -19803,7 +19803,7 @@ $dbKindAlist :=
 ;  htSayStandard '"\tab{2}"
 ;  op   := IFCAR opform
 ;  args := IFCDR opform
-;  ops := escapeSpecialChars STRINGIMAGE op
+;  ops := escapeSpecialChars princ-to-string op
 ;  n := #sig
 ;  do
 ;    n = 2 and LASSOC('Nud,PROPLIST op) => htSay(ops,'" {\em ",quickForm2HtString KAR args,'"}")
@@ -19822,7 +19822,7 @@ $dbKindAlist :=
 ;  constring := form2HtString conform
 ;  conname   := first conform
 ;  $conkind   : local := htpProperty(htPage,'kind) -- a string e.g. "category"
-;                          or STRINGIMAGE GETDATABASE(conname,'CONSTRUCTORKIND)
+;                          or princ-to-string GETDATABASE(conname,'CONSTRUCTORKIND)
 ;  $conlength : local := #constring
 ;  $conform   : local := conform
 ;  $conargs   : local := rest conform
@@ -20050,7 +20050,7 @@ $dbKindAlist :=
              (|htSayStandard| "\\tab{2}")
              (setq |op| (IFCAR |opform|))
              (setq |args| (IFCDR |opform|))
-             (setq |ops| (|escapeSpecialChars| (STRINGIMAGE |op|)))
+             (setq |ops| (|escapeSpecialChars| (princ-to-string |op|)))
              (setq |n| (|#| |sig|))
              (|do| (COND
                      ((AND (EQL |n| 2) (LASSOC '|Nud| (PROPLIST |op|)))
@@ -20102,7 +20102,7 @@ $dbKindAlist :=
              (setq |conname| (CAR |conform|))
              (setq |$conkind|
                       (OR (|htpProperty| |htPage| '|kind|)
-                          (STRINGIMAGE
+                          (princ-to-string
                               (GETDATABASE |conname| 'CONSTRUCTORKIND))))
              (setq |$conlength| (|#| |constring|))
              (setq |$conform| |conform|)
@@ -20441,8 +20441,8 @@ $dbKindAlist :=
 ;  if flag then m := m + 2
 ;  if $standard then htSayStandard
 ;    n > 0 =>
-;      flag => ['"\indent{",STRINGIMAGE m,'"}\tab{-2}"]
-;      ['"\indent{",STRINGIMAGE m,'"}\tab{0}"]
+;      flag => ['"\indent{",princ-to-string m,'"}\tab{-2}"]
+;      ['"\indent{",princ-to-string m,'"}\tab{0}"]
 ;    n < 0 => ['"\indent{0}\newline "]
 
 (defun |htSayIndentRel| (&REST G179673 &AUX |options| |n|)
@@ -20461,12 +20461,12 @@ $dbKindAlist :=
                     ((> |n| 0)
                      (COND
                        (|flag| (CONS "\\indent{"
-                                     (CONS (STRINGIMAGE |m|)
+                                     (CONS (princ-to-string |m|)
                                       (CONS "}\\tab{-2}"
                                        NIL))))
                        ('T
                         (CONS "\\indent{"
-                              (CONS (STRINGIMAGE |m|)
+                              (CONS (princ-to-string |m|)
                                     (CONS "}\\tab{0}" NIL))))))
                     ((MINUSP |n|)
                      (CONS "\\indent{0}\\newline " NIL)))))
@@ -20664,7 +20664,7 @@ $dbKindAlist :=
 ;htBlank(:options) ==
 ;  options is [n] =>
 ;    htSaySaturn("STRCONC"/['"\phantom{*}" for i in 1..n])
-;    htSayStandard STRCONC('"\space{",STRINGIMAGE n,'"}")
+;    htSayStandard STRCONC('"\space{",princ-to-string n,'"}")
 ;  htSaySaturn '"\phantom{*}"
 ;  htSayStandard '"\space{1}"
 
@@ -20685,7 +20685,7 @@ $dbKindAlist :=
                                     (STRCONC G179737
                                      "\\phantom{*}"))))))))
               (|htSayStandard|
-                  (STRCONC "\\space{" (STRINGIMAGE |n|)
+                  (STRCONC "\\space{" (princ-to-string |n|)
                            "}")))
              ('T (|htSaySaturn| "\\phantom{*}")
               (|htSayStandard| "\\space{1}")))))))
@@ -20789,10 +20789,10 @@ $dbKindAlist :=
     (|htSayStandard| |code|)
     (|htSayStandard| "}")))
 
-;mkButtonBox n == STRCONC('"\buttonbox{", STRINGIMAGE n, '"}")
+;mkButtonBox n == STRCONC('"\buttonbox{", princ-to-string n, '"}")
 
 (defun |mkButtonBox| (|n|)
-  (STRCONC "\\buttonbox{" (STRINGIMAGE |n|)
+  (STRCONC "\\buttonbox{" (princ-to-string |n|)
            "}"))
 
 ;--=======================================================================
@@ -20842,7 +20842,7 @@ $dbKindAlist :=
 ;--    if key ^= line.0 then
 ;--      if outstream then SHUT outstream
 ;--      key := line . 0
-;--      outstream := MAKE_-OUTSTREAM STRCONC(STRINGIMAGE key,'"libdb.text")
+;--      outstream := MAKE_-OUTSTREAM STRCONC(princ-to-string key,'"libdb.text")
 ;--    outP := FILE_-POSITION outstream
 ;--    [prefix,:comments] := dbSplit(line,6,1)
 ;--    PRINC(prefix,outstream)
@@ -20868,8 +20868,8 @@ $dbKindAlist :=
 ;--  SHUT comstream
 ;--OBEY '"rm libdb.text"
 ;dbSort(x,y) ==
-;  sin := STRINGIMAGE x
-;  sout:= STRINGIMAGE y
+;  sin := princ-to-string x
+;  sout:= princ-to-string y
 ;  OBEY STRCONC('"sort -f _"",sin,'".text_" > _"", sout, '".text_"")
 ;  OBEY STRCONC('"rm ", sin, '".text")
 
@@ -20877,8 +20877,8 @@ $dbKindAlist :=
   (PROG (|sin| |sout|)
     (RETURN
       (PROGN
-        (setq |sin| (STRINGIMAGE |x|))
-        (setq |sout| (STRINGIMAGE |y|))
+        (setq |sin| (princ-to-string |x|))
+        (setq |sout| (princ-to-string |y|))
         (OBEY (STRCONC "sort -f \"" |sin|
                        ".text\" > \"" |sout|
                        ".text\""))
@@ -21247,14 +21247,14 @@ $dbKindAlist :=
 ;  hd form ==
 ;    atom form =>
 ;      not MEMQ(form,$Primitives) and null constructor? form =>
-;        s := STRINGIMAGE form
+;        s := princ-to-string form
 ;        (s.0 = char '_#) =>
 ;           (n := POSN1(form, $FormalFunctionParameterList)) =>
 ;              htSay form2HtString ($FormalMapVariableList . n)
 ;           htSay '"\"
 ;           htSay form
-;        htSay escapeSpecialChars STRINGIMAGE form
-;      s := STRINGIMAGE form
+;        htSay escapeSpecialChars princ-to-string form
+;      s := princ-to-string form
 ;      $italicHead? => htSayItalics s
 ;      $bcMultipleNames =>
 ;        satTypeDownLink(s, ['"(|conPageChoose| '|",s,'"|)"])
@@ -21301,7 +21301,7 @@ $dbKindAlist :=
 ;  say x ==
 ;    if $italics? then bcHt '"{\em "
 ;    if x = 'etc then x := '"..."
-;    bcHt escapeSpecialIds STRINGIMAGE x
+;    bcHt escapeSpecialIds princ-to-string x
 ;    if $italics? then bcHt '"}"
 
 (defun |bcConform1,say| (|x|)
@@ -21309,7 +21309,7 @@ $dbKindAlist :=
   (SEQ (IF |$italics?| (|bcHt| "{\\em ") NIL)
        (IF (BOOT-EQUAL |x| '|etc|) (setq |x| "...")
            NIL)
-       (|bcHt| (|escapeSpecialIds| (STRINGIMAGE |x|)))
+       (|bcHt| (|escapeSpecialIds| (princ-to-string |x|)))
        (EXIT (IF |$italics?| (|bcHt| "}") NIL))))
 
 (defun |bcConform1,tl| (|u|)
@@ -21360,7 +21360,7 @@ $dbKindAlist :=
                (EXIT (SEQ (IF (AND (NULL (member |form| |$Primitives|))
                                    (NULL (|constructor?| |form|)))
                               (EXIT (SEQ
-                                     (setq |s| (STRINGIMAGE |form|))
+                                     (setq |s| (princ-to-string |form|))
                                      (IF
                                       (BOOT-EQUAL (ELT |s| 0)
                                        (|char| '|#|))
@@ -21381,8 +21381,8 @@ $dbKindAlist :=
                                      (EXIT
                                       (|htSay|
                                        (|escapeSpecialChars|
-                                        (STRINGIMAGE |form|)))))))
-                          (setq |s| (STRINGIMAGE |form|))
+                                        (princ-to-string |form|)))))))
+                          (setq |s| (princ-to-string |form|))
                           (IF |$italicHead?|
                               (EXIT (|htSayItalics| |s|)))
                           (IF |$bcMultipleNames|
diff --git a/src/interp/c-doc.lisp.pamphlet b/src/interp/c-doc.lisp.pamphlet
index 29fe605..23c89b5 100644
--- a/src/interp/c-doc.lisp.pamphlet
+++ b/src/interp/c-doc.lisp.pamphlet
@@ -607,7 +607,7 @@
 ;        u2 := [:u2, s]
 ;    verbatim => u2 := [:u2, SUBSTRING(x, margin, nil)]
 ;    margin = k => u2 := [:u2, s]
-;    u2 := [:u2, STRCONC('"\indented{",STRINGIMAGE(k-margin),'"}{",checkAddSpaceSegments(s,0),'"}")]
+;    u2 := [:u2, STRCONC('"\indented{",princ-to-string(k-margin),'"}{",checkAddSpaceSegments(s,0),'"}")]
 ;  u2
 
 (DEFUN |checkIndentedLines| (|u| |margin|)
@@ -663,7 +663,7 @@
                                             (CONS
                                              (STRCONC
                                                                                              "\\indented{"
-                                              (STRINGIMAGE
+                                              (princ-to-string
                                                (SPADDIFFERENCE |k|
                                                 |margin|))
                                               "}{"
@@ -819,7 +819,7 @@
 ;  k := firstNonBlankPosition x
 ;  k = -1 => '"\blankline "
 ;  margin = k => x
-;  STRCONC('"\indented{",STRINGIMAGE(k-margin),'"}{",checkAddSpaceSegments(SUBSTRING(x,k,nil),0),'"}")
+;  STRCONC('"\indented{",princ-to-string(k-margin),'"}{",checkAddSpaceSegments(SUBSTRING(x,k,nil),0),'"}")
 
 (DEFUN |checkAddIndented| (|x| |margin|)
   (PROG (|k|)
@@ -832,7 +832,7 @@
           ((BOOT-EQUAL |margin| |k|) |x|)
           ('T
            (STRCONC "\\indented{"
-                    (STRINGIMAGE (SPADDIFFERENCE |k| |margin|))
+                    (princ-to-string (SPADDIFFERENCE |k| |margin|))
                     "}{"
                     (|checkAddSpaceSegments| (SUBSTRING |x| |k| NIL) 0)
                     "}")))))))
@@ -845,7 +845,7 @@
 ;  while (j := j + 1) < m and u.j = (char '_  ) repeat 'continue
 ;  n := j - i   --number of blanks
 ;  n > 1 => STRCONC(SUBSTRING(u,0,i),'"\space{",
-;             STRINGIMAGE n,'"}",checkAddSpaceSegments(SUBSTRING(u,i + n,nil),0))
+;             princ-to-string n,'"}",checkAddSpaceSegments(SUBSTRING(u,i + n,nil),0))
 ;  checkAddSpaceSegments(u,j)
 
 (DEFUN |checkAddSpaceSegments| (|u| |k|)
@@ -868,7 +868,7 @@
                 (COND
                   ((> |n| 1)
                    (STRCONC (SUBSTRING |u| 0 |i|)
-                            "\\space{" (STRINGIMAGE |n|)
+                            "\\space{" (princ-to-string |n|)
                             "}"
                             (|checkAddSpaceSegments|
                                 (SUBSTRING |u| (+ |i| |n|) NIL) 0)))
@@ -1794,9 +1794,9 @@
 ;docreport(nam) ==
 ;--creates a report for person "nam" using file "whofiles"
 ;  OBEY '"rm docreport.input"
-;  OBEY STRCONC('"echo _")bo setOutStream('",STRINGIMAGE nam,'")_" > temp.input")
+;  OBEY STRCONC('"echo _")bo setOutStream('",princ-to-string nam,'")_" > temp.input")
 ;  OBEY '"cat docreport.header temp.input > docreport.input"
-;  OBEY STRCONC('"awk '/",STRINGIMAGE nam,'"/ {printf(_")co %s.spad\n_",$2)}' whofiles > temp.input")
+;  OBEY STRCONC('"awk '/",princ-to-string nam,'"/ {printf(_")co %s.spad\n_",$2)}' whofiles > temp.input")
 ;  OBEY '"cat docreport.input temp.input > temp1.input"
 ;  OBEY '"cat temp1.input docreport.trailer > docreport.input"
 ;  OBEY '"rm temp.input"
@@ -1808,9 +1808,9 @@
   (PROGN
     (OBEY "rm docreport.input")
     (OBEY (STRCONC "echo \")bo setOutStream('"
-                   (STRINGIMAGE |nam|) ")\" > temp.input"))
+                   (princ-to-string |nam|) ")\" > temp.input"))
     (OBEY               "cat docreport.header temp.input > docreport.input")
-    (OBEY (STRCONC "awk '/" (STRINGIMAGE |nam|)
+    (OBEY (STRCONC "awk '/" (princ-to-string |nam|)
                                           "/ {printf(\")co %s.spad\\n\",$2)}' whofiles > temp.input"))
     (OBEY "cat docreport.input temp.input > temp1.input")
     (OBEY               "cat temp1.input docreport.trailer > docreport.input")
@@ -1820,7 +1820,7 @@
     (/RQ)))
 
 ;setOutStream nam ==
-;  filename := STRCONC('"/tmp/",STRINGIMAGE nam,".docreport")
+;  filename := STRCONC('"/tmp/",princ-to-string nam,".docreport")
 ;  $outStream := MAKE_-OUTSTREAM filename
 
 (DEFUN |setOutStream| (|nam|)
@@ -1829,7 +1829,7 @@
     (RETURN
       (PROGN
         (setq |filename|
-                 (STRCONC "/tmp/" (STRINGIMAGE |nam|)
+                 (STRCONC "/tmp/" (princ-to-string |nam|)
                           (INTERN ".docreport" "BOOT")))
         (setq |$outStream| (MAKE-OUTSTREAM |filename|))))))
 
diff --git a/src/interp/c-util.lisp.pamphlet b/src/interp/c-util.lisp.pamphlet
index 0e7396f..fc8c658 100644
--- a/src/interp/c-util.lisp.pamphlet
+++ b/src/interp/c-util.lisp.pamphlet
@@ -258,8 +258,8 @@
 ;          highlight(b,a) ==
 ;            atom b =>
 ;              substitute(var,b,a) where
-;                var:= INTERN STRCONC(STRINGIMAGE $bright,_
-;                                     STRINGIMAGE b,STRINGIMAGE $dim)
+;                var:= INTERN STRCONC(princ-to-string $bright,_
+;                                     princ-to-string b,princ-to-string $dim)
 ;            highlight1(b,a) where
 ;              highlight1(b,a) ==
 ;                atom a => a
@@ -291,9 +291,9 @@
                (EXIT (PROGN
                        (setq |var|
                                 (INTERN (STRCONC
-                                         (STRINGIMAGE |$bright|)
-                                         (STRINGIMAGE |b|)
-                                         (STRINGIMAGE |$dim|))))
+                                         (princ-to-string |$bright|)
+                                         (princ-to-string |b|)
+                                         (princ-to-string |$dim|))))
                        (MSUBST |var| |b| |a|))))
            (EXIT (|mkErrorExpr,highlight1| |b| |a|))))))
 
@@ -1684,7 +1684,7 @@
 ;
 ;genDomainVar() ==
 ;  $Index:= $Index+1
-;  INTERNL STRCONC("#D",STRINGIMAGE $Index)
+;  INTERNL STRCONC("#D",princ-to-string $Index)
 
 ;;;     ***       |genDomainVar| REDEFINED
 
@@ -1692,30 +1692,30 @@
   (declare (special |$Index|))
   (PROGN
     (setq |$Index| (+ |$Index| 1))
-    (INTERNL (STRCONC '|#D| (STRINGIMAGE |$Index|)))))
+    (INTERNL (STRCONC '|#D| (princ-to-string |$Index|)))))
 
 ;
 ;genVariable() ==
-;  INTERNL STRCONC("#G",STRINGIMAGE ($genSDVar:= $genSDVar+1))
+;  INTERNL STRCONC("#G",princ-to-string ($genSDVar:= $genSDVar+1))
 
 ;;;     ***       |genVariable| REDEFINED
 
 (DEFUN |genVariable| ()
   (declare (special |$genSDVar|))
   (INTERNL (STRCONC '|#G|
-                    (STRINGIMAGE
+                    (princ-to-string
                         (setq |$genSDVar| (+ |$genSDVar| 1))))))
 
 ;
 ;genSomeVariable() ==
-;  INTERNL STRCONC("##",STRINGIMAGE ($genSDVar:= $genSDVar+1))
+;  INTERNL STRCONC("##",princ-to-string ($genSDVar:= $genSDVar+1))
 
 ;;;     ***       |genSomeVariable| REDEFINED
 
 (DEFUN |genSomeVariable| ()
   (declare (special |$genSDVar|))
   (INTERNL (STRCONC '|##|
-                    (STRINGIMAGE
+                    (princ-to-string
                         (setq |$genSDVar| (+ |$genSDVar| 1))))))
 
 ;
diff --git a/src/interp/clam.lisp.pamphlet b/src/interp/clam.lisp.pamphlet
index bc9e65b..df7c188 100644
--- a/src/interp/clam.lisp.pamphlet
+++ b/src/interp/clam.lisp.pamphlet
@@ -2366,7 +2366,7 @@
 ;removeAllClams() ==
 ;  for [fun,:.] in $clamList repeat
 ;    sayBrightly ['"Un-clamming function",'%b,fun,'%d]
-;    SET(fun,eval INTERN STRCONC(STRINGIMAGE fun,'";"))
+;    SET(fun,eval INTERN STRCONC(princ-to-string fun,'";"))
 
 ;;;     ***       |removeAllClams| REDEFINED
 
@@ -2387,7 +2387,7 @@
                                      (CONS |fun| nil)))
                           (SET |fun|
                                (|eval| (INTERN
-                                        (STRCONC (STRINGIMAGE |fun|)
+                                        (STRCONC (princ-to-string |fun|)
                                          ";"))))))))))))
 
 
diff --git a/src/interp/format.lisp.pamphlet b/src/interp/format.lisp.pamphlet
index 367a3e3..77957e7 100644
--- a/src/interp/format.lisp.pamphlet
+++ b/src/interp/format.lisp.pamphlet
@@ -1183,15 +1183,15 @@ code which fixes bug 7217 bad title generated in Axiom 3D output.
  
 ; formString u ==
 ;   x := form2String u
-;   atom x => STRINGIMAGE x
-;   "STRCONC"/[STRINGIMAGE y for y in x]
+;   atom x => princ-to-string x
+;   "STRCONC"/[princ-to-string y for y in x]
  
 (DEFUN |formString| (|u|)
   (PROG (|x|)
     (RETURN
      (PROGN
       (SETQ |x| (|form2String| |u|))
-      (COND ((ATOM |x|) (STRINGIMAGE |x|))
+      (COND ((ATOM |x|) (princ-to-string |x|))
             (#1='T
              ((LAMBDA (|bfVar#27| |bfVar#26| |y|)
                 (LOOP
@@ -1200,7 +1200,7 @@ code which fixes bug 7217 bad title generated in Axiom 3D output.
                        (PROGN (SETQ |y| (CAR |bfVar#26|)) NIL))
                    (RETURN |bfVar#27|))
                   (#1#
-                   (SETQ |bfVar#27| (STRCONC |bfVar#27| (STRINGIMAGE |y|)))))
+                   (SETQ |bfVar#27| (STRCONC |bfVar#27| (princ-to-string |y|)))))
                  (SETQ |bfVar#26| (CDR |bfVar#26|))))
               "" |x| NIL)))))))
  
@@ -1301,7 +1301,7 @@ code which fixes bug 7217 bad title generated in Axiom 3D output.
 ;       null rest argl => [ '":", form2String1 first argl ]
 ;       formDecl2String(argl.0,argl.1)
 ;   op = "#" and PAIRP argl and LISTP CAR argl =>
-;     STRINGIMAGE SIZE CAR argl
+;     princ-to-string SIZE CAR argl
 ;   op = 'Join => formJoin2String argl
 ;   op = "ATTRIBUTE" => form2String1 first argl
 ;   op='Zero => 0
@@ -1434,7 +1434,7 @@ code which fixes bug 7217 bad title generated in Axiom 3D output.
                 ((NULL (CDR |argl|)) (LIST ":" (|form2String1| (CAR |argl|))))
                 (#1# (|formDecl2String| (ELT |argl| 0) (ELT |argl| 1)))))
          ((AND (EQ |op| '|#|) (CONSP |argl|) (LISTP (CAR |argl|)))
-          (STRINGIMAGE (SIZE (CAR |argl|))))
+          (princ-to-string (SIZE (CAR |argl|))))
          ((EQ |op| '|Join|) (|formJoin2String| |argl|))
          ((EQ |op| 'ATTRIBUTE) (|form2String1| (CAR |argl|)))
          ((EQ |op| '|Zero|) 0) ((EQ |op| '|One|) 1)
@@ -2409,7 +2409,7 @@ code which fixes bug 7217 bad title generated in Axiom 3D output.
 ;   scriptArgs:=
 ;     scriptArgs => concat(specialChar 'lbrk,scriptArgs, specialChar 'rbrk)
 ;     nil
-;   l := [(STRINGP f => f; STRINGIMAGE f) for f in
+;   l := [(STRINGP f => f; princ-to-string f) for f in
 ;        concat(cleanOp,scriptArgs,fnArgs)]
 ;   "STRCONC"/l
  
@@ -2480,7 +2480,7 @@ code which fixes bug 7217 bad title generated in Axiom 3D output.
                    (#1#
                     (SETQ |bfVar#74|
                             (CONS
-                             (COND ((STRINGP |f|) |f|) (#1# (STRINGIMAGE |f|)))
+                             (COND ((STRINGP |f|) |f|) (#1# (princ-to-string |f|)))
                              |bfVar#74|))))
                   (SETQ |bfVar#73| (CDR |bfVar#73|))))
                NIL (|concat| |cleanOp| |scriptArgs| |fnArgs|) NIL))
@@ -3153,7 +3153,7 @@ code which fixes bug 7217 bad title generated in Axiom 3D output.
       ((IDENTP |x|) (FORMAT NIL "|~a|" |x|)) (#1# (LIST "  " |x|))))))
  
 ; form2FenceQuote x ==
-;   NUMBERP x => [STRINGIMAGE x]
+;   NUMBERP x => [princ-to-string x]
 ;   SYMBOLP x => [FORMAT(NIL, '"|~a|", x)]
 ;   atom    x => '"??"
 ;   ['"(",:form2FenceQuote first x,:form2FenceQuoteTail rest x]
@@ -3161,7 +3161,7 @@ code which fixes bug 7217 bad title generated in Axiom 3D output.
 (DEFUN |form2FenceQuote| (|x|)
   (PROG ()
     (RETURN
-     (COND ((NUMBERP |x|) (LIST (STRINGIMAGE |x|)))
+     (COND ((NUMBERP |x|) (LIST (princ-to-string |x|)))
            ((SYMBOLP |x|) (LIST (FORMAT NIL "|~a|" |x|))) ((ATOM |x|) "??")
            ('T
             (CONS "("
diff --git a/src/interp/fortcall.lisp.pamphlet b/src/interp/fortcall.lisp.pamphlet
index eb327f7..a7acc14 100644
--- a/src/interp/fortcall.lisp.pamphlet
+++ b/src/interp/fortcall.lisp.pamphlet
@@ -147,9 +147,9 @@
 ;  arrayArgs := [u for u in args | not member(u,scalarArgs)]
 ;  orderedArgs := [:scalarArgs,:arrayArgs]
 ;  file := if $fortranDirectory then
-;    STRCONC($fortranDirectory,"/",STRINGIMAGE name)
+;    STRCONC($fortranDirectory,"/",princ-to-string name)
 ;  else
-;    STRINGIMAGE name
+;    princ-to-string name
 ;  makeFortranFun(name,orderedArgs,args,dummies,decls,results,file,
 ;                 $fortranDirectory,returnType,asps)
 ;  makeSpadFun(name,userArgs,orderedArgs,dummies,decls,results,returnType,asps,
@@ -214,8 +214,8 @@
                       (COND
                         (|$fortranDirectory|
                             (STRCONC |$fortranDirectory| '/
-                                     (STRINGIMAGE |name|)))
-                        ('T (STRINGIMAGE |name|))))
+                                     (princ-to-string |name|)))
+                        ('T (princ-to-string |name|))))
              (|makeFortranFun| |name| |orderedArgs| |args| |dummies|
                  |decls| |results| |file| |$fortranDirectory|
                  |returnType| |asps|)
@@ -939,15 +939,15 @@
 ;    returnName := INTERN STRCONC(name,"Result")
 ;    decls := [[returnType,returnName], :decls]
 ;    results := [returnName, :results]
-;  argNames := [INTERN STRCONC(STRINGIMAGE(u),'"__arg") for u in userArgs]
+;  argNames := [INTERN STRCONC(princ-to-string(u),'"__arg") for u in userArgs]
 ;  aType := [axiomType(a,decls,asps,aspInfo) for a in userArgs]
 ;  aspTypes := [SECOND NTH(POSITION(u,userArgs),aType) for u in asps]
 ;  nilLst := MAKE_-LIST(#args+1)
 ;  decPar := [["$elt","Lisp","construct"],:makeLispList decls]
-;  fargNames := [INTERN STRCONC(STRINGIMAGE(u),'"__arg") for u in args |
+;  fargNames := [INTERN STRCONC(princ-to-string(u),'"__arg") for u in args |
 ;                 not (member(u,dummies) or MEMQ(u,asps)) ]
 ;  for u in asps repeat
-;    fargNames := delete(INTERN STRCONC(STRINGIMAGE(u),'"__arg"),fargNames)
+;    fargNames := delete(INTERN STRCONC(princ-to-string(u),'"__arg"),fargNames)
 ;  resPar := ["construct",["@",["construct",:fargNames],_
 ;             ["List",["Any"]]]]
 ;  call := [["$elt","Lisp","invokeFortran"],STRCONC(file,".spadexe"),_
@@ -1008,7 +1008,7 @@
                             (SEQ (EXIT (SETQ G166484
                                         (CONS
                                          (INTERN
-                                          (STRCONC (STRINGIMAGE |u|)
+                                          (STRCONC (princ-to-string |u|)
                                            "_arg"))
                                          G166484))))))))
              (setq |aType|
@@ -1069,7 +1069,7 @@
                                           (SETQ G166530
                                            (CONS
                                             (INTERN
-                                             (STRCONC (STRINGIMAGE |u|)
+                                             (STRCONC (princ-to-string |u|)
                                               "_arg"))
                                             G166530))))))))))
              (DO ((G166545 |asps| (CDR G166545)) (|u| NIL))
@@ -1079,7 +1079,7 @@
                (SEQ (EXIT (setq |fargNames|
                                    (|delete|
                                     (INTERN
-                                     (STRCONC (STRINGIMAGE |u|)
+                                     (STRCONC (princ-to-string |u|)
                                       "_arg"))
                                     |fargNames|)))))
              (setq |resPar|
@@ -1299,8 +1299,8 @@
 
 ;makeAspGenerators1(asp,type,aspId) ==
 ;  [[["$elt","FOP","pushFortranOutputStack"] ,_
-;    ["filename",'"",STRCONC(STRINGIMAGE asp,aspId),'"f"]] , _
-;   makeOutputAsFortran INTERN STRCONC(STRINGIMAGE(asp),'"__arg"), _
+;    ["filename",'"",STRCONC(princ-to-string asp,aspId),'"f"]] , _
+;   makeOutputAsFortran INTERN STRCONC(princ-to-string(asp),'"__arg"), _
 ;   [["$elt","FOP","popFortranOutputStack"]]   _
 ;  ]
 
@@ -1310,12 +1310,12 @@
                     (CONS 'FOP (CONS '|pushFortranOutputStack| NIL)))
               (CONS (CONS '|filename|
                           (CONS ""
-                                (CONS (STRCONC (STRINGIMAGE |asp|)
+                                (CONS (STRCONC (princ-to-string |asp|)
                                        |aspId|)
                                       (CONS "f" NIL))))
                     NIL))
         (CONS (|makeOutputAsFortran|
-                  (INTERN (STRCONC (STRINGIMAGE |asp|)
+                  (INTERN (STRCONC (princ-to-string |asp|)
                                    "_arg")))
               (CONS (CONS (CONS '|$elt|
                                 (CONS 'FOP
@@ -1340,7 +1340,7 @@
 
 ;makeCompilation(asps,file,aspId) ==
 ;  [["$elt","Lisp","compileAndLink"],_
-;   ["construct",:[STRCONC(STRINGIMAGE a,aspId,'".f") for a in asps]], _
+;   ["construct",:[STRCONC(princ-to-string a,aspId,'".f") for a in asps]], _
 ;   $fortranCompilerName,_
 ;   STRCONC(file,'".o"),_
 ;   STRCONC(file,'".spadexe"),_
@@ -1368,7 +1368,7 @@
                                     (EXIT
                                      (SETQ G166652
                                       (CONS
-                                       (STRCONC (STRINGIMAGE |a|)
+                                       (STRCONC (princ-to-string |a|)
                                         |aspId| ".f")
                                        G166652))))))))
                        (CONS |$fortranCompilerName|
@@ -2586,7 +2586,7 @@
 ;     '"off"
 ;  writeData(tmpFiled,data)
 ;  toSend:=STRCONC($nagHost," ",nfile," ",tmpFiler," ",tmpFiled," ",_
-;      STRINGIMAGE($fortPersistence)," ", nagMessagesString," ",addSpaces objFiles)
+;      princ-to-string($fortPersistence)," ", nagMessagesString," ",addSpaces objFiles)
 ;  sockSendString(8,toSend)
 ;  if sockGetInt(8)=1 then
 ;    results := readData(tmpFiler,results)
@@ -2609,7 +2609,7 @@
         (setq |toSend|
                  (STRCONC |$nagHost| '| | |nfile| '| | |tmpFiler| '| |
                           |tmpFiled| '| |
-                          (STRINGIMAGE |$fortPersistence|) '| |
+                          (princ-to-string |$fortPersistence|) '| |
                           |nagMessagesString| '| |
                           (|addSpaces| |objFiles|)))
         (|sockSendString| 8 |toSend|)
diff --git a/src/interp/functor.lisp.pamphlet b/src/interp/functor.lisp.pamphlet
index 536fc22..9cf13e5 100644
--- a/src/interp/functor.lisp.pamphlet
+++ b/src/interp/functor.lisp.pamphlet
@@ -102,7 +102,7 @@
 ;             --if we were passed a vector, go to the domain
 ;  Sublis:=
 ;    [:
-;      [[rest u,:INTERNL STRCONC('"View",STRINGIMAGE i)]
+;      [[rest u,:INTERNL STRCONC('"View",princ-to-string i)]
 ;        for u in D for i in 1..],:$Sublis]
 ;  for u in D for i in 1.. repeat
 ;    brief and i>1 => nil
@@ -170,7 +170,7 @@
                                          (CONS (CDR |u|)
                                           (INTERNL
                                            (STRCONC "View"
-                                            (STRINGIMAGE |i|))))
+                                            (princ-to-string |i|))))
                                          G166124)))))))
                                |$Sublis|))
               (DO ((G166147 D (CDR G166147)) (|u| NIL)
@@ -292,7 +292,7 @@
                                 ('T (PRETTYPRINT |uu|))))))))))))))
 
 ;DPname() ==
-;  name:= INTERNL STRCONC('"Where",STRINGIMAGE $WhereCounter)
+;  name:= INTERNL STRCONC('"Where",princ-to-string $WhereCounter)
 ;  $WhereCounter:= $WhereCounter+1
 ;  name
 
@@ -303,7 +303,7 @@
       (PROGN
         (setq |name|
                  (INTERNL (STRCONC "Where"
-                                   (STRINGIMAGE |$WhereCounter|))))
+                                   (princ-to-string |$WhereCounter|))))
         (setq |$WhereCounter| (+ |$WhereCounter| 1))
         |name|))))
 
diff --git a/src/interp/g-timer.lisp.pamphlet b/src/interp/g-timer.lisp.pamphlet
index 30f2efb..e3cb7f7 100644
--- a/src/interp/g-timer.lisp.pamphlet
+++ b/src/interp/g-timer.lisp.pamphlet
@@ -22,13 +22,13 @@
 ;  total := +/[GET(name,property) for [name,:.] in listofnames]
 ;  for [name,:.] in listofnames repeat
 ;    n := GET(name, property)
-;    strname := STRINGIMAGE name
-;    strval  := STRINGIMAGE n
+;    strname := princ-to-string name
+;    strval  := princ-to-string n
 ;    sayBrightly concat(bright strname,
 ;      fillerSpaces(70-#strname-#strval,'"."),bright strval)
 ;  sayBrightly bright fillerSpaces(72,'"-")
 ;  sayBrightly concat(bright '"Total",
-;    fillerSpaces(65-# STRINGIMAGE total,'"."),bright STRINGIMAGE total)
+;    fillerSpaces(65-# princ-to-string total,'"."),bright princ-to-string total)
 
 (DEFUN |printNamedStatsByProperty| (|listofnames| |property|)
   (PROG (|total| |name| |n| |strname| |strval|)
@@ -66,8 +66,8 @@
                   NIL)
                (SEQ (EXIT (PROGN
                             (setq |n| (GETL |name| |property|))
-                            (setq |strname| (STRINGIMAGE |name|))
-                            (setq |strval| (STRINGIMAGE |n|))
+                            (setq |strname| (princ-to-string |name|))
+                            (setq |strval| (princ-to-string |n|))
                             (|sayBrightly|
                                 (|concat| (|bright| |strname|)
                                     (|fillerSpaces|
@@ -83,9 +83,9 @@
                  (|concat| (|bright| "Total")
                      (|fillerSpaces|
                          (SPADDIFFERENCE 65
-                             (|#| (STRINGIMAGE |total|)))
+                             (|#| (princ-to-string |total|)))
                          ".")
-                     (|bright| (STRINGIMAGE |total|)))))))))
+                     (|bright| (princ-to-string |total|)))))))))
 
 ;makeLongStatStringByProperty _
 ; (listofnames, listofclasses, property, classproperty, units, flag) ==
@@ -227,10 +227,10 @@
 ;  INTP t =>
 ;      K := 1024
 ;      M := K*K
-;      t > 9*M => CONCAT(STRINGIMAGE((t + 512*K)/M), '"M")
-;      t > 9*K => CONCAT(STRINGIMAGE((t + 512)/K),   '"K")
-;      STRINGIMAGE t
-;  STRINGIMAGE t
+;      t > 9*M => CONCAT(princ-to-string((t + 512*K)/M), '"M")
+;      t > 9*K => CONCAT(princ-to-string((t + 512)/K),   '"K")
+;      princ-to-string t
+;  princ-to-string t
 
 (DEFUN |normalizeStatAndStringify| (|t|)
   (PROG (K M)
@@ -243,13 +243,13 @@
         ((integerp |t|) (setq K 1024) (setq M (TIMES K K))
          (COND
            ((> |t| (TIMES 9 M))
-            (CONCAT (STRINGIMAGE (QUOTIENT (+ |t| (TIMES 512 K)) M))
+            (CONCAT (princ-to-string (QUOTIENT (+ |t| (TIMES 512 K)) M))
                     "M"))
            ((> |t| (TIMES 9 K))
-            (CONCAT (STRINGIMAGE (QUOTIENT (+ |t| 512) K))
+            (CONCAT (princ-to-string (QUOTIENT (+ |t| 512) K))
                     "K"))
-           ('T (STRINGIMAGE |t|))))
-        ('T (STRINGIMAGE |t|))))))
+           ('T (princ-to-string |t|))))
+        ('T (princ-to-string |t|))))))
 
 ;significantStat t ==
 ;   RNUMP t => (t > 0.01)
diff --git a/src/interp/g-util.lisp.pamphlet b/src/interp/g-util.lisp.pamphlet
index e18570f..c468252 100644
--- a/src/interp/g-util.lisp.pamphlet
+++ b/src/interp/g-util.lisp.pamphlet
@@ -479,14 +479,14 @@
 
 ;update() ==
 ;  OBEY
-;    STRCONC('"SPADEDIT ",STRINGIMAGE _/VERSION,'" ",STRINGIMAGE _/WSNAME,'" A")
+;    STRCONC('"SPADEDIT ",princ-to-string _/VERSION,'" ",princ-to-string _/WSNAME,'" A")
 ;  _/UPDATE()
 
 (DEFUN |update| ()
   (declare (special /VERSION /WSNAME))
   (PROGN
-    (OBEY (STRCONC "SPADEDIT " (STRINGIMAGE /VERSION) " "
-                   (STRINGIMAGE /WSNAME) " A"))
+    (OBEY (STRCONC "SPADEDIT " (princ-to-string /VERSION) " "
+                   (princ-to-string /WSNAME) " A"))
     (/UPDATE)))
 
 ;listSort(pred,list,:optional) ==
diff --git a/src/interp/i-coerce.lisp.pamphlet b/src/interp/i-coerce.lisp.pamphlet
index e1e1539..a80a9c2 100644
--- a/src/interp/i-coerce.lisp.pamphlet
+++ b/src/interp/i-coerce.lisp.pamphlet
@@ -638,7 +638,7 @@ The special routines that  do the coercions typically  involve a "2"
 ;  (c := retractByFunction(object, t2)) => c
 ;  t1 is [D,:.] =>
 ;    fun := GET(D,'retract) or
-;           INTERN STRCONC('"retract",STRINGIMAGE D)
+;           INTERN STRCONC('"retract",princ-to-string D)
 ;    functionp fun =>
 ;      PUT(D,'retract,fun)
 ;      c := CATCH('coerceFailure,FUNCALL(fun,object,t2))
@@ -670,7 +670,7 @@ The special routines that  do the coercions typically  involve a "2"
             (setq |fun|
                      (OR (GETL D '|retract|)
                          (INTERN (STRCONC "retract"
-                                          (STRINGIMAGE D)))))
+                                          (princ-to-string D)))))
             (COND
               ((canFuncall? |fun|) (PUT D '|retract| |fun|)
                (setq |c|
@@ -3807,7 +3807,7 @@ Interpreter Coercion Query Functions
 ;  source = T => NIL      -- handle in other ways
 ;  source is [D,:.] =>
 ;    fun := GET(D,'coerceCommute) or
-;           INTERN STRCONC('"commute",STRINGIMAGE D)
+;           INTERN STRCONC('"commute",princ-to-string D)
 ;    functionp fun =>
 ;      PUT(D,'coerceCommute,fun)
 ;      u := objValUnwrap obj
@@ -3835,7 +3835,7 @@ Interpreter Coercion Query Functions
               (setq |fun|
                        (OR (GETL D '|coerceCommute|)
                            (INTERN (STRCONC "commute"
-                                    (STRINGIMAGE D)))))
+                                    (princ-to-string D)))))
               (COND
                 ((canFuncall? |fun|) (PUT D '|coerceCommute| |fun|)
                  (setq |u| (|objValUnwrap| |obj|))
diff --git a/src/interp/i-funsel.lisp.pamphlet b/src/interp/i-funsel.lisp.pamphlet
index 0b13a98..66485b5 100644
--- a/src/interp/i-funsel.lisp.pamphlet
+++ b/src/interp/i-funsel.lisp.pamphlet
@@ -3052,7 +3052,7 @@ the types A and B themselves are not sorted by preference.
 ;  if maxargs ^= -1 then
 ;    SL:= NIL
 ;    for i in 1..maxargs repeat
-;      impls := SUBSTQ(GENSYM(),INTERNL('"#",STRINGIMAGE i),impls)
+;      impls := SUBSTQ(GENSYM(),INTERNL('"#",princ-to-string i),impls)
 ;  impls and
 ;    SL:= constructSubst dc
 ;    for mm in impls repeat
@@ -3136,7 +3136,7 @@ the types A and B themselves are not sorted by preference.
                      (SEQ (EXIT (setq |impls|
                                          (SUBSTQ (GENSYM)
                                           (INTERNL  "#"
-                                           (STRINGIMAGE |i|))
+                                           (princ-to-string |i|))
                                           |impls|)))))))
                 (AND |impls|
                      (PROGN
@@ -3657,7 +3657,7 @@ the types A and B themselves are not sorted by preference.
 ;      atom a => nil
 ;      fa := QCAR a
 ;      fa in '(Record Union) => NIL
-;      conNames := insert(STRINGIMAGE fa, conNames)
+;      conNames := insert(princ-to-string fa, conNames)
 ;  if conNames
 ;    then [haves,havenots] := filterModemapsFromPackages(S,conNames,op)
 ;    else
@@ -3867,7 +3867,7 @@ the types A and B themselves are not sorted by preference.
                                            (t
                                             (setq |conNames|
                                              (|insert|
-                                              (STRINGIMAGE |fa|)
+                                              (princ-to-string |fa|)
                                               |conNames|))))))))))))
                      (COND
                        (|conNames|
@@ -5087,7 +5087,7 @@ the types A and B themselves are not sorted by preference.
 ;  -- mmS a list of modemap signatures
 ;  sayMSG '" "
 ;  for [sig,imp,.] in mmS for i in 1.. repeat
-;    istr := STRCONC('"[",STRINGIMAGE i,'"]")
+;    istr := STRCONC('"[",princ-to-string i,'"]")
 ;    if QCSIZE(istr) = 3 then istr := STRCONC(istr,'" ")
 ;    sayMSG [:bright istr,'"signature:   ",:formatSignature CDR sig]
 ;    CAR sig='local =>
@@ -5119,7 +5119,7 @@ the types A and B themselves are not sorted by preference.
                (SEQ (EXIT (PROGN
                             (setq |istr|
                                      (STRCONC  "["
-                                      (STRINGIMAGE |i|)
+                                      (princ-to-string |i|)
                                        "]"))
                             (COND
                               ((EQL (QCSIZE |istr|) 3)
diff --git a/src/interp/i-intern.lisp.pamphlet b/src/interp/i-intern.lisp.pamphlet
index 4741ee2..fdada95 100644
--- a/src/interp/i-intern.lisp.pamphlet
+++ b/src/interp/i-intern.lisp.pamphlet
@@ -2458,7 +2458,7 @@ by x. x is a VAT.
 ;srcPosDisplay(sp) ==
 ;    null sp => nil
 ;    s := STRCONC('"_"", srcPosFile sp, '"_", line ",
-;        STRINGIMAGE srcPosLine sp, '": ")
+;        princ-to-string srcPosLine sp, '": ")
 ;    sayBrightly [s, srcPosSource sp]
 ;    col  := srcPosColumn sp
 ;    dots :=
@@ -2474,7 +2474,7 @@ by x. x is a VAT.
     (t
      (setq s
       (strconc "\"" (|srcPosFile| sp) "\", line "
-       (stringimage (|srcPosLine| sp)) ": "))
+       (princ-to-string (|srcPosLine| sp)) ": "))
      (|sayBrightly| (list s (|srcPosSource| sp)))
      (setq col (|srcPosColumn| sp))
      (setq dots
diff --git a/src/interp/i-map.lisp.pamphlet b/src/interp/i-map.lisp.pamphlet
index 3ea06d8..944cd1c 100644
--- a/src/interp/i-map.lisp.pamphlet
+++ b/src/interp/i-map.lisp.pamphlet
@@ -43,8 +43,8 @@
 (SETANDFILEQ |$specialMapNameSuffix| NIL) 
 
 ;makeInternalMapName(userName,numArgs,numMms,extraPart) ==
-;  name := CONCAT('"*",STRINGIMAGE numArgs,'";",
-;    object2String userName,'";",STRINGIMAGE numMms,'";",
+;  name := CONCAT('"*",princ-to-string numArgs,'";",
+;    object2String userName,'";",princ-to-string numMms,'";",
 ;      object2String FRAMENAME first $interpreterFrameRing )
 ;  if extraPart then name := CONCAT(name,'";",extraPart)
 ;  if $specialMapNameSuffix then
@@ -58,9 +58,9 @@
     (RETURN
       (PROGN
         (setq |name|
-                 (CONCAT "*" (STRINGIMAGE |numArgs|) ";"
+                 (CONCAT "*" (princ-to-string |numArgs|) ";"
                          (|object2String| |userName|) ";"
-                         (STRINGIMAGE |numMms|) ";"
+                         (princ-to-string |numMms|) ";"
                          (|object2String|
                              (FRAMENAME (CAR |$interpreterFrameRing|)))))
         (COND
@@ -107,15 +107,15 @@
     ((STRINGP |name|) (INTERN (STRCONC |name| ";MV")))
     ('T (INTERN (STRCONC (PNAME |name|) ";MV")))))
 
-;mkCacheName(name) == INTERNL(STRINGIMAGE name,'";AL")
+;mkCacheName(name) == INTERNL(princ-to-string name,'";AL")
 
 (DEFUN |mkCacheName| (|name|)
-  (INTERNL (STRINGIMAGE |name|) ";AL"))
+  (INTERNL (princ-to-string |name|) ";AL"))
 
-;mkAuxiliaryName(name) == INTERNL(STRINGIMAGE name,'";AUX")
+;mkAuxiliaryName(name) == INTERNL(princ-to-string name,'";AUX")
 
 (DEFUN |mkAuxiliaryName| (|name|)
- (INTERNL (STRINGIMAGE |name|) ";AUX")) 
+ (INTERNL (princ-to-string |name|) ";AUX")) 
 
 ;--% Adding a function definition
 ;isMapExpr x == x is ['MAP,:.]
@@ -1680,10 +1680,10 @@
 
 ;--% User function analysis
 ;mapCatchName mapname ==
-;   INTERN STRCONC('"$",STRINGIMAGE mapname,'"CatchMapIdentifier$")
+;   INTERN STRCONC('"$",princ-to-string mapname,'"CatchMapIdentifier$")
 
 (DEFUN |mapCatchName| (|mapname|)
- (INTERN (STRCONC "$" (STRINGIMAGE |mapname|) "CatchMapIdentifier$"))) 
+ (INTERN (STRCONC "$" (princ-to-string |mapname|) "CatchMapIdentifier$"))) 
 
 ;analyzeMap(op,argTypes,mapDef, tar) ==
 ;  -- Top level enty point for map type analysis.  Sets up catch point
@@ -3718,10 +3718,10 @@
 
 ;mkSharpVar i ==
 ;  -- create #i
-;  INTERN CONCAT('"#",STRINGIMAGE i)
+;  INTERN CONCAT('"#",princ-to-string i)
 
 (DEFUN |mkSharpVar| (|i|)
-  (INTERN (CONCAT "#" (STRINGIMAGE |i|))))
+  (INTERN (CONCAT "#" (princ-to-string |i|))))
 
 ;mapPredTran pred ==
 ;  -- transforms "x in i..j" to "x>=i and x<=j"
diff --git a/src/interp/i-output.lisp.pamphlet b/src/interp/i-output.lisp.pamphlet
index d76f9b7..ef9ee67 100644
--- a/src/interp/i-output.lisp.pamphlet
+++ b/src/interp/i-output.lisp.pamphlet
@@ -79,7 +79,7 @@
 ;    o = " " => '" "
 ;    o = ")" => '")"
 ;    o = "(" => '"("
-;    STRINGIMAGE o
+;    princ-to-string o
 ;  APPLY('STRCONC,[obj2String o' for o' in o])
 
 (DEFUN |obj2String| (|o|)
@@ -92,7 +92,7 @@
                 ((BOOT-EQUAL |o| '| |) " ")
                 ((BOOT-EQUAL |o| '|)|) ")")
                 ((BOOT-EQUAL |o| '|(|) "(")
-                ('T (STRINGIMAGE |o|))))
+                ('T (princ-to-string |o|))))
              ('T
               (APPLY 'STRCONC
                      (PROG (G166101)
@@ -1598,7 +1598,7 @@ NIL
 
 ;mkSuperSub(op,argl) ==
 ;  $linearFormatScripts => linearFormatForm(op,argl)
-;--  l := [(STRINGP f => f; STRINGIMAGE f)
+;--  l := [(STRINGP f => f; princ-to-string f)
 ;--    for f in linearFormatForm(op,argl)]
 ;--  "STRCONC"/l
 ;  s:= PNAME op
@@ -2835,7 +2835,7 @@ NIL
 
 ;opWidth(op,has2Arguments) ==
 ;  op = "EQUATNUM" => 4
-;  NUMBERP op => 2+SIZE STRINGIMAGE op
+;  NUMBERP op => 2+SIZE princ-to-string op
 ;  null has2Arguments =>
 ;    a:= GET(op,"PREFIXOP") => SIZE a
 ;    2+SIZE PNAME op
@@ -2847,7 +2847,7 @@ NIL
     (RETURN
       (COND
         ((BOOT-EQUAL |op| 'EQUATNUM) 4)
-        ((NUMBERP |op|) (+ 2 (SIZE (STRINGIMAGE |op|))))
+        ((NUMBERP |op|) (+ 2 (SIZE (princ-to-string |op|))))
         ((NULL |has2Arguments|)
          (COND
            ((setq |a| (GETL |op| 'PREFIXOP)) (SIZE |a|))
@@ -3296,7 +3296,7 @@ NIL
 ;    for v in $MatrixList repeat
 ;        EQUAL(m,CDR v) => return CAR v
 ;  name => name
-;  name:=INTERNL('"matrix",STRINGIMAGE($MatrixCount:=$MatrixCount+1))
+;  name:=INTERNL('"matrix",princ-to-string($MatrixCount:=$MatrixCount+1))
 ;  $MatrixList:=[[name,:m],:$MatrixList]
 ;  name
 
@@ -3316,7 +3316,7 @@ NIL
            (COND (|name| (EXIT |name|)))
            (setq |name|
                     (INTERNL "matrix"
-                             (STRINGIMAGE
+                             (princ-to-string
                                  (setq |$MatrixCount|
                                           (+ |$MatrixCount| 1)))))
            (setq |$MatrixList|
@@ -4574,7 +4574,7 @@ NIL
 ;    n:=
 ;      GET(op,"NARY") => 2
 ;      #args
-;    newop:= INTERN STRCONC("*",STRINGIMAGE n,PNAME op)
+;    newop:= INTERN STRCONC("*",princ-to-string n,PNAME op)
 ;    [newop,:[outputOp y for y in args]]
 ;  x
 
@@ -4591,7 +4591,7 @@ NIL
               (setq |n|
                        (COND ((GETL |op| 'NARY) 2) ('T (|#| |args|))))
               (setq |newop|
-                       (INTERN (STRCONC '* (STRINGIMAGE |n|)
+                       (INTERN (STRCONC '* (princ-to-string |n|)
                                         (PNAME |op|))))
               (CONS |newop|
                     (PROG (G168985)
@@ -6845,7 +6845,7 @@ NIL
 
 ;stringer x ==
 ;  STRINGP x => x
-;  EQ('_|, FETCHCHAR(s:= STRINGIMAGE x, 0)) =>
+;  EQ('_|, FETCHCHAR(s:= princ-to-string x, 0)) =>
 ;    RPLACSTR(s, 0, 1, "", nil, nil)
 ;  s
 
@@ -6854,7 +6854,7 @@ NIL
     (RETURN
       (COND
         ((STRINGP |x|) |x|)
-        ((EQ '|\|| (char (setq |s| (STRINGIMAGE |x|)) 0))
+        ((EQ '|\|| (char (setq |s| (princ-to-string |x|)) 0))
          (RPLACSTR |s| 0 1 '|| NIL NIL))
         ('T |s|)))))
 
diff --git a/src/interp/i-resolv.lisp.pamphlet b/src/interp/i-resolv.lisp.pamphlet
index 2b9e12c..8ebd762 100644
--- a/src/interp/i-resolv.lisp.pamphlet
+++ b/src/interp/i-resolv.lisp.pamphlet
@@ -1329,7 +1329,7 @@ this symmetric resolution is done the following way:
 ;  argN := 0
 ;  t1 := nil
 ;  for ut in rest t for i in 1.. while (argN = 0) repeat
-;    sharp := INTERNL('"#",STRINGIMAGE i)
+;    sharp := INTERNL('"#",princ-to-string i)
 ;    sharp = pat =>
 ;      argN := i
 ;      t1 := ut
@@ -1385,7 +1385,7 @@ this symmetric resolution is done the following way:
                    (SEQ (EXIT (PROGN
                                 (setq |sharp|
                                          (INTERNL "#"
-                                          (STRINGIMAGE |i|)))
+                                          (princ-to-string |i|)))
                                 (COND
                                   ((BOOT-EQUAL |sharp| |pat|)
                                    (PROGN
diff --git a/src/interp/i-spec1.lisp.pamphlet b/src/interp/i-spec1.lisp.pamphlet
index 592a02e..8d99532 100644
--- a/src/interp/i-spec1.lisp.pamphlet
+++ b/src/interp/i-spec1.lisp.pamphlet
@@ -617,7 +617,7 @@ There are several special modes used in these functions:
 ;  null (canonicalAE:= coerceInteractive(T,pd)) =>
 ;    throwKeyedMsgCannotCoerceWithValue(objVal T,objMode T,pd)
 ;  sae:= ['SimpleAlgebraicExtension,field,pd,objValUnwrap canonicalAE]
-;  saeTypeSynonym := INTERN STRCONC('"SAE",STRINGIMAGE a)
+;  saeTypeSynonym := INTERN STRCONC('"SAE",princ-to-string a)
 ;  saeTypeSynonymValue := objNew(sae,'(Domain))
 ;  fun := getFunctionFromDomain('generator,sae,NIL)
 ;  expr:= wrap SPADCALL(fun)
@@ -700,7 +700,7 @@ There are several special modes used in these functions:
                                       NIL)))))
                (setq |saeTypeSynonym|
                         (INTERN (STRCONC "SAE"
-                                         (STRINGIMAGE |a|))))
+                                         (princ-to-string |a|))))
                (setq |saeTypeSynonymValue|
                         (mkObj |sae| '(|Domain|)))
                (setq |fun|
@@ -4848,7 +4848,7 @@ There are several special modes used in these functions:
 ;    upfreeWithType(v,mode)
 ;    var := v
 ;  not IDENTP(var) =>
-;    throwKeyedMsg("S2IS0016",[STRINGIMAGE var])
+;    throwKeyedMsg("S2IS0016",[princ-to-string var])
 ;  var in '(% %%) => throwKeyedMsg("S2IS0050",[var])
 ;  if get(var,'isInterpreterFunction,$e) then
 ;    mode isnt ['Mapping,.,:args] =>
@@ -4900,7 +4900,7 @@ There are several special modes used in these functions:
           ((NULL (IDENTP |var|))
            (|throwKeyedMsg|
             "Declarations are only allowed on variables and %1 is not one."
-            (CONS (STRINGIMAGE |var|) NIL)))
+            (CONS (princ-to-string |var|) NIL)))
           ((|member| |var| '(% %%))
            (|throwKeyedMsg|
             (format nil
diff --git a/src/interp/interp-proclaims.lisp b/src/interp/interp-proclaims.lisp
index ab893c6..fc82b2f 100644
--- a/src/interp/interp-proclaims.lisp
+++ b/src/interp/interp-proclaims.lisp
@@ -2304,7 +2304,7 @@
             BOOT::|squeezeConsDB,fn| BOOT::|mkBold| BOOT::|incString|
             BOOT::|postSignature| BOOT::|killColons| BOOT:|ToString|
             BOOT::|e02dffSolve,flam| BOOT::|removeSuperfluousMapping|
-            BOOT:|StringImage| BOOT::|dbShowConstructorLines|
+            BOOT::|dbShowConstructorLines|
             BOOT:|String?| BOOT::|postAtom| BOOT::|dbName|
             BOOT::|makeSpadConstant| BOOT::|postType|
             BOOT::|childrenOf| BOOT::|htBcLispLinks|
diff --git a/src/interp/msgdb.lisp.pamphlet b/src/interp/msgdb.lisp.pamphlet
index 34b6183..9cad9df 100644
--- a/src/interp/msgdb.lisp.pamphlet
+++ b/src/interp/msgdb.lisp.pamphlet
@@ -625,11 +625,11 @@
 ;operationLink name ==
 ;  FORMAT(nil, '"\lispLink{\verb!(|oSearch| _"~a_")!}{~a}",
 ;         name,
-;         escapeSpecialChars STRINGIMAGE name)
+;         escapeSpecialChars princ-to-string name)
 
 (defun |operationLink| (|name|)
   (FORMAT nil "\\lispLink{\\verb!(|oSearch| \"~a\")!}{~a}"
-          |name| (|escapeSpecialChars| (STRINGIMAGE |name|))))
+          |name| (|escapeSpecialChars| (princ-to-string |name|))))
 
 ;----------------------------------------
 ;throwKeyedErrorMsg(kind,key,args) ==
@@ -1627,7 +1627,7 @@
 ;  -- following line helps find certain bugs that slip through
 ;  -- also see brightPrintHighlight
 ;  VECP x => STRINGLENGTH '"UNPRINTABLE"
-;  ATOM x => STRINGLENGTH STRINGIMAGE x
+;  ATOM x => STRINGLENGTH princ-to-string x
 ;  2 + sayBrightlyLength x
 
 (defun |sayBrightlyLength1| (|x|)
@@ -1643,7 +1643,7 @@
     ((STRINGP |x|) (STRINGLENGTH |x|))
     ((IDENTP |x|) (STRINGLENGTH (PNAME |x|)))
     ((VECP |x|) (STRINGLENGTH "UNPRINTABLE"))
-    ((ATOM |x|) (STRINGLENGTH (STRINGIMAGE |x|)))
+    ((ATOM |x|) (STRINGLENGTH (princ-to-string |x|)))
     (t (+ 2 (|sayBrightlyLength| |x|)))))
 
 ;sayAsManyPerLineAsPossible l ==
diff --git a/src/interp/nag-c02.lisp.pamphlet b/src/interp/nag-c02.lisp.pamphlet
index 6d1ab7b..13cc2f2 100644
--- a/src/interp/nag-c02.lisp.pamphlet
+++ b/src/interp/nag-c02.lisp.pamphlet
@@ -94,11 +94,11 @@
 ;  labelList :=
 ;    "append"/[f(i,n) for i in 1..(n+1)] where f(i,n) ==
 ;      prefix := ('"\newline z**")
-;      prefix := STRCONC(prefix,STRINGIMAGE (n-i+1),'"\space{1}")
+;      prefix := STRCONC(prefix,princ-to-string (n-i+1),'"\space{1}")
 ;      post   := ('"\tab{30} ")
 ;      post   := STRCONC(post,'"\space{1}")
-;      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
-;      inam := INTERN STRCONC ('"i",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"r",princ-to-string i)
+;      inam := INTERN STRCONC ('"i",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'P]],
 ;       ['text,:post],['bcStrings,[10, 0.0, inam, 'P]]]
 ;  equationPart := [
@@ -126,17 +126,17 @@
       (SEQ (setq |prefix| "\\newline z**")
            (setq |prefix|
                     (STRCONC |prefix|
-                             (STRINGIMAGE
+                             (princ-to-string
                                  (+ (SPADDIFFERENCE |n| |i|) 1))
                              "\\space{1}"))
            (setq |post| "\\tab{30} ")
            (setq |post| (STRCONC |post| "\\space{1}"))
            (setq |rnam|
                     (INTERN (STRCONC "r"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |inam|
                     (INTERN (STRCONC "i"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -329,7 +329,7 @@
 ;    imaglist := [right,:imaglist]
 ;  realstring := bcwords2liststring reallist
 ;  imagstring := bcwords2liststring imaglist
-;  linkGen STRCONC ('"c02aff([",realstring,",",imagstring,"],",STRINGIMAGE n,",",scale,",",STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c02aff([",realstring,",",imagstring,"],",princ-to-string n,",",scale,",",princ-to-string ifail,")")
 
 (DEFUN |c02affGen| (|htPage|)
   (PROG (|n| |scale| |ifail| |alist| |right| |left| |y| |reallist|
@@ -357,8 +357,8 @@
              (setq |imagstring| (|bcwords2liststring| |imaglist|))
              (|linkGen|
                  (STRCONC "c02aff([" |realstring| '|,|
-                          |imagstring| '|],| (STRINGIMAGE |n|) '|,|
-                          |scale| '|,| (STRINGIMAGE |ifail|) '|)|)))))))
+                          |imagstring| '|],| (princ-to-string |n|) '|,|
+                          |scale| '|,| (princ-to-string |ifail|) '|)|)))))))
 
 ;c02agf() ==
 ;  htInitPage('"C02AGF - All Zeros of a Real Polynomial",nil)
@@ -441,8 +441,8 @@
 ;  labelList :=
 ;    "append"/[f(i,n) for i in 1..(n+1)] where f(i,n) ==
 ;      prefix := ('"\newline z**")
-;      prefix := STRCONC(prefix,STRINGIMAGE (n-i+1),'"\space{1}")
-;      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string (n-i+1),'"\space{1}")
+;      rnam := INTERN STRCONC ('"r",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'P]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -468,12 +468,12 @@
       (SEQ (setq |prefix| "\\newline z**")
            (setq |prefix|
                     (STRCONC |prefix|
-                             (STRINGIMAGE
+                             (princ-to-string
                                  (+ (SPADDIFFERENCE |n| |i|) 1))
                              "\\space{1}"))
            (setq |rnam|
                     (INTERN (STRCONC "r"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -625,7 +625,7 @@
 ;    y := rest y
 ;    reallist := [left,:reallist]
 ;  realstring := bcwords2liststring reallist
-;  linkGen STRCONC ('"c02agf([",realstring,"],",STRINGIMAGE n,",",scale,",",STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c02agf([",realstring,"],",princ-to-string n,",",scale,",",princ-to-string ifail,")")
 
 (DEFUN |c02agfGen| (|htPage|)
   (PROG (|n| |scale| |ifail| |alist| |left| |y| |reallist|
@@ -647,8 +647,8 @@
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (|linkGen|
                  (STRCONC "c02agf([" |realstring| '|],|
-                          (STRINGIMAGE |n|) '|,| |scale| '|,|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |n|) '|,| |scale| '|,|
+                          (princ-to-string |ifail|) '|)|)))))))
 
 \end{chunk}
 \eject
diff --git a/src/interp/nag-c05.lisp.pamphlet b/src/interp/nag-c05.lisp.pamphlet
index 6fe37cb..8f84619 100644
--- a/src/interp/nag-c05.lisp.pamphlet
+++ b/src/interp/nag-c05.lisp.pamphlet
@@ -131,7 +131,7 @@
 ;    temp >  0.0 => eps
 ;    '"1.0e-5"
 ;  expression := htpLabelInputString(htPage, 'expression)
-;  prefix := STRCONC('"c05adf(",a,",",b,",",temp1,",",eta,",",STRINGIMAGE ifail)
+;  prefix := STRCONC('"c05adf(",a,",",b,",",temp1,",",eta,",",princ-to-string ifail)
 ;  linkGen STRCONC (prefix,",(",expression,")::ASP1(F))")
 
 (DEFUN |c05adfGen| (|htPage|)
@@ -158,7 +158,7 @@
         (setq |prefix|
                  (STRCONC "c05adf(" |a| '|,| |b| '|,|
                           |temp1| '|,| |eta| '|,|
-                          (STRINGIMAGE |ifail|)))
+                          (princ-to-string |ifail|)))
         (|linkGen|
             (STRCONC |prefix| '|,(| |expression| '|)::ASP1(F))|))))))
 
@@ -245,16 +245,16 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      funct := STRCONC ('"X[",STRINGIMAGE i ,"] + 1")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      funct := STRCONC ('"X[",princ-to-string i ,"] + 1")
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter initial guess ")
 ;  middle := STRCONC(middle,'"of the solution vector {\it x}: \newline ")
 ;  middle := cons('text,middle)
 ;  vecList :=
 ;    [fb(i) for i in 1..n] where fb(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      ['bcStrings,[4, -1.0, xnam, 'F]]
 ;  funcList := [:funcList,middle,:vecList]
 ;  equationPart := [
@@ -280,14 +280,14 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct|
-                    (STRCONC "X[" (STRINGIMAGE |i|)
+                    (STRCONC "X[" (princ-to-string |i|)
                              '|] + 1|))
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -302,7 +302,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS '|bcStrings|
                        (CONS (CONS 4
                                    (CONS (SPADDIFFERENCE 1.0)
@@ -524,8 +524,8 @@
 ;  string1 := bcwords2liststring temp1list
 ;  string2 := bcwords2liststring temp2list
 ;  lwa := n*(3*n+13)/2
-;  prefix := STRCONC ("c05nbf(",STRINGIMAGE n,",",STRINGIMAGE lwa,",[",string1,"],")
-;  middle := STRCONC (xtol,",",STRINGIMAGE ifail,",")
+;  prefix := STRCONC ("c05nbf(",princ-to-string n,",",princ-to-string lwa,",[",string1,"],")
+;  middle := STRCONC (xtol,",",princ-to-string ifail,",")
 ;  linkGen STRCONC (prefix,middle,"(",string2,"::Vector Expression(Float))::ASP6(FCN))")
 
 (DEFUN |c05nbfGen| (|htPage|)
@@ -559,11 +559,11 @@
              (setq |lwa|
                       (QUOTIENT (TIMES |n| (+ (TIMES 3 |n|) 13)) 2))
              (setq |prefix|
-                      (STRCONC '|c05nbf(| (STRINGIMAGE |n|) '|,|
-                               (STRINGIMAGE |lwa|) '|,[| |string1|
+                      (STRCONC '|c05nbf(| (princ-to-string |n|) '|,|
+                               (princ-to-string |lwa|) '|,[| |string1|
                                '|],|))
              (setq |middle|
-                      (STRCONC |xtol| '|,| (STRINGIMAGE |ifail|) '|,|))
+                      (STRCONC |xtol| '|,| (princ-to-string |ifail|) '|,|))
              (|linkGen|
                  (STRCONC |prefix| |middle| '|(| |string2|
                           '|::Vector Expression(Float))::ASP6(FCN))|)))))))
@@ -651,16 +651,16 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      funct := STRCONC ('"X[",STRINGIMAGE i ,"] + 1")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      funct := STRCONC ('"X[",princ-to-string i ,"] + 1")
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter initial guess ")
 ;  middle := STRCONC(middle,'"of the solution vector {\it x}: \newline ")
 ;  middle := cons('text,middle)
 ;  vecList :=
 ;    [fb(i) for i in 1..n] where fb(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      ['bcStrings,[4, -1.0, xnam, 'F]]
 ;  funcList := [:funcList,middle,:vecList]
 ;  equationPart := [
@@ -686,14 +686,14 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct|
-                    (STRCONC "X[" (STRINGIMAGE |i|)
+                    (STRCONC "X[" (princ-to-string |i|)
                              '|] + 1|))
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -708,7 +708,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS '|bcStrings|
                        (CONS (CONS 4
                                    (CONS (SPADDIFFERENCE 1.0)
@@ -930,9 +930,9 @@
 ;  string1 := bcwords2liststring temp1list
 ;  string2 := bcwords2liststring temp2list
 ;  lwa := n*(n+13)/2
-;  prefix := STRCONC("c05pbf(",STRINGIMAGE n,",",STRINGIMAGE n)
-;  middle := STRCONC(",",STRINGIMAGE lwa,",[",string1,"],")
-;  middle := STRCONC (middle,xtol,",",STRINGIMAGE ifail,",")
+;  prefix := STRCONC("c05pbf(",princ-to-string n,",",princ-to-string n)
+;  middle := STRCONC(",",princ-to-string lwa,",[",string1,"],")
+;  middle := STRCONC (middle,xtol,",",princ-to-string ifail,",")
 ;  linkGen STRCONC (prefix,middle,"(",string2,"::Vector Expression(Float))::ASP35(FCN))")
 
 (DEFUN |c05pbfGen| (|htPage|)
@@ -965,14 +965,14 @@
              (setq |string2| (|bcwords2liststring| |temp2list|))
              (setq |lwa| (QUOTIENT (TIMES |n| (+ |n| 13)) 2))
              (setq |prefix|
-                      (STRCONC '|c05pbf(| (STRINGIMAGE |n|) '|,|
-                               (STRINGIMAGE |n|)))
+                      (STRCONC '|c05pbf(| (princ-to-string |n|) '|,|
+                               (princ-to-string |n|)))
              (setq |middle|
-                      (STRCONC '|,| (STRINGIMAGE |lwa|) '|,[| |string1|
+                      (STRCONC '|,| (princ-to-string |lwa|) '|,[| |string1|
                                '|],|))
              (setq |middle|
                       (STRCONC |middle| |xtol| '|,|
-                               (STRINGIMAGE |ifail|) '|,|))
+                               (princ-to-string |ifail|) '|,|))
              (|linkGen|
                  (STRCONC |prefix| |middle| '|(| |string2|
                           '|::Vector Expression(Float))::ASP35(FCN))|)))))))
diff --git a/src/interp/nag-c06.lisp.pamphlet b/src/interp/nag-c06.lisp.pamphlet
index 6d99ac0..dcd9553 100644
--- a/src/interp/nag-c06.lisp.pamphlet
+++ b/src/interp/nag-c06.lisp.pamphlet
@@ -82,7 +82,7 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{15} ")
-;      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"r",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'F]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -108,7 +108,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{15} ")
            (setq |rnam|
                     (INTERN (STRCONC "r"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -254,7 +254,7 @@
 ;    y := rest y
 ;    reallist := [left,:reallist]
 ;  realstring := bcwords2liststring reallist
-;  linkGen STRCONC ('"c06eaf(",STRINGIMAGE n,",[",realstring,"],",STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c06eaf(",princ-to-string n,",[",realstring,"],",princ-to-string ifail,")")
 
 (DEFUN |c06eafGen| (|htPage|)
   (PROG (|n| |ifail| |alist| |left| |y| |reallist| |realstring|)
@@ -273,9 +273,9 @@
                                      (CONS |left| |reallist|))))))
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (|linkGen|
-                 (STRCONC "c06eaf(" (STRINGIMAGE |n|)
+                 (STRCONC "c06eaf(" (princ-to-string |n|)
                           '|,[| |realstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06ebf() ==
 ;  htInitPage('"C06EBF - Single 1-D Hermitian discrete Fourier transform ",nil)
@@ -344,7 +344,7 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{15} ")
-;      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"r",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'F]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -369,7 +369,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{15} ")
            (setq |rnam|
                     (INTERN (STRCONC "r"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -513,7 +513,7 @@
 ;    y := rest y
 ;    reallist := [left,:reallist]
 ;  realstring := bcwords2liststring reallist
-;  linkGen STRCONC ('"c06ebf(",STRINGIMAGE n,",[",realstring,"],",STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c06ebf(",princ-to-string n,",[",realstring,"],",princ-to-string ifail,")")
 
 (DEFUN |c06ebfGen| (|htPage|)
   (PROG (|n| |ifail| |alist| |left| |y| |reallist| |realstring|)
@@ -532,9 +532,9 @@
                                      (CONS |left| |reallist|))))))
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (|linkGen|
-                 (STRCONC "c06ebf(" (STRINGIMAGE |n|)
+                 (STRCONC "c06ebf(" (princ-to-string |n|)
                           '|,[| |realstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06ecf() ==
 ;  htInitPage('"C06ECF - Single 1-D complex discrete Fourier transform ",nil)
@@ -602,8 +602,8 @@
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      post   := ('"\tab{32} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, xnam, 'F]],
 ;       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
 ;  equationPart := [
@@ -631,10 +631,10 @@
            (setq |post| "\\tab{32} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -815,7 +815,7 @@
 ;    imaglist := [right,:imaglist]
 ;  realstring := bcwords2liststring reallist
 ;  imagstring := bcwords2liststring imaglist
-;  linkGen STRCONC ('"c06ecf(",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],", STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c06ecf(",princ-to-string n,",[",realstring,"],[",imagstring,"],", princ-to-string ifail,")")
 
 (DEFUN |c06ecfGen| (|htPage|)
   (PROG (|n| |ifail| |alist| |right| |left| |y| |reallist| |imaglist|
@@ -841,9 +841,9 @@
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (setq |imagstring| (|bcwords2liststring| |imaglist|))
              (|linkGen|
-                 (STRCONC "c06ecf(" (STRINGIMAGE |n|)
+                 (STRCONC "c06ecf(" (princ-to-string |n|)
                           '|,[| |realstring| '|],[| |imagstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06ekf() ==
 ;  htInitPage('"C06EKF - Circular convolution or correlation of two real vectors",nil)
@@ -928,8 +928,8 @@
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      post   := ('"\tab{34} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, xnam, 'F]],
 ;       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
 ;  equationPart := [
@@ -959,10 +959,10 @@
            (setq |post| "\\tab{34} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1160,7 +1160,7 @@
 ;    imaglist := [right,:imaglist]
 ;  realstring := bcwords2liststring reallist
 ;  imagstring := bcwords2liststring imaglist
-;  linkGen STRCONC ('"c06ekf(",STRINGIMAGE job,",",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],", STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c06ekf(",princ-to-string job,",",princ-to-string n,",[",realstring,"],[",imagstring,"],", princ-to-string ifail,")")
 
 (DEFUN |c06ekfGen| (|htPage|)
   (PROG (|n| |ifail| |job| |alist| |right| |left| |y| |reallist|
@@ -1187,10 +1187,10 @@
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (setq |imagstring| (|bcwords2liststring| |imaglist|))
              (|linkGen|
-                 (STRCONC "c06ekf(" (STRINGIMAGE |job|)
-                          '|,| (STRINGIMAGE |n|) '|,[| |realstring|
+                 (STRCONC "c06ekf(" (princ-to-string |job|)
+                          '|,| (princ-to-string |n|) '|,[| |realstring|
                           '|],[| |imagstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06fpf() ==
 ;  htInitPage('"C06FPF - Multiple 1-D real discrete Fourier transform ",nil)
@@ -1289,14 +1289,14 @@
 ;    "append"/[f(i,m) for i in 1..n] where f(i,n) ==
 ;      labelList :=
 ;        "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;          xnam := INTERN STRCONC ('"r",STRINGIMAGE i, STRINGIMAGE j)
+;          xnam := INTERN STRCONC ('"r",princ-to-string i, princ-to-string j)
 ;          [['bcStrings,[6, 0.0, xnam, 'F]]]
 ;      prefix := ('"\newline \tab{2} ")
 ;      labelList := [['text,:prefix],:labelList]
 ;  trigList :=
 ;    "append"/[h(k) for k in 1..(2*n)] where h(k) ==
 ;      prefix := ('"\newline \tab{2} ")
-;      trignam := INTERN STRCONC ('"t",STRINGIMAGE k)
+;      trignam := INTERN STRCONC ('"t",princ-to-string k)
 ;      [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Trigonometric coefficients ")
 ;  prefix := STRCONC(prefix,"(not required if initial call) {\it TRIG}: ")
@@ -1323,8 +1323,8 @@
   (PROG (|xnam|)
     (RETURN
       (SEQ (setq |xnam|
-                    (INTERN (STRCONC "r" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "r" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -1354,7 +1354,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |trignam|
                     (INTERN (STRCONC "t"
-                                     (STRINGIMAGE |k|))))
+                                     (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1618,9 +1618,9 @@
 ;    y := rest y
 ;    xlist := [left,:xlist]
 ;  xstring := bcwords2liststring xlist
-;  prefix := STRCONC ('"c06fpf(",STRINGIMAGE m,", ",STRINGIMAGE n,", _"")
+;  prefix := STRCONC ('"c06fpf(",princ-to-string m,", ",princ-to-string n,", _"")
 ;  prefix := STRCONC(prefix,init,"_",[",xstring,"],[",trigstring,"],")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail,")")
+;  linkGen STRCONC(prefix,princ-to-string ifail,")")
 
 (DEFUN |c06fpfGen| (|htPage|)
   (PROG (|n| |m| |init| |ifail| |alist| |triglist| |trigstring| |left|
@@ -1650,12 +1650,12 @@
                             (setq |xlist| (CONS |left| |xlist|))))))
              (setq |xstring| (|bcwords2liststring| |xlist|))
              (setq |prefix|
-                      (STRCONC "c06fpf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |n|) '|, "|))
+                      (STRCONC "c06fpf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |n|) '|, "|))
              (setq |prefix|
                       (STRCONC |prefix| |init| '|",[| |xstring| '|],[|
                                |trigstring| '|],|))
-             (|linkGen| (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)))))))
+             (|linkGen| (STRCONC |prefix| (princ-to-string |ifail|) '|)|)))))))
 
 ;c06fqf() ==
 ;  htInitPage('"C06FQF - Multiple 1-D Hermitian discrete Fourier transform ",nil)
@@ -1754,14 +1754,14 @@
 ;    "append"/[f(i,m) for i in 1..n] where f(i,n) ==
 ;      labelList :=
 ;        "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;          xnam := INTERN STRCONC ('"r",STRINGIMAGE i, STRINGIMAGE j)
+;          xnam := INTERN STRCONC ('"r",princ-to-string i, princ-to-string j)
 ;          [['bcStrings,[6, 0.0, xnam, 'F]]]
 ;      prefix := ('"\newline \tab{2} ")
 ;      labelList := [['text,:prefix],:labelList]
 ;  trigList :=
 ;    "append"/[h(k) for k in 1..(2*n)] where h(k) ==
 ;      prefix := ("\newline \tab{2} ")
-;      trignam := INTERN STRCONC ('"t",STRINGIMAGE k)
+;      trignam := INTERN STRCONC ('"t",princ-to-string k)
 ;      [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Trignometric coefficients ")
 ;  prefix := STRCONC(prefix,"(not required if initial call) {\it TRIG}: ")
@@ -1788,8 +1788,8 @@
   (PROG (|xnam|)
     (RETURN
       (SEQ (setq |xnam|
-                    (INTERN (STRCONC "r" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "r" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -1819,7 +1819,7 @@
       (SEQ (setq |prefix| '|\\newline \\tab{2} |)
            (setq |trignam|
                     (INTERN (STRCONC "t"
-                                     (STRINGIMAGE |k|))))
+                                     (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2083,9 +2083,9 @@
 ;    y := rest y
 ;    xlist := [left,:xlist]
 ;  xstring := bcwords2liststring xlist
-;  prefix := STRCONC ('"c06fqf(",STRINGIMAGE m,", ",STRINGIMAGE n,", _"")
+;  prefix := STRCONC ('"c06fqf(",princ-to-string m,", ",princ-to-string n,", _"")
 ;  prefix := STRCONC(prefix,init,"_",[",xstring,"],[",trigstring,"],")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail,")")
+;  linkGen STRCONC(prefix,princ-to-string ifail,")")
 
 (DEFUN |c06fqfGen| (|htPage|)
   (PROG (|n| |m| |init| |ifail| |alist| |triglist| |trigstring| |left|
@@ -2115,12 +2115,12 @@
                             (setq |xlist| (CONS |left| |xlist|))))))
              (setq |xstring| (|bcwords2liststring| |xlist|))
              (setq |prefix|
-                      (STRCONC "c06fqf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |n|) '|, "|))
+                      (STRCONC "c06fqf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |n|) '|, "|))
              (setq |prefix|
                       (STRCONC |prefix| |init| '|",[| |xstring| '|],[|
                                |trigstring| '|],|))
-             (|linkGen| (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)))))))
+             (|linkGen| (STRCONC |prefix| (princ-to-string |ifail|) '|)|)))))))
 
 ;c06frf() ==
 ;  htInitPage('"C06FRF - Multiple 1-D complex discrete Fourier transform ",nil)
@@ -2219,7 +2219,7 @@
 ;    "append"/[fx(i,m) for i in 1..n] where fx(i,n) ==
 ;      labelList :=
 ;        "append"/[gx(i,j) for j in 1..n] where gx(i,j) ==
-;          xnam := INTERN STRCONC ('"x",STRINGIMAGE i, STRINGIMAGE j)
+;          xnam := INTERN STRCONC ('"x",princ-to-string i, princ-to-string j)
 ;          [['bcStrings,[6, 0.0, xnam, 'F]]]
 ;      prefix := ('"\newline \tab{2} ")
 ;      labelList := [['text,:prefix],:labelList]
@@ -2227,7 +2227,7 @@
 ;    "append"/[fy(i,m) for i in 1..n] where fy(i,n) ==
 ;      labelList :=
 ;        "append"/[gy(i,j) for j in 1..n] where gy(i,j) ==
-;          ynam := INTERN STRCONC ('"y",STRINGIMAGE i, STRINGIMAGE j)
+;          ynam := INTERN STRCONC ('"y",princ-to-string i, princ-to-string j)
 ;          [['bcStrings,[6, 0.0, ynam, 'F]]]
 ;      prefix := ('"\newline \tab{2} ")
 ;      labelList := [['text,:prefix],:labelList]
@@ -2239,7 +2239,7 @@
 ;  trigList :=
 ;    "append"/[h(k) for k in 1..(2*n)] where h(k) ==
 ;      prefix := ("\newline \tab{2} ")
-;      trignam := INTERN STRCONC ('"t",STRINGIMAGE k)
+;      trignam := INTERN STRCONC ('"t",princ-to-string k)
 ;      [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Trignometric coefficients ")
 ;  prefix := STRCONC(prefix,"(not required if initial call) {\it TRIG}: ")
@@ -2266,8 +2266,8 @@
   (PROG (|xnam|)
     (RETURN
       (SEQ (setq |xnam|
-                    (INTERN (STRCONC "x" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "x" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -2295,8 +2295,8 @@
   (PROG (|ynam|)
     (RETURN
       (SEQ (setq |ynam|
-                    (INTERN (STRCONC "y" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "y" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -2326,7 +2326,7 @@
       (SEQ (setq |prefix| '|\\newline \\tab{2} |)
            (setq |trignam|
                     (INTERN (STRCONC "t"
-                                     (STRINGIMAGE |k|))))
+                                     (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2680,9 +2680,9 @@
 ;    y := rest y
 ;    xlist := [left,:xlist]
 ;  xstring := bcwords2liststring xlist
-;  prefix := STRCONC ('"c06frf(",STRINGIMAGE m,", ",STRINGIMAGE n,", _"")
+;  prefix := STRCONC ('"c06frf(",princ-to-string m,", ",princ-to-string n,", _"")
 ;  prefix := STRCONC(prefix,init,"_",[",xstring,"],[",ystring,"],[")
-;  linkGen STRCONC(prefix,trigstring,"],",STRINGIMAGE ifail,")")
+;  linkGen STRCONC(prefix,trigstring,"],",princ-to-string ifail,")")
 
 (DEFUN |c06frfGen| (|htPage|)
   (PROG (|n| |m| |init| |ifail| |alist| |triglist| |trigstring| |ylist|
@@ -2720,14 +2720,14 @@
                             (setq |xlist| (CONS |left| |xlist|))))))
              (setq |xstring| (|bcwords2liststring| |xlist|))
              (setq |prefix|
-                      (STRCONC "c06frf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |n|) '|, "|))
+                      (STRCONC "c06frf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |n|) '|, "|))
              (setq |prefix|
                       (STRCONC |prefix| |init| '|",[| |xstring| '|],[|
                                |ystring| '|],[|))
              (|linkGen|
                  (STRCONC |prefix| |trigstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06fuf() ==
 ;  htInitPage('"C06FUF - 2-D complex discrete Fourier transform ",nil)
@@ -2830,7 +2830,7 @@
 ;    "append"/[fx(i,m) for i in 1..n] where fx(i,n) ==
 ;      labelList :=
 ;        "append"/[gx(i,j) for j in 1..n] where gx(i,j) ==
-;          xnam := INTERN STRCONC ('"x",STRINGIMAGE i, STRINGIMAGE j)
+;          xnam := INTERN STRCONC ('"x",princ-to-string i, princ-to-string j)
 ;          [['bcStrings,[6, 0.0, xnam, 'F]]]
 ;      prefix := ('"\newline \tab{2} ")
 ;      labelList := [['text,:prefix],:labelList]
@@ -2838,7 +2838,7 @@
 ;    "append"/[fy(i,m) for i in 1..n] where fy(i,n) ==
 ;      labelList :=
 ;        "append"/[gy(i,j) for j in 1..n] where gy(i,j) ==
-;          ynam := INTERN STRCONC ('"y",STRINGIMAGE i, STRINGIMAGE j)
+;          ynam := INTERN STRCONC ('"y",princ-to-string i, princ-to-string j)
 ;          [['bcStrings,[6, 0.0, ynam, 'F]]]
 ;      prefix := ('"\newline \tab{2} ")
 ;      labelList := [['text,:prefix],:labelList]
@@ -2850,7 +2850,7 @@
 ;  trigmList :=
 ;    "append"/[hm(k) for k in 1..(2*m)] where hm(k) ==
 ;      prefix := ("\newline \tab{2} ")
-;      trignam := INTERN STRCONC ('"tm",STRINGIMAGE k)
+;      trignam := INTERN STRCONC ('"tm",princ-to-string k)
 ;      [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Trignometric coefficients ")
 ;  prefix := STRCONC(prefix,"(not required if initial call) {\it TRIGM}: ")
@@ -2859,7 +2859,7 @@
 ;  trignList :=
 ;    "append"/[hn(k) for k in 1..(2*n)] where hn(k) ==
 ;      prefix := ("\newline \tab{2} ")
-;      trignam := INTERN STRCONC ('"tn",STRINGIMAGE k)
+;      trignam := INTERN STRCONC ('"tn",princ-to-string k)
 ;      [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it TRIGN}: ")
 ;  prefix := STRCONC(prefix,"\newline \tab{2} ")
@@ -2885,8 +2885,8 @@
   (PROG (|xnam|)
     (RETURN
       (SEQ (setq |xnam|
-                    (INTERN (STRCONC "x" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "x" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -2914,8 +2914,8 @@
   (PROG (|ynam|)
     (RETURN
       (SEQ (setq |ynam|
-                    (INTERN (STRCONC "y" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "y" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -2945,7 +2945,7 @@
       (SEQ (setq |prefix| '|\\newline \\tab{2} |)
            (setq |trignam|
                     (INTERN (STRCONC "tm"
-                                     (STRINGIMAGE |k|))))
+                                     (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2961,7 +2961,7 @@
       (SEQ (setq |prefix| '|\\newline \\tab{2} |)
            (setq |trignam|
                     (INTERN (STRCONC "tn"
-                                     (STRINGIMAGE |k|))))
+                                     (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -3344,9 +3344,9 @@
 ;    y := rest y
 ;    xlist := [left,:xlist]
 ;  xstring := bcwords2liststring xlist
-;  prefix := STRCONC ('"c06fuf(",STRINGIMAGE m,", ",STRINGIMAGE n,", _"")
+;  prefix := STRCONC ('"c06fuf(",princ-to-string m,", ",princ-to-string n,", _"")
 ;  prefix := STRCONC(prefix,init,"_",[",xstring,"],[",ystring,"],[",trigmstring)
-;  linkGen STRCONC(prefix,"],[",trignstring,"],",STRINGIMAGE ifail,")")
+;  linkGen STRCONC(prefix,"],[",trignstring,"],",princ-to-string ifail,")")
 
 (DEFUN |c06fufGen| (|htPage|)
   (PROG (|n| |m| |init| |ifail| |alist| |trignlist| |trignstring|
@@ -3394,14 +3394,14 @@
                             (setq |xlist| (CONS |left| |xlist|))))))
              (setq |xstring| (|bcwords2liststring| |xlist|))
              (setq |prefix|
-                      (STRCONC "c06fuf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |n|) '|, "|))
+                      (STRCONC "c06fuf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |n|) '|, "|))
              (setq |prefix|
                       (STRCONC |prefix| |init| '|",[| |xstring| '|],[|
                                |ystring| '|],[| |trigmstring|))
              (|linkGen|
                  (STRCONC |prefix| '|],[| |trignstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06gbf() ==
 ;  htInitPage('"C06GBF - Complex conjugate of a Hermitian sequence ",nil)
@@ -3471,7 +3471,7 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{15} ")
-;      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"r",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'F]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -3496,7 +3496,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{15} ")
            (setq |rnam|
                     (INTERN (STRCONC "r"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -3642,7 +3642,7 @@
 ;    y := rest y
 ;    reallist := [left,:reallist]
 ;  realstring := bcwords2liststring reallist
-;  linkGen STRCONC ('"c06gbf(",STRINGIMAGE n,",[",realstring,"],",STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c06gbf(",princ-to-string n,",[",realstring,"],",princ-to-string ifail,")")
 
 (DEFUN |c06gbfGen| (|htPage|)
   (PROG (|n| |ifail| |alist| |left| |y| |reallist| |realstring|)
@@ -3661,9 +3661,9 @@
                                      (CONS |left| |reallist|))))))
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (|linkGen|
-                 (STRCONC "c06gbf(" (STRINGIMAGE |n|)
+                 (STRCONC "c06gbf(" (princ-to-string |n|)
                           '|,[| |realstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06gcf() ==
 ;  htInitPage('"C06GCF - Complex conjugate of complex sequence ",nil)
@@ -3735,7 +3735,7 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{15} ")
-;      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"r",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'F]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -3760,7 +3760,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{15} ")
            (setq |rnam|
                     (INTERN (STRCONC "r"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -3902,7 +3902,7 @@
 ;    y := rest y
 ;    reallist := [left,:reallist]
 ;  realstring := bcwords2liststring reallist
-;  linkGen STRCONC ('"c06gcf(",STRINGIMAGE n,",[",realstring,"],",STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c06gcf(",princ-to-string n,",[",realstring,"],",princ-to-string ifail,")")
 
 (DEFUN |c06gcfGen| (|htPage|)
   (PROG (|n| |ifail| |alist| |left| |y| |reallist| |realstring|)
@@ -3921,9 +3921,9 @@
                                      (CONS |left| |reallist|))))))
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (|linkGen|
-                 (STRCONC "c06gcf(" (STRINGIMAGE |n|)
+                 (STRCONC "c06gcf(" (princ-to-string |n|)
                           '|,[| |realstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06gqf() ==
 ;  htInitPage('"C06GQF - Complex conjugate of multiple Hermitian sequences ",nil)
@@ -4011,7 +4011,7 @@
 ;    "append"/[g(i,m) for i in 1..n] where g(i,n) ==
 ;      labelList :=
 ;        "append"/[f(i,j) for j in 1..n] where f(i,j) ==
-;          rnam := INTERN STRCONC ('"r",STRINGIMAGE i,STRINGIMAGE j)
+;          rnam := INTERN STRCONC ('"r",princ-to-string i,princ-to-string j)
 ;          [['bcStrings,[6, 0.0, rnam, 'P]]]
 ;      prefix := ('"\newline \tab{2} ")
 ;      labelList := [['text,:prefix],:labelList]
@@ -4040,8 +4040,8 @@
   (PROG (|rnam|)
     (RETURN
       (SEQ (setq |rnam|
-                    (INTERN (STRCONC "r" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "r" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -4234,7 +4234,7 @@
 ;    y := rest y
 ;    reallist := [right,:reallist]
 ;  realstring := bcwords2liststring reallist
-;  linkGen STRCONC ('"c06gqf(",STRINGIMAGE m,",",STRINGIMAGE n,",[",realstring,"],", STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c06gqf(",princ-to-string m,",",princ-to-string n,",[",realstring,"],", princ-to-string ifail,")")
 
 (DEFUN |c06gqfGen| (|htPage|)
   (PROG (|n| |m| |ifail| |alist| |right| |y| |reallist| |realstring|)
@@ -4254,9 +4254,9 @@
                                      (CONS |right| |reallist|))))))
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (|linkGen|
-                 (STRCONC "c06gqf(" (STRINGIMAGE |m|) '|,|
-                          (STRINGIMAGE |n|) '|,[| |realstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                 (STRCONC "c06gqf(" (princ-to-string |m|) '|,|
+                          (princ-to-string |n|) '|,[| |realstring| '|],|
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;c06gsf() ==
 ;  htInitPage('"C06GSF - Convert Hermitian sequences to general complex sequences", nil)
@@ -4346,7 +4346,7 @@
 ;    "append"/[g(i,m) for i in 1..n] where g(i,n) ==
 ;      labelList :=
 ;        "append"/[f(i,j) for j in 1..n] where f(i,j) ==
-;          rnam := INTERN STRCONC ('"r",STRINGIMAGE i,STRINGIMAGE j)
+;          rnam := INTERN STRCONC ('"r",princ-to-string i,princ-to-string j)
 ;          [['bcStrings,[6, 0.0, rnam, 'P]]]
 ;      prefix := ('"\newline \tab{2} ")
 ;      labelList := [['text,:prefix],:labelList]
@@ -4375,8 +4375,8 @@
   (PROG (|rnam|)
     (RETURN
       (SEQ (setq |rnam|
-                    (INTERN (STRCONC "r" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "r" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -4569,7 +4569,7 @@
 ;    y := rest y
 ;    reallist := [right,:reallist]
 ;  realstring := bcwords2liststring reallist
-;  linkGen STRCONC ('"c06gsf(",STRINGIMAGE m,",",STRINGIMAGE n,",[",realstring,"],", STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"c06gsf(",princ-to-string m,",",princ-to-string n,",[",realstring,"],", princ-to-string ifail,")")
 
 (DEFUN |c06gsfGen| (|htPage|)
   (PROG (|n| |m| |ifail| |alist| |right| |y| |reallist| |realstring|)
@@ -4589,9 +4589,9 @@
                                      (CONS |right| |reallist|))))))
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (|linkGen|
-                 (STRCONC "c06gsf(" (STRINGIMAGE |m|) '|,|
-                          (STRINGIMAGE |n|) '|,[| |realstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                 (STRCONC "c06gsf(" (princ-to-string |m|) '|,|
+                          (princ-to-string |n|) '|,[| |realstring| '|],|
+                          (princ-to-string |ifail|) '|)|)))))))
 
 \end{chunk}
 \eject
diff --git a/src/interp/nag-d01.lisp.pamphlet b/src/interp/nag-d01.lisp.pamphlet
index 377d85b..9680154 100644
--- a/src/interp/nag-d01.lisp.pamphlet
+++ b/src/interp/nag-d01.lisp.pamphlet
@@ -140,8 +140,8 @@
 ;    -1
 ;  express := htpLabelInputString(htPage,'expression)
 ;  liw := lw/4
-;  prefix := STRCONC("d01ajf(",a," ,",b," ,",epsabs," ,",epsrel," ,",STRINGIMAGE lw)
-;  middle := STRCONC(" ,",STRINGIMAGE liw," ,",STRINGIMAGE ifail," ,")
+;  prefix := STRCONC("d01ajf(",a," ,",b," ,",epsabs," ,",epsrel," ,",princ-to-string lw)
+;  middle := STRCONC(" ,",princ-to-string liw," ,",princ-to-string ifail," ,")
 ;  end := STRCONC("(",express,"::Expression Float) :: ASP1(F))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -173,10 +173,10 @@
         (setq |liw| (QUOTIENT |lw| 4))
         (setq |prefix|
                  (STRCONC '|d01ajf(| |a| '| ,| |b| '| ,| |epsabs| '| ,|
-                          |epsrel| '| ,| (STRINGIMAGE |lw|)))
+                          |epsrel| '| ,| (princ-to-string |lw|)))
         (setq |middle|
-                 (STRCONC '| ,| (STRINGIMAGE |liw|) '| ,|
-                          (STRINGIMAGE |ifail|) '| ,|))
+                 (STRCONC '| ,| (princ-to-string |liw|) '| ,|
+                          (princ-to-string |ifail|) '| ,|))
         (setq |end|
                  (STRCONC '|(| |express|
                           '|::Expression Float) :: ASP1(F))|))
@@ -308,8 +308,8 @@
 ;    -1
 ;  express := htpLabelInputString(htPage,'expression)
 ;  liw := lw/4
-;  prefix := STRCONC("d01akf(",a," ,",b," ,",epsabs," ,",epsrel," ,",STRINGIMAGE lw)
-;  middle := STRCONC(" ,",STRINGIMAGE liw," ,",STRINGIMAGE ifail," ,")
+;  prefix := STRCONC("d01akf(",a," ,",b," ,",epsabs," ,",epsrel," ,",princ-to-string lw)
+;  middle := STRCONC(" ,",princ-to-string liw," ,",princ-to-string ifail," ,")
 ;  end := STRCONC("(",express,"::Expression Float) :: ASP1(F))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -341,10 +341,10 @@
         (setq |liw| (QUOTIENT |lw| 4))
         (setq |prefix|
                  (STRCONC '|d01akf(| |a| '| ,| |b| '| ,| |epsabs| '| ,|
-                          |epsrel| '| ,| (STRINGIMAGE |lw|)))
+                          |epsrel| '| ,| (princ-to-string |lw|)))
         (setq |middle|
-                 (STRCONC '| ,| (STRINGIMAGE |liw|) '| ,|
-                          (STRINGIMAGE |ifail|) '| ,|))
+                 (STRCONC '| ,| (princ-to-string |liw|) '| ,|
+                          (princ-to-string |ifail|) '| ,|))
         (setq |end|
                  (STRCONC '|(| |express|
                           '|::Expression Float) :: ASP1(F))|))
@@ -505,9 +505,9 @@
 ;    -1
 ;  express := htpLabelInputString(htPage,'expression)
 ;  liw := lw/2
-;  prefix := STRCONC('"d01alf(",a," ,",b," ,",STRINGIMAGE npts,",",points,",")
-;  prefix := STRCONC(prefix,epsabs," ,",epsrel," ,",STRINGIMAGE lw)
-;  middle := STRCONC('" ,",STRINGIMAGE liw," ,",STRINGIMAGE ifail," ,")
+;  prefix := STRCONC('"d01alf(",a," ,",b," ,",princ-to-string npts,",",points,",")
+;  prefix := STRCONC(prefix,epsabs," ,",epsrel," ,",princ-to-string lw)
+;  middle := STRCONC('" ,",princ-to-string liw," ,",princ-to-string ifail," ,")
 ;  end := STRCONC('"(",express,"::Expression Float) :: ASP1(F))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -549,13 +549,13 @@
         (setq |liw| (QUOTIENT |lw| 2))
         (setq |prefix|
                  (STRCONC "d01alf(" |a| '| ,| |b| '| ,|
-                          (STRINGIMAGE |npts|) '|,| |points| '|,|))
+                          (princ-to-string |npts|) '|,| |points| '|,|))
         (setq |prefix|
                  (STRCONC |prefix| |epsabs| '| ,| |epsrel| '| ,|
-                          (STRINGIMAGE |lw|)))
+                          (princ-to-string |lw|)))
         (setq |middle|
-                 (STRCONC " ," (STRINGIMAGE |liw|) '| ,|
-                          (STRINGIMAGE |ifail|) '| ,|))
+                 (STRCONC " ," (princ-to-string |liw|) '| ,|
+                          (princ-to-string |ifail|) '| ,|))
         (setq |end|
                  (STRCONC "(" |express|
                           '|::Expression Float) :: ASP1(F))|))
@@ -703,9 +703,9 @@
 ;    -1
 ;  express := htpLabelInputString(htPage,'expression)
 ;  liw := lw/4
-;  prefix := STRCONC('"d01amf(",a," ,",STRINGIMAGE inf," ,")
-;  prefix := STRCONC(prefix,epsabs," ,",epsrel," ,",STRINGIMAGE lw)
-;  middle := STRCONC('" ,",STRINGIMAGE liw," ,",STRINGIMAGE ifail," ,")
+;  prefix := STRCONC('"d01amf(",a," ,",princ-to-string inf," ,")
+;  prefix := STRCONC(prefix,epsabs," ,",epsrel," ,",princ-to-string lw)
+;  middle := STRCONC('" ,",princ-to-string liw," ,",princ-to-string ifail," ,")
 ;  end := STRCONC('"(",express,"::Expression Float) :: ASP1(F))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -744,13 +744,13 @@
         (setq |liw| (QUOTIENT |lw| 4))
         (setq |prefix|
                  (STRCONC "d01amf(" |a| '| ,|
-                          (STRINGIMAGE |inf|) '| ,|))
+                          (princ-to-string |inf|) '| ,|))
         (setq |prefix|
                  (STRCONC |prefix| |epsabs| '| ,| |epsrel| '| ,|
-                          (STRINGIMAGE |lw|)))
+                          (princ-to-string |lw|)))
         (setq |middle|
-                 (STRCONC " ," (STRINGIMAGE |liw|) '| ,|
-                          (STRINGIMAGE |ifail|) '| ,|))
+                 (STRCONC " ," (princ-to-string |liw|) '| ,|
+                          (princ-to-string |ifail|) '| ,|))
         (setq |end|
                  (STRCONC "(" |express|
                           '|::Expression Float) :: ASP1(F))|))
@@ -906,8 +906,8 @@
 ;    -1
 ;  express := htpLabelInputString(htPage,'expression)
 ;  liw := lw/4
-;  prefix := STRCONC("d01anf(",a," ,",b," ,",omega," ,",STRINGIMAGE key," ,",epsabs," ,",epsrel," ,",STRINGIMAGE lw)
-;  middle := STRCONC(" ,",STRINGIMAGE liw," ,",STRINGIMAGE ifail," ,")
+;  prefix := STRCONC("d01anf(",a," ,",b," ,",omega," ,",princ-to-string key," ,",epsabs," ,",epsrel," ,",princ-to-string lw)
+;  middle := STRCONC(" ,",princ-to-string liw," ,",princ-to-string ifail," ,")
 ;  end := STRCONC("(",express,"::Expression Float) :: ASP1(G))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -942,11 +942,11 @@
         (setq |liw| (QUOTIENT |lw| 4))
         (setq |prefix|
                  (STRCONC '|d01anf(| |a| '| ,| |b| '| ,| |omega| '| ,|
-                          (STRINGIMAGE |key|) '| ,| |epsabs| '| ,|
-                          |epsrel| '| ,| (STRINGIMAGE |lw|)))
+                          (princ-to-string |key|) '| ,| |epsabs| '| ,|
+                          |epsrel| '| ,| (princ-to-string |lw|)))
         (setq |middle|
-                 (STRCONC '| ,| (STRINGIMAGE |liw|) '| ,|
-                          (STRINGIMAGE |ifail|) '| ,|))
+                 (STRCONC '| ,| (princ-to-string |liw|) '| ,|
+                          (princ-to-string |ifail|) '| ,|))
         (setq |end|
                  (STRCONC '|(| |express|
                           '|::Expression Float) :: ASP1(G))|))
@@ -1128,10 +1128,10 @@
 ;    -1
 ;  liw := lw/4
 ;  prefix := STRCONC("d01apf(",a," ,",b," ,",alpha," ,",beta," ,")
-;  prefix := STRCONC(prefix,STRINGIMAGE key," ,",epsabs," ,",epsrel," ,")
-;  prefix := STRCONC(prefix,STRINGIMAGE lw," ,",STRINGIMAGE liw," ,")
+;  prefix := STRCONC(prefix,princ-to-string key," ,",epsabs," ,",epsrel," ,")
+;  prefix := STRCONC(prefix,princ-to-string lw," ,",princ-to-string liw," ,")
 ;  end := STRCONC("(",express,"::Expression Float) :: ASP1(G))")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail," ,",end)
+;  linkGen STRCONC(prefix,princ-to-string ifail," ,",end)
 
 (DEFUN |d01apfGen| (|htPage|)
   (PROG (|express| |lw| |a| |b| |alpha| |beta| |epsabs| |epsrel| |type|
@@ -1172,16 +1172,16 @@
                  (STRCONC '|d01apf(| |a| '| ,| |b| '| ,| |alpha| '| ,|
                           |beta| '| ,|))
         (setq |prefix|
-                 (STRCONC |prefix| (STRINGIMAGE |key|) '| ,| |epsabs|
+                 (STRCONC |prefix| (princ-to-string |key|) '| ,| |epsabs|
                           '| ,| |epsrel| '| ,|))
         (setq |prefix|
-                 (STRCONC |prefix| (STRINGIMAGE |lw|) '| ,|
-                          (STRINGIMAGE |liw|) '| ,|))
+                 (STRCONC |prefix| (princ-to-string |lw|) '| ,|
+                          (princ-to-string |liw|) '| ,|))
         (setq |end|
                  (STRCONC '|(| |express|
                           '|::Expression Float) :: ASP1(G))|))
         (|linkGen|
-            (STRCONC |prefix| (STRINGIMAGE |ifail|) '| ,| |end|))))))
+            (STRCONC |prefix| (princ-to-string |ifail|) '| ,| |end|))))))
 
 ;d01aqf() ==
 ;  htInitPage('"D01AQF - 1-D quadrature, adaptive, finite interval, weight function 1/(x-c), Cauchy principal value (Hilbert transform)",nil)
@@ -1320,9 +1320,9 @@
 ;    -1
 ;  liw := lw/4
 ;  prefix := STRCONC("d01aqf(",a," ,",b," ,",c," ,",epsabs," ,",epsrel," ,")
-;  prefix := STRCONC(prefix,STRINGIMAGE lw," ,",STRINGIMAGE liw," ,")
+;  prefix := STRCONC(prefix,princ-to-string lw," ,",princ-to-string liw," ,")
 ;  end := STRCONC("((",express,")::Expression Float) :: ASP1(G))")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail," ,",end)
+;  linkGen STRCONC(prefix,princ-to-string ifail," ,",end)
 
 (DEFUN |d01aqfGen| (|htPage|)
   (PROG (|express| |lw| |a| |b| |c| |epsabs| |epsrel| |error| |ifail|
@@ -1355,13 +1355,13 @@
                  (STRCONC '|d01aqf(| |a| '| ,| |b| '| ,| |c| '| ,|
                           |epsabs| '| ,| |epsrel| '| ,|))
         (setq |prefix|
-                 (STRCONC |prefix| (STRINGIMAGE |lw|) '| ,|
-                          (STRINGIMAGE |liw|) '| ,|))
+                 (STRCONC |prefix| (princ-to-string |lw|) '| ,|
+                          (princ-to-string |liw|) '| ,|))
         (setq |end|
                  (STRCONC '|((| |express|
                           '|)::Expression Float) :: ASP1(G))|))
         (|linkGen|
-            (STRCONC |prefix| (STRINGIMAGE |ifail|) '| ,| |end|))))))
+            (STRCONC |prefix| (princ-to-string |ifail|) '| ,| |end|))))))
 
 ;d01asf() ==
 ;  htInitPage('"D01ASF - 1-D quadrature, adaptive, semi-infinite interval, weight function cos(\omega x) or sin(\omega x)", nil)
@@ -1516,9 +1516,9 @@
 ;    -1
 ;  express := htpLabelInputString(htPage,'expression)
 ;  liw := lw/2
-;  prefix := STRCONC("d01asf(",a," ,",omega," ,",STRINGIMAGE key," ,",epsabs)
-;  prefix := STRCONC(prefix," ,",STRINGIMAGE limlst," ,",STRINGIMAGE lw)
-;  middle := STRCONC(" ,",STRINGIMAGE liw," ,",STRINGIMAGE ifail," ,")
+;  prefix := STRCONC("d01asf(",a," ,",omega," ,",princ-to-string key," ,",epsabs)
+;  prefix := STRCONC(prefix," ,",princ-to-string limlst," ,",princ-to-string lw)
+;  middle := STRCONC(" ,",princ-to-string liw," ,",princ-to-string ifail," ,")
 ;  end := STRCONC("(",express,"::Expression Float) :: ASP1(G))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -1559,13 +1559,13 @@
         (setq |liw| (QUOTIENT |lw| 2))
         (setq |prefix|
                  (STRCONC '|d01asf(| |a| '| ,| |omega| '| ,|
-                          (STRINGIMAGE |key|) '| ,| |epsabs|))
+                          (princ-to-string |key|) '| ,| |epsabs|))
         (setq |prefix|
-                 (STRCONC |prefix| '| ,| (STRINGIMAGE |limlst|) '| ,|
-                          (STRINGIMAGE |lw|)))
+                 (STRCONC |prefix| '| ,| (princ-to-string |limlst|) '| ,|
+                          (princ-to-string |lw|)))
         (setq |middle|
-                 (STRCONC '| ,| (STRINGIMAGE |liw|) '| ,|
-                          (STRINGIMAGE |ifail|) '| ,|))
+                 (STRCONC '| ,| (princ-to-string |liw|) '| ,|
+                          (princ-to-string |ifail|) '| ,|))
         (setq |end|
                  (STRCONC '|(| |express|
                           '|::Expression Float) :: ASP1(G))|))
@@ -1641,8 +1641,8 @@
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      post   := ('"\tab{40} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, xnam, 'F]],
 ;       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
 ;  equationPart := [
@@ -1671,10 +1671,10 @@
            (setq |post| "\\tab{40} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1955,7 +1955,7 @@
 ;    imaglist := [right,:imaglist]
 ;  realstring := bcwords2liststring reallist
 ;  imagstring := bcwords2liststring imaglist
-;  linkGen STRCONC ('"d01gaf([",realstring,"],[",imagstring,"],",STRINGIMAGE n,",", STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"d01gaf([",realstring,"],[",imagstring,"],",princ-to-string n,",", princ-to-string ifail,")")
 
 (DEFUN |d01gafGen| (|htPage|)
   (PROG (|n| |ifail| |alist| |right| |left| |y| |reallist| |imaglist|
@@ -1982,8 +1982,8 @@
              (setq |imagstring| (|bcwords2liststring| |imaglist|))
              (|linkGen|
                  (STRCONC "d01gaf([" |realstring| '|],[|
-                          |imagstring| '|],| (STRINGIMAGE |n|) '|,|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          |imagstring| '|],| (princ-to-string |n|) '|,|
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;d01fcf() ==
 ;  htInitPage('"D01FCF - Multi-dimensional adaptive quadrature over hyper-rectangle",nil)
@@ -2131,8 +2131,8 @@
 ;    "append"/[f(i) for i in 1..ndim] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      post   := ('"\tab{32} ")
-;      rnam := INTERN STRCONC ('"a",STRINGIMAGE i)
-;      inam := INTERN STRCONC ('"b",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"a",princ-to-string i)
+;      inam := INTERN STRCONC ('"b",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'P]],
 ;       ['text,:post],['bcStrings,[10, 1.0, inam, 'P]]]
 ;  equationPart := [
@@ -2165,10 +2165,10 @@
            (setq |post| "\\tab{32} ")
            (setq |rnam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |inam|
                     (INTERN (STRCONC "b"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2381,9 +2381,9 @@
 ;    imaglist := [right,:imaglist]
 ;  astring := bcwords2liststring reallist
 ;  bstring := bcwords2liststring imaglist
-;  prefix := STRCONC("d01fcf(",STRINGIMAGE ndim,", [",astring,"],[",bstring,"], ")
-;  middle := STRCONC(STRINGIMAGE maxpts,", ",eps," ,",STRINGIMAGE lenwrk," ,")
-;  middle := STRCONC(middle,STRINGIMAGE minpts," ,",STRINGIMAGE ifail," ,")
+;  prefix := STRCONC("d01fcf(",princ-to-string ndim,", [",astring,"],[",bstring,"], ")
+;  middle := STRCONC(princ-to-string maxpts,", ",eps," ,",princ-to-string lenwrk," ,")
+;  middle := STRCONC(middle,princ-to-string minpts," ,",princ-to-string ifail," ,")
 ;  end := STRCONC("(",expression,"::Expression Float) :: ASP4(FUNCTN))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -2416,14 +2416,14 @@
              (setq |astring| (|bcwords2liststring| |reallist|))
              (setq |bstring| (|bcwords2liststring| |imaglist|))
              (setq |prefix|
-                      (STRCONC '|d01fcf(| (STRINGIMAGE |ndim|) '|, [|
+                      (STRCONC '|d01fcf(| (princ-to-string |ndim|) '|, [|
                                |astring| '|],[| |bstring| '|], |))
              (setq |middle|
-                      (STRCONC (STRINGIMAGE |maxpts|) '|, | |eps| '| ,|
-                               (STRINGIMAGE |lenwrk|) '| ,|))
+                      (STRCONC (princ-to-string |maxpts|) '|, | |eps| '| ,|
+                               (princ-to-string |lenwrk|) '| ,|))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |minpts|) '| ,|
-                               (STRINGIMAGE |ifail|) '| ,|))
+                      (STRCONC |middle| (princ-to-string |minpts|) '| ,|
+                               (princ-to-string |ifail|) '| ,|))
              (setq |end|
                       (STRCONC '|(| |expression|
                                '|::Expression Float) :: ASP4(FUNCTN))|))
@@ -2573,8 +2573,8 @@
 ;    "append"/[f(i) for i in 1..ndim] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      post   := ('"\tab{32} ")
-;      rnam := INTERN STRCONC ('"a",STRINGIMAGE i)
-;      inam := INTERN STRCONC ('"b",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"a",princ-to-string i)
+;      inam := INTERN STRCONC ('"b",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'P]],
 ;       ['text,:post],['bcStrings,[10, 1.0, inam, 'P]]]
 ;  equationPart := [
@@ -2607,10 +2607,10 @@
            (setq |post| "\\tab{32} ")
            (setq |rnam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |inam|
                     (INTERN (STRCONC "b"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2823,10 +2823,10 @@
 ;    imaglist := [right,:imaglist]
 ;  astring := bcwords2liststring reallist
 ;  bstring := bcwords2liststring imaglist
-;  prefix := STRCONC("d01gbf(",STRINGIMAGE ndim,", [",astring,"],[",bstring,"], ")
-;  middle := STRCONC(STRINGIMAGE maxcls,", ",eps," ,",STRINGIMAGE lenwrk," ,")
-;  middle := STRCONC(middle,STRINGIMAGE mincls," ,[[0.0 for i in 1..")
-;  middle := STRCONC(middle,STRINGIMAGE lenwrk,"]],",STRINGIMAGE ifail," ,")
+;  prefix := STRCONC("d01gbf(",princ-to-string ndim,", [",astring,"],[",bstring,"], ")
+;  middle := STRCONC(princ-to-string maxcls,", ",eps," ,",princ-to-string lenwrk," ,")
+;  middle := STRCONC(middle,princ-to-string mincls," ,[[0.0 for i in 1..")
+;  middle := STRCONC(middle,princ-to-string lenwrk,"]],",princ-to-string ifail," ,")
 ;  end := STRCONC("(",expression,"::Expression Float) :: ASP4(FUNCTN))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -2859,17 +2859,17 @@
              (setq |astring| (|bcwords2liststring| |reallist|))
              (setq |bstring| (|bcwords2liststring| |imaglist|))
              (setq |prefix|
-                      (STRCONC '|d01gbf(| (STRINGIMAGE |ndim|) '|, [|
+                      (STRCONC '|d01gbf(| (princ-to-string |ndim|) '|, [|
                                |astring| '|],[| |bstring| '|], |))
              (setq |middle|
-                      (STRCONC (STRINGIMAGE |maxcls|) '|, | |eps| '| ,|
-                               (STRINGIMAGE |lenwrk|) '| ,|))
+                      (STRCONC (princ-to-string |maxcls|) '|, | |eps| '| ,|
+                               (princ-to-string |lenwrk|) '| ,|))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |mincls|)
+                      (STRCONC |middle| (princ-to-string |mincls|)
                                '| ,[[0.0 for i in 1..|))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |lenwrk|) '|]],|
-                               (STRINGIMAGE |ifail|) '| ,|))
+                      (STRCONC |middle| (princ-to-string |lenwrk|) '|]],|
+                               (princ-to-string |ifail|) '| ,|))
              (setq |end|
                       (STRCONC '|(| |expression|
                                '|::Expression Float) :: ASP4(FUNCTN))|))
@@ -3003,8 +3003,8 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  prefix := STRCONC("d01bbf(",a," ,",b," ,",STRINGIMAGE itype," ,")
-;  end := STRCONC(STRINGIMAGE n," ,",STRINGIMAGE gtype," ,",STRINGIMAGE ifail,")")
+;  prefix := STRCONC("d01bbf(",a," ,",b," ,",princ-to-string itype," ,")
+;  end := STRCONC(princ-to-string n," ,",princ-to-string gtype," ,",princ-to-string ifail,")")
 ;  linkGen STRCONC(prefix,end)
 
 (DEFUN |d01bbfGen| (|htPage|)
@@ -3039,10 +3039,10 @@
                    ('T (SPADDIFFERENCE 1))))
         (setq |prefix|
                  (STRCONC '|d01bbf(| |a| '| ,| |b| '| ,|
-                          (STRINGIMAGE |itype|) '| ,|))
+                          (princ-to-string |itype|) '| ,|))
         (setq |end|
-                 (STRCONC (STRINGIMAGE |n|) '| ,| (STRINGIMAGE |gtype|)
-                          '| ,| (STRINGIMAGE |ifail|) '|)|))
+                 (STRCONC (princ-to-string |n|) '| ,| (princ-to-string |gtype|)
+                          '| ,| (princ-to-string |ifail|) '|)|))
         (|linkGen| (STRCONC |prefix| |end|))))))
 
 \end{chunk}
diff --git a/src/interp/nag-d02.lisp.pamphlet b/src/interp/nag-d02.lisp.pamphlet
index 776fea5..837734e 100644
--- a/src/interp/nag-d02.lisp.pamphlet
+++ b/src/interp/nag-d02.lisp.pamphlet
@@ -140,15 +140,15 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      funct := STRCONC ('"Y[",STRINGIMAGE i ,"]")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      funct := STRCONC ('"Y[",princ-to-string i ,"]")
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{} \tab{2} Enter the initial ")
 ;  middle := STRCONC(middle,'"values of \htbitmap{yi}: \newline \tab{2}")
 ;  yList :=
 ;    "append"/[fb(i) for i in 1..n] where fb(i) ==
-;        ynam := INTERN STRCONC ('"u",STRINGIMAGE i)
+;        ynam := INTERN STRCONC ('"u",princ-to-string i)
 ;        [['bcStrings,[6, 0, ynam, 'F]]]
 ;  yList :=  [['text,:middle],:yList]
 ;  mid:= ('"\blankline \menuitemstyle{} \tab{2} Intermediate values of {\it x}")
@@ -183,13 +183,13 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct|
-                    (STRCONC "Y[" (STRINGIMAGE |i|) ']))
+                    (STRCONC "Y[" (princ-to-string |i|) ']))
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -204,7 +204,7 @@
     (RETURN
       (SEQ (setq |ynam|
                     (INTERN (STRCONC "u"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -438,9 +438,9 @@
 ;    fList := [f,:fList]
 ;    y := rest y
 ;  fstring := bcwords2liststring fList
-;  prefix := STRCONC("d02bbf(", xend,", ", STRINGIMAGE numberOfPoints, ", ",STRINGIMAGE n,", ",STRINGIMAGE irelab)
+;  prefix := STRCONC("d02bbf(", xend,", ", princ-to-string numberOfPoints, ", ",princ-to-string n,", ",princ-to-string irelab)
 ;  prefix := STRCONC(prefix,", ",x,", [", ystring,"],",tol)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE ifail,",(")
+;  prefix := STRCONC(prefix,", ",princ-to-string ifail,",(")
 ;  end := STRCONC(fstring,"::Vector Expression Float)::ASP7('FCN),(",ostring)
 ;  end := STRCONC(end,"::Vector MachineFloat)::ASP8('OUTPUT))")
 ;  linkGen STRCONC(prefix,end)
@@ -483,14 +483,14 @@
              (setq |fstring| (|bcwords2liststring| |fList|))
              (setq |prefix|
                       (STRCONC '|d02bbf(| |xend| '|, |
-                               (STRINGIMAGE |numberOfPoints|) '|, |
-                               (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |irelab|)))
+                               (princ-to-string |numberOfPoints|) '|, |
+                               (princ-to-string |n|) '|, |
+                               (princ-to-string |irelab|)))
              (setq |prefix|
                       (STRCONC |prefix| '|, | |x| '|, [| |ystring|
                                '|],| |tol|))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |ifail|)
+                      (STRCONC |prefix| '|, | (princ-to-string |ifail|)
                                '|,(|))
              (setq |end|
                       (STRCONC |fstring|
@@ -640,15 +640,15 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      funct := STRCONC ('"Y[",STRINGIMAGE i ,"]")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      funct := STRCONC ('"Y[",princ-to-string i ,"]")
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{} \tab{2} Enter the initial ")
 ;  middle := STRCONC(middle,'"values of \htbitmap{yi}: \newline ")
 ;  yList :=
 ;    "append"/[fb(i) for i in 1..n] where fb(i) ==
-;        ynam := INTERN STRCONC ('"u",STRINGIMAGE i)
+;        ynam := INTERN STRCONC ('"u",princ-to-string i)
 ;        [['bcStrings,[6, 0, ynam, 'F]]]
 ;  yList :=  [['text,:middle],:yList]
 ;  mid:= ('"\blankline \menuitemstyle{} \tab{2} Enter the function below ")
@@ -684,13 +684,13 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct|
-                    (STRCONC "Y[" (STRINGIMAGE |i|) ']))
+                    (STRCONC "Y[" (princ-to-string |i|) ']))
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -705,7 +705,7 @@
     (RETURN
       (SEQ (setq |ynam|
                     (INTERN (STRCONC "u"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -929,9 +929,9 @@
 ;    fList := [f,:fList]
 ;    y := rest y
 ;  fstring := bcwords2liststring fList
-;  prefix := STRCONC("d02bhf(", xend,", ",STRINGIMAGE n,", ",STRINGIMAGE irelab)
+;  prefix := STRCONC("d02bhf(", xend,", ",princ-to-string n,", ",princ-to-string irelab)
 ;  mid := STRCONC(", ",hmax,", ",x,", [", ystring,"],")
-;  mid := STRCONC(mid,tol,", ",STRINGIMAGE ifail,",(",g)
+;  mid := STRCONC(mid,tol,", ",princ-to-string ifail,",(",g)
 ;  mid := STRCONC(mid,"::Expression Float)::ASP9('G),(")
 ;  end := STRCONC(fstring,"::Vector Expression Float)::ASP7('FCN))")
 ;  linkGen STRCONC(prefix,mid,end)
@@ -969,13 +969,13 @@
              (setq |fstring| (|bcwords2liststring| |fList|))
              (setq |prefix|
                       (STRCONC '|d02bhf(| |xend| '|, |
-                               (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |irelab|)))
+                               (princ-to-string |n|) '|, |
+                               (princ-to-string |irelab|)))
              (setq |mid|
                       (STRCONC '|, | |hmax| '|, | |x| '|, [| |ystring|
                                '|],|))
              (setq |mid|
-                      (STRCONC |mid| |tol| '|, | (STRINGIMAGE |ifail|)
+                      (STRCONC |mid| |tol| '|, | (princ-to-string |ifail|)
                                '|,(| |g|))
              (setq |mid|
                       (STRCONC |mid|
@@ -1114,15 +1114,15 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      funct := STRCONC ('"Y[",STRINGIMAGE i ,"]")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      funct := STRCONC ('"Y[",princ-to-string i ,"]")
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{} \tab{2} Enter the initial ")
 ;  middle := STRCONC(middle,'"values of \htbitmap{yi}: \newline ")
 ;  yList :=
 ;    "append"/[fb(i) for i in 1..n] where fb(i) ==
-;        ynam := INTERN STRCONC ('"u",STRINGIMAGE i)
+;        ynam := INTERN STRCONC ('"u",princ-to-string i)
 ;        [['bcStrings,[6, 0, ynam, 'F]]]
 ;  yList :=  [['text,:middle],:yList]
 ;  mid:= ('"\blankline \menuitemstyle{} \tab{2} Intermediate values of {\it x}")
@@ -1161,13 +1161,13 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct|
-                    (STRCONC "Y[" (STRINGIMAGE |i|) ']))
+                    (STRCONC "Y[" (princ-to-string |i|) ']))
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1182,7 +1182,7 @@
     (RETURN
       (SEQ (setq |ynam|
                     (INTERN (STRCONC "u"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -1439,8 +1439,8 @@
 ;    fList := [f,:fList]
 ;    y := rest y
 ;  fstring := bcwords2liststring fList
-;  prefix := STRCONC("d02cjf(",xend,", ",STRINGIMAGE numberOfPoints ,", ", STRINGIMAGE n,", ",tol,",_"",relabs)
-;  mid := STRCONC("_", ",x ,", [", ystring,"],",STRINGIMAGE ifail)
+;  prefix := STRCONC("d02cjf(",xend,", ",princ-to-string numberOfPoints ,", ", princ-to-string n,", ",tol,",_"",relabs)
+;  mid := STRCONC("_", ",x ,", [", ystring,"],",princ-to-string ifail)
 ;  mid := STRCONC(mid,",(",g,"::Expression Float)::ASP9('G),(",fstring)
 ;  end := STRCONC("::Vector Expression Float)::ASP7('FCN),(",ostring)
 ;  end := STRCONC(end,"::Vector MachineFloat)::ASP8('OUTPUT))")
@@ -1486,12 +1486,12 @@
              (setq |fstring| (|bcwords2liststring| |fList|))
              (setq |prefix|
                       (STRCONC '|d02cjf(| |xend| '|, |
-                               (STRINGIMAGE |numberOfPoints|) '|, |
-                               (STRINGIMAGE |n|) '|, | |tol| '|,"|
+                               (princ-to-string |numberOfPoints|) '|, |
+                               (princ-to-string |n|) '|, | |tol| '|,"|
                                |relabs|))
              (setq |mid|
                       (STRCONC '|", | |x| '|, [| |ystring| '|],|
-                               (STRINGIMAGE |ifail|)))
+                               (princ-to-string |ifail|)))
              (setq |mid|
                       (STRCONC |mid| '|,(| |g|
                                '|::Expression Float)::ASP9('G),(|
@@ -1634,15 +1634,15 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      funct := STRCONC ('"Y[",STRINGIMAGE i ,"]")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      funct := STRCONC ('"Y[",princ-to-string i ,"]")
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{} \tab{2} Enter the initial ")
 ;  middle := STRCONC(middle,'"values of \htbitmap{yi}: \newline ")
 ;  yList :=
 ;    "append"/[fb(i) for i in 1..n] where fb(i) ==
-;        ynam := INTERN STRCONC ('"u",STRINGIMAGE i)
+;        ynam := INTERN STRCONC ('"u",princ-to-string i)
 ;        [['bcStrings,[6, 0, ynam, 'F]]]
 ;  yList :=  [['text,:middle],:yList]
 ;  mid:= ('"\blankline \menuitemstyle{} \tab{2} Intermediate values of {\it x}")
@@ -1684,13 +1684,13 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct|
-                    (STRCONC "Y[" (STRINGIMAGE |i|) ']))
+                    (STRCONC "Y[" (princ-to-string |i|) ']))
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1705,7 +1705,7 @@
     (RETURN
       (SEQ (setq |ynam|
                     (INTERN (STRCONC "u"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -1976,9 +1976,9 @@
 ;    fList := [f,:fList]
 ;    y := rest y
 ;  fstring := bcwords2liststring fList
-;  prefix := STRCONC("d02ejf(",xend,", ",STRINGIMAGE numberOfPoints,", ", STRINGIMAGE n,",_"",relabs,"_", ")
-;  mid:=STRCONC(STRINGIMAGE iw,", ",x ,", [", ystring,"], ",tol,", ")
-;  mid := STRCONC(mid,STRINGIMAGE ifail,",(",g,"::Expression Float)::ASP9(G),(")
+;  prefix := STRCONC("d02ejf(",xend,", ",princ-to-string numberOfPoints,", ", princ-to-string n,",_"",relabs,"_", ")
+;  mid:=STRCONC(princ-to-string iw,", ",x ,", [", ystring,"], ",tol,", ")
+;  mid := STRCONC(mid,princ-to-string ifail,",(",g,"::Expression Float)::ASP9(G),(")
 ;  end := STRCONC(fstring,"::Vector Expression Float)::ASP7('FCN),(",fstring)
 ;  end := STRCONC(end,"::Vector Expression Float)::ASP31('PEDERV),(",ostring)
 ;  end := STRCONC(end,"::Vector MachineFloat)::ASP8('OUTPUT))")
@@ -2025,13 +2025,13 @@
              (setq |fstring| (|bcwords2liststring| |fList|))
              (setq |prefix|
                       (STRCONC '|d02ejf(| |xend| '|, |
-                               (STRINGIMAGE |numberOfPoints|) '|, |
-                               (STRINGIMAGE |n|) '|,"| |relabs| '|", |))
+                               (princ-to-string |numberOfPoints|) '|, |
+                               (princ-to-string |n|) '|,"| |relabs| '|", |))
              (setq |mid|
-                      (STRCONC (STRINGIMAGE |iw|) '|, | |x| '|, [|
+                      (STRCONC (princ-to-string |iw|) '|, | |x| '|, [|
                                |ystring| '|], | |tol| '|, |))
              (setq |mid|
-                      (STRCONC |mid| (STRINGIMAGE |ifail|) '|,(| |g|
+                      (STRCONC |mid| (princ-to-string |ifail|) '|,(| |g|
                                '|::Expression Float)::ASP9(G),(|))
              (setq |end|
                       (STRCONC |fstring|
@@ -2214,9 +2214,9 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      funct := STRCONC ('"Y[",STRINGIMAGE i ,"]")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      funct := STRCONC ('"Y[",princ-to-string i ,"]")
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{} \tab{2} Enter known or estimated ")
 ;  middle := STRCONC(middle,'"values of \htbitmap{yi} at a and b, ")
@@ -2227,7 +2227,7 @@
 ;    "append"/[fb(i) for i in 1..n] where fb(i) ==
 ;       labelList :=
 ;         "append"/[fc(i,j) for j in 1..2] where fc(i,j) ==
-;            unam := INTERN STRCONC ('"u",STRINGIMAGE i,STRINGIMAGE j)
+;            unam := INTERN STRCONC ('"u",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[6, 0, unam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -2239,14 +2239,14 @@
 ;    "append"/[fd(i) for i in 1..n] where fd(i) ==
 ;       labelList :=
 ;         "append"/[fe(i,j) for j in 1..2] where fe(i,j) ==
-;            vnam := INTERN STRCONC ('"v",STRINGIMAGE i,STRINGIMAGE j)
+;            vnam := INTERN STRCONC ('"v",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[6, 0, vnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
 ;  vList :=  [['text,:mid],:vList]
 ;  xList :=
 ;    "append"/[ff(i) for i in 1..mnp] where ff(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[8, "0.0", xnam, 'F]]]
 ;  end := ('"\blankline \menuitemstyle{} \tab{2} Enter the initial mesh ")
 ;  end := STRCONC(end,'"{\it X(mnp)}: \newline ")
@@ -2282,13 +2282,13 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct|
-                    (STRCONC "Y[" (STRINGIMAGE |i|) ']))
+                    (STRCONC "Y[" (princ-to-string |i|) ']))
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2302,8 +2302,8 @@
   (PROG (|unam|)
     (RETURN
       (SEQ (setq |unam|
-                    (INTERN (STRCONC "u" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "u" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -2331,8 +2331,8 @@
   (PROG (|vnam|)
     (RETURN
       (SEQ (setq |vnam|
-                    (INTERN (STRCONC "v" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "v" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -2361,7 +2361,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS '|0.0|
@@ -2842,11 +2842,11 @@
 ;    y := rest y
 ;  fstring := bcwords2liststring fList
 ;  Y:='Y
-;  prefix := STRCONC("d02gaf(",ustring,", ",vstring,", ",STRINGIMAGE n,", ")
+;  prefix := STRCONC("d02gaf(",ustring,", ",vstring,", ",princ-to-string n,", ")
 ;  prefix := STRCONC(prefix,a,", ",b,", ",tol,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE mnp,", ",STRINGIMAGE lw,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE liw,", [",xstring,"], ",STRINGIMAGE np)
-;  end:=STRCONC (",",STRINGIMAGE ifail,",(",fstring,"::Vector Expression Float")
+;  prefix := STRCONC(prefix,princ-to-string mnp,", ",princ-to-string lw,", ")
+;  prefix := STRCONC(prefix,princ-to-string liw,", [",xstring,"], ",princ-to-string np)
+;  end:=STRCONC (",",princ-to-string ifail,",(",fstring,"::Vector Expression Float")
 ;  linkGen STRCONC (prefix,end,")::ASP7('FCN))")
 
 (DEFUN |d02gafGen| (|htPage|)
@@ -2948,18 +2948,18 @@
              (setq Y 'Y)
              (setq |prefix|
                       (STRCONC '|d02gaf(| |ustring| '|, | |vstring|
-                               '|, | (STRINGIMAGE |n|) '|, |))
+                               '|, | (princ-to-string |n|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |a| '|, | |b| '|, | |tol|
                                '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |mnp|) '|, |
-                               (STRINGIMAGE |lw|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |mnp|) '|, |
+                               (princ-to-string |lw|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |liw|) '|, [|
-                               |xstring| '|], | (STRINGIMAGE |np|)))
+                      (STRCONC |prefix| (princ-to-string |liw|) '|, [|
+                               |xstring| '|], | (princ-to-string |np|)))
              (setq |end|
-                      (STRCONC '|,| (STRINGIMAGE |ifail|) '|,(|
+                      (STRCONC '|,| (princ-to-string |ifail|) '|,(|
                                |fstring| '|::Vector Expression Float|))
              (|linkGen| (STRCONC |prefix| |end| '|)::ASP7('FCN))|)))))))
 
@@ -3126,7 +3126,7 @@
 ;    "append"/[fa(i,n) for i in 1..n] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[fb(i,j) for j in 1..n] where fb(i,j) ==
-;            cnam := INTERN STRCONC ('"c",STRINGIMAGE i,STRINGIMAGE j)
+;            cnam := INTERN STRCONC ('"c",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[6, 0, cnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -3136,7 +3136,7 @@
 ;    "append"/[fc(i,n) for i in 1..n] where fc(i,n) ==
 ;       labelList :=
 ;         "append"/[fd(i,j) for j in 1..n] where fd(i,j) ==
-;            dnam := INTERN STRCONC ('"d",STRINGIMAGE i,STRINGIMAGE j)
+;            dnam := INTERN STRCONC ('"d",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[6, 0, dnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -3145,7 +3145,7 @@
 ;  middle := STRCONC(middle,"\newline ")
 ;  gamList :=
 ;    "append"/[fe(i) for i in 1..n] where fe(i) ==
-;      gamnam := INTERN STRCONC ('"gam",STRINGIMAGE i)
+;      gamnam := INTERN STRCONC ('"gam",princ-to-string i)
 ;      [['bcStrings,[6, 0, gamnam, 'F]]]
 ;  prefix := ('"\newline ")
 ;  gamList := [['text,:middle],:gamList]
@@ -3156,7 +3156,7 @@
 ;    "append"/[ff(i,n) for i in 1..n] where ff(i,n) ==
 ;       labelList :=
 ;         "append"/[fg(i,j) for j in 1..n] where fg(i,j) ==
-;            fnam := INTERN STRCONC ('"f",STRINGIMAGE i,STRINGIMAGE j)
+;            fnam := INTERN STRCONC ('"f",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[6, 0, fnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -3165,13 +3165,13 @@
 ;  mid := STRCONC(mid,'"\newline ")
 ;  gList :=
 ;    "append"/[fh(i) for i in 1..n] where fh(i) ==
-;      gnam := INTERN STRCONC ('"g",STRINGIMAGE i)
+;      gnam := INTERN STRCONC ('"g",princ-to-string i)
 ;      [['bcStrings,[6, 0, gnam, 'F]]]
 ;  prefix := ('"\newline ")
 ;  gList := [['text,:middle],:gList]
 ;  xList :=
 ;    "append"/[fi(i) for i in 1..mnp] where fi(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[8, "0.0", xnam, 'F]]]
 ;  end := ('"\blankline \menuitemstyle{} \tab{2} The initial mesh {\it X(mnp)}")
 ;  end := STRCONC(end,'", (all entries = 0 if np < 4): \newline ")
@@ -3205,8 +3205,8 @@
   (PROG (|cnam|)
     (RETURN
       (SEQ (setq |cnam|
-                    (INTERN (STRCONC "c" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "c" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -3234,8 +3234,8 @@
   (PROG (|dnam|)
     (RETURN
       (SEQ (setq |dnam|
-                    (INTERN (STRCONC "d" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "d" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -3264,7 +3264,7 @@
     (RETURN
       (SEQ (setq |gamnam|
                     (INTERN (STRCONC "gam"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -3276,8 +3276,8 @@
   (PROG (|fnam|)
     (RETURN
       (SEQ (setq |fnam|
-                    (INTERN (STRCONC "f" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "f" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -3306,7 +3306,7 @@
     (RETURN
       (SEQ (setq |gnam|
                     (INTERN (STRCONC "g"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -3319,7 +3319,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS '|0.0|
@@ -3838,11 +3838,11 @@
 ;    clist := []
 ;  cmatlist := reverse cmatlist
 ;  cmatstr := bcwords2liststring [bcwords2liststring x for x in cmatlist]
-;  prefix := STRCONC("d02gbf(",STRINGIMAGE a,", ",STRINGIMAGE b,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",tol,", ",STRINGIMAGE mnp,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lw,", ",STRINGIMAGE liw,", ")
+;  prefix := STRCONC("d02gbf(",princ-to-string a,", ",princ-to-string b,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",tol,", ",princ-to-string mnp,", ")
+;  prefix := STRCONC(prefix,princ-to-string lw,", ",princ-to-string liw,", ")
 ;  prefix := STRCONC(prefix,cmatstr,"::Matrix DoubleFloat,",dmatstr,"::Matrix DoubleFloat,[",gamstr,"]::Matrix DoubleFloat,[",xstring,"]::Matrix DoubleFloat, ")
-;  mid := STRCONC(STRINGIMAGE np,", ",STRINGIMAGE ifail,", ")
+;  mid := STRCONC(princ-to-string np,", ",princ-to-string ifail,", ")
 ;  end := STRCONC("(",fmatstr,"::Matrix(Expression(Float)))::ASP77(FCNF),(",gstring)
 ;  linkGen STRCONC(prefix,mid,end,"::Vector(Expression(Float)))::ASP78(FCNG))")
 
@@ -3986,14 +3986,14 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G167178)))))))))
              (setq |prefix|
-                      (STRCONC '|d02gbf(| (STRINGIMAGE |a|) '|, |
-                               (STRINGIMAGE |b|) '|, |))
+                      (STRCONC '|d02gbf(| (princ-to-string |a|) '|, |
+                               (princ-to-string |b|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, | |tol|
-                               '|, | (STRINGIMAGE |mnp|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |n|) '|, | |tol|
+                               '|, | (princ-to-string |mnp|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lw|) '|, |
-                               (STRINGIMAGE |liw|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |lw|) '|, |
+                               (princ-to-string |liw|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |cmatstr|
                                '|::Matrix DoubleFloat,| |dmatstr|
@@ -4001,8 +4001,8 @@
                                '|]::Matrix DoubleFloat,[| |xstring|
                                '|]::Matrix DoubleFloat, |))
              (setq |mid|
-                      (STRCONC (STRINGIMAGE |np|) '|, |
-                               (STRINGIMAGE |ifail|) '|, |))
+                      (STRCONC (princ-to-string |np|) '|, |
+                               (princ-to-string |ifail|) '|, |))
              (setq |end|
                       (STRCONC '|(| |fmatstr|
                                '|::Matrix(Expression(Float)))::ASP77(FCNF),(|
@@ -4172,7 +4172,7 @@
 ;  m = '5 =>d02kefDefaultSolve(htPage,match,k,tol,elam,delam,maxit,maxfun,ifail)
 ;  xpList :=
 ;    "append"/[fa(i) for i in 1..m] where fa(i) ==
-;      xpnam := INTERN STRCONC ('"xp",STRINGIMAGE i)
+;      xpnam := INTERN STRCONC ('"xp",princ-to-string i)
 ;      [['bcStrings,[10, "0.0", xpnam, 'EM]]]
 ;  middle:=('"\blankline \menuitemstyle{} \tab{2} Value of {\it p} for COEFFN:")
 ;  middle := STRCONC(middle,"\newline ")
@@ -4189,14 +4189,14 @@
 ;  middle := STRCONC(middle,"for BDYVAL: \newline ")
 ;  ylList :=
 ;    "append"/[fb(i) for i in 1..2] where fb(i) ==
-;      ylnam := INTERN STRCONC ('"yl",STRINGIMAGE i)
+;      ylnam := INTERN STRCONC ('"yl",princ-to-string i)
 ;      [['bcStrings,[42, "0.0", ylnam, 'EM]]]
 ;  ylList := [['text,:middle],:ylList]
 ;  middle:=('"\blankline \menuitemstyle{} \tab{2} Values of YR(1) & YR(2) ")
 ;  middle := STRCONC(middle,"for BDYVAL: \newline ")
 ;  yrList :=
 ;    "append"/[fc(i) for i in 1..2] where fc(i) ==
-;      yrnam := INTERN STRCONC ('"yr",STRINGIMAGE i)
+;      yrnam := INTERN STRCONC ('"yr",princ-to-string i)
 ;      [['bcStrings,[42, "0.0", yrnam, 'EM]]]
 ;  yrList := [['text,:middle],:yrList]
 ;  middle:=('"\blankline \menuitemstyle{} \tab{2} Maximum step size ")
@@ -4205,7 +4205,7 @@
 ;    "append"/[fd(i,m) for i in 1..2] where fd(i,m) ==
 ;       labelList :=
 ;         "append"/[fe(i,j) for j in 1..m] where fe(i,j) ==
-;            hnam := INTERN STRCONC ('"h",STRINGIMAGE i,STRINGIMAGE j)
+;            hnam := INTERN STRCONC ('"h",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[6, "0.0", hnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -4239,7 +4239,7 @@
     (RETURN
       (SEQ (setq |xpnam|
                     (INTERN (STRCONC "xp"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 10
                                     (CONS '|0.0|
@@ -4252,7 +4252,7 @@
     (RETURN
       (SEQ (setq |ylnam|
                     (INTERN (STRCONC "yl"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 42
                                     (CONS '|0.0|
@@ -4265,7 +4265,7 @@
     (RETURN
       (SEQ (setq |yrnam|
                     (INTERN (STRCONC "yr"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 42
                                     (CONS '|0.0|
@@ -4277,8 +4277,8 @@
   (PROG (|hnam|)
     (RETURN
       (SEQ (setq |hnam|
-                    (INTERN (STRCONC "h" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "h" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -4679,11 +4679,11 @@
 ;    xList := [x,:xList]
 ;    y := rest y
 ;  xstring := bcwords2liststring xList
-;  prefix := STRCONC("d02kef([",xstring,"]::Matrix DoubleFloat, ",STRINGIMAGE m)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE k,", ",tol,", ",STRINGIMAGE maxfun)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE match,", ",STRINGIMAGE elam,", ")
-;  prefix:=STRCONC(prefix,STRINGIMAGE delam,", ",hstring,", ",STRINGIMAGE maxit)
-;  end := STRCONC(", ",STRINGIMAGE ifail,",(",cstring,"::Vector(Expression Float))::ASP10(COEFFN)")
+;  prefix := STRCONC("d02kef([",xstring,"]::Matrix DoubleFloat, ",princ-to-string m)
+;  prefix := STRCONC(prefix,", ",princ-to-string k,", ",tol,", ",princ-to-string maxfun)
+;  prefix := STRCONC(prefix,", ",princ-to-string match,", ",princ-to-string elam,", ")
+;  prefix:=STRCONC(prefix,princ-to-string delam,", ",hstring,", ",princ-to-string maxit)
+;  end := STRCONC(", ",princ-to-string ifail,",(",cstring,"::Vector(Expression Float))::ASP10(COEFFN)")
 ;  end := STRCONC(end,", (",bstring,"::Matrix Expression Float)::ASP80('BDYVAL))")
 ;  linkGen STRCONC (prefix,end)
 
@@ -4786,18 +4786,18 @@
              (setq |prefix|
                       (STRCONC '|d02kef([| |xstring|
                                '|]::Matrix DoubleFloat, |
-                               (STRINGIMAGE |m|)))
+                               (princ-to-string |m|)))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |k|) '|, |
-                               |tol| '|, | (STRINGIMAGE |maxfun|)))
+                      (STRCONC |prefix| '|, | (princ-to-string |k|) '|, |
+                               |tol| '|, | (princ-to-string |maxfun|)))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |match|)
-                               '|, | (STRINGIMAGE |elam|) '|, |))
+                      (STRCONC |prefix| '|, | (princ-to-string |match|)
+                               '|, | (princ-to-string |elam|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |delam|) '|, |
-                               |hstring| '|, | (STRINGIMAGE |maxit|)))
+                      (STRCONC |prefix| (princ-to-string |delam|) '|, |
+                               |hstring| '|, | (princ-to-string |maxit|)))
              (setq |end|
-                      (STRCONC '|, | (STRINGIMAGE |ifail|) '|,(|
+                      (STRCONC '|, | (princ-to-string |ifail|) '|,(|
                                |cstring|
                                '|::Vector(Expression Float))::ASP10(COEFFN)|))
              (setq |end|
@@ -5082,9 +5082,9 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
 ;      prefix := ('"\newline {\em Function f")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      funct := STRCONC ('"Y[",STRINGIMAGE i ,"]")
-;      fnam := INTERN STRCONC ('"f",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      funct := STRCONC ('"Y[",princ-to-string i ,"]")
+;      fnam := INTERN STRCONC ('"f",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, fnam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{} \tab{2} Enter the functions ")
 ;  middle := STRCONC(middle,'"\htbitmap{gi} below ")
@@ -5092,16 +5092,16 @@
 ;  gList :=
 ;    "append"/[fb(i) for i in 1..n] where fb(i) ==
 ;      prefix := ('"\newline {\em Function g")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
-;      fnc := STRCONC ('"YA[",STRINGIMAGE i ,"]")
-;      gnam := INTERN STRCONC ('"g",STRINGIMAGE i)
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
+;      fnc := STRCONC ('"YA[",princ-to-string i ,"]")
+;      gnam := INTERN STRCONC ('"g",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, fnc, gnam, 'EM]]]
 ;  gList :=  [['text,:middle],:gList]
 ;  mid:= ('"\blankline \menuitemstyle{} \tab{2} Enter the array ")
 ;  mid := STRCONC(mid,'"{\it x(mnp)}: \newline ")
 ;  xList :=
 ;    "append"/[fc(i) for i in 1..mnp] where fc(i) ==
-;        xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;        xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;        [['bcStrings,[4, 0, xnam, 'F]]]
 ;  xList :=  [['text,:mid],:xList]
 ;  equationPart := [
@@ -5139,13 +5139,13 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function f")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct|
-                    (STRCONC "Y[" (STRINGIMAGE |i|) ']))
+                    (STRCONC "Y[" (princ-to-string |i|) ']))
            (setq |fnam|
                     (INTERN (STRCONC "f"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -5160,13 +5160,13 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function g")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |fnc|
-                    (STRCONC "YA[" (STRINGIMAGE |i|) ']))
+                    (STRCONC "YA[" (princ-to-string |i|) ']))
            (setq |gnam|
                     (INTERN (STRCONC "g"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -5181,7 +5181,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 4
                                     (CONS 0
@@ -5611,15 +5611,15 @@
 ;    fList := [f,:fList]
 ;    y := rest y
 ;  fstring := bcwords2liststring fList
-;  prefix := STRCONC("d02raf(",STRINGIMAGE n,", ",STRINGIMAGE mnp,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE numbeg,", ",STRINGIMAGE nummix,", ")
-;  prefix := STRCONC(prefix,tol,", ",STRINGIMAGE init,", ",STRINGIMAGE iy,", ")
-;  middle:= STRCONC(STRINGIMAGE ijac,", ",STRINGIMAGE lwork,", ")
-;  middle := STRCONC(middle,STRINGIMAGE liwork,", ",STRINGIMAGE np,", [")
-;  middle := STRCONC(middle,xstring,"],[[0.0 for i in 1..", STRINGIMAGE mnp)
-;  middle := STRCONC(middle,"] for j in 1..",STRINGIMAGE iy,"]")
-;  middle := STRCONC(middle,":: Matrix DoubleFloat,",STRINGIMAGE deleps,", ")
-;  middle := STRCONC(middle,STRINGIMAGE ifail,", (",fstring,"::Vector ")
+;  prefix := STRCONC("d02raf(",princ-to-string n,", ",princ-to-string mnp,", ")
+;  prefix := STRCONC(prefix,princ-to-string numbeg,", ",princ-to-string nummix,", ")
+;  prefix := STRCONC(prefix,tol,", ",princ-to-string init,", ",princ-to-string iy,", ")
+;  middle:= STRCONC(princ-to-string ijac,", ",princ-to-string lwork,", ")
+;  middle := STRCONC(middle,princ-to-string liwork,", ",princ-to-string np,", [")
+;  middle := STRCONC(middle,xstring,"],[[0.0 for i in 1..", princ-to-string mnp)
+;  middle := STRCONC(middle,"] for j in 1..",princ-to-string iy,"]")
+;  middle := STRCONC(middle,":: Matrix DoubleFloat,",princ-to-string deleps,", ")
+;  middle := STRCONC(middle,princ-to-string ifail,", (",fstring,"::Vector ")
 ;  middle := STRCONC(middle,"Expression Float)::ASP41('FCN,'JACOBF,'JACEPS),(")
 ;  middle := STRCONC(middle,gstring,"::Vector Expression Float)::ASP42('G,'JACOBG,")
 ;  middle := STRCONC(middle,"'JACGEP))")
@@ -5669,33 +5669,33 @@
                             (setq |y| (CDR |y|))))))
              (setq |fstring| (|bcwords2liststring| |fList|))
              (setq |prefix|
-                      (STRCONC '|d02raf(| (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |mnp|) '|, |))
+                      (STRCONC '|d02raf(| (princ-to-string |n|) '|, |
+                               (princ-to-string |mnp|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |numbeg|) '|, |
-                               (STRINGIMAGE |nummix|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |numbeg|) '|, |
+                               (princ-to-string |nummix|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |tol| '|, |
-                               (STRINGIMAGE |init|) '|, |
-                               (STRINGIMAGE |iy|) '|, |))
+                               (princ-to-string |init|) '|, |
+                               (princ-to-string |iy|) '|, |))
              (setq |middle|
-                      (STRCONC (STRINGIMAGE |ijac|) '|, |
-                               (STRINGIMAGE |lwork|) '|, |))
+                      (STRCONC (princ-to-string |ijac|) '|, |
+                               (princ-to-string |lwork|) '|, |))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |liwork|) '|, |
-                               (STRINGIMAGE |np|) '|, [|))
+                      (STRCONC |middle| (princ-to-string |liwork|) '|, |
+                               (princ-to-string |np|) '|, [|))
              (setq |middle|
                       (STRCONC |middle| |xstring|
                                '|],[[0.0 for i in 1..|
-                               (STRINGIMAGE |mnp|)))
+                               (princ-to-string |mnp|)))
              (setq |middle|
                       (STRCONC |middle| '|] for j in 1..|
-                               (STRINGIMAGE |iy|) ']))
+                               (princ-to-string |iy|) ']))
              (setq |middle|
                       (STRCONC |middle| '|:: Matrix DoubleFloat,|
-                               (STRINGIMAGE |deleps|) '|, |))
+                               (princ-to-string |deleps|) '|, |))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |ifail|) '|, (|
+                      (STRCONC |middle| (princ-to-string |ifail|) '|, (|
                                |fstring| '|::Vector |))
              (setq |middle|
                       (STRCONC |middle|
diff --git a/src/interp/nag-d03.lisp.pamphlet b/src/interp/nag-d03.lisp.pamphlet
index bb0644c..cf6166c 100644
--- a/src/interp/nag-d03.lisp.pamphlet
+++ b/src/interp/nag-d03.lisp.pamphlet
@@ -270,7 +270,7 @@
 ;    "append"/[fa(i) for i in 1..lda] where fa(i) ==
 ;       labelList :=
 ;         "append"/[fb(i,j) for j in 1..7] where fb(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i,STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[5, 0, anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -278,14 +278,14 @@
 ;  middle := STRCONC(middle,'"{\it rhs(lda)}: \newline ")
 ;  rList :=
 ;    "append"/[fc(i) for i in 1..lda] where fc(i) ==
-;        rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
+;        rnam := INTERN STRCONC ('"r",princ-to-string i)
 ;        [['bcStrings,[6, "0.0", rnam, 'F]]]
 ;  rList :=  [['text,:middle],:rList]
 ;  mid:= ('"\blankline \menuitemstyle{} \tab{2} Enter the matrix ")
 ;  mid := STRCONC(mid,'" {\it ub(ngx*ngy)}: \newline ")
 ;  uList :=
 ;    "append"/[fd(i) for i in 1..(ngx*ngy)] where fd(i) ==
-;        unam := INTERN STRCONC ('"u",STRINGIMAGE i)
+;        unam := INTERN STRCONC ('"u",princ-to-string i)
 ;        [['bcStrings,[6, 0, unam, 'F]]]
 ;  uList :=  [['text,:mid],:uList]
 ;  equationPart := [
@@ -315,8 +315,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 5
                                     (CONS 0
@@ -345,7 +345,7 @@
     (RETURN
       (SEQ (setq |rnam|
                     (INTERN (STRCONC "r"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -358,7 +358,7 @@
     (RETURN
       (SEQ (setq |unam|
                     (INTERN (STRCONC "u"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -520,10 +520,10 @@
 ;    rowList := []
 ;  vList := reverse vList
 ;  astring := bcwords2liststring [bcwords2liststring x for x in vList]
-;  prefix := STRCONC("d03edf(", STRINGIMAGE ngx,", ",STRINGIMAGE ngy,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ",STRINGIMAGE maxit,", ",acc)
-;  mid := STRCONC(", ",STRINGIMAGE iout,", ",astring,"::Matrix DoubleFloat,[")
-;  mid := STRCONC(mid,rstring,"],[",ustring,"],",STRINGIMAGE ifail,")")
+;  prefix := STRCONC("d03edf(", princ-to-string ngx,", ",princ-to-string ngy,", ")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ",princ-to-string maxit,", ",acc)
+;  mid := STRCONC(", ",princ-to-string iout,", ",astring,"::Matrix DoubleFloat,[")
+;  mid := STRCONC(mid,rstring,"],[",ustring,"],",princ-to-string ifail,")")
 ;  linkGen STRCONC(prefix,mid)
 
 (DEFUN |d03edfLongGen| (|htPage|)
@@ -589,17 +589,17 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G166212)))))))))
              (setq |prefix|
-                      (STRCONC '|d03edf(| (STRINGIMAGE |ngx|) '|, |
-                               (STRINGIMAGE |ngy|) '|, |))
+                      (STRCONC '|d03edf(| (princ-to-string |ngx|) '|, |
+                               (princ-to-string |ngy|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |
-                               (STRINGIMAGE |maxit|) '|, | |acc|))
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, |
+                               (princ-to-string |maxit|) '|, | |acc|))
              (setq |mid|
-                      (STRCONC '|, | (STRINGIMAGE |iout|) '|, |
+                      (STRCONC '|, | (princ-to-string |iout|) '|, |
                                |astring| '|::Matrix DoubleFloat,[|))
              (setq |mid|
                       (STRCONC |mid| |rstring| '|],[| |ustring| '|],|
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| (STRCONC |prefix| |mid|)))))))
 
 ;d03edfShort() ==
@@ -800,10 +800,10 @@
 ;  ifail :=
 ;    error = 'ifail_one => '1
 ;    '-1
-;  prefix := STRCONC("d03edf(", STRINGIMAGE ngx,", ",STRINGIMAGE ngy,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ",STRINGIMAGE maxit,", ",acc)
-;  mid := STRCONC(", ",STRINGIMAGE iout,", ",a,", ")
-;  mid := STRCONC(mid,rhs,", ",ub,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC("d03edf(", princ-to-string ngx,", ",princ-to-string ngy,", ")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ",princ-to-string maxit,", ",acc)
+;  mid := STRCONC(", ",princ-to-string iout,", ",a,", ")
+;  mid := STRCONC(mid,rhs,", ",ub,", ",princ-to-string ifail,")")
 ;  linkGen STRCONC(prefix,mid)
 
 (DEFUN |d03edfShortGen| (|htPage|)
@@ -864,16 +864,16 @@
         (setq |ifail|
                  (COND ((BOOT-EQUAL |error| '|ifailone|) '1) ('T '-1)))
         (setq |prefix|
-                 (STRCONC '|d03edf(| (STRINGIMAGE |ngx|) '|, |
-                          (STRINGIMAGE |ngy|) '|, |))
+                 (STRCONC '|d03edf(| (princ-to-string |ngx|) '|, |
+                          (princ-to-string |ngy|) '|, |))
         (setq |prefix|
-                 (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |
-                          (STRINGIMAGE |maxit|) '|, | |acc|))
+                 (STRCONC |prefix| (princ-to-string |lda|) '|, |
+                          (princ-to-string |maxit|) '|, | |acc|))
         (setq |mid|
-                 (STRCONC '|, | (STRINGIMAGE |iout|) '|, | |a| '|, |))
+                 (STRCONC '|, | (princ-to-string |iout|) '|, | |a| '|, |))
         (setq |mid|
                  (STRCONC |mid| |rhs| '|, | |ub| '|, |
-                          (STRINGIMAGE |ifail|) '|)|))
+                          (princ-to-string |ifail|) '|)|))
         (|linkGen| (STRCONC |prefix| |mid|))))))
 
 ;d03eef() ==
@@ -1375,9 +1375,9 @@
 ;    y := rest y
 ;  ustring := bcwords2liststring uList
 ;  prefix := STRCONC("d03eef(",xmin,", ",xmax,", ",ymin,", ",ymax,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ngx,", ",STRINGIMAGE ngy,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,",_"",scheme,"_", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,", (",ustring)
+;  prefix := STRCONC(prefix,princ-to-string ngx,", ",princ-to-string ngy,", ")
+;  prefix := STRCONC(prefix,princ-to-string lda,",_"",scheme,"_", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,", (",ustring)
 ;  prefix := STRCONC(prefix,"::Vector Expression Float)::ASP73('PDEF),(")
 ;  prefix := STRCONC(prefix,astring,"::Matrix Expression Float)::ASP74('BNDY))")
 ;  linkGen prefix
@@ -1442,13 +1442,13 @@
                       (STRCONC '|d03eef(| |xmin| '|, | |xmax| '|, |
                                |ymin| '|, | |ymax| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ngx|) '|, |
-                               (STRINGIMAGE |ngy|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |ngx|) '|, |
+                               (princ-to-string |ngy|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|,"|
+                      (STRCONC |prefix| (princ-to-string |lda|) '|,"|
                                |scheme| '|", |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|, (|
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|, (|
                                |ustring|))
              (setq |prefix|
                       (STRCONC |prefix|
diff --git a/src/interp/nag-e01.lisp.pamphlet b/src/interp/nag-e01.lisp.pamphlet
index a13df85..998fee3 100644
--- a/src/interp/nag-e01.lisp.pamphlet
+++ b/src/interp/nag-e01.lisp.pamphlet
@@ -85,9 +85,9 @@
 ;    "append"/[f(i) for i in 1..m] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      post   := ('"\tab{32} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
 ;  equationPart := [
@@ -115,14 +115,14 @@
            (setq |post| "\\tab{32} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -299,9 +299,9 @@
 ;    imaglist := [right,:imaglist]
 ;  realstring := bcwords2liststring reallist
 ;  imagstring := bcwords2liststring imaglist
-;  pre := STRCONC ('"e01baf(",STRINGIMAGE m,",[",realstring,"],[",imagstring)
-;  post := STRCONC ('"],",STRINGIMAGE lck,",",STRINGIMAGE lwrk,",")
-;  linkGen STRCONC (pre,post,STRINGIMAGE ifail,")")
+;  pre := STRCONC ('"e01baf(",princ-to-string m,",[",realstring,"],[",imagstring)
+;  post := STRCONC ('"],",princ-to-string lck,",",princ-to-string lwrk,",")
+;  linkGen STRCONC (pre,post,princ-to-string ifail,")")
 
 (DEFUN |e01bafGen| (|htPage|)
   (PROG (|m| |ifail| |alist| |lck| |lwrk| |right| |left| |y| |reallist|
@@ -329,13 +329,13 @@
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (setq |imagstring| (|bcwords2liststring| |imaglist|))
              (setq |pre|
-                      (STRCONC "e01baf(" (STRINGIMAGE |m|)
+                      (STRCONC "e01baf(" (princ-to-string |m|)
                                '|,[| |realstring| '|],[| |imagstring|))
              (setq |post|
-                      (STRCONC "]," (STRINGIMAGE |lck|)
-                               '|,| (STRINGIMAGE |lwrk|) '|,|))
+                      (STRCONC "]," (princ-to-string |lck|)
+                               '|,| (princ-to-string |lwrk|) '|,|))
              (|linkGen|
-                 (STRCONC |pre| |post| (STRINGIMAGE |ifail|) '|)|)))))))
+                 (STRCONC |pre| |post| (princ-to-string |ifail|) '|)|)))))))
 
 ;e01bef() ==
 ;  htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable", nil)
@@ -417,9 +417,9 @@
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      post   := ('"\tab{32} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
 ;  equationPart := [
@@ -449,14 +449,14 @@
            (setq |post| "\\tab{32} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -654,7 +654,7 @@
 ;    imaglist := [right,:imaglist]
 ;  realstring := bcwords2liststring reallist
 ;  imagstring := bcwords2liststring imaglist
-;  linkGen STRCONC ('"e01bef(",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],",STRINGIMAGE ifail,")")
+;  linkGen STRCONC ('"e01bef(",princ-to-string n,",[",realstring,"],[",imagstring,"],",princ-to-string ifail,")")
 
 (DEFUN |e01befGen| (|htPage|)
   (PROG (|n| |ifail| |alist| |lck| |lwrk| |right| |left| |y| |reallist|
@@ -682,9 +682,9 @@
              (setq |realstring| (|bcwords2liststring| |reallist|))
              (setq |imagstring| (|bcwords2liststring| |imaglist|))
              (|linkGen|
-                 (STRCONC "e01bef(" (STRINGIMAGE |n|)
+                 (STRCONC "e01bef(" (princ-to-string |n|)
                           '|,[| |realstring| '|],[| |imagstring| '|],|
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;e01bff() ==
 ;  htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable", nil)
@@ -770,10 +770,10 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
@@ -783,7 +783,7 @@
 ;  pointList :=
 ;    "append"/[g(j) for j in 1..m] where g(j) ==
 ;      preamb := ('"\newline \tab{2} ")
-;      pnam := INTERN STRCONC ('"px",STRINGIMAGE j)
+;      pnam := INTERN STRCONC ('"px",princ-to-string j)
 ;      [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]]
 ;  labelList := [:labelList,pxwords,:pointList]
 ;  equationPart := [
@@ -816,17 +816,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -858,7 +858,7 @@
       (SEQ (setq |preamb| "\\newline \\tab{2} ")
            (setq |pnam|
                     (INTERN (STRCONC "px"
-                                     (STRINGIMAGE |j|))))
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|text| |preamb|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1181,9 +1181,9 @@
 ;  xstring := bcwords2liststring xlist
 ;  fstring := bcwords2liststring flist
 ;  dstring := bcwords2liststring dlist
-;  prefix := STRCONC('"e01bff(",STRINGIMAGE n,",[",xstring,"],[",fstring)
-;  prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e01bff(",princ-to-string n,",[",xstring,"],[",fstring)
+;  prefix := STRCONC(prefix,"],[",dstring,"],",princ-to-string m,",[",pxstring,"],")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e01bffGen| (|htPage|)
@@ -1224,14 +1224,14 @@
              (setq |fstring| (|bcwords2liststring| |flist|))
              (setq |dstring| (|bcwords2liststring| |dlist|))
              (setq |prefix|
-                      (STRCONC "e01bff(" (STRINGIMAGE |n|)
+                      (STRCONC "e01bff(" (princ-to-string |n|)
                                '|,[| |xstring| '|],[| |fstring|))
              (setq |prefix|
                       (STRCONC |prefix| '|],[| |dstring| '|],|
-                               (STRINGIMAGE |m|) '|,[| |pxstring|
+                               (princ-to-string |m|) '|,[| |pxstring|
                                '|],|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e01bgf() ==
@@ -1319,10 +1319,10 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
@@ -1332,7 +1332,7 @@
 ;  pointList :=
 ;    "append"/[g(j) for j in 1..m] where g(j) ==
 ;      preamb := ('"\newline \tab{2} ")
-;      pnam := INTERN STRCONC ('"px",STRINGIMAGE j)
+;      pnam := INTERN STRCONC ('"px",princ-to-string j)
 ;      [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]]
 ;  labelList := [:labelList,pxwords,:pointList]
 ;  equationPart := [
@@ -1365,17 +1365,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1407,7 +1407,7 @@
       (SEQ (setq |preamb| "\\newline \\tab{2} ")
            (setq |pnam|
                     (INTERN (STRCONC "px"
-                                     (STRINGIMAGE |j|))))
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|text| |preamb|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1728,9 +1728,9 @@
 ;  xstring := bcwords2liststring xlist
 ;  fstring := bcwords2liststring flist
 ;  dstring := bcwords2liststring dlist
-;  prefix := STRCONC('"e01bgf(",STRINGIMAGE n,",[",xstring,"],[",fstring)
-;  prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e01bgf(",princ-to-string n,",[",xstring,"],[",fstring)
+;  prefix := STRCONC(prefix,"],[",dstring,"],",princ-to-string m,",[",pxstring,"],")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e01bgfGen| (|htPage|)
@@ -1771,14 +1771,14 @@
              (setq |fstring| (|bcwords2liststring| |flist|))
              (setq |dstring| (|bcwords2liststring| |dlist|))
              (setq |prefix|
-                      (STRCONC "e01bgf(" (STRINGIMAGE |n|)
+                      (STRCONC "e01bgf(" (princ-to-string |n|)
                                '|,[| |xstring| '|],[| |fstring|))
              (setq |prefix|
                       (STRCONC |prefix| '|],[| |dstring| '|],|
-                               (STRINGIMAGE |m|) '|,[| |pxstring|
+                               (princ-to-string |m|) '|,[| |pxstring|
                                '|],|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e01bhf() ==
@@ -1871,10 +1871,10 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
@@ -1909,17 +1909,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2177,8 +2177,8 @@
 ;  xstring := bcwords2liststring xlist
 ;  fstring := bcwords2liststring flist
 ;  dstring := bcwords2liststring dlist
-;  prefix := STRCONC('"e01bhf(",STRINGIMAGE n,",[",xstring,"],[",fstring,"],[")
-;  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE a,",",STRINGIMAGE b,",",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e01bhf(",princ-to-string n,",[",xstring,"],[",fstring,"],[")
+;  prefix := STRCONC(prefix,dstring,"],",princ-to-string a,",",princ-to-string b,",",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e01bhfGen| (|htPage|)
@@ -2213,12 +2213,12 @@
              (setq |fstring| (|bcwords2liststring| |flist|))
              (setq |dstring| (|bcwords2liststring| |dlist|))
              (setq |prefix|
-                      (STRCONC "e01bhf(" (STRINGIMAGE |n|)
+                      (STRCONC "e01bhf(" (princ-to-string |n|)
                                '|,[| |xstring| '|],[| |fstring| '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |dstring| '|],|
-                               (STRINGIMAGE |a|) '|,| (STRINGIMAGE |b|)
-                               '|,| (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |a|) '|,| (princ-to-string |b|)
+                               '|,| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e01daf() ==
@@ -2320,13 +2320,13 @@
 ;  (mx = '7 and my = '6) => e01dafDefaultSolve(htPage,ifail)
 ;  xList :=
 ;    "append"/[f(i) for i in 1..mx] where f(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[6, 0.0, xnam, 'F]]]
 ;  prefix := ('"\newline \menuitemstyle{}\tab{2} Values of X(1) to X(MX): \newline ")
 ;  xList := [['text,:prefix],:xList]
 ;  yList :=
 ;    "append"/[g(i) for i in 1..my] where g(i) ==
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
 ;      [['bcStrings,[6, 0.0, ynam, 'F]]]
 ;  prefix := ('"\blankline\menuitemstyle{}\tab{2}Values of Y(1) to Y(MY): \newline ")
 ;  yList := [['text,:prefix],:yList]
@@ -2334,7 +2334,7 @@
 ;    "append"/[h(j,my) for j in 1..mx] where h(j,my) ==
 ;      tempList :=
 ;        "append"/[k(j,m) for m in 1..my] where k(j,m) ==
-;          fnam := INTERN STRCONC ('"f",STRINGIMAGE j, STRINGIMAGE m)
+;          fnam := INTERN STRCONC ('"f",princ-to-string j, princ-to-string m)
 ;          [['bcStrings,[6, 0.0, fnam, 'F]]]
 ;      prefix := ('"\newline ")
 ;      tempList := [['text,:prefix],:tempList]
@@ -2363,7 +2363,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -2376,7 +2376,7 @@
     (RETURN
       (SEQ (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -2388,8 +2388,8 @@
   (PROG (|fnam|)
     (RETURN
       (SEQ (setq |fnam|
-                    (INTERN (STRCONC "f" (STRINGIMAGE |j|)
-                                     (STRINGIMAGE |m|))))
+                    (INTERN (STRCONC "f" (princ-to-string |j|)
+                                     (princ-to-string |m|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -2700,9 +2700,9 @@
 ;    xlist := rest xlist
 ;  ystring := bcwords2liststring ymy
 ;  fstring := bcwords2liststring xlist
-;  prefix := STRCONC('"e01daf(",STRINGIMAGE mx,", ",STRINGIMAGE my,",[")
+;  prefix := STRCONC('"e01daf(",princ-to-string mx,", ",princ-to-string my,",[")
 ;  midd := STRCONC(xstring, "], [",ystring,"], [",fstring,"], ")
-;  linkGen STRCONC(prefix,midd,STRINGIMAGE ifail,")")
+;  linkGen STRCONC(prefix,midd,princ-to-string ifail,")")
 
 (DEFUN |e01dafGen| (|htPage|)
   (PROG (|mx| |my| |ifail| |alist| |right| |y| |xmx| |xstring| |ymy|
@@ -2737,13 +2737,13 @@
              (setq |fstring| (|bcwords2liststring| |xlist|))
              (setq |prefix|
                       (STRCONC "e01daf("
-                               (STRINGIMAGE |mx|) '|, |
-                               (STRINGIMAGE |my|) '|,[|))
+                               (princ-to-string |mx|) '|, |
+                               (princ-to-string |my|) '|,[|))
              (setq |midd|
                       (STRCONC |xstring| '|], [| |ystring| '|], [|
                                |fstring| '|], |))
              (|linkGen|
-                 (STRCONC |prefix| |midd| (STRINGIMAGE |ifail|) '|)|)))))))
+                 (STRCONC |prefix| |midd| (princ-to-string |ifail|) '|)|)))))))
 
 ;e01saf() ==
 ;  htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables", nil)
@@ -2825,10 +2825,10 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
@@ -2861,17 +2861,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -3335,8 +3335,8 @@
 ;  xstring := bcwords2liststring xlist
 ;  fstring := bcwords2liststring flist
 ;  dstring := bcwords2liststring dlist
-;  prefix := STRCONC('"e01saf(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[")
-;  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e01saf(",princ-to-string m,",[",xstring,"],[",fstring,"],[")
+;  prefix := STRCONC(prefix,dstring,"],",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e01safGen| (|htPage|)
@@ -3366,11 +3366,11 @@
              (setq |fstring| (|bcwords2liststring| |flist|))
              (setq |dstring| (|bcwords2liststring| |dlist|))
              (setq |prefix|
-                      (STRCONC "e01saf(" (STRINGIMAGE |m|)
+                      (STRCONC "e01saf(" (princ-to-string |m|)
                                '|,[| |xstring| '|],[| |fstring| '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |dstring| '|],|
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e01sef() ==
@@ -3508,10 +3508,10 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
@@ -3548,17 +3548,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -4058,9 +4058,9 @@
 ;  xstring := bcwords2liststring xlist
 ;  fstring := bcwords2liststring flist
 ;  dstring := bcwords2liststring dlist
-;  prefix := STRCONC('"e01sef(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[")
-;  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE nw,", ",STRINGIMAGE nq)
-;  prefix := STRCONC(prefix,", ",rnw,", ",rnq,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e01sef(",princ-to-string m,",[",xstring,"],[",fstring,"],[")
+;  prefix := STRCONC(prefix,dstring,"],",princ-to-string nw,", ",princ-to-string nq)
+;  prefix := STRCONC(prefix,", ",rnw,", ",rnq,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e01sefGen| (|htPage|)
@@ -4095,15 +4095,15 @@
              (setq |fstring| (|bcwords2liststring| |flist|))
              (setq |dstring| (|bcwords2liststring| |dlist|))
              (setq |prefix|
-                      (STRCONC "e01sef(" (STRINGIMAGE |m|)
+                      (STRCONC "e01sef(" (princ-to-string |m|)
                                '|,[| |xstring| '|],[| |fstring| '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |dstring| '|],|
-                               (STRINGIMAGE |nw|) '|, |
-                               (STRINGIMAGE |nq|)))
+                               (princ-to-string |nw|) '|, |
+                               (princ-to-string |nq|)))
              (setq |prefix|
                       (STRCONC |prefix| '|, | |rnw| '|, | |rnq| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 \end{chunk}
diff --git a/src/interp/nag-e02.lisp.pamphlet b/src/interp/nag-e02.lisp.pamphlet
index 729dd45..64de176 100644
--- a/src/interp/nag-e02.lisp.pamphlet
+++ b/src/interp/nag-e02.lisp.pamphlet
@@ -134,10 +134,10 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
@@ -172,17 +172,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -468,9 +468,9 @@
 ;  xstring := bcwords2liststring xlist
 ;  ystring := bcwords2liststring ylist
 ;  wstring := bcwords2liststring wlist
-;  prefix := STRCONC('"e02adf(",STRINGIMAGE m,", ",STRINGIMAGE kplus1,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nrows,", [",xstring,"],[",ystring,"],[")
-;  prefix := STRCONC(prefix,wstring,"],",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02adf(",princ-to-string m,", ",princ-to-string kplus1,", ")
+;  prefix := STRCONC(prefix,princ-to-string nrows,", [",xstring,"],[",ystring,"],[")
+;  prefix := STRCONC(prefix,wstring,"],",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02adfGen| (|htPage|)
@@ -504,14 +504,14 @@
              (setq |ystring| (|bcwords2liststring| |ylist|))
              (setq |wstring| (|bcwords2liststring| |wlist|))
              (setq |prefix|
-                      (STRCONC "e02adf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |kplus1|) '|, |))
+                      (STRCONC "e02adf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |kplus1|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nrows|) '|, [|
+                      (STRCONC |prefix| (princ-to-string |nrows|) '|, [|
                                |xstring| '|],[| |ystring| '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |wstring| '|],|
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02aef() ==
@@ -596,7 +596,7 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..(n+1)] where f(i) ==
 ;      prefix := ('"\newline \tab{15} ")
-;      anam := INTERN STRCONC ('"a",STRINGIMAGE i)
+;      anam := INTERN STRCONC ('"a",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, anam, 'F]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -623,7 +623,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{15} ")
            (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -764,8 +764,8 @@
 ;    y := rest y
 ;    arrayList := [right,:arrayList]
 ;  astring := bcwords2liststring arrayList
-;  prefix := STRCONC('"e02aef(",STRINGIMAGE nplus1,", [",astring ,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE xcap,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02aef(",princ-to-string nplus1,", [",astring ,"], ")
+;  prefix := STRCONC(prefix,princ-to-string xcap,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02aefGen| (|htPage|)
@@ -789,11 +789,11 @@
              (setq |astring| (|bcwords2liststring| |arrayList|))
              (setq |prefix|
                       (STRCONC "e02aef("
-                               (STRINGIMAGE |nplus1|) '|, [| |astring|
+                               (princ-to-string |nplus1|) '|, [| |astring|
                                '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |xcap|) '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |xcap|) '|, |
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02agf() ==
@@ -977,23 +977,23 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
 ;  xfList :=
 ;    "append"/[g(j) for j in 1..mf] where g(j) ==
-;      xfnam := INTERN STRCONC ('"xf",STRINGIMAGE j)
+;      xfnam := INTERN STRCONC ('"xf",princ-to-string j)
 ;      [['bcStrings,[6, 0.0, xfnam, 'F]]]
 ;  prefix := ('"\blankline \newline \menuitemstyle{}\tab{2} Values of ")
 ;  prefix := STRCONC(prefix,"{\it xf}: \newline \tab{2} ")
 ;  xfList := [['text,:prefix],:xfList]
 ;  ipList :=
 ;    "append"/[h(k) for k in 1..mf] where h(k) ==
-;      ipnam := INTERN STRCONC ('"ip",STRINGIMAGE k)
+;      ipnam := INTERN STRCONC ('"ip",princ-to-string k)
 ;      [['bcStrings,[6, 0, ipnam, 'PI]]]
 ;  prefix := ('"\blankline \newline \menuitemstyle{}\tab{2} Values of ")
 ;  prefix := STRCONC(prefix,"{\it ip}: \newline \tab{2} ")
@@ -1001,7 +1001,7 @@
 ;  yfList :=
 ;    "append"/[i(l) for l in 1..lyf] where i(l) ==
 ;      prefix := ('"\newline \tab{2} ")
-;      yfnam := INTERN STRCONC ('"lyf",STRINGIMAGE l)
+;      yfnam := INTERN STRCONC ('"lyf",princ-to-string l)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, yfnam, 'F]]]
 ;  prefix := ('"\blankline \newline \menuitemstyle{}\tab{2} Values of ")
 ;  prefix := STRCONC(prefix,"{\it yf}: \newline \tab{2} ")
@@ -1042,17 +1042,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1083,7 +1083,7 @@
     (RETURN
       (SEQ (setq |xfnam|
                     (INTERN (STRCONC "xf"
-                                     (STRINGIMAGE |j|))))
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -1096,7 +1096,7 @@
     (RETURN
       (SEQ (setq |ipnam|
                     (INTERN (STRCONC "ip"
-                                     (STRINGIMAGE |k|))))
+                                     (princ-to-string |k|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -1110,7 +1110,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |yfnam|
                     (INTERN (STRCONC "lyf"
-                                     (STRINGIMAGE |l|))))
+                                     (princ-to-string |l|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1533,13 +1533,13 @@
 ;  wrkmax := APPLY ('MAX, wrktestlist)
 ;  lwrk := wrkmax + 2*n + 2
 ;  liwrk := 2*mf + 2
-;  prefix := STRCONC('"e02agf(",STRINGIMAGE m,", ",STRINGIMAGE kplus1,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nrows,", ",xmin,", ",xmax,", [",xstring)
-;  prefix := STRCONC(prefix,"],[",ystring,"],[",wstring,"],",STRINGIMAGE mf)
+;  prefix := STRCONC('"e02agf(",princ-to-string m,", ",princ-to-string kplus1,", ")
+;  prefix := STRCONC(prefix,princ-to-string nrows,", ",xmin,", ",xmax,", [",xstring)
+;  prefix := STRCONC(prefix,"],[",ystring,"],[",wstring,"],",princ-to-string mf)
 ;  prefix := STRCONC(prefix,", [",xfstring,"],[",yfstring,"],")
-;  prefix := STRCONC(prefix,STRINGIMAGE lyf,", [",ipstring,"]::Matrix Integer,")
-;  prefix := STRCONC(prefix,STRINGIMAGE lwrk,", ",STRINGIMAGE liwrk,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string lyf,", [",ipstring,"]::Matrix Integer,")
+;  prefix := STRCONC(prefix,princ-to-string lwrk,", ",princ-to-string liwrk,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02agfGen| (|htPage|)
@@ -1622,25 +1622,25 @@
              (setq |lwrk| (+ (+ |wrkmax| (TIMES 2 |n|)) 2))
              (setq |liwrk| (+ (TIMES 2 |mf|) 2))
              (setq |prefix|
-                      (STRCONC "e02agf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |kplus1|) '|, |))
+                      (STRCONC "e02agf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |kplus1|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nrows|) '|, |
+                      (STRCONC |prefix| (princ-to-string |nrows|) '|, |
                                |xmin| '|, | |xmax| '|, [| |xstring|))
              (setq |prefix|
                       (STRCONC |prefix| '|],[| |ystring| '|],[|
-                               |wstring| '|],| (STRINGIMAGE |mf|)))
+                               |wstring| '|],| (princ-to-string |mf|)))
              (setq |prefix|
                       (STRCONC |prefix| '|, [| |xfstring| '|],[|
                                |yfstring| '|],|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lyf|) '|, [|
+                      (STRCONC |prefix| (princ-to-string |lyf|) '|, [|
                                |ipstring| '|]::Matrix Integer,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lwrk|) '|, |
-                               (STRINGIMAGE |liwrk|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |lwrk|) '|, |
+                               (princ-to-string |liwrk|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02ahf() ==
@@ -1791,7 +1791,7 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..la] where f(i) ==
 ;      prefix := ('"\newline \tab{15} ")
-;      anam := INTERN STRCONC ('"a",STRINGIMAGE i)
+;      anam := INTERN STRCONC ('"a",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, "0.0000", anam, 'F]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -1822,7 +1822,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{15} ")
            (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2016,10 +2016,10 @@
 ;    y := rest y
 ;    arrayList := [right,:arrayList]
 ;  astring := bcwords2liststring arrayList
-;  prefix := STRCONC('"e02ahf(",STRINGIMAGE np1,", ",xmin,", ",xmax,", [")
-;  prefix := STRCONC(prefix,astring,"], ",STRINGIMAGE iaone,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE la,", ",STRINGIMAGE ladifone,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ladif,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02ahf(",princ-to-string np1,", ",xmin,", ",xmax,", [")
+;  prefix := STRCONC(prefix,astring,"], ",princ-to-string iaone,", ")
+;  prefix := STRCONC(prefix,princ-to-string la,", ",princ-to-string ladifone,", ")
+;  prefix := STRCONC(prefix,princ-to-string ladif,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02ahfGen| (|htPage|)
@@ -2048,17 +2048,17 @@
              (setq |astring| (|bcwords2liststring| |arrayList|))
              (setq |prefix|
                       (STRCONC "e02ahf("
-                               (STRINGIMAGE |np1|) '|, | |xmin| '|, |
+                               (princ-to-string |np1|) '|, | |xmin| '|, |
                                |xmax| '|, [|))
              (setq |prefix|
                       (STRCONC |prefix| |astring| '|], |
-                               (STRINGIMAGE |iaone|) '|, |))
+                               (princ-to-string |iaone|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |la|) '|, |
-                               (STRINGIMAGE |ladifone|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |la|) '|, |
+                               (princ-to-string |ladifone|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ladif|) '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ladif|) '|, |
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02ajf() ==
@@ -2221,7 +2221,7 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..la] where f(i) ==
 ;      prefix := ('"\newline \tab{15} ")
-;      anam := INTERN STRCONC ('"a",STRINGIMAGE i)
+;      anam := INTERN STRCONC ('"a",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, "0.0000", anam, 'F]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -2253,7 +2253,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{15} ")
            (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2454,11 +2454,11 @@
 ;    y := rest y
 ;    arrayList := [right,:arrayList]
 ;  astring := bcwords2liststring arrayList
-;  prefix := STRCONC('"e02ajf(",STRINGIMAGE np1,", ",xmin,", ",xmax,", [")
-;  prefix := STRCONC(prefix,astring,"], ",STRINGIMAGE iaone,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE la,", ",qatmone,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE iaintone)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE laint,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02ajf(",princ-to-string np1,", ",xmin,", ",xmax,", [")
+;  prefix := STRCONC(prefix,astring,"], ",princ-to-string iaone,", ")
+;  prefix := STRCONC(prefix,princ-to-string la,", ",qatmone,", ")
+;  prefix := STRCONC(prefix,princ-to-string iaintone)
+;  prefix := STRCONC(prefix,", ",princ-to-string laint,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02ajfGen| (|htPage|)
@@ -2489,19 +2489,19 @@
              (setq |astring| (|bcwords2liststring| |arrayList|))
              (setq |prefix|
                       (STRCONC "e02ajf("
-                               (STRINGIMAGE |np1|) '|, | |xmin| '|, |
+                               (princ-to-string |np1|) '|, | |xmin| '|, |
                                |xmax| '|, [|))
              (setq |prefix|
                       (STRCONC |prefix| |astring| '|], |
-                               (STRINGIMAGE |iaone|) '|, |))
+                               (princ-to-string |iaone|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |la|) '|, |
+                      (STRCONC |prefix| (princ-to-string |la|) '|, |
                                |qatmone| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |iaintone|)))
+                      (STRCONC |prefix| (princ-to-string |iaintone|)))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |laint|)
-                               '|, | (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| '|, | (princ-to-string |laint|)
+                               '|, | (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02akf() ==
@@ -2636,7 +2636,7 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..la] where f(i) ==
 ;      prefix := ('"\newline \tab{15} ")
-;      anam := INTERN STRCONC ('"a",STRINGIMAGE i)
+;      anam := INTERN STRCONC ('"a",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, "0.0000", anam, 'F]]]
 ;  equationPart := [
 ;     '(domainConditions
@@ -2666,7 +2666,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{15} ")
            (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2845,9 +2845,9 @@
 ;    y := rest y
 ;    arrayList := [right,:arrayList]
 ;  astring := bcwords2liststring arrayList
-;  prefix := STRCONC('"e02akf(",STRINGIMAGE np1,", ",xmin,", ",xmax,", [")
-;  prefix := STRCONC(prefix,astring,"], ",STRINGIMAGE iaone,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE la,", ",x,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02akf(",princ-to-string np1,", ",xmin,", ",xmax,", [")
+;  prefix := STRCONC(prefix,astring,"], ",princ-to-string iaone,", ")
+;  prefix := STRCONC(prefix,princ-to-string la,", ",x,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02akfGen| (|htPage|)
@@ -2875,14 +2875,14 @@
              (setq |astring| (|bcwords2liststring| |arrayList|))
              (setq |prefix|
                       (STRCONC "e02akf("
-                               (STRINGIMAGE |np1|) '|, | |xmin| '|, |
+                               (princ-to-string |np1|) '|, | |xmin| '|, |
                                |xmax| '|, [|))
              (setq |prefix|
                       (STRCONC |prefix| |astring| '|], |
-                               (STRINGIMAGE |iaone|) '|, |))
+                               (princ-to-string |iaone|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |la|) '|, | |x|
-                               '|, | (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |la|) '|, | |x|
+                               '|, | (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02baf() ==
@@ -2986,16 +2986,16 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
 ;  lamdaList :=
 ;    "append"/[g(j) for j in 5..(ncap+3)] where g(j) ==
-;       anam := INTERN STRCONC ('"a",STRINGIMAGE j)
+;       anam := INTERN STRCONC ('"a",princ-to-string j)
 ;       [['bcStrings,[6, 0.0, anam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{}\tab{2} Interior knots ")
 ;  prefix := STRCONC(prefix,"\htbitmap{lamdai}, for i = 5,6,...,")
@@ -3031,17 +3031,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -3072,7 +3072,7 @@
     (RETURN
       (SEQ (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |j|))))
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -3405,9 +3405,9 @@
 ;  xstring := bcwords2liststring xlist
 ;  ystring := bcwords2liststring ylist
 ;  wstring := bcwords2liststring wlist
-;  prefix := STRCONC('"e02baf(",STRINGIMAGE m,", ",STRINGIMAGE ncap7,", [")
+;  prefix := STRCONC('"e02baf(",princ-to-string m,", ",princ-to-string ncap7,", [")
 ;  prefix := STRCONC(prefix,xstring,"],[",ystring,"],[",wstring,"], [")
-;  prefix := STRCONC(prefix,lambdaString,"], ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,lambdaString,"], ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02bafGen| (|htPage|)
@@ -3462,14 +3462,14 @@
              (setq |ystring| (|bcwords2liststring| |ylist|))
              (setq |wstring| (|bcwords2liststring| |wlist|))
              (setq |prefix|
-                      (STRCONC "e02baf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |ncap7|) '|, [|))
+                      (STRCONC "e02baf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |ncap7|) '|, [|))
              (setq |prefix|
                       (STRCONC |prefix| |xstring| '|],[| |ystring|
                                '|],[| |wstring| '|], [|))
              (setq |prefix|
                       (STRCONC |prefix| |lambdaString| '|], |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02bbf() ==
@@ -3561,9 +3561,9 @@
 ;    "append"/[f(i) for i in 1..(ncap+7)] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
-;      cnam := INTERN STRCONC ('"c",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
+;      cnam := INTERN STRCONC ('"c",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, lnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, cnam, 'F]]]
 ;  equationPart := [
@@ -3593,14 +3593,14 @@
            (setq |middle| "\\tab{22} ")
            (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |cnam|
                     (INTERN (STRCONC "c"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -3812,8 +3812,8 @@
 ;    clist := [right,:clist]
 ;  lamstring := bcwords2liststring lamlist
 ;  cstring := bcwords2liststring clist
-;  prefix := STRCONC('"e02bbf(",STRINGIMAGE ncap7,", [",lamstring,"],[")
-;  prefix := STRCONC(prefix,cstring,"], ",x,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02bbf(",princ-to-string ncap7,", [",lamstring,"],[")
+;  prefix := STRCONC(prefix,cstring,"], ",x,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02bbfGen| (|htPage|)
@@ -3841,11 +3841,11 @@
              (setq |cstring| (|bcwords2liststring| |clist|))
              (setq |prefix|
                       (STRCONC "e02bbf("
-                               (STRINGIMAGE |ncap7|) '|, [| |lamstring|
+                               (princ-to-string |ncap7|) '|, [| |lamstring|
                                '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |cstring| '|], | |x| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02bcf() ==
@@ -3958,9 +3958,9 @@
 ;    "append"/[f(i) for i in 1..(ncap+7)] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
-;      cnam := INTERN STRCONC ('"c",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
+;      cnam := INTERN STRCONC ('"c",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, lnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, cnam, 'F]]]
 ;  equationPart := [
@@ -3991,14 +3991,14 @@
            (setq |middle| "\\tab{22} ")
            (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |cnam|
                     (INTERN (STRCONC "c"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -4237,9 +4237,9 @@
 ;    clist := [right,:clist]
 ;  lamstring := bcwords2liststring lamlist
 ;  cstring := bcwords2liststring clist
-;  prefix := STRCONC('"e02bcf(",STRINGIMAGE ncap7,", [",lamstring,"],[")
-;  prefix := STRCONC(prefix,cstring,"], ",x,", ",STRINGIMAGE deriv)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02bcf(",princ-to-string ncap7,", [",lamstring,"],[")
+;  prefix := STRCONC(prefix,cstring,"], ",x,", ",princ-to-string deriv)
+;  prefix := STRCONC(prefix,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02bcfGen| (|htPage|)
@@ -4268,13 +4268,13 @@
              (setq |cstring| (|bcwords2liststring| |clist|))
              (setq |prefix|
                       (STRCONC "e02bcf("
-                               (STRINGIMAGE |ncap7|) '|, [| |lamstring|
+                               (princ-to-string |ncap7|) '|, [| |lamstring|
                                '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |cstring| '|], | |x| '|, |
-                               (STRINGIMAGE |deriv|)))
+                               (princ-to-string |deriv|)))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |ifail|)
+                      (STRCONC |prefix| '|, | (princ-to-string |ifail|)
                                '|)|))
              (|linkGen| |prefix|))))))
 
@@ -4359,9 +4359,9 @@
 ;    "append"/[f(i) for i in 1..(ncap+7)] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
-;      cnam := INTERN STRCONC ('"c",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
+;      cnam := INTERN STRCONC ('"c",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, lnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, cnam, 'F]]]
 ;  equationPart := [
@@ -4390,14 +4390,14 @@
            (setq |middle| "\\tab{22} ")
            (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |cnam|
                     (INTERN (STRCONC "c"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -4627,8 +4627,8 @@
 ;    clist := [right,:clist]
 ;  lamstring := bcwords2liststring lamlist
 ;  cstring := bcwords2liststring clist
-;  prefix := STRCONC('"e02bdf(",STRINGIMAGE ncap7,", [",lamstring,"],[")
-;  prefix := STRCONC(prefix,cstring,"], ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02bdf(",princ-to-string ncap7,", [",lamstring,"],[")
+;  prefix := STRCONC(prefix,cstring,"], ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02bdfGen| (|htPage|)
@@ -4655,11 +4655,11 @@
              (setq |cstring| (|bcwords2liststring| |clist|))
              (setq |prefix|
                       (STRCONC "e02bdf("
-                               (STRINGIMAGE |ncap7|) '|, [| |lamstring|
+                               (princ-to-string |ncap7|) '|, [| |lamstring|
                                '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |cstring| '|], |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02bef() ==
@@ -4868,10 +4868,10 @@
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
 ;      post   := ('" \tab{42} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      znam := INTERN STRCONC ('"z",princ-to-string i)
+;      num := INTERN STRCONC (princ-to-string (QUOTIENT(i,10)),".",princ-to-string (REM(i,10)))
 ;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
@@ -4907,17 +4907,17 @@
            (setq |post| " \\tab{42} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |num|
-                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                    (INTERN (STRCONC (princ-to-string (QUOTIENT |i| 10))
                                      (INTERN "." "BOOT")
-                                     (STRINGIMAGE (REM |i| 10)))))
+                                     (princ-to-string (REM |i| 10)))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -5216,16 +5216,16 @@
 ;  -- mmax := 50
 ;  -- nest := mmax + 4 (54)
 ;  -- lwrk := 4*mmax + 16*nest+41 (1105)
-;  prefix := STRCONC('"e02bef(_"",cold,"_",",STRINGIMAGE m,", [",xstring,"],[")
-;  prefix := STRCONC(prefix,ystring,"],[",wstring,"], ",STRINGIMAGE s,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nest,", ",STRINGIMAGE lwrk)
-;--  prefix := STRCONC(prefix,",0, [[0.0 for i in 1..",STRINGIMAGE nest,"]],")
-;--  prefix := STRCONC(prefix,STRINGIMAGE ifail,", [[0.0 for i in 1..")
-;--  prefix := STRCONC(prefix,STRINGIMAGE lwrk,"]], [[0 for i in 1..")
-;--  prefix := STRCONC(prefix,STRINGIMAGE nest,"]] :: Matrix Integer)")
-;  prefix := STRCONC(prefix,",0, new(1,",STRINGIMAGE nest,",0.0)$Matrix DoubleFloat,")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,", new(1,",STRINGIMAGE lwrk,",0.0)$Matrix DoubleFloat, ")
-;  prefix := STRCONC(prefix," new(1,",STRINGIMAGE nest,",0)$Matrix Integer)")
+;  prefix := STRCONC('"e02bef(_"",cold,"_",",princ-to-string m,", [",xstring,"],[")
+;  prefix := STRCONC(prefix,ystring,"],[",wstring,"], ",princ-to-string s,", ")
+;  prefix := STRCONC(prefix,princ-to-string nest,", ",princ-to-string lwrk)
+;--  prefix := STRCONC(prefix,",0, [[0.0 for i in 1..",princ-to-string nest,"]],")
+;--  prefix := STRCONC(prefix,princ-to-string ifail,", [[0.0 for i in 1..")
+;--  prefix := STRCONC(prefix,princ-to-string lwrk,"]], [[0 for i in 1..")
+;--  prefix := STRCONC(prefix,princ-to-string nest,"]] :: Matrix Integer)")
+;  prefix := STRCONC(prefix,",0, new(1,",princ-to-string nest,",0.0)$Matrix DoubleFloat,")
+;  prefix := STRCONC(prefix,princ-to-string ifail,", new(1,",princ-to-string lwrk,",0.0)$Matrix DoubleFloat, ")
+;  prefix := STRCONC(prefix," new(1,",princ-to-string nest,",0)$Matrix Integer)")
 ;  linkGen prefix
 
 (DEFUN |e02befColdGen| (|htPage|)
@@ -5261,24 +5261,24 @@
              (setq |wstring| (|bcwords2liststring| |wlist|))
              (setq |prefix|
                       (STRCONC "e02bef(\"" |cold| '|",|
-                               (STRINGIMAGE |m|) '|, [| |xstring|
+                               (princ-to-string |m|) '|, [| |xstring|
                                '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |ystring| '|],[| |wstring|
-                               '|], | (STRINGIMAGE |s|) '|, |))
+                               '|], | (princ-to-string |s|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nest|) '|, |
-                               (STRINGIMAGE |lwrk|)))
+                      (STRCONC |prefix| (princ-to-string |nest|) '|, |
+                               (princ-to-string |lwrk|)))
              (setq |prefix|
                       (STRCONC |prefix| '|,0, new(1,|
-                               (STRINGIMAGE |nest|)
+                               (princ-to-string |nest|)
                                '|,0.0)$Matrix DoubleFloat,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|)
-                               '|, new(1,| (STRINGIMAGE |lwrk|)
+                      (STRCONC |prefix| (princ-to-string |ifail|)
+                               '|, new(1,| (princ-to-string |lwrk|)
                                '|,0.0)$Matrix DoubleFloat, |))
              (setq |prefix|
-                      (STRCONC |prefix| '| new(1,| (STRINGIMAGE |nest|)
+                      (STRCONC |prefix| '| new(1,| (princ-to-string |nest|)
                                '|,0)$Matrix Integer)|))
              (|linkGen| |prefix|))))))
 
@@ -5380,26 +5380,26 @@
 ;    "append"/[fxy(i) for i in 1..m] where fxy(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{22} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[8, 0.0, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[8, 0.0, ynam, 'F]]]
 ;  lamList :=
 ;    "append"/[flam(i) for i in 1..px] where flam(i) ==
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, lnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it \lambda(nxest)}: \newline")
 ;  lamList := [['text,:prefix],:lamList]
 ;  muList :=
 ;    "append"/[fmu(i) for i in 1..(py)] where fmu(i) ==
-;      mnam := INTERN STRCONC ('"m",STRINGIMAGE i)
+;      mnam := INTERN STRCONC ('"m",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, mnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it \mu(nyest)}:")
 ;  prefix := STRCONC(prefix,"\newline ")
 ;  muList := [['text,:prefix],:muList]
 ;  cList :=
 ;    "append"/[fp(i) for i in 1..((px-4)*(py-4))] where fp(i) ==
-;      pnam := INTERN STRCONC ('"p",STRINGIMAGE i)
+;      pnam := INTERN STRCONC ('"p",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, pnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{}\tab{2}Enter values of ")
 ;  prefix := STRCONC(prefix,"{\it c((nxest*4)-(nyest*4))}: \newline ")
@@ -5431,10 +5431,10 @@
            (setq |middle| "\\tab{22} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -5457,7 +5457,7 @@
     (RETURN
       (SEQ (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -5470,7 +5470,7 @@
     (RETURN
       (SEQ (setq |mnam|
                     (INTERN (STRCONC "m"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -5483,7 +5483,7 @@
     (RETURN
       (SEQ (setq |pnam|
                     (INTERN (STRCONC "p"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -5888,10 +5888,10 @@
 ;    ylist := [one,:ylist]
 ;  xstring := bcwords2liststring xlist
 ;  ystring := bcwords2liststring ylist
-;  prefix := STRCONC('"e02def(",STRINGIMAGE m,", ",STRINGIMAGE px,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE py,",[",xstring,"],[",ystring,"],[")
+;  prefix := STRCONC('"e02def(",princ-to-string m,", ",princ-to-string px,", ")
+;  prefix := STRCONC(prefix,princ-to-string py,",[",xstring,"],[",ystring,"],[")
 ;  prefix := STRCONC(prefix,lamstring,"],[",mustring,"],[",cstring,"],")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02defGen| (|htPage|)
@@ -5945,16 +5945,16 @@
              (setq |xstring| (|bcwords2liststring| |xlist|))
              (setq |ystring| (|bcwords2liststring| |ylist|))
              (setq |prefix|
-                      (STRCONC "e02def(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |px|) '|, |))
+                      (STRCONC "e02def(" (princ-to-string |m|)
+                               '|, | (princ-to-string |px|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |py|) '|,[|
+                      (STRCONC |prefix| (princ-to-string |py|) '|,[|
                                |xstring| '|],[| |ystring| '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |lamstring| '|],[| |mustring|
                                '|],[| |cstring| '|],|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02dff() ==
@@ -6080,31 +6080,31 @@
 ;    e02dffDefaultSolve(htPage,lwrk,liwrk,ifail)
 ;  xList :=
 ;    "append"/[fx(i) for i in 1..mx] where fx(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, xnam, 'F]]]
 ;  yList :=
 ;    "append"/[fy(i) for i in 1..my] where fy(i) ==
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, ynam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Enter values of ")
 ;  prefix := STRCONC(prefix,"\htbitmap{yr} : \newline")
 ;  yList := [['text,:prefix],:yList]
 ;  lamList :=
 ;    "append"/[flam(i) for i in 1..px] where flam(i) ==
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, lnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{}\tab{2} {\it \lambda(nxest)}:\newline")
 ;  lamList := [['text,:prefix],:lamList]
 ;  muList :=
 ;    "append"/[fmu(i) for i in 1..(py)] where fmu(i) ==
-;      mnam := INTERN STRCONC ('"m",STRINGIMAGE i)
+;      mnam := INTERN STRCONC ('"m",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, mnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it mu(nyest)}:")
 ;  prefix := STRCONC(prefix,"\newline ")
 ;  muList := [['text,:prefix],:muList]
 ;  cList :=
 ;    "append"/[fp(i) for i in 1..((px-4)*(py-4))] where fp(i) ==
-;      pnam := INTERN STRCONC ('"p",STRINGIMAGE i)
+;      pnam := INTERN STRCONC ('"p",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, pnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{}\tab{2} Enter values of ")
 ;  prefix := STRCONC(prefix,"{\it c((px-4)*(py-4))}: \newline")
@@ -6136,7 +6136,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -6149,7 +6149,7 @@
     (RETURN
       (SEQ (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -6162,7 +6162,7 @@
     (RETURN
       (SEQ (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -6175,7 +6175,7 @@
     (RETURN
       (SEQ (setq |mnam|
                     (INTERN (STRCONC "m"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -6188,7 +6188,7 @@
     (RETURN
       (SEQ (setq |pnam|
                     (INTERN (STRCONC "p"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -6617,11 +6617,11 @@
 ;    y := rest y
 ;    xList := [right,:xList]
 ;  xstring := bcwords2liststring xList
-;  prefix := STRCONC('"e02dff(",STRINGIMAGE mx,", ",STRINGIMAGE my,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE px,", ",STRINGIMAGE py,",[")
+;  prefix := STRCONC('"e02dff(",princ-to-string mx,", ",princ-to-string my,", ")
+;  prefix := STRCONC(prefix,princ-to-string px,", ",princ-to-string py,",[")
 ;  prefix := STRCONC(prefix,xstring,"],[",ystring,"],[",lamstring,"],[")
-;  prefix := STRCONC(prefix,mustring,"],[",cstring,"],",STRINGIMAGE lwrk,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE liwrk,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,mustring,"],[",cstring,"],",princ-to-string lwrk,", ")
+;  prefix := STRCONC(prefix,princ-to-string liwrk,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02dffGen| (|htPage|)
@@ -6681,20 +6681,20 @@
              (setq |xstring| (|bcwords2liststring| |xList|))
              (setq |prefix|
                       (STRCONC "e02dff("
-                               (STRINGIMAGE |mx|) '|, |
-                               (STRINGIMAGE |my|) '|, |))
+                               (princ-to-string |mx|) '|, |
+                               (princ-to-string |my|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |px|) '|, |
-                               (STRINGIMAGE |py|) '|,[|))
+                      (STRCONC |prefix| (princ-to-string |px|) '|, |
+                               (princ-to-string |py|) '|,[|))
              (setq |prefix|
                       (STRCONC |prefix| |xstring| '|],[| |ystring|
                                '|],[| |lamstring| '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |mustring| '|],[| |cstring|
-                               '|],| (STRINGIMAGE |lwrk|) '|, |))
+                               '|],| (princ-to-string |lwrk|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |liwrk|) '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |liwrk|) '|, |
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02gaf() ==
@@ -6804,13 +6804,13 @@
 ;    "append"/[fc(i,n) for i in 1..la] where fc(i,n) ==
 ;      tempList :=
 ;        "append"/[fr(i,j) for j in 1..(n+2)] where fr(i,j) ==
-;          fnam := INTERN STRCONC ('"f",STRINGIMAGE i, STRINGIMAGE j)
+;          fnam := INTERN STRCONC ('"f",princ-to-string i, princ-to-string j)
 ;          [['bcStrings,[9, 0.0, fnam, 'F]]]
 ;      prefix := ('"\newline ")
 ;      tempList := [['text,:prefix],:tempList]
 ;  bList :=
 ;    "append"/[fb(i) for i in 1..m] where fb(i) ==
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
 ;      [['bcStrings,[9, 0.0, lnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of {\it B(m)}: \newline")
 ;  bList := [['text,:prefix],:bList]
@@ -6838,8 +6838,8 @@
   (PROG (|fnam|)
     (RETURN
       (SEQ (setq |fnam|
-                    (INTERN (STRCONC "f" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "f" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 9
                                     (CONS 0.0
@@ -6869,7 +6869,7 @@
     (RETURN
       (SEQ (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 9
                                     (CONS 0.0
@@ -7113,10 +7113,10 @@
 ;  k := -1
 ;  matform := [[y.(k := k + 1).1 for j in 0..(nplustwo-1)] for i in 0..(la-1)]
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"e02gaf(",STRINGIMAGE m,", ",STRINGIMAGE la,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nplustwo,", ",STRINGIMAGE toler,", ")
+;  prefix := STRCONC('"e02gaf(",princ-to-string m,", ",princ-to-string la,", ")
+;  prefix := STRCONC(prefix,princ-to-string nplustwo,", ",princ-to-string toler,", ")
 ;  prefix := STRCONC(prefix,matstring,",[",bstring,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02gafGen| (|htPage|)
@@ -7191,16 +7191,16 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G167672)))))))))
              (setq |prefix|
-                      (STRCONC "e02gaf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |la|) '|, |))
+                      (STRCONC "e02gaf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |la|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nplustwo|) '|, |
-                               (STRINGIMAGE |toler|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |nplustwo|) '|, |
+                               (princ-to-string |toler|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |matstring| '|,[| |bstring|
                                '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02daf() ==
@@ -7365,17 +7365,17 @@
 ;      middle := ('"\tab{17} ")
 ;      next := ('"\tab{32} ")
 ;      end := ('"\tab{47} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      fnam := INTERN STRCONC ('"f",STRINGIMAGE i)
-;      wnam := INTERN STRCONC ('"w",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      fnam := INTERN STRCONC ('"f",princ-to-string i)
+;      wnam := INTERN STRCONC ('"w",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[8, 0.0, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[8, 0.0, ynam, 'F]],
 ;         ['text,:next],['bcStrings,[8, 0.0, fnam, 'F]],
 ;           ['text,:end],['bcStrings,[8, 0.0, wnam, 'F]]]
 ;  lamList :=
 ;    "append"/[flam(i) for i in 5..(px-4)] where flam(i) ==
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, lnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} lamda(5) to lamda(px-4): ")
 ;  prefix := STRCONC(prefix,"\newline \tab{2} ")
@@ -7383,7 +7383,7 @@
 ;  lamList := [['text,:prefix],:lamList,['text,:postfix]]
 ;  muList :=
 ;    "append"/[fmu(i) for i in 5..(py-4)] where fmu(i) ==
-;      mnam := INTERN STRCONC ('"m",STRINGIMAGE i)
+;      mnam := INTERN STRCONC ('"m",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, mnam, 'F]]]
 ;  prefix := ('"\menuitemstyle{} \tab{2} mu(5) to mu(py-4):")
 ;  prefix := STRCONC(prefix,"\newline \tab{2} ")
@@ -7391,7 +7391,7 @@
 ;  pList :=
 ;    "append"/[fp(i) for i in 1..npoint] where fp(i) ==
 ;      prefix := ('"\newline \tab{2} ")
-;      pnam := INTERN STRCONC ('"p",STRINGIMAGE i)
+;      pnam := INTERN STRCONC ('"p",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[8, 0.0, pnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Enter values of Point: ")
 ;  pList := [['text,:prefix],:pList]
@@ -7429,16 +7429,16 @@
            (setq |end| "\\tab{47} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |fnam|
                     (INTERN (STRCONC "f"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |wnam|
                     (INTERN (STRCONC "w"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -7477,7 +7477,7 @@
     (RETURN
       (SEQ (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -7490,7 +7490,7 @@
     (RETURN
       (SEQ (setq |mnam|
                     (INTERN (STRCONC "m"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -7504,7 +7504,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |pnam|
                     (INTERN (STRCONC "p"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -8359,12 +8359,12 @@
 ;  fstring := bcwords2liststring flist
 ;  wstring := bcwords2liststring wlist
 ;  nc := (px-4)*(py-4)
-;  prefix := STRCONC('"e02daf(",STRINGIMAGE m,", ",STRINGIMAGE px,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE py,",[",xstring,"],[",ystring,"],[")
+;  prefix := STRCONC('"e02daf(",princ-to-string m,", ",princ-to-string px,", ")
+;  prefix := STRCONC(prefix,princ-to-string py,",[",xstring,"],[",ystring,"],[")
 ;  prefix := STRCONC(prefix,fstring,"],[",wstring,"],[",mustring,"],[")
-;  prefix := STRCONC(prefix,pstring,"], ",STRINGIMAGE npoint,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nc,", ",STRINGIMAGE nws,", ",eps,", [")
-;  prefix := STRCONC(prefix,lamstring,"], ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,pstring,"], ",princ-to-string npoint,", ")
+;  prefix := STRCONC(prefix,princ-to-string nc,", ",princ-to-string nws,", ",eps,", [")
+;  prefix := STRCONC(prefix,lamstring,"], ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02dafGen| (|htPage|)
@@ -8454,23 +8454,23 @@
                       (TIMES (SPADDIFFERENCE |px| 4)
                              (SPADDIFFERENCE |py| 4)))
              (setq |prefix|
-                      (STRCONC "e02daf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |px|) '|, |))
+                      (STRCONC "e02daf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |px|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |py|) '|,[|
+                      (STRCONC |prefix| (princ-to-string |py|) '|,[|
                                |xstring| '|],[| |ystring| '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |fstring| '|],[| |wstring|
                                '|],[| |mustring| '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |pstring| '|], |
-                               (STRINGIMAGE |npoint|) '|, |))
+                               (princ-to-string |npoint|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nc|) '|, |
-                               (STRINGIMAGE |nws|) '|, | |eps| '|, [|))
+                      (STRCONC |prefix| (princ-to-string |nc|) '|, |
+                               (princ-to-string |nws|) '|, | |eps| '|, [|))
              (setq |prefix|
                       (STRCONC |prefix| |lamstring| '|], |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02dcf() ==
@@ -8736,17 +8736,17 @@
 ;e02dcfColdSolve(htPage,mx,my,nxest,nyest,lwrk,liwrk,s,ifail) ==
 ;  xList :=
 ;    "append"/[f(i) for i in 1..mx] where f(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, xnam, 'F]]]
 ;  yList :=
 ;    "append"/[g(i) for i in 1..my] where g(i) ==
-;      ynam := INTERN STRCONC ('"g",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"g",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, ynam, 'F]]]
 ;  prefix:= ('"\blankline \menuitemstyle{}\tab{2} Values of {\it y(my)}: \newline ")
 ;  yList := [['text,:prefix],:yList]
 ;  fList :=
 ;    "append"/[h(i) for i in 1..(mx*my)] where h(i) ==
-;      fnam := INTERN STRCONC ('"g",STRINGIMAGE i)
+;      fnam := INTERN STRCONC ('"g",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, fnam, 'F]]]
 ;  prefix:=('"\blankline \menuitemstyle{} \tab{2} Values of {\it f(mx*my)}: \newline ")
 ;  fList := [['text,:prefix],:fList]
@@ -8778,7 +8778,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -8791,7 +8791,7 @@
     (RETURN
       (SEQ (setq |ynam|
                     (INTERN (STRCONC "g"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -8804,7 +8804,7 @@
     (RETURN
       (SEQ (setq |fnam|
                     (INTERN (STRCONC "g"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -9209,14 +9209,14 @@
 ;  xstring := bcwords2liststring xlist
 ;  -- additional entries needed to get it running
 ;  -- but as Start = c they are not used
-;  prefix := STRCONC('"e02dcf(_"",cold,"_",",STRINGIMAGE mx,", [",xstring,"],")
-;  prefix := STRCONC(prefix,STRINGIMAGE my,",[",ystring,"],[",fstring,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE s,", ",STRINGIMAGE nxest,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nyest,", ",STRINGIMAGE lwrk,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE liwrk,",0,new(1,", STRINGIMAGE nxest,",0.0)$MATRIX DFLOAT,")
-;  prefix := STRCONC(prefix,"0,new(1,", STRINGIMAGE nyest,",0.0)$MATRIX DFLOAT,")
-;  end := STRCONC("new(1,", STRINGIMAGE lwrk,",0.0)$MATRIX DFLOAT,[[0 for i in 1..")
-;  end := STRCONC(end,STRINGIMAGE liwrk,"]]::Matrix Integer,",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02dcf(_"",cold,"_",",princ-to-string mx,", [",xstring,"],")
+;  prefix := STRCONC(prefix,princ-to-string my,",[",ystring,"],[",fstring,"], ")
+;  prefix := STRCONC(prefix,princ-to-string s,", ",princ-to-string nxest,", ")
+;  prefix := STRCONC(prefix,princ-to-string nyest,", ",princ-to-string lwrk,", ")
+;  prefix := STRCONC(prefix,princ-to-string liwrk,",0,new(1,", princ-to-string nxest,",0.0)$MATRIX DFLOAT,")
+;  prefix := STRCONC(prefix,"0,new(1,", princ-to-string nyest,",0.0)$MATRIX DFLOAT,")
+;  end := STRCONC("new(1,", princ-to-string lwrk,",0.0)$MATRIX DFLOAT,[[0 for i in 1..")
+;  end := STRCONC(end,princ-to-string liwrk,"]]::Matrix Integer,",princ-to-string ifail,")")
 ;  linkGen STRCONC(prefix,end)
 
 (DEFUN |e02dcfColdGen| (|htPage|)
@@ -9260,32 +9260,32 @@
              (setq |xstring| (|bcwords2liststring| |xlist|))
              (setq |prefix|
                       (STRCONC "e02dcf(\"" |cold| '|",|
-                               (STRINGIMAGE |mx|) '|, [| |xstring|
+                               (princ-to-string |mx|) '|, [| |xstring|
                                '|],|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |my|) '|,[|
+                      (STRCONC |prefix| (princ-to-string |my|) '|,[|
                                |ystring| '|],[| |fstring| '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |s|) '|, |
-                               (STRINGIMAGE |nxest|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |s|) '|, |
+                               (princ-to-string |nxest|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nyest|) '|, |
-                               (STRINGIMAGE |lwrk|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |nyest|) '|, |
+                               (princ-to-string |lwrk|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |liwrk|)
-                               '|,0,new(1,| (STRINGIMAGE |nxest|)
+                      (STRCONC |prefix| (princ-to-string |liwrk|)
+                               '|,0,new(1,| (princ-to-string |nxest|)
                                '|,0.0)$MATRIX DFLOAT,|))
              (setq |prefix|
                       (STRCONC |prefix| '|0,new(1,|
-                               (STRINGIMAGE |nyest|)
+                               (princ-to-string |nyest|)
                                '|,0.0)$MATRIX DFLOAT,|))
              (setq |end|
-                      (STRCONC '|new(1,| (STRINGIMAGE |lwrk|)
+                      (STRCONC '|new(1,| (princ-to-string |lwrk|)
                                '|,0.0)$MATRIX DFLOAT,[[0 for i in 1..|))
              (setq |end|
-                      (STRCONC |end| (STRINGIMAGE |liwrk|)
+                      (STRCONC |end| (princ-to-string |liwrk|)
                                '|]]::Matrix Integer,|
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| (STRCONC |prefix| |end|)))))))
 
 ;e02ddf() ==
@@ -9448,23 +9448,23 @@
 ;      middle := ('"\tab{17} ")
 ;      post   := ('"\tab{32} ")
 ;      end    := ('"\tab{47} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      fnam := INTERN STRCONC ('"f",STRINGIMAGE i)
-;      wnam := INTERN STRCONC ('"w",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      fnam := INTERN STRCONC ('"f",princ-to-string i)
+;      wnam := INTERN STRCONC ('"w",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[8, 0.0, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[8, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[8, 0.0, fnam, 'F]],
 ;         ['text,:end],['bcStrings,[8, 0.0, wnam, 'F]]]
 ;  lamdaList :=
 ;    "append"/[g(i) for i in 1..nxest] where g(i) ==
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, lnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of Lamda: \newline")
 ;  lamdaList := [['text,:prefix],:lamdaList]
 ;  muList :=
 ;    "append"/[h(i) for i in 1..nyest] where h(i) ==
-;      mnam := INTERN STRCONC ('"m",STRINGIMAGE i)
+;      mnam := INTERN STRCONC ('"m",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, mnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of Mu: \newline")
 ;  muList := [['text,:prefix],:muList]
@@ -9510,16 +9510,16 @@
            (setq |end| "\\tab{47} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |fnam|
                     (INTERN (STRCONC "f"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |wnam|
                     (INTERN (STRCONC "w"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -9558,7 +9558,7 @@
     (RETURN
       (SEQ (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -9571,7 +9571,7 @@
     (RETURN
       (SEQ (setq |mnam|
                     (INTERN (STRCONC "m"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -9759,10 +9759,10 @@
 ;      middle := ('"\tab{17} ")
 ;      post   := ('"\tab{32} ")
 ;      end    := ('"\tab{47} ")
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-;      fnam := INTERN STRCONC ('"f",STRINGIMAGE i)
-;      wnam := INTERN STRCONC ('"w",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
+;      ynam := INTERN STRCONC ('"y",princ-to-string i)
+;      fnam := INTERN STRCONC ('"f",princ-to-string i)
+;      wnam := INTERN STRCONC ('"w",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[8, 0.0, xnam, 'F]],
 ;       ['text,:middle],['bcStrings,[8, 0.0, ynam, 'F]],
 ;        ['text,:post],['bcStrings,[8, 0.0, fnam, 'F]],
@@ -9803,16 +9803,16 @@
            (setq |end| "\\tab{47} ")
            (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |ynam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |fnam|
                     (INTERN (STRCONC "f"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |wnam|
                     (INTERN (STRCONC "w"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -10372,18 +10372,18 @@
 ;  wstring := bcwords2liststring wlist
 ;  -- additional entries nx,ny,lamda,mu,wrk needed to get it running
 ;  -- but they are just set to 0.0
-;  prefix := STRCONC('"e02ddf(_"",cold,"_",",STRINGIMAGE m,", [",xstring,"],[")
+;  prefix := STRCONC('"e02ddf(_"",cold,"_",",princ-to-string m,", [",xstring,"],[")
 ;  prefix := STRCONC(prefix,ystring,"],[",fstring,"],[",wstring,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE s,", ",STRINGIMAGE nxest,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nyest,", ",STRINGIMAGE lwrk,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE liwrk,", 0,")
-;  prefix := STRCONC(prefix,"new(1,", STRINGIMAGE nxest,",0.0)$MATRIX DFLOAT,0,")
-;  prefix := STRCONC(prefix,"new(1,", STRINGIMAGE nyest,",0.0)$MATRIX DFLOAT,")
-;  prefix := STRCONC(prefix,"new(1,", STRINGIMAGE lwrk,",0.0)$MATRIX DFLOAT,")
-;--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", STRINGIMAGE nxest,"]],0,")
-;--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", STRINGIMAGE nyest,"]],")
-;--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", STRINGIMAGE lwrk,"]],")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string s,", ",princ-to-string nxest,", ")
+;  prefix := STRCONC(prefix,princ-to-string nyest,", ",princ-to-string lwrk,", ")
+;  prefix := STRCONC(prefix,princ-to-string liwrk,", 0,")
+;  prefix := STRCONC(prefix,"new(1,", princ-to-string nxest,",0.0)$MATRIX DFLOAT,0,")
+;  prefix := STRCONC(prefix,"new(1,", princ-to-string nyest,",0.0)$MATRIX DFLOAT,")
+;  prefix := STRCONC(prefix,"new(1,", princ-to-string lwrk,",0.0)$MATRIX DFLOAT,")
+;--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", princ-to-string nxest,"]],0,")
+;--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", princ-to-string nyest,"]],")
+;--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", princ-to-string lwrk,"]],")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02ddfColdGen| (|htPage|)
@@ -10426,30 +10426,30 @@
              (setq |wstring| (|bcwords2liststring| |wlist|))
              (setq |prefix|
                       (STRCONC "e02ddf(\"" |cold| '|",|
-                               (STRINGIMAGE |m|) '|, [| |xstring|
+                               (princ-to-string |m|) '|, [| |xstring|
                                '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |ystring| '|],[| |fstring|
                                '|],[| |wstring| '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |s|) '|, |
-                               (STRINGIMAGE |nxest|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |s|) '|, |
+                               (princ-to-string |nxest|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nyest|) '|, |
-                               (STRINGIMAGE |lwrk|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |nyest|) '|, |
+                               (princ-to-string |lwrk|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |liwrk|) '|, 0,|))
+                      (STRCONC |prefix| (princ-to-string |liwrk|) '|, 0,|))
              (setq |prefix|
-                      (STRCONC |prefix| '|new(1,| (STRINGIMAGE |nxest|)
+                      (STRCONC |prefix| '|new(1,| (princ-to-string |nxest|)
                                '|,0.0)$MATRIX DFLOAT,0,|))
              (setq |prefix|
-                      (STRCONC |prefix| '|new(1,| (STRINGIMAGE |nyest|)
+                      (STRCONC |prefix| '|new(1,| (princ-to-string |nyest|)
                                '|,0.0)$MATRIX DFLOAT,|))
              (setq |prefix|
-                      (STRCONC |prefix| '|new(1,| (STRINGIMAGE |lwrk|)
+                      (STRCONC |prefix| '|new(1,| (princ-to-string |lwrk|)
                                '|,0.0)$MATRIX DFLOAT,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02ddfWarmGen htPage ==
@@ -10502,13 +10502,13 @@
 ;  wstring := bcwords2liststring wlist
 ;  -- additional entries nx,ny,lamda,mu,wrk needed to get it running
 ;  -- but they are just set to 0.0
-;  prefix := STRCONC('"e02ddf(_"",warm,"_",",STRINGIMAGE m,", [",xstring,"],[")
+;  prefix := STRCONC('"e02ddf(_"",warm,"_",",princ-to-string m,", [",xstring,"],[")
 ;  prefix := STRCONC(prefix,ystring,"],[",fstring,"],[",wstring,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE s,", ",STRINGIMAGE nxest,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nyest,", ",STRINGIMAGE lwrk,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE liwrk,", ",nx,",[",lamstring,"],",ny)
+;  prefix := STRCONC(prefix,princ-to-string s,", ",princ-to-string nxest,", ")
+;  prefix := STRCONC(prefix,princ-to-string nyest,", ",princ-to-string lwrk,", ")
+;  prefix := STRCONC(prefix,princ-to-string liwrk,", ",nx,",[",lamstring,"],",ny)
 ;  prefix := STRCONC(prefix,",[",mustring,"],[",wrkstring,"],")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02ddfWarmGen| (|htPage|)
@@ -10578,25 +10578,25 @@
              (setq |wstring| (|bcwords2liststring| |wlist|))
              (setq |prefix|
                       (STRCONC "e02ddf(\"" |warm| '|",|
-                               (STRINGIMAGE |m|) '|, [| |xstring|
+                               (princ-to-string |m|) '|, [| |xstring|
                                '|],[|))
              (setq |prefix|
                       (STRCONC |prefix| |ystring| '|],[| |fstring|
                                '|],[| |wstring| '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |s|) '|, |
-                               (STRINGIMAGE |nxest|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |s|) '|, |
+                               (princ-to-string |nxest|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nyest|) '|, |
-                               (STRINGIMAGE |lwrk|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |nyest|) '|, |
+                               (princ-to-string |lwrk|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |liwrk|) '|, |
+                      (STRCONC |prefix| (princ-to-string |liwrk|) '|, |
                                |nx| '|,[| |lamstring| '|],| |ny|))
              (setq |prefix|
                       (STRCONC |prefix| '|,[| |mustring| '|],[|
                                |wrkstring| '|],|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;e02zaf() ==
@@ -10720,20 +10720,20 @@
 ;    "append"/[fxy(i) for i in 1..m] where fxy(i) ==
 ;      prefix := ('"\newline \tab{2} ")
 ;      middle := ('"\tab{32} ")
-;      lnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-;      cnam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      lnam := INTERN STRCONC ('"x",princ-to-string i)
+;      cnam := INTERN STRCONC ('"y",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[8, 0.0, lnam, 'F]],
 ;       ['text,:middle],['bcStrings,[8, 0.0, cnam, 'F]]]
 ;  lamList :=
 ;    "append"/[flam(i) for i in 5..(px-4)] where flam(i) ==
-;      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+;      lnam := INTERN STRCONC ('"l",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, lnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it \lambda(5) to ")
 ;  prefix := STRCONC(prefix,"\lambda(px-4)}: \newline \tab{2} ")
 ;  lamList := [['text,:prefix],:lamList]
 ;  muList :=
 ;    "append"/[fmu(i) for i in 5..(py-4)] where fmu(i) ==
-;      mnam := INTERN STRCONC ('"m",STRINGIMAGE i)
+;      mnam := INTERN STRCONC ('"m",princ-to-string i)
 ;      [['bcStrings,[8, 0.0, mnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it \mu(5) to \mu(py-4)}: ")
 ;  prefix := STRCONC(prefix,"\newline \tab{2} ")
@@ -10766,10 +10766,10 @@
            (setq |middle| "\\tab{32} ")
            (setq |lnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |cnam|
                     (INTERN (STRCONC "y"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -10792,7 +10792,7 @@
     (RETURN
       (SEQ (setq |lnam|
                     (INTERN (STRCONC "l"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -10805,7 +10805,7 @@
     (RETURN
       (SEQ (setq |mnam|
                     (INTERN (STRCONC "m"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0.0
@@ -11108,10 +11108,10 @@
 ;    ylist := [right,:ylist]
 ;  xstring := bcwords2liststring xlist
 ;  ystring := bcwords2liststring ylist
-;  prefix := STRCONC('"e02zaf(",STRINGIMAGE px,", ",STRINGIMAGE py,",[")
-;  prefix := STRCONC(prefix,lamstring,"],[",mustring,"], ",STRINGIMAGE m,", [")
-;  prefix := STRCONC(prefix,xstring,"],[",ystring,"], ",STRINGIMAGE npoint,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nadres,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"e02zaf(",princ-to-string px,", ",princ-to-string py,",[")
+;  prefix := STRCONC(prefix,lamstring,"],[",mustring,"], ",princ-to-string m,", [")
+;  prefix := STRCONC(prefix,xstring,"],[",ystring,"], ",princ-to-string npoint,", ")
+;  prefix := STRCONC(prefix,princ-to-string nadres,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |e02zafGen| (|htPage|)
@@ -11177,17 +11177,17 @@
              (setq |ystring| (|bcwords2liststring| |ylist|))
              (setq |prefix|
                       (STRCONC "e02zaf("
-                               (STRINGIMAGE |px|) '|, |
-                               (STRINGIMAGE |py|) '|,[|))
+                               (princ-to-string |px|) '|, |
+                               (princ-to-string |py|) '|,[|))
              (setq |prefix|
                       (STRCONC |prefix| |lamstring| '|],[| |mustring|
-                               '|], | (STRINGIMAGE |m|) '|, [|))
+                               '|], | (princ-to-string |m|) '|, [|))
              (setq |prefix|
                       (STRCONC |prefix| |xstring| '|],[| |ystring|
-                               '|], | (STRINGIMAGE |npoint|) '|, |))
+                               '|], | (princ-to-string |npoint|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nadres|) '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |nadres|) '|, |
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 \end{chunk}
diff --git a/src/interp/nag-e02b.boot.pamphlet b/src/interp/nag-e02b.boot.pamphlet
index cdd57c6..6d6b47c 100644
--- a/src/interp/nag-e02b.boot.pamphlet
+++ b/src/interp/nag-e02b.boot.pamphlet
@@ -145,17 +145,17 @@ e02dafSolve htPage ==
       middle := ('"\tab{17} ")
       next := ('"\tab{32} ")
       end := ('"\tab{47} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      fnam := INTERN STRCONC ('"f",STRINGIMAGE i)
-      wnam := INTERN STRCONC ('"w",STRINGIMAGE i)
+      xnam := INTERN STRCONC ('"x",princ-to-string i)
+      ynam := INTERN STRCONC ('"y",princ-to-string i)
+      fnam := INTERN STRCONC ('"f",princ-to-string i)
+      wnam := INTERN STRCONC ('"w",princ-to-string i)
       [['text,:prefix],['bcStrings,[8, 0.0, xnam, 'F]], 
        ['text,:middle],['bcStrings,[8, 0.0, ynam, 'F]],
          ['text,:next],['bcStrings,[8, 0.0, fnam, 'F]],
            ['text,:end],['bcStrings,[8, 0.0, wnam, 'F]]]
   lamList :=
     "append"/[flam(i) for i in 5..(px-4)] where flam(i) ==
-      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+      lnam := INTERN STRCONC ('"l",princ-to-string i)
       [['bcStrings,[8, 0.0, lnam, 'F]]]
   prefix := ('"\blankline \menuitemstyle{} \tab{2} lamda(5) to lamda(px-4): ")
   prefix := STRCONC(prefix,"\newline \tab{2} ")
@@ -163,7 +163,7 @@ e02dafSolve htPage ==
   lamList := [['text,:prefix],:lamList,['text,:postfix]]
   muList :=
     "append"/[fmu(i) for i in 5..(py-4)] where fmu(i) ==
-      mnam := INTERN STRCONC ('"m",STRINGIMAGE i)
+      mnam := INTERN STRCONC ('"m",princ-to-string i)
       [['bcStrings,[8, 0.0, mnam, 'F]]]
   prefix := ('"\menuitemstyle{} \tab{2} mu(5) to mu(py-4):")
   prefix := STRCONC(prefix,"\newline \tab{2} ")
@@ -171,7 +171,7 @@ e02dafSolve htPage ==
   pList :=
     "append"/[fp(i) for i in 1..npoint] where fp(i) ==
       prefix := ('"\newline \tab{2} ")
-      pnam := INTERN STRCONC ('"p",STRINGIMAGE i)
+      pnam := INTERN STRCONC ('"p",princ-to-string i)
       [['text,:prefix],['bcStrings,[8, 0.0, pnam, 'F]]]
   prefix := ('"\blankline \menuitemstyle{} \tab{2} Enter values of Point: ")
   pList := [['text,:prefix],:pList]
@@ -616,12 +616,12 @@ e02dafGen htPage ==
   fstring := bcwords2liststring flist
   wstring := bcwords2liststring wlist
   nc := (px-4)*(py-4)
-  prefix := STRCONC('"e02daf(",STRINGIMAGE m,", ",STRINGIMAGE px,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE py,",[",xstring,"],[",ystring,"],[")
+  prefix := STRCONC('"e02daf(",princ-to-string m,", ",princ-to-string px,", ")
+  prefix := STRCONC(prefix,princ-to-string py,",[",xstring,"],[",ystring,"],[")
   prefix := STRCONC(prefix,fstring,"],[",wstring,"],[",mustring,"],[")
-  prefix := STRCONC(prefix,pstring,"], ",STRINGIMAGE npoint,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE nc,", ",STRINGIMAGE nws,", ",eps,", [")
-  prefix := STRCONC(prefix,lamstring,"], ",STRINGIMAGE ifail,")")
+  prefix := STRCONC(prefix,pstring,"], ",princ-to-string npoint,", ")
+  prefix := STRCONC(prefix,princ-to-string nc,", ",princ-to-string nws,", ",eps,", [")
+  prefix := STRCONC(prefix,lamstring,"], ",princ-to-string ifail,")")
   linkGen prefix
 
 
@@ -738,17 +738,17 @@ e02dcfSolve htPage ==
 e02dcfColdSolve(htPage,mx,my,nxest,nyest,lwrk,liwrk,s,ifail) ==
   xList :=
     "append"/[f(i) for i in 1..mx] where f(i) ==
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+      xnam := INTERN STRCONC ('"x",princ-to-string i)
       [['bcStrings,[8, 0.0, xnam, 'F]]] 
   yList :=
     "append"/[g(i) for i in 1..my] where g(i) ==
-      ynam := INTERN STRCONC ('"g",STRINGIMAGE i)
+      ynam := INTERN STRCONC ('"g",princ-to-string i)
       [['bcStrings,[8, 0.0, ynam, 'F]]] 
   prefix:= ('"\blankline \menuitemstyle{}\tab{2} Values of {\it y(my)}: \newline ")
   yList := [['text,:prefix],:yList]
   fList :=
     "append"/[h(i) for i in 1..(mx*my)] where h(i) ==
-      fnam := INTERN STRCONC ('"g",STRINGIMAGE i)
+      fnam := INTERN STRCONC ('"g",princ-to-string i)
       [['bcStrings,[8, 0.0, fnam, 'F]]] 
   prefix:=('"\blankline \menuitemstyle{} \tab{2} Values of {\it f(mx*my)}: \newline ")
   fList := [['text,:prefix],:fList]
@@ -952,14 +952,14 @@ e02dcfColdGen htPage ==
   xstring := bcwords2liststring xlist
   -- additional entries needed to get it running
   -- but as Start = c they are not used
-  prefix := STRCONC('"e02dcf(_"",cold,"_",",STRINGIMAGE mx,", [",xstring,"],")
-  prefix := STRCONC(prefix,STRINGIMAGE my,",[",ystring,"],[",fstring,"], ")
-  prefix := STRCONC(prefix,STRINGIMAGE s,", ",STRINGIMAGE nxest,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE nyest,", ",STRINGIMAGE lwrk,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE liwrk,",0,new(1,", STRINGIMAGE nxest,",0.0)$MATRIX DFLOAT,")
-  prefix := STRCONC(prefix,"0,new(1,", STRINGIMAGE nyest,",0.0)$MATRIX DFLOAT,")
-  end := STRCONC("new(1,", STRINGIMAGE lwrk,",0.0)$MATRIX DFLOAT,[[0 for i in 1..")
-  end := STRCONC(end,STRINGIMAGE liwrk,"]]::Matrix Integer,",STRINGIMAGE ifail,")")
+  prefix := STRCONC('"e02dcf(_"",cold,"_",",princ-to-string mx,", [",xstring,"],")
+  prefix := STRCONC(prefix,princ-to-string my,",[",ystring,"],[",fstring,"], ")
+  prefix := STRCONC(prefix,princ-to-string s,", ",princ-to-string nxest,", ")
+  prefix := STRCONC(prefix,princ-to-string nyest,", ",princ-to-string lwrk,", ")
+  prefix := STRCONC(prefix,princ-to-string liwrk,",0,new(1,", princ-to-string nxest,",0.0)$MATRIX DFLOAT,")
+  prefix := STRCONC(prefix,"0,new(1,", princ-to-string nyest,",0.0)$MATRIX DFLOAT,")
+  end := STRCONC("new(1,", princ-to-string lwrk,",0.0)$MATRIX DFLOAT,[[0 for i in 1..")
+  end := STRCONC(end,princ-to-string liwrk,"]]::Matrix Integer,",princ-to-string ifail,")")
   linkGen STRCONC(prefix,end)
 
 
@@ -1056,23 +1056,23 @@ e02ddfSolve htPage ==
       middle := ('"\tab{17} ")
       post   := ('"\tab{32} ")
       end    := ('"\tab{47} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      fnam := INTERN STRCONC ('"f",STRINGIMAGE i)
-      wnam := INTERN STRCONC ('"w",STRINGIMAGE i)
+      xnam := INTERN STRCONC ('"x",princ-to-string i)
+      ynam := INTERN STRCONC ('"y",princ-to-string i)
+      fnam := INTERN STRCONC ('"f",princ-to-string i)
+      wnam := INTERN STRCONC ('"w",princ-to-string i)
       [['text,:prefix],['bcStrings,[8, 0.0, xnam, 'F]], 
        ['text,:middle],['bcStrings,[8, 0.0, ynam, 'F]],
         ['text,:post],['bcStrings,[8, 0.0, fnam, 'F]],
          ['text,:end],['bcStrings,[8, 0.0, wnam, 'F]]]
   lamdaList := 
     "append"/[g(i) for i in 1..nxest] where g(i) ==
-      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+      lnam := INTERN STRCONC ('"l",princ-to-string i)
       [['bcStrings,[8, 0.0, lnam, 'F]]]
   prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of Lamda: \newline")
   lamdaList := [['text,:prefix],:lamdaList]
   muList := 
     "append"/[h(i) for i in 1..nyest] where h(i) ==
-      mnam := INTERN STRCONC ('"m",STRINGIMAGE i)
+      mnam := INTERN STRCONC ('"m",princ-to-string i)
       [['bcStrings,[8, 0.0, mnam, 'F]]]
   prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of Mu: \newline")
   muList := [['text,:prefix],:muList]
@@ -1119,10 +1119,10 @@ e02ddfColdSolve(htPage,m,nxest,nyest,lwrk,liwrk,s,ifail)  ==
       middle := ('"\tab{17} ")
       post   := ('"\tab{32} ")
       end    := ('"\tab{47} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      fnam := INTERN STRCONC ('"f",STRINGIMAGE i)
-      wnam := INTERN STRCONC ('"w",STRINGIMAGE i)
+      xnam := INTERN STRCONC ('"x",princ-to-string i)
+      ynam := INTERN STRCONC ('"y",princ-to-string i)
+      fnam := INTERN STRCONC ('"f",princ-to-string i)
+      wnam := INTERN STRCONC ('"w",princ-to-string i)
       [['text,:prefix],['bcStrings,[8, 0.0, xnam, 'F]], 
        ['text,:middle],['bcStrings,[8, 0.0, ynam, 'F]],
         ['text,:post],['bcStrings,[8, 0.0, fnam, 'F]],
@@ -1449,18 +1449,18 @@ e02ddfColdGen htPage ==
   wstring := bcwords2liststring wlist
   -- additional entries nx,ny,lamda,mu,wrk needed to get it running
   -- but they are just set to 0.0
-  prefix := STRCONC('"e02ddf(_"",cold,"_",",STRINGIMAGE m,", [",xstring,"],[")
+  prefix := STRCONC('"e02ddf(_"",cold,"_",",princ-to-string m,", [",xstring,"],[")
   prefix := STRCONC(prefix,ystring,"],[",fstring,"],[",wstring,"], ")
-  prefix := STRCONC(prefix,STRINGIMAGE s,", ",STRINGIMAGE nxest,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE nyest,", ",STRINGIMAGE lwrk,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE liwrk,", 0,")
-  prefix := STRCONC(prefix,"new(1,", STRINGIMAGE nxest,",0.0)$MATRIX DFLOAT,0,")
-  prefix := STRCONC(prefix,"new(1,", STRINGIMAGE nyest,",0.0)$MATRIX DFLOAT,")
-  prefix := STRCONC(prefix,"new(1,", STRINGIMAGE lwrk,",0.0)$MATRIX DFLOAT,")
---  prefix := STRCONC(prefix,"[[0.0 for i in 1..", STRINGIMAGE nxest,"]],0,")
---  prefix := STRCONC(prefix,"[[0.0 for i in 1..", STRINGIMAGE nyest,"]],")
---  prefix := STRCONC(prefix,"[[0.0 for i in 1..", STRINGIMAGE lwrk,"]],")
-  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+  prefix := STRCONC(prefix,princ-to-string s,", ",princ-to-string nxest,", ")
+  prefix := STRCONC(prefix,princ-to-string nyest,", ",princ-to-string lwrk,", ")
+  prefix := STRCONC(prefix,princ-to-string liwrk,", 0,")
+  prefix := STRCONC(prefix,"new(1,", princ-to-string nxest,",0.0)$MATRIX DFLOAT,0,")
+  prefix := STRCONC(prefix,"new(1,", princ-to-string nyest,",0.0)$MATRIX DFLOAT,")
+  prefix := STRCONC(prefix,"new(1,", princ-to-string lwrk,",0.0)$MATRIX DFLOAT,")
+--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", princ-to-string nxest,"]],0,")
+--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", princ-to-string nyest,"]],")
+--  prefix := STRCONC(prefix,"[[0.0 for i in 1..", princ-to-string lwrk,"]],")
+  prefix := STRCONC(prefix,princ-to-string ifail,")")
   linkGen prefix
 
 e02ddfWarmGen htPage ==
@@ -1513,13 +1513,13 @@ e02ddfWarmGen htPage ==
   wstring := bcwords2liststring wlist
   -- additional entries nx,ny,lamda,mu,wrk needed to get it running
   -- but they are just set to 0.0
-  prefix := STRCONC('"e02ddf(_"",warm,"_",",STRINGIMAGE m,", [",xstring,"],[")
+  prefix := STRCONC('"e02ddf(_"",warm,"_",",princ-to-string m,", [",xstring,"],[")
   prefix := STRCONC(prefix,ystring,"],[",fstring,"],[",wstring,"], ")
-  prefix := STRCONC(prefix,STRINGIMAGE s,", ",STRINGIMAGE nxest,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE nyest,", ",STRINGIMAGE lwrk,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE liwrk,", ",nx,",[",lamstring,"],",ny)
+  prefix := STRCONC(prefix,princ-to-string s,", ",princ-to-string nxest,", ")
+  prefix := STRCONC(prefix,princ-to-string nyest,", ",princ-to-string lwrk,", ")
+  prefix := STRCONC(prefix,princ-to-string liwrk,", ",nx,",[",lamstring,"],",ny)
   prefix := STRCONC(prefix,",[",mustring,"],[",wrkstring,"],")
-  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+  prefix := STRCONC(prefix,princ-to-string ifail,")")
   linkGen prefix
 
 e02zaf() == 
@@ -1592,20 +1592,20 @@ e02zafSolve htPage ==
     "append"/[fxy(i) for i in 1..m] where fxy(i) ==
       prefix := ('"\newline \tab{2} ")
       middle := ('"\tab{32} ")
-      lnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      cnam := INTERN STRCONC ('"y",STRINGIMAGE i)
+      lnam := INTERN STRCONC ('"x",princ-to-string i)
+      cnam := INTERN STRCONC ('"y",princ-to-string i)
       [['text,:prefix],['bcStrings,[8, 0.0, lnam, 'F]], 
        ['text,:middle],['bcStrings,[8, 0.0, cnam, 'F]]]
   lamList :=
     "append"/[flam(i) for i in 5..(px-4)] where flam(i) ==
-      lnam := INTERN STRCONC ('"l",STRINGIMAGE i)
+      lnam := INTERN STRCONC ('"l",princ-to-string i)
       [['bcStrings,[8, 0.0, lnam, 'F]]]
   prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it \lambda(5) to ")
   prefix := STRCONC(prefix,"\lambda(px-4)}: \newline \tab{2} ")
   lamList := [['text,:prefix],:lamList]
   muList :=
     "append"/[fmu(i) for i in 5..(py-4)] where fmu(i) ==
-      mnam := INTERN STRCONC ('"m",STRINGIMAGE i)
+      mnam := INTERN STRCONC ('"m",princ-to-string i)
       [['bcStrings,[8, 0.0, mnam, 'F]]]
   prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it \mu(5) to \mu(py-4)}: ")
   prefix := STRCONC(prefix,"\newline \tab{2} ")
@@ -1741,10 +1741,10 @@ e02zafGen htPage ==
     ylist := [right,:ylist]
   xstring := bcwords2liststring xlist
   ystring := bcwords2liststring ylist
-  prefix := STRCONC('"e02zaf(",STRINGIMAGE px,", ",STRINGIMAGE py,",[")
-  prefix := STRCONC(prefix,lamstring,"],[",mustring,"], ",STRINGIMAGE m,", [")
-  prefix := STRCONC(prefix,xstring,"],[",ystring,"], ",STRINGIMAGE npoint,", ")
-  prefix := STRCONC(prefix,STRINGIMAGE nadres,", ",STRINGIMAGE ifail,")")
+  prefix := STRCONC('"e02zaf(",princ-to-string px,", ",princ-to-string py,",[")
+  prefix := STRCONC(prefix,lamstring,"],[",mustring,"], ",princ-to-string m,", [")
+  prefix := STRCONC(prefix,xstring,"],[",ystring,"], ",princ-to-string npoint,", ")
+  prefix := STRCONC(prefix,princ-to-string nadres,", ",princ-to-string ifail,")")
   linkGen prefix
 
 
diff --git a/src/interp/nag-e04.lisp.pamphlet b/src/interp/nag-e04.lisp.pamphlet
index c014e7e..2c7fedc 100644
--- a/src/interp/nag-e04.lisp.pamphlet
+++ b/src/interp/nag-e04.lisp.pamphlet
@@ -108,7 +108,7 @@
 ;    n='2 =>
 ;      [['bcStrings,[8,-1.0,'x1,'F]],['bcStrings,[8,1.0,'x2,'F]]]
 ;    [fb(i) for i in 1..n] where fb(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      ['bcStrings,[8, -1.0, xnam, 'F]]
 ;  funcList := [:funcList,middle,:vecList]
 ;  if optional = 1 then
@@ -178,7 +178,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS '|bcStrings|
                        (CONS (CONS 8
                                    (CONS (SPADDIFFERENCE 1.0)
@@ -577,11 +577,11 @@
 ;      y := rest y
 ;    xstring := bcwords2liststring xlist
 ;    f := (first y).1
-;  prefix := STRCONC("e04dgf(",STRINGIMAGE n,", ",es,", ",fu,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE it,", ",lin,", ",lis,", ",ma,", ",op)
-;  prefix := STRCONC(prefix,",",STRINGIMAGE pr,", ",STRINGIMAGE sta,", ")
-;  middle := STRCONC(STRINGIMAGE sto,", ",STRINGIMAGE ver,", [",xstring,"] ,")
-;  middle := STRCONC(middle,STRINGIMAGE ifail," ,")
+;  prefix := STRCONC("e04dgf(",princ-to-string n,", ",es,", ",fu,",")
+;  prefix := STRCONC(prefix,princ-to-string it,", ",lin,", ",lis,", ",ma,", ",op)
+;  prefix := STRCONC(prefix,",",princ-to-string pr,", ",princ-to-string sta,", ")
+;  middle := STRCONC(princ-to-string sto,", ",princ-to-string ver,", [",xstring,"] ,")
+;  middle := STRCONC(middle,princ-to-string ifail," ,")
 ;  linkGen STRCONC (prefix,middle,"((",f,")::Expression(Float))::ASP49(OBJFUN))")
 
 (DEFUN |e04dgfGen| (|htPage|)
@@ -652,20 +652,20 @@
                 (setq |xstring| (|bcwords2liststring| |xlist|))
                 (setq |f| (ELT (CAR |y|) 1))))
              (setq |prefix|
-                      (STRCONC '|e04dgf(| (STRINGIMAGE |n|) '|, | |es|
+                      (STRCONC '|e04dgf(| (princ-to-string |n|) '|, | |es|
                                '|, | |fu| '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |it|) '|, | |lin|
+                      (STRCONC |prefix| (princ-to-string |it|) '|, | |lin|
                                '|, | |lis| '|, | |ma| '|, | |op|))
              (setq |prefix|
-                      (STRCONC |prefix| '|,| (STRINGIMAGE |pr|) '|, |
-                               (STRINGIMAGE |sta|) '|, |))
+                      (STRCONC |prefix| '|,| (princ-to-string |pr|) '|, |
+                               (princ-to-string |sta|) '|, |))
              (setq |middle|
-                      (STRCONC (STRINGIMAGE |sto|) '|, |
-                               (STRINGIMAGE |ver|) '|, [| |xstring|
+                      (STRCONC (princ-to-string |sto|) '|, |
+                               (princ-to-string |ver|) '|, [| |xstring|
                                '|] ,|))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |ifail|) '| ,|))
+                      (STRCONC |middle| (princ-to-string |ifail|) '| ,|))
              (|linkGen|
                  (STRCONC |prefix| |middle| '|((| |f|
                           '|)::Expression(Float))::ASP49(OBJFUN))|)))))))
@@ -795,16 +795,16 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..m] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
 ;      funct := ('"XC[1] + 1")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter initial guess ")
 ;  middle := STRCONC(middle,'"of the solution vector {\it x(n)}: \newline ")
 ;  middle := cons('text,middle)
 ;  vecList :=
 ;    [fb(i) for i in 1..n] where fb(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      ['bcStrings,[4, '"0.0", xnam, 'F]]
 ;  funcList := [:funcList,middle,:vecList]
 ;  equationPart := [
@@ -832,12 +832,12 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct| "XC[1] + 1")
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -852,7 +852,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS '|bcStrings|
                        (CONS (CONS 4
                                    (CONS "0.0"
@@ -1116,9 +1116,9 @@
 ;    ulist := [temp,:ulist]
 ;    y := rest y
 ;  ustring := bcwords2liststring ulist
-;  prefix := STRCONC("e04fdf(",STRINGIMAGE m,",",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE liw,",",STRINGIMAGE lw,", [")
-;  middle := STRCONC(xstring,"],",STRINGIMAGE ifail,",")
+;  prefix := STRCONC("e04fdf(",princ-to-string m,",",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string liw,",",princ-to-string lw,", [")
+;  middle := STRCONC(xstring,"],",princ-to-string ifail,",")
 ;  linkGen STRCONC(prefix,middle,"(",ustring,"::Vector Expression(Float))::ASP50(LSFUN1))")
 
 (DEFUN |e04fdfGen| (|htPage|)
@@ -1148,13 +1148,13 @@
                             (setq |y| (CDR |y|))))))
              (setq |ustring| (|bcwords2liststring| |ulist|))
              (setq |prefix|
-                      (STRCONC '|e04fdf(| (STRINGIMAGE |m|) '|,|
-                               (STRINGIMAGE |n|) '|, |))
+                      (STRCONC '|e04fdf(| (princ-to-string |m|) '|,|
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |liw|) '|,|
-                               (STRINGIMAGE |lw|) '|, [|))
+                      (STRCONC |prefix| (princ-to-string |liw|) '|,|
+                               (princ-to-string |lw|) '|, [|))
              (setq |middle|
-                      (STRCONC |xstring| '|],| (STRINGIMAGE |ifail|)
+                      (STRCONC |xstring| '|],| (princ-to-string |ifail|)
                                '|,|))
              (|linkGen|
                  (STRCONC |prefix| |middle| '|(| |ustring|
@@ -1284,16 +1284,16 @@
 ;  funcList :=
 ;    "append"/[fa(i) for i in 1..m] where fa(i) ==
 ;      prefix := ('"\newline {\em Function ")
-;      prefix := STRCONC(prefix,STRINGIMAGE i,'":} \space{1}")
+;      prefix := STRCONC(prefix,princ-to-string i,'":} \space{1}")
 ;      funct := ('"XC[1] + 1")
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE i)
+;      nam := INTERN STRCONC ('"n",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[42, funct, nam, 'EM]]]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter initial guess ")
 ;  middle := STRCONC(middle,'"of the solution vector {\it x(n)}: \newline ")
 ;  middle := cons('text,middle)
 ;  vecList :=
 ;    [fb(i) for i in 1..n] where fb(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      ['bcStrings,[4, '"0.0", xnam, 'F]]
 ;  funcList := [:funcList,middle,:vecList]
 ;  equationPart := [
@@ -1321,12 +1321,12 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline {\\em Function ")
            (setq |prefix|
-                    (STRCONC |prefix| (STRINGIMAGE |i|)
+                    (STRCONC |prefix| (princ-to-string |i|)
                              ":} \\space{1}"))
            (setq |funct| "XC[1] + 1")
            (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1341,7 +1341,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS '|bcStrings|
                        (CONS (CONS 4
                                    (CONS "0.0"
@@ -1605,9 +1605,9 @@
 ;    ulist := [temp,:ulist]
 ;    y := rest y
 ;  ustring := bcwords2liststring ulist
-;  prefix := STRCONC("e04gcf(",STRINGIMAGE m,",",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE liw,",",STRINGIMAGE lw,", [")
-;  middle := STRCONC(xstring,"],",STRINGIMAGE ifail,",")
+;  prefix := STRCONC("e04gcf(",princ-to-string m,",",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string liw,",",princ-to-string lw,", [")
+;  middle := STRCONC(xstring,"],",princ-to-string ifail,",")
 ;  linkGen STRCONC(prefix,middle,"(",ustring,"::Vector Expression(Float))::ASP19(LSFUN2))")
 
 (DEFUN |e04gcfGen| (|htPage|)
@@ -1637,13 +1637,13 @@
                             (setq |y| (CDR |y|))))))
              (setq |ustring| (|bcwords2liststring| |ulist|))
              (setq |prefix|
-                      (STRCONC '|e04gcf(| (STRINGIMAGE |m|) '|,|
-                               (STRINGIMAGE |n|) '|, |))
+                      (STRCONC '|e04gcf(| (princ-to-string |m|) '|,|
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |liw|) '|,|
-                               (STRINGIMAGE |lw|) '|, [|))
+                      (STRCONC |prefix| (princ-to-string |liw|) '|,|
+                               (princ-to-string |lw|) '|, [|))
              (setq |middle|
-                      (STRCONC |xstring| '|],| (STRINGIMAGE |ifail|)
+                      (STRCONC |xstring| '|],| (princ-to-string |ifail|)
                                '|,|))
              (|linkGen|
                  (STRCONC |prefix| |middle| '|(| |ustring|
@@ -1799,21 +1799,21 @@
 ;  middle := STRCONC(middle,'"{\it bl(n)}: \newline ")
 ;  blList :=
 ;    "append"/[fa(i) for i in 1..n] where fa(i) ==
-;      xnam := INTERN STRCONC ('"bl",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"bl",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", xnam, 'F]]]
 ;  blList := [['text,:middle],:blList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter upper boundary ")
 ;  middle := STRCONC(middle,'"conditions {\it bu(n)}: \newline ")
 ;  buList :=
 ;    "append"/[fb(i) for i in 1..n] where fb(i) ==
-;      xnam := INTERN STRCONC ('"bu",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"bu",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", xnam, 'F]]]
 ;  buList := [['text,:middle],:buList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter initial guess ")
 ;  middle := STRCONC(middle,'"of the solution vector {\it x(n)}: \newline ")
 ;  xList :=
 ;    "append"/[fc(i) for i in 1..n] where fc(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", xnam, 'F]]]
 ;  xList := [['text,:middle],:xList]
 ;  equationPart := [
@@ -1841,7 +1841,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "bl"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -1854,7 +1854,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "bu"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -1867,7 +1867,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -2127,10 +2127,10 @@
 ;    y := rest y
 ;  blstring := bcwords2liststring bllist
 ;  f := (first y).1
-;  prefix := STRCONC("e04jaf(",STRINGIMAGE n,",",STRINGIMAGE ibound,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE liw,",",STRINGIMAGE lw,", [")
+;  prefix := STRCONC("e04jaf(",princ-to-string n,",",princ-to-string ibound,", ")
+;  prefix := STRCONC(prefix,princ-to-string liw,",",princ-to-string lw,", [")
 ;  prefix := STRCONC(prefix,blstring,"],[",bustring,"],[")
-;  middle := STRCONC(xstring,"],",STRINGIMAGE ifail,",(")
+;  middle := STRCONC(xstring,"],",princ-to-string ifail,",(")
 ;  linkGen STRCONC(prefix,middle,f,"::Expression(Float))::ASP24(FUNCT1))")
 
 (DEFUN |e04jafGen| (|htPage|)
@@ -2169,16 +2169,16 @@
              (setq |blstring| (|bcwords2liststring| |bllist|))
              (setq |f| (ELT (CAR |y|) 1))
              (setq |prefix|
-                      (STRCONC '|e04jaf(| (STRINGIMAGE |n|) '|,|
-                               (STRINGIMAGE |ibound|) '|, |))
+                      (STRCONC '|e04jaf(| (princ-to-string |n|) '|,|
+                               (princ-to-string |ibound|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |liw|) '|,|
-                               (STRINGIMAGE |lw|) '|, [|))
+                      (STRCONC |prefix| (princ-to-string |liw|) '|,|
+                               (princ-to-string |lw|) '|, [|))
              (setq |prefix|
                       (STRCONC |prefix| |blstring| '|],[| |bustring|
                                '|],[|))
              (setq |middle|
-                      (STRCONC |xstring| '|],| (STRINGIMAGE |ifail|)
+                      (STRCONC |xstring| '|],| (princ-to-string |ifail|)
                                '|,(|))
              (|linkGen|
                  (STRCONC |prefix| |middle| |f|
@@ -2377,7 +2377,7 @@
 ;    "append"/[fa(i,n) for i in 1..nrowa] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[fb(i,j) for j in 1..n] where fb(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i,STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[8, 0, anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -2385,28 +2385,28 @@
 ;  middle := STRCONC(middle,'"conditions {\it bl(n + nclin)}: \newline ")
 ;  blList :=
 ;    "append"/[fc(i) for i in 1..(n+nclin)] where fc(i) ==
-;      blnam := INTERN STRCONC ('"bl",STRINGIMAGE i)
+;      blnam := INTERN STRCONC ('"bl",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", blnam, 'F]]]
 ;  blList := [['text,:middle],:blList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter upper boundary ")
 ;  middle := STRCONC(middle,'"conditions {\it bu(n+nclin)}: \newline ")
 ;  buList :=
 ;    "append"/[fd(i) for i in 1..(n+nclin)] where fd(i) ==
-;      bunam := INTERN STRCONC ('"bu",STRINGIMAGE i)
+;      bunam := INTERN STRCONC ('"bu",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", bunam, 'F]]]
 ;  buList := [['text,:middle],:buList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter coefficients of the ")
 ;  middle := STRCONC(middle,'"objective function {\it cvec(n)}: \newline ")
 ;  cList :=
 ;    "append"/[fe(i) for i in 1..n] where fe(i) ==
-;      cnam := INTERN STRCONC ('"c",STRINGIMAGE i)
+;      cnam := INTERN STRCONC ('"c",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", cnam, 'F]]]
 ;  cList := [['text,:middle],:cList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter initial guess ")
 ;  middle := STRCONC(middle,'"of the solution vector {\it x(n)}: \newline ")
 ;  xList :=
 ;    "append"/[fg(i) for i in 1..n] where fg(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", xnam, 'F]]]
 ;  xList := [['text,:middle],:xList]
 ;  equationPart := [
@@ -2436,8 +2436,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0
@@ -2466,7 +2466,7 @@
     (RETURN
       (SEQ (setq |blnam|
                     (INTERN (STRCONC "bl"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -2479,7 +2479,7 @@
     (RETURN
       (SEQ (setq |bunam|
                     (INTERN (STRCONC "bu"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -2492,7 +2492,7 @@
     (RETURN
       (SEQ (setq |cnam|
                     (INTERN (STRCONC "c"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -2505,7 +2505,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -3026,14 +3026,14 @@
 ;  amatlist := reverse amatlist
 ;  amatstr := bcwords2liststring [bcwords2liststring x for x in amatlist]
 ;  nctotl := n + nclin
-;  prefix := STRCONC("e04mbf(",STRINGIMAGE itmax,",", STRINGIMAGE msglvl,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,",",STRINGIMAGE nclin,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nctotl,",",STRINGIMAGE nrowa,", ")
+;  prefix := STRCONC("e04mbf(",princ-to-string itmax,",", princ-to-string msglvl,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,",",princ-to-string nclin,", ")
+;  prefix := STRCONC(prefix,princ-to-string nctotl,",",princ-to-string nrowa,", ")
 ;  middle := STRCONC(amatstr,",[")
 ;  middle := STRCONC(middle,blstring,"],[",bustring,"],[",cstring)
-;  middle := STRCONC(middle,"],",linobj,", ",STRINGIMAGE liwork)
-;  middle := STRCONC(middle,",",STRINGIMAGE lwork,",[")
-;  middle := STRCONC(middle,xstring,"],",STRINGIMAGE ifail,")")
+;  middle := STRCONC(middle,"],",linobj,", ",princ-to-string liwork)
+;  middle := STRCONC(middle,",",princ-to-string lwork,",[")
+;  middle := STRCONC(middle,xstring,"],",princ-to-string ifail,")")
 ;  linkGen STRCONC(prefix,middle)
 
 (DEFUN |e04mbfGen| (|htPage|)
@@ -3119,27 +3119,27 @@
                                         G166814)))))))))
              (setq |nctotl| (+ |n| |nclin|))
              (setq |prefix|
-                      (STRCONC '|e04mbf(| (STRINGIMAGE |itmax|) '|,|
-                               (STRINGIMAGE |msglvl|) '|, |))
+                      (STRCONC '|e04mbf(| (princ-to-string |itmax|) '|,|
+                               (princ-to-string |msglvl|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|,|
-                               (STRINGIMAGE |nclin|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |n|) '|,|
+                               (princ-to-string |nclin|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nctotl|) '|,|
-                               (STRINGIMAGE |nrowa|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |nctotl|) '|,|
+                               (princ-to-string |nrowa|) '|, |))
              (setq |middle| (STRCONC |amatstr| '|,[|))
              (setq |middle|
                       (STRCONC |middle| |blstring| '|],[| |bustring|
                                '|],[| |cstring|))
              (setq |middle|
                       (STRCONC |middle| '|],| |linobj| '|, |
-                               (STRINGIMAGE |liwork|)))
+                               (princ-to-string |liwork|)))
              (setq |middle|
-                      (STRCONC |middle| '|,| (STRINGIMAGE |lwork|)
+                      (STRCONC |middle| '|,| (princ-to-string |lwork|)
                                '|,[|))
              (setq |middle|
                       (STRCONC |middle| |xstring| '|],|
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| (STRCONC |prefix| |middle|)))))))
 
 ;e04naf() ==
@@ -3453,7 +3453,7 @@
 ;    "append"/[fa(i,n) for i in 1..nrowa] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[fb(i,j) for j in 1..n] where fb(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i,STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[8, 0, anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -3461,28 +3461,28 @@
 ;  middle := STRCONC(middle,'"conditions {\it bl(n + nclin)}: \newline ")
 ;  blList :=
 ;    "append"/[fc(i) for i in 1..(n+nclin)] where fc(i) ==
-;      blnam := INTERN STRCONC ('"bl",STRINGIMAGE i)
+;      blnam := INTERN STRCONC ('"bl",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", blnam, 'F]]]
 ;  blList := [['text,:middle],:blList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter upper boundary ")
 ;  middle := STRCONC(middle,'"conditions {\it bu(n+nclin)}: \newline ")
 ;  buList :=
 ;    "append"/[fd(i) for i in 1..(n+nclin)] where fd(i) ==
-;      bunam := INTERN STRCONC ('"bu",STRINGIMAGE i)
+;      bunam := INTERN STRCONC ('"bu",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", bunam, 'F]]]
 ;  buList := [['text,:middle],:buList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter coefficients of the ")
 ;  middle := STRCONC(middle,'"objective function {\it cvec(n)}: \newline ")
 ;  cList :=
 ;    "append"/[fe(i) for i in 1..n] where fe(i) ==
-;      cnam := INTERN STRCONC ('"c",STRINGIMAGE i)
+;      cnam := INTERN STRCONC ('"c",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", cnam, 'F]]]
 ;  cList := [['text,:middle],:cList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter set of positive ")
 ;  middle := STRCONC(middle,'"tolerances {\it featol(n+nclin)}: \newline ")
 ;  fList :=
 ;    "append"/[ff(i) for i in 1..(n+nclin)] where ff(i) ==
-;      fnam := INTERN STRCONC ('"f",STRINGIMAGE i)
+;      fnam := INTERN STRCONC ('"f",princ-to-string i)
 ;      [['bcStrings,[9, '"0.1053e-7", fnam, 'F]]]
 ;  fList := [['text,:middle],:fList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter the elements of ")
@@ -3491,7 +3491,7 @@
 ;    "append"/[fh(i,n) for i in 1..nrowh] where fh(i,n) ==
 ;       labelList :=
 ;         "append"/[fi(i,j) for j in 1..n] where fi(i,j) ==
-;            hnam := INTERN STRCONC ('"h",STRINGIMAGE i,STRINGIMAGE j)
+;            hnam := INTERN STRCONC ('"h",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[8, 0, hnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -3500,14 +3500,14 @@
 ;  middle := STRCONC(middle,'"of the solution vector {\it x(n)}: \newline ")
 ;  xList :=
 ;    "append"/[fg(i) for i in 1..n] where fg(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", xnam, 'F]]]
 ;  xList := [['text,:middle],:xList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} If {\it cold} = false ")
 ;  middle := STRCONC(middle,'"enter {\it istate(n+nclin)} values: \newline ")
 ;  iList :=
 ;    "append"/[fj(i) for i in 1..(n+nclin)] where fj(i) ==
-;      inam := INTERN STRCONC ('"i",STRINGIMAGE i)
+;      inam := INTERN STRCONC ('"i",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", inam, 'F]]]
 ;  iList := [['text,:middle],:iList]
 ;  equationPart := [
@@ -3542,8 +3542,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0
@@ -3572,7 +3572,7 @@
     (RETURN
       (SEQ (setq |blnam|
                     (INTERN (STRCONC "bl"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -3585,7 +3585,7 @@
     (RETURN
       (SEQ (setq |bunam|
                     (INTERN (STRCONC "bu"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -3598,7 +3598,7 @@
     (RETURN
       (SEQ (setq |cnam|
                     (INTERN (STRCONC "c"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -3611,7 +3611,7 @@
     (RETURN
       (SEQ (setq |fnam|
                     (INTERN (STRCONC "f"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 9
                                     (CONS "0.1053e-7"
@@ -3623,8 +3623,8 @@
   (PROG (|hnam|)
     (RETURN
       (SEQ (setq |hnam|
-                    (INTERN (STRCONC "h" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "h" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0
@@ -3653,7 +3653,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -3666,7 +3666,7 @@
     (RETURN
       (SEQ (setq |inam|
                     (INTERN (STRCONC "i"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -4508,17 +4508,17 @@
 ;  amatlist := reverse amatlist
 ;  amatstr := bcwords2liststring [bcwords2liststring x for x in amatlist]
 ;  nctotl := n + nclin
-;  prefix := STRCONC("e04naf(",STRINGIMAGE itmax,",", STRINGIMAGE msglvl,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,",",STRINGIMAGE nclin,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nctotl,",",STRINGIMAGE nrowa,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nrowh,",",STRINGIMAGE ncolh,", ",bigbnd)
+;  prefix := STRCONC("e04naf(",princ-to-string itmax,",", princ-to-string msglvl,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,",",princ-to-string nclin,", ")
+;  prefix := STRCONC(prefix,princ-to-string nctotl,",",princ-to-string nrowa,", ")
+;  prefix := STRCONC(prefix,princ-to-string nrowh,",",princ-to-string ncolh,", ",bigbnd)
 ;  middle := STRCONC(", ",amatstr,",[")
 ;  middle := STRCONC(middle,blstring,"],[",bustring,"],[",cstring)
-;  middle := STRCONC(middle,"],[",fstring,"],",hmatstr,",",STRINGIMAGE cold,",")
-;  middle := STRCONC(middle,STRINGIMAGE lp,", ",STRINGIMAGE orthog,", ")
-;  middle := STRCONC(middle,STRINGIMAGE liwork,",",STRINGIMAGE lwork,",[")
+;  middle := STRCONC(middle,"],[",fstring,"],",hmatstr,",",princ-to-string cold,",")
+;  middle := STRCONC(middle,princ-to-string lp,", ",princ-to-string orthog,", ")
+;  middle := STRCONC(middle,princ-to-string liwork,",",princ-to-string lwork,",[")
 ;  middle := STRCONC(middle,xstring,"],[",istring,"]::Matrix Integer,")
-;  middle := STRCONC(middle,STRINGIMAGE ifail)
+;  middle := STRCONC(middle,princ-to-string ifail)
 ;  end := STRCONC(",((",hmatstr,")::Matrix Expression Float)::ASP20('QPHESS))")
 ;  linkGen STRCONC(prefix,middle,end)
 
@@ -4662,36 +4662,36 @@
                                         G167241)))))))))
              (setq |nctotl| (+ |n| |nclin|))
              (setq |prefix|
-                      (STRCONC '|e04naf(| (STRINGIMAGE |itmax|) '|,|
-                               (STRINGIMAGE |msglvl|) '|, |))
+                      (STRCONC '|e04naf(| (princ-to-string |itmax|) '|,|
+                               (princ-to-string |msglvl|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|,|
-                               (STRINGIMAGE |nclin|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |n|) '|,|
+                               (princ-to-string |nclin|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nctotl|) '|,|
-                               (STRINGIMAGE |nrowa|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |nctotl|) '|,|
+                               (princ-to-string |nrowa|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nrowh|) '|,|
-                               (STRINGIMAGE |ncolh|) '|, | |bigbnd|))
+                      (STRCONC |prefix| (princ-to-string |nrowh|) '|,|
+                               (princ-to-string |ncolh|) '|, | |bigbnd|))
              (setq |middle| (STRCONC '|, | |amatstr| '|,[|))
              (setq |middle|
                       (STRCONC |middle| |blstring| '|],[| |bustring|
                                '|],[| |cstring|))
              (setq |middle|
                       (STRCONC |middle| '|],[| |fstring| '|],|
-                               |hmatstr| '|,| (STRINGIMAGE |cold|)
+                               |hmatstr| '|,| (princ-to-string |cold|)
                                '|,|))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |lp|) '|, |
-                               (STRINGIMAGE |orthog|) '|, |))
+                      (STRCONC |middle| (princ-to-string |lp|) '|, |
+                               (princ-to-string |orthog|) '|, |))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |liwork|) '|,|
-                               (STRINGIMAGE |lwork|) '|,[|))
+                      (STRCONC |middle| (princ-to-string |liwork|) '|,|
+                               (princ-to-string |lwork|) '|,[|))
              (setq |middle|
                       (STRCONC |middle| |xstring| '|],[| |istring|
                                '|]::Matrix Integer,|))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |ifail|)))
+                      (STRCONC |middle| (princ-to-string |ifail|)))
              (setq |end|
                       (STRCONC '|,((| |hmatstr|
                               '|)::Matrix Expression Float)::ASP20('QPHESS))|))
@@ -4878,7 +4878,7 @@
 ;    "append"/[fa(i,n) for i in 1..nrowa] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[fb(i,j) for j in 1..n] where fb(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i,STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[8, 0, anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -4886,14 +4886,14 @@
 ;  middle := STRCONC(middle,'"conditions {\it bl(n+nclin+ncnln)}: \newline ")
 ;  blList :=
 ;    "append"/[fc(i) for i in 1..(n+nclin+ncnln)] where fc(i) ==
-;      blnam := INTERN STRCONC ('"bl",STRINGIMAGE i)
+;      blnam := INTERN STRCONC ('"bl",princ-to-string i)
 ;      [['bcStrings,[8, '"-1.E25", blnam, 'F]]]
 ;  blList := [['text,:middle],:blList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter upper boundary ")
 ;  middle := STRCONC(middle,'"conditions {\it bu(n+nclin+ncnln)}: \newline ")
 ;  buList :=
 ;    "append"/[fd(i) for i in 1..(n+nclin+ncnln)] where fd(i) ==
-;      bunam := INTERN STRCONC ('"bu",STRINGIMAGE i)
+;      bunam := INTERN STRCONC ('"bu",princ-to-string i)
 ;      [['bcStrings,[8, '"1.E25", bunam, 'F]]]
 ;  buList := [['text,:middle],:buList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter the nonlinear ")
@@ -4902,7 +4902,7 @@
 ;  cList :=
 ;    "append"/[fe(i) for i in 1..ncnln] where fe(i) ==
 ;      lineEnd := ('"\newline \tab{2} ")
-;      cnam := INTERN STRCONC ('"c",STRINGIMAGE i)
+;      cnam := INTERN STRCONC ('"c",princ-to-string i)
 ;      [['text,:lineEnd],['bcStrings,[55, '"X[1]", cnam, 'F]]]
 ;  cList := [['text,:middle],:cList]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter the objective ")
@@ -4914,7 +4914,7 @@
 ;  middle := STRCONC(middle,'"of the solution vector {\it x(n)}: \newline ")
 ;  xList :=
 ;    "append"/[fg(i) for i in 1..n] where fg(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[8, '"0.0", xnam, 'F]]]
 ;  xList := [['text,:middle],:xList]
 ;  equationPart := [
@@ -5068,8 +5068,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0
@@ -5098,7 +5098,7 @@
     (RETURN
       (SEQ (setq |blnam|
                     (INTERN (STRCONC "bl"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "-1.E25"
@@ -5111,7 +5111,7 @@
     (RETURN
       (SEQ (setq |bunam|
                     (INTERN (STRCONC "bu"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "1.E25"
@@ -5125,7 +5125,7 @@
       (SEQ (setq |lineEnd| "\\newline \\tab{2} ")
            (setq |cnam|
                     (INTERN (STRCONC "c"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |lineEnd|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -5140,7 +5140,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS "0.0"
@@ -5906,24 +5906,24 @@
 ;    amatlist := reverse amatlist
 ;    amatstr := bcwords2liststring [bcwords2liststring x for x in amatlist]
 ;  ntotl := n + nclin + ncnln
-;  prefix := STRCONC("e04ucf(",STRINGIMAGE n,", ",STRINGIMAGE nclin,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ncnln,", ",STRINGIMAGE nrowa,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nrowj,", ",STRINGIMAGE nrowr,", ")
-;  prefix:= STRCONC(prefix,amatstr,",[",bll,"],[",buu,"],",STRINGIMAGE liwork)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE lwork,", ",STRINGIMAGE sta,", ")
-;  prefix := STRCONC(prefix,cra,", ",STRINGIMAGE der,", ",fea,", ")
+;  prefix := STRCONC("e04ucf(",princ-to-string n,", ",princ-to-string nclin,", ")
+;  prefix := STRCONC(prefix,princ-to-string ncnln,", ",princ-to-string nrowa,", ")
+;  prefix := STRCONC(prefix,princ-to-string nrowj,", ",princ-to-string nrowr,", ")
+;  prefix:= STRCONC(prefix,amatstr,",[",bll,"],[",buu,"],",princ-to-string liwork)
+;  prefix := STRCONC(prefix,", ",princ-to-string lwork,", ",princ-to-string sta,", ")
+;  prefix := STRCONC(prefix,cra,", ",princ-to-string der,", ",fea,", ")
 ;  prefix := STRCONC(prefix,fun,", ",hes,", ",infb,", ",infs,", ",linf,", ")
-;  prefix := STRCONC(prefix,lint,", ",lis,", ",STRINGIMAGE maji,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE majp,", ",STRINGIMAGE mini,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE minp,", ",mon,", ",nonf,", ",opt,", ")
-;  prefix := STRCONC(prefix,ste,", ",STRINGIMAGE stao,", ",STRINGIMAGE stac)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE stoo,", ",STRINGIMAGE stoc,", ")
-;  middle:= STRCONC(STRINGIMAGE ver,",[[0 for i in 1..",STRINGIMAGE ntotl,"]]")
-;  middle:=STRCONC(middle,"::Matrix Integer,[[0.0 for i in 1..",STRINGIMAGE n)
-;  middle:=STRCONC(middle,"] for j in 1..",STRINGIMAGE nrowj,"],[[0.0 for i in 1..")
-;  middle := STRCONC(middle,STRINGIMAGE ntotl,"]],[[0.0 for i in 1..")
-;  middle := STRCONC(middle,STRINGIMAGE n,"] for j in 1..",STRINGIMAGE nrowr)
-;  middle := STRCONC(middle,"],[",xstring,"],",STRINGIMAGE ifail)
+;  prefix := STRCONC(prefix,lint,", ",lis,", ",princ-to-string maji,", ")
+;  prefix := STRCONC(prefix,princ-to-string majp,", ",princ-to-string mini,", ")
+;  prefix := STRCONC(prefix,princ-to-string minp,", ",mon,", ",nonf,", ",opt,", ")
+;  prefix := STRCONC(prefix,ste,", ",princ-to-string stao,", ",princ-to-string stac)
+;  prefix := STRCONC(prefix,", ",princ-to-string stoo,", ",princ-to-string stoc,", ")
+;  middle:= STRCONC(princ-to-string ver,",[[0 for i in 1..",princ-to-string ntotl,"]]")
+;  middle:=STRCONC(middle,"::Matrix Integer,[[0.0 for i in 1..",princ-to-string n)
+;  middle:=STRCONC(middle,"] for j in 1..",princ-to-string nrowj,"],[[0.0 for i in 1..")
+;  middle := STRCONC(middle,princ-to-string ntotl,"]],[[0.0 for i in 1..")
+;  middle := STRCONC(middle,princ-to-string n,"] for j in 1..",princ-to-string nrowr)
+;  middle := STRCONC(middle,"],[",xstring,"],",princ-to-string ifail)
 ;  end:=STRCONC(",((",cxstring,")::Vector Expression(Float))::ASP55(CONFUN),")
 ;  end := STRCONC(end,"((",f,")::Expression(Float))::ASP49(OBJFUN))")
 ;  linkGen STRCONC(prefix,middle,end)
@@ -6185,62 +6185,62 @@
                                        G167639)))))))))))
              (setq |ntotl| (+ (+ |n| |nclin|) |ncnln|))
              (setq |prefix|
-                      (STRCONC '|e04ucf(| (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |nclin|) '|, |))
+                      (STRCONC '|e04ucf(| (princ-to-string |n|) '|, |
+                               (princ-to-string |nclin|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ncnln|) '|, |
-                               (STRINGIMAGE |nrowa|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |ncnln|) '|, |
+                               (princ-to-string |nrowa|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nrowj|) '|, |
-                               (STRINGIMAGE |nrowr|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |nrowj|) '|, |
+                               (princ-to-string |nrowr|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |amatstr| '|,[| |bll| '|],[|
-                               |buu| '|],| (STRINGIMAGE |liwork|)))
+                               |buu| '|],| (princ-to-string |liwork|)))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |lwork|)
-                               '|, | (STRINGIMAGE |sta|) '|, |))
+                      (STRCONC |prefix| '|, | (princ-to-string |lwork|)
+                               '|, | (princ-to-string |sta|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| |cra| '|, | (STRINGIMAGE |der|)
+                      (STRCONC |prefix| |cra| '|, | (princ-to-string |der|)
                                '|, | |fea| '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |fun| '|, | |hes| '|, | |infb|
                                '|, | |infs| '|, | |linf| '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |lint| '|, | |lis| '|, |
-                               (STRINGIMAGE |maji|) '|, |))
+                               (princ-to-string |maji|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |majp|) '|, |
-                               (STRINGIMAGE |mini|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |majp|) '|, |
+                               (princ-to-string |mini|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |minp|) '|, |
+                      (STRCONC |prefix| (princ-to-string |minp|) '|, |
                                |mon| '|, | |nonf| '|, | |opt| '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |ste| '|, |
-                               (STRINGIMAGE |stao|) '|, |
-                               (STRINGIMAGE |stac|)))
+                               (princ-to-string |stao|) '|, |
+                               (princ-to-string |stac|)))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |stoo|)
-                               '|, | (STRINGIMAGE |stoc|) '|, |))
+                      (STRCONC |prefix| '|, | (princ-to-string |stoo|)
+                               '|, | (princ-to-string |stoc|) '|, |))
              (setq |middle|
-                      (STRCONC (STRINGIMAGE |ver|) '|,[[0 for i in 1..|
-                               (STRINGIMAGE |ntotl|) ']]))
+                      (STRCONC (princ-to-string |ver|) '|,[[0 for i in 1..|
+                               (princ-to-string |ntotl|) ']]))
              (setq |middle|
                       (STRCONC |middle|
                                '|::Matrix Integer,[[0.0 for i in 1..|
-                               (STRINGIMAGE |n|)))
+                               (princ-to-string |n|)))
              (setq |middle|
                       (STRCONC |middle| '|] for j in 1..|
-                               (STRINGIMAGE |nrowj|)
+                               (princ-to-string |nrowj|)
                                '|],[[0.0 for i in 1..|))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |ntotl|)
+                      (STRCONC |middle| (princ-to-string |ntotl|)
                                '|]],[[0.0 for i in 1..|))
              (setq |middle|
-                      (STRCONC |middle| (STRINGIMAGE |n|)
-                               '|] for j in 1..| (STRINGIMAGE |nrowr|)))
+                      (STRCONC |middle| (princ-to-string |n|)
+                               '|] for j in 1..| (princ-to-string |nrowr|)))
              (setq |middle|
                       (STRCONC |middle| '|],[| |xstring| '|],|
-                               (STRINGIMAGE |ifail|)))
+                               (princ-to-string |ifail|)))
              (setq |end|
                       (STRCONC '|,((| |cxstring|
                               '|)::Vector Expression(Float))::ASP55(CONFUN),|))
@@ -6423,7 +6423,7 @@
 ;  (n = 3 and lv = 3) => e04ycfDefaultSolve(htPage,job,m,fsumsq,ifail)
 ;  sList :=
 ;    "append"/[fa(i) for i in 1..(n)] where fa(i) ==
-;      snam := INTERN STRCONC ('"s",STRINGIMAGE i)
+;      snam := INTERN STRCONC ('"s",princ-to-string i)
 ;      [['bcStrings,[30, '"0.0", snam, 'F]]]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter the elements ")
 ;  middle := STRCONC(middle,'"of array {\it v(lv,n)}: \newline ")
@@ -6431,7 +6431,7 @@
 ;    "append"/[fb(i,n) for i in 1..lv] where fb(i,n) ==
 ;       labelList :=
 ;         "append"/[fc(i,j) for j in 1..n] where fc(i,j) ==
-;            vnam := INTERN STRCONC ('"v",STRINGIMAGE i,STRINGIMAGE j)
+;            vnam := INTERN STRCONC ('"v",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[15, 0, vnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -6461,7 +6461,7 @@
     (RETURN
       (SEQ (setq |snam|
                     (INTERN (STRCONC "s"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 30
                                     (CONS "0.0"
@@ -6473,8 +6473,8 @@
   (PROG (|vnam|)
     (RETURN
       (SEQ (setq |vnam|
-                    (INTERN (STRCONC "v" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "v" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 15
                                     (CONS 0
@@ -6703,10 +6703,10 @@
 ;    slist := [temp,:slist]
 ;    y := rest y
 ;  sstring := bcwords2liststring slist
-;  prefix := STRCONC("e04ycf(",STRINGIMAGE job,",", STRINGIMAGE m,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,",",fsumsq,", [")
-;  prefix := STRCONC(prefix,sstring,"],", STRINGIMAGE lv,",[",vstring)
-;  linkGen STRCONC(prefix,"],",STRINGIMAGE ifail,")")
+;  prefix := STRCONC("e04ycf(",princ-to-string job,",", princ-to-string m,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,",",fsumsq,", [")
+;  prefix := STRCONC(prefix,sstring,"],", princ-to-string lv,",[",vstring)
+;  linkGen STRCONC(prefix,"],",princ-to-string ifail,")")
 
 (DEFUN |e04ycfGen| (|htPage|)
   (PROG (|job| |n| |m| |fsumsq| |lv| |ifail| |alist| |vlist| |vstring|
@@ -6737,16 +6737,16 @@
                             (setq |y| (CDR |y|))))))
              (setq |sstring| (|bcwords2liststring| |slist|))
              (setq |prefix|
-                      (STRCONC '|e04ycf(| (STRINGIMAGE |job|) '|,|
-                               (STRINGIMAGE |m|) '|, |))
+                      (STRCONC '|e04ycf(| (princ-to-string |job|) '|,|
+                               (princ-to-string |m|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|,| |fsumsq|
+                      (STRCONC |prefix| (princ-to-string |n|) '|,| |fsumsq|
                                '|, [|))
              (setq |prefix|
                       (STRCONC |prefix| |sstring| '|],|
-                               (STRINGIMAGE |lv|) '|,[| |vstring|))
+                               (princ-to-string |lv|) '|,[| |vstring|))
              (|linkGen|
-                 (STRCONC |prefix| '|],| (STRINGIMAGE |ifail|) '|)|)))))))
+                 (STRCONC |prefix| '|],| (princ-to-string |ifail|) '|)|)))))))
 
 \end{chunk}
 \eject
diff --git a/src/interp/nag-f01.lisp.pamphlet b/src/interp/nag-f01.lisp.pamphlet
index 876191a..2207693 100644
--- a/src/interp/nag-f01.lisp.pamphlet
+++ b/src/interp/nag-f01.lisp.pamphlet
@@ -193,11 +193,11 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..nz] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
-;      anam := INTERN STRCONC ('"a",STRINGIMAGE i)
+;      anam := INTERN STRCONC ('"a",princ-to-string i)
 ;      mid := ('"\tab{32} ")
-;      rnam := INTERN STRCONC ('"irn",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"irn",princ-to-string i)
 ;      end := ('"\tab{42} ")
-;      cnam := INTERN STRCONC ('"icn",STRINGIMAGE i)
+;      cnam := INTERN STRCONC ('"icn",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[8, 0.0, anam, 'F]],
 ;        ['text,:mid],['bcStrings,[4, 0, rnam, 'PI]],
 ;         ['text,:end],['bcStrings,[4, 0, cnam, 'PI]]]
@@ -240,15 +240,15 @@
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |mid| "\\tab{32} ")
            (setq |rnam|
                     (INTERN (STRCONC "irn"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |end| "\\tab{42} ")
            (setq |cnam|
                     (INTERN (STRCONC "icn"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -691,11 +691,11 @@
 ;  cstring := bcwords2liststring cList
 ;  rstring := bcwords2liststring rList
 ;  matstring := bcwords2liststring matList
-;  prefix := STRCONC('"f01brf(",STRINGIMAGE n,", ",STRINGIMAGE nz,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE licn,", ",STRINGIMAGE lirn,", ",pivot)
+;  prefix := STRCONC('"f01brf(",princ-to-string n,", ",princ-to-string nz,", ")
+;  prefix := STRCONC(prefix,princ-to-string licn,", ",princ-to-string lirn,", ",pivot)
 ;  prefix := STRCONC(prefix,", ",lblock,", ",grow,", ",astring,",[",matstring)
 ;  prefix := STRCONC(prefix,"],[",rstring,"],[",cstring,"], ")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail,")")
+;  linkGen STRCONC(prefix,princ-to-string ifail,")")
 
 (DEFUN |f01brfGen| (|htPage|)
   (PROG (|n| |nz| |licn| |lirn| |pivot| |grow| |lblock| |ifail| |alist|
@@ -756,18 +756,18 @@
              (setq |rstring| (|bcwords2liststring| |rList|))
              (setq |matstring| (|bcwords2liststring| |matList|))
              (setq |prefix|
-                      (STRCONC "f01brf(" (STRINGIMAGE |n|)
-                               '|, | (STRINGIMAGE |nz|) '|, |))
+                      (STRCONC "f01brf(" (princ-to-string |n|)
+                               '|, | (princ-to-string |nz|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |licn|) '|, |
-                               (STRINGIMAGE |lirn|) '|, | |pivot|))
+                      (STRCONC |prefix| (princ-to-string |licn|) '|, |
+                               (princ-to-string |lirn|) '|, | |pivot|))
              (setq |prefix|
                       (STRCONC |prefix| '|, | |lblock| '|, | |grow|
                                '|, | |astring| '|,[| |matstring|))
              (setq |prefix|
                       (STRCONC |prefix| '|],[| |rstring| '|],[|
                                |cstring| '|], |))
-             (|linkGen| (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)))))))
+             (|linkGen| (STRCONC |prefix| (princ-to-string |ifail|) '|)|)))))))
 
 ;f01bsf() ==
 ;  htInitPage("F01BSF - LU factorization of real sparse matrix with known sparsity pattern",nil)
@@ -973,11 +973,11 @@
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..nz] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
-;      anam := INTERN STRCONC ('"a",STRINGIMAGE i)
+;      anam := INTERN STRCONC ('"a",princ-to-string i)
 ;      mid := ('"\tab{32} ")
-;      rnam := INTERN STRCONC ('"irn",STRINGIMAGE i)
+;      rnam := INTERN STRCONC ('"irn",princ-to-string i)
 ;      end := ('"\tab{42} ")
-;      cnam := INTERN STRCONC ('"icn",STRINGIMAGE i)
+;      cnam := INTERN STRCONC ('"icn",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[8, 0.0, anam, 'F]],
 ;        ['text,:mid],['bcStrings,[4, 0, rnam, 'PI]],
 ;         ['text,:end],['bcStrings,[4, 0, cnam, 'PI]]]
@@ -1018,15 +1018,15 @@
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |mid| "\\tab{32} ")
            (setq |rnam|
                     (INTERN (STRCONC "irn"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (setq |end| "\\tab{42} ")
            (setq |cnam|
                     (INTERN (STRCONC "icn"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1696,11 +1696,11 @@
 ;  cstring := bcwords2liststring cList
 ;  rstring := bcwords2liststring rList
 ;  matstring := bcwords2liststring matList
-;  prefix := STRCONC('"f01maf(",STRINGIMAGE n,", ",STRINGIMAGE nz,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE licn,", ",STRINGIMAGE lirn,", ")
+;  prefix := STRCONC('"f01maf(",princ-to-string n,", ",princ-to-string nz,", ")
+;  prefix := STRCONC(prefix,princ-to-string licn,", ",princ-to-string lirn,", ")
 ;  prefix := STRCONC(prefix,astring,",[",matstring)
 ;  prefix := STRCONC(prefix,"],[",rstring,"],[",cstring,"], ",droptl,", ",densw)
-;  linkGen STRCONC(prefix,", ",STRINGIMAGE ifail,")")
+;  linkGen STRCONC(prefix,", ",princ-to-string ifail,")")
 
 (DEFUN |f01mafGen| (|htPage|)
   (PROG (|n| |nz| |licn| |lirn| |droptl| |densw| |ifail| |alist|
@@ -1760,18 +1760,18 @@
              (setq |rstring| (|bcwords2liststring| |rList|))
              (setq |matstring| (|bcwords2liststring| |matList|))
              (setq |prefix|
-                      (STRCONC "f01maf(" (STRINGIMAGE |n|)
-                               '|, | (STRINGIMAGE |nz|) '|, |))
+                      (STRCONC "f01maf(" (princ-to-string |n|)
+                               '|, | (princ-to-string |nz|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |licn|) '|, |
-                               (STRINGIMAGE |lirn|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |licn|) '|, |
+                               (princ-to-string |lirn|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |astring| '|,[| |matstring|))
              (setq |prefix|
                       (STRCONC |prefix| '|],[| |rstring| '|],[|
                                |cstring| '|], | |droptl| '|, | |densw|))
              (|linkGen|
-                 (STRCONC |prefix| '|, | (STRINGIMAGE |ifail|) '|)|)))))))
+                 (STRCONC |prefix| '|, | (princ-to-string |ifail|) '|)|)))))))
 
 ;f01mcf() ==
 ;  htInitPage("F01MCF - \htbitmap{ldlt} factorization of real symmetric positive-definite variable-bandwidth matrix",nil)
@@ -1862,11 +1862,11 @@
 ;  (n = '6 and lal = '14) => f01mcfDefaultSolve(htPage,ifail)
 ;  labelList :=
 ;    "append"/[f(i) for i in 1..lal] where f(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[6, 0.0, xnam, 'F]]]
 ;  nrowList :=
 ;    "append"/[g(j) for j in 1..n] where g(j) ==
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE j)
+;      nam := INTERN STRCONC ('"n",princ-to-string j)
 ;      [['bcStrings,[6, 0, nam, 'PI]]]
 ;  prefix := ('"\blankline \menuitemstyle{}\tab{2} {\it NROW(n)} the width ")
 ;  prefix := STRCONC(prefix,"of the ith row of A: \newline \tab{2} ")
@@ -1895,7 +1895,7 @@
     (RETURN
       (SEQ (setq |xnam|
                     (INTERN (STRCONC "x"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0.0
@@ -1908,7 +1908,7 @@
     (RETURN
       (SEQ (setq |nam|
                     (INTERN (STRCONC "n"
-                                     (STRINGIMAGE |j|))))
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -2105,9 +2105,9 @@
 ;    y := rest y
 ;    matList := [right,:matList]
 ;  matstring := bcwords2liststring matList
-;  prefix := STRCONC('"f01mcf(",STRINGIMAGE n,", [",matstring,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lal,", [",nrowstring,"], ")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f01mcf(",princ-to-string n,", [",matstring,"], ")
+;  prefix := STRCONC(prefix,princ-to-string lal,", [",nrowstring,"], ")
+;  linkGen STRCONC(prefix,princ-to-string ifail,")")
 
 (DEFUN |f01mcfGen| (|htPage|)
   (PROG (|n| |lal| |ifail| |alist| |nrowList| |nrowstring| |right| |y|
@@ -2136,12 +2136,12 @@
                                      (CONS |right| |matList|))))))
              (setq |matstring| (|bcwords2liststring| |matList|))
              (setq |prefix|
-                      (STRCONC "f01mcf(" (STRINGIMAGE |n|)
+                      (STRCONC "f01mcf(" (princ-to-string |n|)
                                '|, [| |matstring| '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lal|) '|, [|
+                      (STRCONC |prefix| (princ-to-string |lal|) '|, [|
                                |nrowstring| '|], |))
-             (|linkGen| (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)))))))
+             (|linkGen| (STRCONC |prefix| (princ-to-string |ifail|) '|)|)))))))
 
 ;f01qcf() ==
 ;  htInitPage('"F01QCF - QR factorization or real m by n matrix (m \htbitmap{great=} n)",nil)
@@ -2265,7 +2265,7 @@
 ;    "append"/[f(i,n) for i in 1..lda] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -2293,8 +2293,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2482,9 +2482,9 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f01qcf(",STRINGIMAGE m,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ",matstring,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f01qcf(",princ-to-string m,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ",matstring,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f01qcfGen| (|htPage|)
@@ -2533,13 +2533,13 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G166535)))))))))
              (setq |prefix|
-                      (STRCONC "f01qcf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |n|) '|, |))
+                      (STRCONC "f01qcf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, |
                                |matstring| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f01qdf() ==
@@ -2723,7 +2723,7 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[ga(i,j) for j in 1..n] where ga(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -2731,7 +2731,7 @@
 ;    "append"/[fb(i,ncolb) for i in 1..ldb] where fb(i,ncolb) ==
 ;       labelList :=
 ;         "append"/[gb(i,j) for j in 1..ncolb] where gb(i,j) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE i, STRINGIMAGE j)
+;            bnam := INTERN STRCONC ('"b",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -2739,7 +2739,7 @@
 ;  bList := [['text,:prefix],:bList]
 ;  zList :=
 ;    "append"/[fz(i) for i in 1..n] where fz(i) ==
-;       znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;       znam := INTERN STRCONC ('"z",princ-to-string i)
 ;       [['bcStrings,[6, "0.0", znam, 'F]]]
 ;  prefix := ("\blankline \menuitemstyle{}\tab{2} Enter values of \zeta ")
 ;  prefix := STRCONC(prefix,"(if required): \newline \tab{2}")
@@ -2772,8 +2772,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2801,8 +2801,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "b" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2831,7 +2831,7 @@
     (RETURN
       (SEQ (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -3142,10 +3142,10 @@
 ;    bform := [:bform,rowList]
 ;    rowList := []
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f01qdf(_"",trans,"_",_"",wheret,"_",",STRINGIMAGE m,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",matstring,", ",STRINGIMAGE lda)
-;  prefix := STRCONC(prefix,",[",zetastring,"],",STRINGIMAGE ncolb,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldb,", ",bstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f01qdf(_"",trans,"_",_"",wheret,"_",",princ-to-string m,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",matstring,", ",princ-to-string lda)
+;  prefix := STRCONC(prefix,",[",zetastring,"],",princ-to-string ncolb,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldb,", ",bstring,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f01qdfGen| (|htPage|)
@@ -3240,16 +3240,16 @@
                                         G166764)))))))))
              (setq |prefix|
                       (STRCONC "f01qdf(\"" |trans| '|","|
-                               |wheret| '|",| (STRINGIMAGE |m|) '|, |))
+                               |wheret| '|",| (princ-to-string |m|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, |
-                               |matstring| '|, | (STRINGIMAGE |lda|)))
+                      (STRCONC |prefix| (princ-to-string |n|) '|, |
+                               |matstring| '|, | (princ-to-string |lda|)))
              (setq |prefix|
                       (STRCONC |prefix| '|,[| |zetastring| '|],|
-                               (STRINGIMAGE |ncolb|) '|, |))
+                               (princ-to-string |ncolb|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldb|) '|, |
-                               |bstring| '|, | (STRINGIMAGE |ifail|)
+                      (STRCONC |prefix| (princ-to-string |ldb|) '|, |
+                               |bstring| '|, | (princ-to-string |ifail|)
                                '|)|))
              (|linkGen| |prefix|))))))
 
@@ -3398,13 +3398,13 @@
 ;    "append"/[fa(i,ncolq) for i in 1..lda] where fa(i,ncolq) ==
 ;       labelList :=
 ;         "append"/[ga(i,j) for j in 1..ncolq] where ga(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[7, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
 ;  zList :=
 ;    "append"/[fz(i) for i in 1..n] where fz(i) ==
-;       znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;       znam := INTERN STRCONC ('"z",princ-to-string i)
 ;       [['bcStrings,[7, "0.0", znam, 'F]]]
 ;  prefix := ("\blankline \menuitemstyle{}\tab{2} Enter values of \zeta ")
 ;  prefix := STRCONC(prefix,"(if required): \newline ")
@@ -3435,8 +3435,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 7
                                     (CONS '|0.0|
@@ -3465,7 +3465,7 @@
     (RETURN
       (SEQ (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 7
                                     (CONS '|0.0|
@@ -3720,10 +3720,10 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f01qef(_"",wheret,"_",",STRINGIMAGE m,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",STRINGIMAGE lda,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ncolq,",[",zetastring,"],")
-;  prefix := STRCONC(prefix,matstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f01qef(_"",wheret,"_",",princ-to-string m,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",princ-to-string lda,", ")
+;  prefix := STRCONC(prefix,princ-to-string ncolq,",[",zetastring,"],")
+;  prefix := STRCONC(prefix,matstring,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f01qefGen| (|htPage|)
@@ -3784,16 +3784,16 @@
                                         G166932)))))))))
              (setq |prefix|
                       (STRCONC "f01qef(\"" |wheret| '|",|
-                               (STRINGIMAGE |m|) '|, |))
+                               (princ-to-string |m|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |lda|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |n|) '|, |
+                               (princ-to-string |lda|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ncolq|) '|,[|
+                      (STRCONC |prefix| (princ-to-string |ncolq|) '|,[|
                                |zetastring| '|],|))
              (setq |prefix|
                       (STRCONC |prefix| |matstring| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f01rcf() ==
@@ -3919,7 +3919,7 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[ga(i,j) for j in 1..n] where ga(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[16, "0.0 + 0.0*%i", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -3947,8 +3947,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 16
                                     (CONS '|0.0 + 0.0*%i|
@@ -4139,9 +4139,9 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f01rcf(",STRINGIMAGE m,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ",matstring)
-;  linkGen STRCONC(prefix,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f01rcf(",princ-to-string m,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ",matstring)
+;  linkGen STRCONC(prefix,", ",princ-to-string ifail,")")
 
 (DEFUN |f01rcfGen| (|htPage|)
   (PROG (|n| |m| |lda| |ifail| |alist| |elm| |y| |matform| |rowList|
@@ -4189,13 +4189,13 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G167057)))))))))
              (setq |prefix|
-                      (STRCONC "f01rcf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |n|) '|, |))
+                      (STRCONC "f01rcf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, |
                                |matstring|))
              (|linkGen|
-                 (STRCONC |prefix| '|, | (STRINGIMAGE |ifail|) '|)|)))))))
+                 (STRCONC |prefix| '|, | (princ-to-string |ifail|) '|)|)))))))
 
 ;f01rdf() ==
 ;  htInitPage('"F01RDF - Operations with unitary matrices, compute {\it QB} or \htbitmap{f01rdf} after factorization by F01QCF",nil)
@@ -4375,7 +4375,7 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[ga(i,j) for j in 1..n] where ga(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[16, "0.0 + 0.0*%i", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -4383,7 +4383,7 @@
 ;    "append"/[fb(i,ncolb) for i in 1..ldb] where fb(i,ncolb) ==
 ;       labelList :=
 ;         "append"/[gb(i,j) for j in 1..ncolb] where gb(i,j) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE i, STRINGIMAGE j)
+;            bnam := INTERN STRCONC ('"b",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[16, "0.0 + 0.0*%i", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -4391,7 +4391,7 @@
 ;  bList := [['text,:prefix],:bList]
 ;  zList :=
 ;    "append"/[fz(i) for i in 1..n] where fz(i) ==
-;       znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;       znam := INTERN STRCONC ('"z",princ-to-string i)
 ;       [['bcStrings,[16, "0.0", znam, 'F]]]
 ;  prefix := ("\blankline \menuitemstyle{}\tab{2} Enter values of \theta ")
 ;  prefix := STRCONC(prefix,"(if required): \newline \tab{2}")
@@ -4424,8 +4424,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 16
                                     (CONS '|0.0 + 0.0*%i|
@@ -4453,8 +4453,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "b" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 16
                                     (CONS '|0.0 + 0.0*%i|
@@ -4483,7 +4483,7 @@
     (RETURN
       (SEQ (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 16
                                     (CONS '|0.0|
@@ -4794,10 +4794,10 @@
 ;    bform := [:bform,rowList]
 ;    rowList := []
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f01rdf(_"",trans,"_",_"",wheret,"_",",STRINGIMAGE m,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",matstring,", ",STRINGIMAGE lda)
-;  prefix := STRCONC(prefix,",[",zetastring,"],",STRINGIMAGE ncolb,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldb,", ",bstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f01rdf(_"",trans,"_",_"",wheret,"_",",princ-to-string m,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",matstring,", ",princ-to-string lda)
+;  prefix := STRCONC(prefix,",[",zetastring,"],",princ-to-string ncolb,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldb,", ",bstring,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f01rdfGen| (|htPage|)
@@ -4892,16 +4892,16 @@
                                         G167285)))))))))
              (setq |prefix|
                       (STRCONC "f01rdf(\"" |trans| '|","|
-                               |wheret| '|",| (STRINGIMAGE |m|) '|, |))
+                               |wheret| '|",| (princ-to-string |m|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, |
-                               |matstring| '|, | (STRINGIMAGE |lda|)))
+                      (STRCONC |prefix| (princ-to-string |n|) '|, |
+                               |matstring| '|, | (princ-to-string |lda|)))
              (setq |prefix|
                       (STRCONC |prefix| '|,[| |zetastring| '|],|
-                               (STRINGIMAGE |ncolb|) '|, |))
+                               (princ-to-string |ncolb|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldb|) '|, |
-                               |bstring| '|, | (STRINGIMAGE |ifail|)
+                      (STRCONC |prefix| (princ-to-string |ldb|) '|, |
+                               |bstring| '|, | (princ-to-string |ifail|)
                                '|)|))
              (|linkGen| |prefix|))))))
 
@@ -5057,13 +5057,13 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[ga(i,j) for j in 1..n] where ga(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[20, "0.0 + 0.0*%i", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
 ;  zList :=
 ;    "append"/[fz(i) for i in 1..n] where fz(i) ==
-;       znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;       znam := INTERN STRCONC ('"z",princ-to-string i)
 ;       [['bcStrings,[20, "0.0", znam, 'F]]]
 ;  prefix := ("\blankline \menuitemstyle{}\tab{2} Enter values of \theta ")
 ;  prefix := STRCONC(prefix,"(if required): \newline \tab{2}")
@@ -5094,8 +5094,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 20
                                     (CONS '|0.0 + 0.0*%i|
@@ -5124,7 +5124,7 @@
     (RETURN
       (SEQ (setq |znam|
                     (INTERN (STRCONC "z"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 20
                                     (CONS '|0.0|
@@ -5361,10 +5361,10 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f01ref(_"",wheret,"_",",STRINGIMAGE m,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",STRINGIMAGE ncolq,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,",[",thetastring,"],")
-;  prefix := STRCONC(prefix,matstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f01ref(_"",wheret,"_",",princ-to-string m,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",princ-to-string ncolq,", ")
+;  prefix := STRCONC(prefix,princ-to-string lda,",[",thetastring,"],")
+;  prefix := STRCONC(prefix,matstring,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f01refGen| (|htPage|)
@@ -5425,16 +5425,16 @@
                                         G167453)))))))))
              (setq |prefix|
                       (STRCONC "f01ref(\"" |wheret| '|",|
-                               (STRINGIMAGE |m|) '|, |))
+                               (princ-to-string |m|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |ncolq|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |n|) '|, |
+                               (princ-to-string |ncolq|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|,[|
+                      (STRCONC |prefix| (princ-to-string |lda|) '|,[|
                                |thetastring| '|],|))
              (setq |prefix|
                       (STRCONC |prefix| |matstring| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 \end{chunk}
diff --git a/src/interp/nag-f02.lisp.pamphlet b/src/interp/nag-f02.lisp.pamphlet
index e7fe7a3..515ec01 100644
--- a/src/interp/nag-f02.lisp.pamphlet
+++ b/src/interp/nag-f02.lisp.pamphlet
@@ -96,7 +96,7 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -123,8 +123,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -300,8 +300,8 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f02aaf(",STRINGIMAGE ia,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,matstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02aaf(",princ-to-string ia,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,matstring,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02aafGen| (|htPage|)
@@ -350,11 +350,11 @@
                                         G166140)))))))))
              (setq |prefix|
                       (STRCONC "f02aaf("
-                               (STRINGIMAGE |ia|) '|, |
-                               (STRINGIMAGE |n|) '|, |))
+                               (princ-to-string |ia|) '|, |
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |matstring| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02abf() ==
@@ -451,7 +451,7 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -479,8 +479,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -660,9 +660,9 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f02abf(",matstring,", ",STRINGIMAGE ia,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",STRINGIMAGE iv,", ")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02abf(",matstring,", ",princ-to-string ia,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",princ-to-string iv,", ")
+;  linkGen STRCONC(prefix,princ-to-string ifail,")")
 
 (DEFUN |f02abfGen| (|htPage|)
   (PROG (|n| |ia| |iv| |ifail| |alist| |elm| |y| |matform| |rowList|
@@ -711,11 +711,11 @@
                                         G166253)))))))))
              (setq |prefix|
                       (STRCONC "f02abf(" |matstring| '|, |
-                               (STRINGIMAGE |ia|) '|, |))
+                               (princ-to-string |ia|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |iv|) '|, |))
-             (|linkGen| (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)))))))
+                      (STRCONC |prefix| (princ-to-string |n|) '|, |
+                               (princ-to-string |iv|) '|, |))
+             (|linkGen| (STRCONC |prefix| (princ-to-string |ifail|) '|)|)))))))
 
 ;f02adf() ==
 ;  htInitPage('"F02ADF - All eigenvalues of generalized real eigenproblem of the form Ax = \lambda Bx where A and B are symmetric and B is positive definite",nil)
@@ -808,7 +808,7 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -816,7 +816,7 @@
 ;    "append"/[h(k,n) for k in 1..ib] where h(k,n) ==
 ;       bList :=
 ;         "append"/[l(k,p) for p in 1..n] where l(k,p) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p)
+;            bnam := INTERN STRCONC ('"b",princ-to-string k,princ-to-string p)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       bList := [['text,:prefix],:bList]
@@ -846,8 +846,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -875,8 +875,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|)
-                                     (STRINGIMAGE |p|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|)
+                                     (princ-to-string |p|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -1116,9 +1116,9 @@
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02adf(",STRINGIMAGE ia,", ",STRINGIMAGE ib,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",matstring,", ",bstring,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02adf(",princ-to-string ia,", ",princ-to-string ib,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",matstring,", ",bstring,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02adfGen| (|htPage|)
@@ -1200,13 +1200,13 @@
                                         G166440)))))))))
              (setq |prefix|
                       (STRCONC "f02adf("
-                               (STRINGIMAGE |ia|) '|, |
-                               (STRINGIMAGE |ib|) '|, |))
+                               (princ-to-string |ia|) '|, |
+                               (princ-to-string |ib|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, |
+                      (STRCONC |prefix| (princ-to-string |n|) '|, |
                                |matstring| '|, | |bstring| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02aef() ==
@@ -1311,7 +1311,7 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -1319,7 +1319,7 @@
 ;    "append"/[h(k,n) for k in 1..ib] where h(k,n) ==
 ;       bList :=
 ;         "append"/[l(k,p) for p in 1..n] where l(k,p) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p)
+;            bnam := INTERN STRCONC ('"b",princ-to-string k,princ-to-string p)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       bList := [['text,:prefix],:bList]
@@ -1350,8 +1350,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -1379,8 +1379,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|)
-                                     (STRINGIMAGE |p|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|)
+                                     (princ-to-string |p|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -1624,10 +1624,10 @@
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02aef(",STRINGIMAGE ia,", ",STRINGIMAGE ib,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",STRINGIMAGE iv,", ")
+;  prefix := STRCONC('"f02aef(",princ-to-string ia,", ",princ-to-string ib,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",princ-to-string iv,", ")
 ;  prefix := STRCONC(prefix,matstring,", ",bstring,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02aefGen| (|htPage|)
@@ -1710,16 +1710,16 @@
                                         G166636)))))))))
              (setq |prefix|
                       (STRCONC "f02aef("
-                               (STRINGIMAGE |ia|) '|, |
-                               (STRINGIMAGE |ib|) '|, |))
+                               (princ-to-string |ia|) '|, |
+                               (princ-to-string |ib|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |iv|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |n|) '|, |
+                               (princ-to-string |iv|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |matstring| '|, | |bstring|
                                '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02aff() ==
@@ -1806,7 +1806,7 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -1833,8 +1833,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2010,8 +2010,8 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f02aff(",STRINGIMAGE ia,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,matstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02aff(",princ-to-string ia,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,matstring,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02affGen| (|htPage|)
@@ -2060,11 +2060,11 @@
                                         G166759)))))))))
              (setq |prefix|
                       (STRCONC "f02aff("
-                               (STRINGIMAGE |ia|) '|, |
-                               (STRINGIMAGE |n|) '|, |))
+                               (princ-to-string |ia|) '|, |
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |matstring| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02agf() ==
@@ -2169,7 +2169,7 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -2198,8 +2198,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2385,9 +2385,9 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f02agf(",STRINGIMAGE ia,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ivr,", ",STRINGIMAGE ivi,", ")
-;  linkGen STRCONC(prefix,matstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02agf(",princ-to-string ia,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string ivr,", ",princ-to-string ivi,", ")
+;  linkGen STRCONC(prefix,matstring,", ",princ-to-string ifail,")")
 
 (DEFUN |f02agfGen| (|htPage|)
   (PROG (|n| |ia| |ivr| |ivi| |ifail| |alist| |elm| |y| |matform|
@@ -2437,14 +2437,14 @@
                                         G166873)))))))))
              (setq |prefix|
                       (STRCONC "f02agf("
-                               (STRINGIMAGE |ia|) '|, |
-                               (STRINGIMAGE |n|) '|, |))
+                               (princ-to-string |ia|) '|, |
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ivr|) '|, |
-                               (STRINGIMAGE |ivi|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |ivr|) '|, |
+                               (princ-to-string |ivi|) '|, |))
              (|linkGen|
                  (STRCONC |prefix| |matstring| '|, |
-                          (STRINGIMAGE |ifail|) '|)|)))))))
+                          (princ-to-string |ifail|) '|)|)))))))
 
 ;f02ajf() ==
 ;  htInitPage('"F02AJF - All eigenvalues of complex matrix (Black box)",nil)
@@ -2538,7 +2538,7 @@
 ;    "append"/[f(i,n) for i in 1..iar] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -2546,7 +2546,7 @@
 ;    "append"/[h(k,n) for k in 1..iai] where h(k,n) ==
 ;       bList :=
 ;         "append"/[l(k,p) for p in 1..n] where l(k,p) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p)
+;            bnam := INTERN STRCONC ('"b",princ-to-string k,princ-to-string p)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       bList := [['text,:prefix],:bList]
@@ -2576,8 +2576,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2605,8 +2605,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|)
-                                     (STRINGIMAGE |p|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|)
+                                     (princ-to-string |p|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2853,9 +2853,9 @@
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02ajf(",STRINGIMAGE n,", ",STRINGIMAGE iar,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE iai,", ",matstring,", ",bstring,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02ajf(",princ-to-string n,", ",princ-to-string iar,", ")
+;  prefix := STRCONC(prefix,princ-to-string iai,", ",matstring,", ",bstring,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02ajfGen| (|htPage|)
@@ -2936,13 +2936,13 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G167061)))))))))
              (setq |prefix|
-                      (STRCONC "f02ajf(" (STRINGIMAGE |n|)
-                               '|, | (STRINGIMAGE |iar|) '|, |))
+                      (STRCONC "f02ajf(" (princ-to-string |n|)
+                               '|, | (princ-to-string |iar|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |iai|) '|, |
+                      (STRCONC |prefix| (princ-to-string |iai|) '|, |
                                |matstring| '|, | |bstring| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02akf() ==
@@ -3055,7 +3055,7 @@
 ;    "append"/[f(i,n) for i in 1..iar] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -3063,7 +3063,7 @@
 ;    "append"/[h(k,n) for k in 1..iai] where h(k,n) ==
 ;       bList :=
 ;         "append"/[l(k,p) for p in 1..n] where l(k,p) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p)
+;            bnam := INTERN STRCONC ('"b",princ-to-string k,princ-to-string p)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       bList := [['text,:prefix],:bList]
@@ -3095,8 +3095,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -3124,8 +3124,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|)
-                                     (STRINGIMAGE |p|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|)
+                                     (princ-to-string |p|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -3381,10 +3381,10 @@
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02akf(",STRINGIMAGE iar,", ",STRINGIMAGE iai,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE n,", ",STRINGIMAGE ivr,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ivi,", ",matstring,", ",bstring,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02akf(",princ-to-string iar,", ",princ-to-string iai,", ")
+;  prefix := STRCONC(prefix,princ-to-string n,", ",princ-to-string ivr,", ")
+;  prefix := STRCONC(prefix,princ-to-string ivi,", ",matstring,", ",bstring,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02akfGen| (|htPage|)
@@ -3468,16 +3468,16 @@
                                         G167258)))))))))
              (setq |prefix|
                       (STRCONC "f02akf("
-                               (STRINGIMAGE |iar|) '|, |
-                               (STRINGIMAGE |iai|) '|, |))
+                               (princ-to-string |iar|) '|, |
+                               (princ-to-string |iai|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |ivr|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |n|) '|, |
+                               (princ-to-string |ivr|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ivi|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ivi|) '|, |
                                |matstring| '|, | |bstring| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02awf() ==
@@ -3573,7 +3573,7 @@
 ;    "append"/[f(i,n) for i in 1..iar] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -3581,7 +3581,7 @@
 ;    "append"/[h(k,n) for k in 1..iai] where h(k,n) ==
 ;       bList :=
 ;         "append"/[l(k,p) for p in 1..n] where l(k,p) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p)
+;            bnam := INTERN STRCONC ('"b",princ-to-string k,princ-to-string p)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       bList := [['text,:prefix],:bList]
@@ -3611,8 +3611,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -3640,8 +3640,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|)
-                                     (STRINGIMAGE |p|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|)
+                                     (princ-to-string |p|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -3888,9 +3888,9 @@
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02awf(",STRINGIMAGE n,", ",STRINGIMAGE iar,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE iai,", ",matstring,", ",bstring,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02awf(",princ-to-string n,", ",princ-to-string iar,", ")
+;  prefix := STRCONC(prefix,princ-to-string iai,", ",matstring,", ",bstring,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02awfGen| (|htPage|)
@@ -3971,13 +3971,13 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G167456)))))))))
              (setq |prefix|
-                      (STRCONC "f02awf(" (STRINGIMAGE |n|)
-                               '|, | (STRINGIMAGE |iar|) '|, |))
+                      (STRCONC "f02awf(" (princ-to-string |n|)
+                               '|, | (princ-to-string |iar|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |iai|) '|, |
+                      (STRCONC |prefix| (princ-to-string |iai|) '|, |
                                |matstring| '|, | |bstring| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02axf() ==
@@ -4090,7 +4090,7 @@
 ;    "append"/[f(i,n) for i in 1..iar] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -4098,7 +4098,7 @@
 ;    "append"/[h(k,n) for k in 1..iai] where h(k,n) ==
 ;       bList :=
 ;         "append"/[l(k,p) for p in 1..n] where l(k,p) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p)
+;            bnam := INTERN STRCONC ('"b",princ-to-string k,princ-to-string p)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       bList := [['text,:prefix],:bList]
@@ -4130,8 +4130,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -4159,8 +4159,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|)
-                                     (STRINGIMAGE |p|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|)
+                                     (princ-to-string |p|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -4416,10 +4416,10 @@
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02axf(",matstring,", ",STRINGIMAGE iar,", ",bstring)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE iai,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ivr,", ",STRINGIMAGE ivi,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02axf(",matstring,", ",princ-to-string iar,", ",bstring)
+;  prefix := STRCONC(prefix,", ",princ-to-string iai,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string ivr,", ",princ-to-string ivi,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02axfGen| (|htPage|)
@@ -4503,15 +4503,15 @@
                                         G167653)))))))))
              (setq |prefix|
                       (STRCONC "f02axf(" |matstring| '|, |
-                               (STRINGIMAGE |iar|) '|, | |bstring|))
+                               (princ-to-string |iar|) '|, | |bstring|))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |iai|) '|, |
-                               (STRINGIMAGE |n|) '|, |))
+                      (STRCONC |prefix| '|, | (princ-to-string |iai|) '|, |
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ivr|) '|, |
-                               (STRINGIMAGE |ivi|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |ivr|) '|, |
+                               (princ-to-string |ivi|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02bbf() ==
@@ -4643,7 +4643,7 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -4674,8 +4674,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -4879,9 +4879,9 @@
 ;    matform := [:matform,rowList]
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f02bbf(",STRINGIMAGE ia,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,alb,", ",ub,", ",STRINGIMAGE m,", ",STRINGIMAGE iv)
-;  prefix := STRCONC(prefix,", ",matstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02bbf(",princ-to-string ia,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,alb,", ",ub,", ",princ-to-string m,", ",princ-to-string iv)
+;  prefix := STRCONC(prefix,", ",matstring,", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02bbfGen| (|htPage|)
@@ -4934,15 +4934,15 @@
                                         G167782)))))))))
              (setq |prefix|
                       (STRCONC "f02bbf("
-                               (STRINGIMAGE |ia|) '|, |
-                               (STRINGIMAGE |n|) '|, |))
+                               (princ-to-string |ia|) '|, |
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
                       (STRCONC |prefix| |alb| '|, | |ub| '|, |
-                               (STRINGIMAGE |m|) '|, |
-                               (STRINGIMAGE |iv|)))
+                               (princ-to-string |m|) '|, |
+                               (princ-to-string |iv|)))
              (setq |prefix|
                       (STRCONC |prefix| '|, | |matstring| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02bjf() ==
@@ -5095,7 +5095,7 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -5103,7 +5103,7 @@
 ;    "append"/[h(k,n) for k in 1..ib] where h(k,n) ==
 ;       bList :=
 ;         "append"/[l(k,p) for p in 1..n] where l(k,p) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p)
+;            bnam := INTERN STRCONC ('"b",princ-to-string k,princ-to-string p)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       bList := [['text,:prefix],:bList]
@@ -5136,8 +5136,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -5165,8 +5165,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|)
-                                     (STRINGIMAGE |p|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|)
+                                     (princ-to-string |p|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -5427,10 +5427,10 @@
 ;    rowList := []
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02bjf(",STRINGIMAGE n,", ",STRINGIMAGE ia,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ib,", ",eps,", ",matv,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE iv,", ",matstring,", ",bstring,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02bjf(",princ-to-string n,", ",princ-to-string ia,", ")
+;  prefix := STRCONC(prefix,princ-to-string ib,", ",eps,", ",matv,", ")
+;  prefix := STRCONC(prefix,princ-to-string iv,", ",matstring,", ",bstring,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |f02bjfGen| (|htPage|)
@@ -5515,16 +5515,16 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G167978)))))))))
              (setq |prefix|
-                      (STRCONC "f02bjf(" (STRINGIMAGE |n|)
-                               '|, | (STRINGIMAGE |ia|) '|, |))
+                      (STRCONC "f02bjf(" (princ-to-string |n|)
+                               '|, | (princ-to-string |ia|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ib|) '|, | |eps|
+                      (STRCONC |prefix| (princ-to-string |ib|) '|, | |eps|
                                '|, | |matv| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |iv|) '|, |
+                      (STRCONC |prefix| (princ-to-string |iv|) '|, |
                                |matstring| '|, | |bstring| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|linkGen| |prefix|))))))
 
 ;f02fjf() ==
@@ -5749,7 +5749,7 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[ga(i,j) for j in 1..n] where ga(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[10, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -5758,7 +5758,7 @@
 ;       pre := ("\newline \tab{2} ")
 ;       labelList :=
 ;         "append"/[gb(i,j) for j in 1..ncolb] where gb(i,j) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE i, STRINGIMAGE j)
+;            bnam := INTERN STRCONC ('"b",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       labelList := [['text,:pre],:labelList]
 ;  prefix := ("\blankline \menuitemstyle{}\tab{2} Enter values of {\it B}: ")
@@ -5793,8 +5793,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 10
                                     (CONS '|0.0|
@@ -5822,8 +5822,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "b" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -6102,12 +6102,12 @@
 ;    bform := [:bform,rowList]
 ;    rowList := []
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02wef(",STRINGIMAGE m,",",STRINGIMAGE n,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ",STRINGIMAGE ncolb,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldb,", ",wantq,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldq,", ",wantp,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldpt,", ",matstring,", ",bstring," ,")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02wef(",princ-to-string m,",",princ-to-string n,",")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ",princ-to-string ncolb,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldb,", ",wantq,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldq,", ",wantp,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldpt,", ",matstring,", ",bstring," ,")
+;  linkGen STRCONC(prefix,princ-to-string ifail,")")
 
 (DEFUN |f02wefGen| (|htPage|)
   (PROG (|n| |m| |lda| |ldb| |ncolb| |wantq| |ldq| |ldpt| |wantp|
@@ -6194,21 +6194,21 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G168195)))))))))
              (setq |prefix|
-                      (STRCONC "f02wef(" (STRINGIMAGE |m|)
-                               '|,| (STRINGIMAGE |n|) '|,|))
+                      (STRCONC "f02wef(" (princ-to-string |m|)
+                               '|,| (princ-to-string |n|) '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |
-                               (STRINGIMAGE |ncolb|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, |
+                               (princ-to-string |ncolb|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldb|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ldb|) '|, |
                                |wantq| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldq|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ldq|) '|, |
                                |wantp| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldpt|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ldpt|) '|, |
                                |matstring| '|, | |bstring| '| ,|))
-             (|linkGen| (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)))))))
+             (|linkGen| (STRCONC |prefix| (princ-to-string |ifail|) '|)|)))))))
 
 ;f02xef() ==
 ;  htInitPage('"F02XEF - SVD of complex matrix",nil)
@@ -6377,7 +6377,7 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[ga(i,j) for j in 1..n] where ga(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[15, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -6386,7 +6386,7 @@
 ;       pre := ("\newline \tab{2} ")
 ;       labelList :=
 ;         "append"/[gb(i,j) for j in 1..ncolb] where gb(i,j) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE i, STRINGIMAGE j)
+;            bnam := INTERN STRCONC ('"b",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[15, "0.0", bnam, 'F]]]
 ;       labelList := [['text,:pre],:labelList]
 ;  prefix := ("\blankline \menuitemstyle{}\tab{2} Enter values of {\it B}: ")
@@ -6421,8 +6421,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 15
                                     (CONS '|0.0|
@@ -6450,8 +6450,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "b" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 15
                                     (CONS '|0.0|
@@ -6742,12 +6742,12 @@
 ;    bform := [:bform,rowList]
 ;    rowList := []
 ;  bstring := bcwords2liststring [bcwords2liststring x for x in bform]
-;  prefix := STRCONC('"f02xef(",STRINGIMAGE m,",",STRINGIMAGE n,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ",STRINGIMAGE ncolb,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldb,", ",wantq,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldq,", ",wantp,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldph,", ",matstring,", ",bstring," ,")
-;  linkGen STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f02xef(",princ-to-string m,",",princ-to-string n,",")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ",princ-to-string ncolb,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldb,", ",wantq,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldq,", ",wantp,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldph,", ",matstring,", ",bstring," ,")
+;  linkGen STRCONC(prefix,princ-to-string ifail,")")
 
 (DEFUN |f02xefGen| (|htPage|)
   (PROG (|n| |m| |lda| |ldb| |ncolb| |wantq| |ldq| |ldph| |wantp|
@@ -6834,21 +6834,21 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G168412)))))))))
              (setq |prefix|
-                      (STRCONC "f02xef(" (STRINGIMAGE |m|)
-                               '|,| (STRINGIMAGE |n|) '|,|))
+                      (STRCONC "f02xef(" (princ-to-string |m|)
+                               '|,| (princ-to-string |n|) '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |
-                               (STRINGIMAGE |ncolb|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, |
+                               (princ-to-string |ncolb|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldb|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ldb|) '|, |
                                |wantq| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldq|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ldq|) '|, |
                                |wantp| '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldph|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ldph|) '|, |
                                |matstring| '|, | |bstring| '| ,|))
-             (|linkGen| (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)))))))
+             (|linkGen| (STRCONC |prefix| (princ-to-string |ifail|) '|)|)))))))
 
 \end{chunk}
 \eject
diff --git a/src/interp/nag-f04.lisp.pamphlet b/src/interp/nag-f04.lisp.pamphlet
index ebe8afd..725b477 100644
--- a/src/interp/nag-f04.lisp.pamphlet
+++ b/src/interp/nag-f04.lisp.pamphlet
@@ -54,7 +54,7 @@
   (|htShowPage|))
 
 (defun f04adfSolveg (i j)
- (let ((ianam (intern (strconc "a" (stringimage i) (stringimage j)))))
+ (let ((ianam (intern (strconc "a" (princ-to-string i) (princ-to-string j)))))
   `((|bcStrings| (12 |0.0 + 0.0*%i| ,ianam f)))))
 
 (defun f04adfSolvef (i n)
@@ -68,7 +68,7 @@
 
 (defun f04adfSolvegb (i j)
  (let (bnam)
-  (setq bnam (intern (strconc "b" (stringimage i) (stringimage j))))
+  (setq bnam (intern (strconc "b" (princ-to-string i) (princ-to-string j))))
   `((|bcStrings| (12 |0.0 + 0.0*%i| ,bnam f)))))
 
 (defun f04adfSolvefb (i m)
@@ -200,10 +200,10 @@
         ((or (atom t6) (progn (setq x (car t6)) nil))
           (nreverse0 t5))
       (setq t5 (cons (|bcwords2liststring| x) t5)))))
-  (setq prefix (strconc "f04adf(" (stringimage ia) '|,| boutstring '|,|))
-  (setq prefix (strconc prefix (stringimage ib) '|, | (stringimage n) '|, |))
-  (setq prefix (strconc prefix (stringimage m) '|, |  (stringimage ic)))
-  (setq prefix (strconc prefix '|, | matstring '|, | (stringimage ifail) '|)|))
+  (setq prefix (strconc "f04adf(" (princ-to-string ia) '|,| boutstring '|,|))
+  (setq prefix (strconc prefix (princ-to-string ib) '|, | (princ-to-string n) '|, |))
+  (setq prefix (strconc prefix (princ-to-string m) '|, |  (princ-to-string ic)))
+  (setq prefix (strconc prefix '|, | matstring '|, | (princ-to-string ifail) '|)|))
   (|bcGen| prefix)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -258,14 +258,14 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            ianam := INTERN STRCONC ('"ia",STRINGIMAGE i, STRINGIMAGE j)
+;            ianam := INTERN STRCONC ('"ia",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", ianam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
 ;  bmatList :=
 ;    "append"/[h(k) for k in 1..n] where h(k) ==
 ;       prefix := ('"\newline \tab{2} ")
-;       bnam := INTERN STRCONC ('"b",STRINGIMAGE k)
+;       bnam := INTERN STRCONC ('"b",princ-to-string k)
 ;       [['text,:prefix],['bcStrings,[6, "0.0", bnam, 'F]]]
 ;  start := ('"\blankline \menuitemstyle{} \tab{2} Enter values of {\it b}:")
 ;  bmatList := [['text,:start],:bmatList]
@@ -288,7 +288,7 @@
 
 (defun f04arfSolveg (i j)
  (let (ianam)
-  (setq ianam (intern (strconc "ia"(stringimage i) (stringimage j))))
+  (setq ianam (intern (strconc "ia"(princ-to-string i) (princ-to-string j))))
   `((|bcStrings| (6 0.0 ,ianam f)))))
 
 (defun f04arfSolvef (i n)
@@ -302,7 +302,7 @@
 (defun f04arfSolveh (k)
  (let (prefix bnam)
   (setq prefix "\\newline \\tab{2} ")
-  (setq bnam (intern (strconc "b" (stringimage k))))
+  (setq bnam (intern (strconc "b" (princ-to-string k))))
   (cons 
    (cons '|text| prefix)
    `((|bcStrings| (6 0.0 ,bnam f))))))
@@ -496,8 +496,8 @@
 ;  k := -1
 ;  matform := [[y.(k := k + 1).1 for j in 0..(n-1)] for i in 0..(ia-1)]
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f04arf(",STRINGIMAGE ia,", [",bstring,"],",STRINGIMAGE n)
-;  prefix := STRCONC(prefix,", ",matstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f04arf(",princ-to-string ia,", [",bstring,"],",princ-to-string n)
+;  prefix := STRCONC(prefix,", ",matstring,", ",princ-to-string ifail,")")
 ;  bcGen prefix
 
 (defun |f04arfGen| (|htPage|)
@@ -569,11 +569,11 @@
                                         G166368)))))))))
              (setq |prefix|
                       (STRCONC "f04arf("
-                               (STRINGIMAGE |ia|) '|, [| |bstring|
-                               '|],| (STRINGIMAGE |n|)))
+                               (princ-to-string |ia|) '|, [| |bstring|
+                               '|],| (princ-to-string |n|)))
              (setq |prefix|
                       (STRCONC |prefix| '|, | |matstring| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|bcGen| |prefix|))))))
 
 ;f04asf() ==
@@ -668,14 +668,14 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            ianam := INTERN STRCONC ('"ia",STRINGIMAGE i, STRINGIMAGE j)
+;            ianam := INTERN STRCONC ('"ia",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", ianam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
 ;  bmatList :=
 ;    "append"/[h(k) for k in 1..n] where h(k) ==
 ;       prefix := ('"\newline \tab{2} ")
-;       bnam := INTERN STRCONC ('"b",STRINGIMAGE k)
+;       bnam := INTERN STRCONC ('"b",princ-to-string k)
 ;       [['text,:prefix],['bcStrings,[6, "0.0", bnam, 'F]]]
 ;  start := ('"\blankline \menuitemstyle{} \tab{2} Enter values of {\it b}:")
 ;  bmatList := [['text,:start],:bmatList]
@@ -701,8 +701,8 @@
     (RETURN
       (SEQ (setq |ianam|
                     (INTERN (STRCONC  "ia"
-                                     (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                                     (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -732,7 +732,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |bnam|
                     (INTERN (STRCONC "b"
-                                     (STRINGIMAGE |k|))))
+                                     (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -945,8 +945,8 @@
 ;  k := -1
 ;  matform := [[y.(k := k + 1).1 for j in 0..(n-1)] for i in 0..(ia-1)]
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f04asf(",STRINGIMAGE ia,", [",bstring,"],",STRINGIMAGE n)
-;  prefix := STRCONC(prefix,", ",matstring,", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f04asf(",princ-to-string ia,", [",bstring,"],",princ-to-string n)
+;  prefix := STRCONC(prefix,", ",matstring,", ",princ-to-string ifail,")")
 ;  bcGen prefix
 
 (defun |f04asfGen| (|htPage|)
@@ -1018,11 +1018,11 @@
                                         G166517)))))))))
              (setq |prefix|
                       (STRCONC "f04asf("
-                               (STRINGIMAGE |ia|) '|, [| |bstring|
-                               '|],| (STRINGIMAGE |n|)))
+                               (princ-to-string |ia|) '|, [| |bstring|
+                               '|],| (princ-to-string |n|)))
              (setq |prefix|
                       (STRCONC |prefix| '|, | |matstring| '|, |
-                               (STRINGIMAGE |ifail|) '|)|))
+                               (princ-to-string |ifail|) '|)|))
              (|bcGen| |prefix|))))))
 
 ;f04atf() ==
@@ -1124,14 +1124,14 @@
 ;    "append"/[f(i,n) for i in 1..ia] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            ianam := INTERN STRCONC ('"ia",STRINGIMAGE i, STRINGIMAGE j)
+;            ianam := INTERN STRCONC ('"ia",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", ianam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
 ;  bmatList :=
 ;    "append"/[h(k) for k in 1..n] where h(k) ==
 ;       prefix := ('"\newline \tab{2} ")
-;       bnam := INTERN STRCONC ('"b",STRINGIMAGE k)
+;       bnam := INTERN STRCONC ('"b",princ-to-string k)
 ;       [['text,:prefix],['bcStrings,[6, "0.0", bnam, 'F]]]
 ;  start := ('"\blankline \menuitemstyle{} \tab{2} Enter values of {\it b}:")
 ;  bmatList := [['text,:start],:bmatList]
@@ -1158,8 +1158,8 @@
     (RETURN
       (SEQ (setq |ianam|
                     (INTERN (STRCONC "ia"
-                                     (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                                     (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -1188,7 +1188,7 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1391,9 +1391,9 @@
 ;  k := -1
 ;  matform := [[y.(k := k + 1).1 for j in 0..(n-1)] for i in 0..(ia-1)]
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f04atf(",matstring,", ",STRINGIMAGE ia,", [",bstring)
-;  prefix := STRCONC(prefix,"],",STRINGIMAGE n,", ",STRINGIMAGE iaa,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"f04atf(",matstring,", ",princ-to-string ia,", [",bstring)
+;  prefix := STRCONC(prefix,"],",princ-to-string n,", ",princ-to-string iaa,", ")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  bcGen prefix
 
 (defun |f04atfGen| (|htPage|)
@@ -1466,12 +1466,12 @@
                                         G166667)))))))))
              (setq |prefix|
                       (STRCONC "f04atf(" |matstring| '|, |
-                               (STRINGIMAGE |ia|) '|, [| |bstring|))
+                               (princ-to-string |ia|) '|, [| |bstring|))
              (setq |prefix|
-                      (STRCONC |prefix| '|],| (STRINGIMAGE |n|) '|, |
-                               (STRINGIMAGE |iaa|) '|, |))
+                      (STRCONC |prefix| '|],| (princ-to-string |n|) '|, |
+                               (princ-to-string |iaa|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|bcGen| |prefix|))))))
 
 ;f04faf() ==
@@ -1586,7 +1586,7 @@
 ;  dList :=
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
 ;      prefix := ('"\newline \tab{2} ")
-;      dnam := INTERN STRCONC ('"d",STRINGIMAGE i)
+;      dnam := INTERN STRCONC ('"d",princ-to-string i)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, dnam, 'F]]]
 ;  prefix := ('"\menuitemstyle{}\tab{2} {\it D} Diagonal elements of T: ")
 ;  prefix := STRCONC(prefix,"\newline \tab{2} ")
@@ -1594,7 +1594,7 @@
 ;  eList :=
 ;    "append"/[g(j) for j in 1..(n-1)] where g(j) ==
 ;      prefix := ('"\newline \tab{2} ")
-;      enam := INTERN STRCONC ('"e",STRINGIMAGE j)
+;      enam := INTERN STRCONC ('"e",princ-to-string j)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, enam, 'F]]]
 ;  prefix := ('"\blankline \newline \menuitemstyle{}\tab{2} {\it E} E(2) ")
 ;  prefix := STRCONC(prefix,"to E(N)\newline \tab{2} Job = 0 => super-diagonal")
@@ -1605,7 +1605,7 @@
 ;  bList :=
 ;    "append"/[h(k) for k in 1..n] where h(k) ==
 ;      prefix := ('"\newline \tab{2} ")
-;      bnam := INTERN STRCONC ('"b",STRINGIMAGE k)
+;      bnam := INTERN STRCONC ('"b",princ-to-string k)
 ;      [['text,:prefix],['bcStrings,[10, 0.0, bnam, 'F]]]
 ;  prefix := ('"\blankline \newline \menuitemstyle{}\tab{2} {\it B} Right-hand")
 ;  prefix := STRCONC(prefix," side vector b: ")
@@ -1631,7 +1631,7 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |dnam|
-                    (INTERN (STRCONC "d" (STRINGIMAGE |i|))))
+                    (INTERN (STRCONC "d" (princ-to-string |i|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1646,7 +1646,7 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |enam|
-                    (INTERN (STRCONC "e" (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "e" (princ-to-string |j|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1662,7 +1662,7 @@
     (RETURN
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |k|))))
+                    (INTERN (STRCONC "b" (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -1913,9 +1913,9 @@
 ;    dList := [d,:dList]
 ;    y := rest y
 ;  dstring := bcwords2liststring dList
-;  prefix := STRCONC('"f04faf(",STRINGIMAGE job,", ",STRINGIMAGE n,",[")
+;  prefix := STRCONC('"f04faf(",princ-to-string job,", ",princ-to-string n,",[")
 ;  prefix := STRCONC(prefix,dstring,"], [",estring,"], [",bstring,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  bcGen prefix
 
 (defun |f04fafGen| (|htPage|)
@@ -1954,13 +1954,13 @@
              (setq |dstring| (|bcwords2liststring| |dList|))
              (setq |prefix|
                       (STRCONC  "f04faf("
-                               (STRINGIMAGE |job|) '|, |
-                               (STRINGIMAGE |n|) '|,[|))
+                               (princ-to-string |job|) '|, |
+                               (princ-to-string |n|) '|,[|))
              (setq |prefix|
                       (STRCONC |prefix| |dstring| '|], [| |estring|
                                '|], [| |bstring| '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|bcGen| |prefix|))))))
 
 ;f04jgf() ==
@@ -2084,14 +2084,14 @@
 ;    "append"/[f(i,n) for i in 1..m] where f(i,n) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..n] where g(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       labelList := [['text,:prefix],:labelList]
 ;  bmatList :=
 ;    "append"/[h(k) for k in 1..m] where h(k) ==
 ;       prefix := ('"\newline \tab{2} ")
-;       bnam := INTERN STRCONC ('"b",STRINGIMAGE k)
+;       bnam := INTERN STRCONC ('"b",princ-to-string k)
 ;       [['text,:prefix],['bcStrings,[6, "0.0", bnam, 'F]]]
 ;  start := ('"\blankline \menuitemstyle{} \tab{2} Enter values of {\it b}:")
 ;  bmatList := [['text,:start],:bmatList]
@@ -2121,8 +2121,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2152,7 +2152,7 @@
       (SEQ (setq |prefix| "\\newline \\tab{2} ")
            (setq |bnam|
                     (INTERN (STRCONC "b"
-                                     (STRINGIMAGE |k|))))
+                                     (princ-to-string |k|))))
            (EXIT (CONS (CONS '|text| |prefix|)
                        (CONS (CONS '|bcStrings|
                                    (CONS
@@ -2411,10 +2411,10 @@
 ;  for i in m..(nra-1) repeat
 ;    matform := [:matform,nullList]
 ;  matstring := bcwords2liststring [bcwords2liststring x for x in matform]
-;  prefix := STRCONC('"f04jgf(",STRINGIMAGE m,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nra,", ",tol,", ",STRINGIMAGE lwork)
+;  prefix := STRCONC('"f04jgf(",princ-to-string m,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string nra,", ",tol,", ",princ-to-string lwork)
 ;  prefix := STRCONC(prefix,", ",matstring,", [",bstring,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string ifail,")")
 ;  bcGen prefix
 
 (defun |f04jgfGen| (|htPage|)
@@ -2485,16 +2485,16 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G166979)))))))))
              (setq |prefix|
-                      (STRCONC "f04jgf(" (STRINGIMAGE |m|)
-                               '|, | (STRINGIMAGE |n|) '|, |))
+                      (STRCONC "f04jgf(" (princ-to-string |m|)
+                               '|, | (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nra|) '|, | |tol|
-                               '|, | (STRINGIMAGE |lwork|)))
+                      (STRCONC |prefix| (princ-to-string |nra|) '|, | |tol|
+                               '|, | (princ-to-string |lwork|)))
              (setq |prefix|
                       (STRCONC |prefix| '|, | |matstring| '|, [|
                                |bstring| '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|)|))
              (|bcGen| |prefix|))))))
 
 ;f04mcf() ==
@@ -2649,18 +2649,18 @@
 ;  (n = '6 and lal = '14 and ir = '2) => f04mcfDefaultSolve(htPage,iselct,ifail)
 ;  labelList :=
 ;    "append"/[fal(i) for i in 1..lal] where fal(i) ==
-;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      xnam := INTERN STRCONC ('"x",princ-to-string i)
 ;      [['bcStrings,[6, "0.0", xnam, 'F]]]
 ;  dList :=
 ;    "append"/[fd(i) for i in 1..n] where fd(i) ==
-;      dnam := INTERN STRCONC ('"d",STRINGIMAGE i)
+;      dnam := INTERN STRCONC ('"d",princ-to-string i)
 ;      [['bcStrings,[6, "0.0", dnam, 'F]]]
 ;  prefix := ('"\blankline \menuitemstyle{}\tab{2} Diagonal elements of diagon")
 ;  prefix := STRCONC(prefix,"al matrix D as returned by F01MCF: \newline")
 ;  dList := [['text,:prefix],:dList]
 ;  nrowList :=
 ;    "append"/[gj(j) for j in 1..n] where gj(j) ==
-;      nam := INTERN STRCONC ('"n",STRINGIMAGE j)
+;      nam := INTERN STRCONC ('"n",princ-to-string j)
 ;      [['bcStrings,[6, 0, nam, 'PI]]]
 ;  prefix := ('"\blankline \menuitemstyle{}\tab{2} {\it NROW(n)} the width ")
 ;  prefix := STRCONC(prefix,"of the ith row of A: \newline ")
@@ -2669,7 +2669,7 @@
 ;    "append"/[f(i,ir) for i in 1..nrb] where f(i,ir) ==
 ;       labelList :=
 ;         "append"/[g(i,j) for j in 1..ir] where g(i,j) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE i, STRINGIMAGE j)
+;            bnam := INTERN STRCONC ('"b",princ-to-string i, princ-to-string j)
 ;            [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -2703,7 +2703,7 @@
   (PROG (|xnam|)
     (RETURN
       (SEQ (setq |xnam|
-                    (INTERN (STRCONC "x" (STRINGIMAGE |i|))))
+                    (INTERN (STRCONC "x" (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2715,7 +2715,7 @@
   (PROG (|dnam|)
     (RETURN
       (SEQ (setq |dnam|
-                    (INTERN (STRCONC "d" (STRINGIMAGE |i|))))
+                    (INTERN (STRCONC "d" (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -2727,7 +2727,7 @@
   (PROG (|nam|)
     (RETURN
       (SEQ (setq |nam|
-                    (INTERN (STRCONC "n" (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "n" (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -2739,8 +2739,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "b" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -3101,12 +3101,12 @@
 ;    y := rest y
 ;    alList := [right,:alList]
 ;  alstring := bcwords2liststring alList
-;  prefix := STRCONC('"f04mcf(",STRINGIMAGE n,", [",alstring,"], ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lal,", [",dstring,"],[",nrowstring)
+;  prefix := STRCONC('"f04mcf(",princ-to-string n,", [",alstring,"], ")
+;  prefix := STRCONC(prefix,princ-to-string lal,", [",dstring,"],[",nrowstring)
 ;  prefix := STRCONC(prefix,"]::Matrix Integer,")
-;  prefix := STRCONC(prefix,STRINGIMAGE ir,", ",matstring,", ",STRINGIMAGE nrb)
-;  prefix := STRCONC(prefix,", ",STRINGIMAGE iselct,", ",STRINGIMAGE nrx,", ")
-;  bcGen STRCONC(prefix,STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,princ-to-string ir,", ",matstring,", ",princ-to-string nrb)
+;  prefix := STRCONC(prefix,", ",princ-to-string iselct,", ",princ-to-string nrx,", ")
+;  bcGen STRCONC(prefix,princ-to-string ifail,")")
 
 (defun |f04mcfGen| (|htPage|)
   (PROG (|n| |lal| |ir| |nrb| |nrx| |iselct| |ifail| |alist| |elm|
@@ -3179,20 +3179,20 @@
                             (setq |alList| (CONS |right| |alList|))))))
              (setq |alstring| (|bcwords2liststring| |alList|))
              (setq |prefix|
-                      (STRCONC "f04mcf(" (STRINGIMAGE |n|)
+                      (STRCONC "f04mcf(" (princ-to-string |n|)
                                '|, [| |alstring| '|], |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lal|) '|, [|
+                      (STRCONC |prefix| (princ-to-string |lal|) '|, [|
                                |dstring| '|],[| |nrowstring|))
              (setq |prefix|
                       (STRCONC |prefix| '|]::Matrix Integer,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ir|) '|, |
-                               |matstring| '|, | (STRINGIMAGE |nrb|)))
+                      (STRCONC |prefix| (princ-to-string |ir|) '|, |
+                               |matstring| '|, | (princ-to-string |nrb|)))
              (setq |prefix|
-                      (STRCONC |prefix| '|, | (STRINGIMAGE |iselct|)
-                               '|, | (STRINGIMAGE |nrx|) '|, |))
-             (|bcGen| (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)))))))
+                      (STRCONC |prefix| '|, | (princ-to-string |iselct|)
+                               '|, | (princ-to-string |nrx|) '|, |))
+             (|bcGen| (STRCONC |prefix| (princ-to-string |ifail|) '|)|)))))))
 
 ;f04axf() ==
 ;  htInitPage('"F04AXF - Approximate solution of a a set of real sparse linear equations after factorization by F01BRF or by F01BSF",nil)
@@ -3462,13 +3462,13 @@
 ;  (n = '10 and precon ='true) => f04mbfDefaultSolve(htPage,shift,rtol,itnlim,msglvl,ifail)
 ;  bmatList :=
 ;    "append"/[f(i) for i in 1..n] where f(i) ==
-;       bnam := INTERN STRCONC ('"b",STRINGIMAGE i)
+;       bnam := INTERN STRCONC ('"b",princ-to-string i)
 ;       [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;  amatList :=
 ;    "append"/[h(ia,n) for ia in 1..n] where h(ia,n) ==
 ;       alabelList :=
 ;         "append"/[k(ia,ja) for ja in 1..n] where k(ia,ja) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE ia,STRINGIMAGE ja)
+;            anam := INTERN STRCONC ('"a",princ-to-string ia,princ-to-string ja)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       alabelList := [['text,:prefix],:alabelList]
@@ -3480,7 +3480,7 @@
 ;      "append"/[l(im,n) for im in 1..n] where l(im,n) ==
 ;         mlabelList :=
 ;           "append"/[o(im,jm) for jm in 1..n] where o(im,jm) ==
-;              mnam := INTERN STRCONC ('"m",STRINGIMAGE im,STRINGIMAGE jm)
+;              mnam := INTERN STRCONC ('"m",princ-to-string im,princ-to-string jm)
 ;              [['bcStrings,[6, "0.0", mnam, 'F]]]
 ;         prefix := ('"\newline \tab{2} ")
 ;         mlabelList := [['text,:prefix],:mlabelList]
@@ -3514,7 +3514,7 @@
     (RETURN
       (SEQ (setq |bnam|
                     (INTERN (STRCONC "b"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -3527,8 +3527,8 @@
     (RETURN
       (SEQ (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |ia|)
-                                     (STRINGIMAGE |ja|))))
+                                     (princ-to-string |ia|)
+                                     (princ-to-string |ja|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -3557,8 +3557,8 @@
     (RETURN
       (SEQ (setq |mnam|
                     (INTERN (STRCONC "m"
-                                     (STRINGIMAGE |im|)
-                                     (STRINGIMAGE |jm|))))
+                                     (princ-to-string |im|)
+                                     (princ-to-string |jm|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -4269,10 +4269,10 @@
 ;  bstring := bcwords2liststring blist
 ;  if (precon = 'false) then
 ;    mstring := astring
-;  prefix := STRCONC('"f04mbf(",STRINGIMAGE n,",[",bstring,"]::Matrix DoubleFloat,",precon,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE shift,",",STRINGIMAGE itnlim,",",STRINGIMAGE msglvl,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE lrwork,",",STRINGIMAGE liwork,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE rtol,",",STRINGIMAGE ifail,",((")
+;  prefix := STRCONC('"f04mbf(",princ-to-string n,",[",bstring,"]::Matrix DoubleFloat,",precon,",")
+;  prefix := STRCONC(prefix,princ-to-string shift,",",princ-to-string itnlim,",",princ-to-string msglvl,",")
+;  prefix := STRCONC(prefix,princ-to-string lrwork,",",princ-to-string liwork,",")
+;  prefix := STRCONC(prefix,princ-to-string rtol,",",princ-to-string ifail,",((")
 ;  prefix := STRCONC(prefix,astring,"::Matrix MachineFloat)::ASP28(APROD)),((")
 ;  prefix := STRCONC(prefix,mstring,"::Matrix MachineFloat)::ASP34(MSOLVE)))")
 ;  linkGen prefix
@@ -4370,19 +4370,19 @@
                ((BOOT-EQUAL |precon| '|false|)
                 (setq |mstring| |astring|)))
              (setq |prefix|
-                      (STRCONC "f04mbf(" (STRINGIMAGE |n|)
+                      (STRCONC "f04mbf(" (princ-to-string |n|)
                                '|,[| |bstring|
                                '|]::Matrix DoubleFloat,| |precon| '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |shift|) '|,|
-                               (STRINGIMAGE |itnlim|) '|,|
-                               (STRINGIMAGE |msglvl|) '|,|))
+                      (STRCONC |prefix| (princ-to-string |shift|) '|,|
+                               (princ-to-string |itnlim|) '|,|
+                               (princ-to-string |msglvl|) '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lrwork|) '|,|
-                               (STRINGIMAGE |liwork|) '|,|))
+                      (STRCONC |prefix| (princ-to-string |lrwork|) '|,|
+                               (princ-to-string |liwork|) '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |rtol|) '|,|
-                               (STRINGIMAGE |ifail|) '|,((|))
+                      (STRCONC |prefix| (princ-to-string |rtol|) '|,|
+                               (princ-to-string |ifail|) '|,((|))
              (setq |prefix|
                       (STRCONC |prefix| |astring|
                                '|::Matrix MachineFloat)::ASP28(APROD)),((|))
@@ -4618,13 +4618,13 @@
 ;  (m = '13 and n = '12) => f04qafDefaultSolve(htPage,damp,atol,btol,itnlim,msglvl,ifail)
 ;  bmatList :=
 ;    "append"/[f(i) for i in 1..m] where f(i) ==
-;       bnam := INTERN STRCONC ('"b",STRINGIMAGE i)
+;       bnam := INTERN STRCONC ('"b",princ-to-string i)
 ;       [['bcStrings,[6, "0.0", bnam, 'F]]]
 ;  amatList :=
 ;    "append"/[h(ia,n) for ia in 1..m] where h(ia,n) ==
 ;       alabelList :=
 ;         "append"/[k(ia,ja) for ja in 1..n] where k(ia,ja) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE ia,STRINGIMAGE ja)
+;            anam := INTERN STRCONC ('"a",princ-to-string ia,princ-to-string ja)
 ;            [['bcStrings,[6, "0.0", anam, 'F]]]
 ;       prefix := ('"\newline \tab{2} ")
 ;       alabelList := [['text,:prefix],:alabelList]
@@ -4657,7 +4657,7 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |i|))))
+                    (INTERN (STRCONC "b" (princ-to-string |i|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -4670,8 +4670,8 @@
     (RETURN
       (SEQ (setq |anam|
                     (INTERN (STRCONC "a"
-                                     (STRINGIMAGE |ia|)
-                                     (STRINGIMAGE |ja|))))
+                                     (princ-to-string |ia|)
+                                     (princ-to-string |ja|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS '|0.0|
@@ -5254,13 +5254,13 @@
 ;    blist := [belm,:blist]
 ;    y := rest y
 ;  bstring := bcwords2liststring blist
-;  prefix := STRCONC('"f04qaf(",STRINGIMAGE m,",",STRINGIMAGE n,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE damp,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE atol,",",STRINGIMAGE btol,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE conlim,",",STRINGIMAGE itnlim,",",STRINGIMAGE msglvl,",")
-;  prefix := STRCONC(prefix,STRINGIMAGE lrwork,",",STRINGIMAGE liwork,",")
+;  prefix := STRCONC('"f04qaf(",princ-to-string m,",",princ-to-string n,",")
+;  prefix := STRCONC(prefix,princ-to-string damp,",")
+;  prefix := STRCONC(prefix,princ-to-string atol,",",princ-to-string btol,",")
+;  prefix := STRCONC(prefix,princ-to-string conlim,",",princ-to-string itnlim,",",princ-to-string msglvl,",")
+;  prefix := STRCONC(prefix,princ-to-string lrwork,",",princ-to-string liwork,",")
 ;  prefix := STRCONC(prefix,"[",bstring,"]::Matrix DoubleFloat,")
-;  prefix := STRCONC(prefix,STRINGIMAGE ifail,",((",astring,"::Matrix MachineFloat)::ASP30(APROD)))")
+;  prefix := STRCONC(prefix,princ-to-string ifail,",((",astring,"::Matrix MachineFloat)::ASP30(APROD)))")
 ;  linkGen prefix
 
 (defun |f04qafGen| (|htPage|)
@@ -5324,25 +5324,25 @@
                             (setq |y| (CDR |y|))))))
              (setq |bstring| (|bcwords2liststring| |blist|))
              (setq |prefix|
-                      (STRCONC "f04qaf(" (STRINGIMAGE |m|)
-                               '|,| (STRINGIMAGE |n|) '|,|))
+                      (STRCONC "f04qaf(" (princ-to-string |m|)
+                               '|,| (princ-to-string |n|) '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |damp|) '|,|))
+                      (STRCONC |prefix| (princ-to-string |damp|) '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |atol|) '|,|
-                               (STRINGIMAGE |btol|) '|,|))
+                      (STRCONC |prefix| (princ-to-string |atol|) '|,|
+                               (princ-to-string |btol|) '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |conlim|) '|,|
-                               (STRINGIMAGE |itnlim|) '|,|
-                               (STRINGIMAGE |msglvl|) '|,|))
+                      (STRCONC |prefix| (princ-to-string |conlim|) '|,|
+                               (princ-to-string |itnlim|) '|,|
+                               (princ-to-string |msglvl|) '|,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lrwork|) '|,|
-                               (STRINGIMAGE |liwork|) '|,|))
+                      (STRCONC |prefix| (princ-to-string |lrwork|) '|,|
+                               (princ-to-string |liwork|) '|,|))
              (setq |prefix|
                       (STRCONC |prefix| '[ |bstring|
                                '|]::Matrix DoubleFloat,|))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|,((|
+                      (STRCONC |prefix| (princ-to-string |ifail|) '|,((|
                                |astring|
                                '|::Matrix MachineFloat)::ASP30(APROD)))|))
              (|linkGen| |prefix|))))))
diff --git a/src/interp/nag-f07.lisp.pamphlet b/src/interp/nag-f07.lisp.pamphlet
index 33c2dd2..a9e60e7 100644
--- a/src/interp/nag-f07.lisp.pamphlet
+++ b/src/interp/nag-f07.lisp.pamphlet
@@ -84,7 +84,7 @@
 ;    "append"/[fa(i,n) for i in 1..m] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[fb(i,j) for j in 1..n] where fb(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i,STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i,princ-to-string j)
 ;            [['bcStrings,[6, 0, anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -111,8 +111,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -289,8 +289,8 @@
 ;    aList := [rowList,:aList]
 ;    rowList := []
 ;  astring := bcwords2liststring [bcwords2liststring x for x in aList]
-;  prefix := STRCONC("f07adf(",STRINGIMAGE m,", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ",astring,")")
+;  prefix := STRCONC("f07adf(",princ-to-string m,", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ",astring,")")
 ;  linkGen prefix
 
 (DEFUN |f07adfGen| (|htPage|)
@@ -333,10 +333,10 @@
                                        (CONS (|bcwords2liststring| |x|)
                                         G166140)))))))))
              (setq |prefix|
-                      (STRCONC '|f07adf(| (STRINGIMAGE |m|) '|, |
-                               (STRINGIMAGE |n|) '|, |))
+                      (STRCONC '|f07adf(| (princ-to-string |m|) '|, |
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, |
                                |astring| '|)|))
              (|linkGen| |prefix|))))))
 
@@ -447,13 +447,13 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[faa(i,j) for j in 1..n] where faa(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i,STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i,princ-to-string j)
 ;            [['bcStrings, [6, 0, anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
 ;  ipList :=
 ;       [fp(i) for i in 1..n] where fp(i) ==
-;           ipnam := INTERN STRCONC ('"ip",STRINGIMAGE i)
+;           ipnam := INTERN STRCONC ('"ip",princ-to-string i)
 ;           ['bcStrings,[5, 0, ipnam, 'I]]
 ;  middle := ('"\blankline \menuitemstyle{}\tab{2} Enter the pivot ")
 ;  middle := STRCONC(middle,'"indices {\it IPIV} from F07ADF: ")
@@ -463,7 +463,7 @@
 ;    "append"/[fb(i,nrhs) for i in 1..n] where fb(i,nrhs) ==
 ;       labelList :=
 ;         "append"/[fbb(i,j) for j in 1..nrhs] where fbb(i,j) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE i,STRINGIMAGE j)
+;            bnam := INTERN STRCONC ('"b",princ-to-string i,princ-to-string j)
 ;            [['bcStrings, [6, 0, bnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -495,8 +495,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -525,7 +525,7 @@
     (RETURN
       (SEQ (setq |ipnam|
                     (INTERN (STRCONC "ip"
-                                     (STRINGIMAGE |i|))))
+                                     (princ-to-string |i|))))
            (EXIT (CONS '|bcStrings|
                        (CONS (CONS 5
                                    (CONS 0
@@ -536,8 +536,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "b" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -829,10 +829,10 @@
 ;    aList := [rowList,:aList]
 ;    rowList := []
 ;  astring := bcwords2liststring [bcwords2liststring x for x in aList]
-;  prefix := STRCONC("f07aef(_"", trans,"_", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nrhs,", ",astring,"::Matrix DoubleFloat, ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", [",ipstring,"]::Matrix INT, ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldb,", ",bstring,"::Matrix DoubleFloat)")
+;  prefix := STRCONC("f07aef(_"", trans,"_", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string nrhs,", ",astring,"::Matrix DoubleFloat, ")
+;  prefix := STRCONC(prefix,princ-to-string lda,", [",ipstring,"]::Matrix INT, ")
+;  prefix := STRCONC(prefix,princ-to-string ldb,", ",bstring,"::Matrix DoubleFloat)")
 ;  linkGen prefix
 
 (DEFUN |f07aefGen| (|htPage|)
@@ -916,15 +916,15 @@
                                         G166365)))))))))
              (setq |prefix|
                       (STRCONC '|f07aef("| |trans| '|", |
-                               (STRINGIMAGE |n|) '|, |))
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nrhs|) '|, |
+                      (STRCONC |prefix| (princ-to-string |nrhs|) '|, |
                                |astring| '|::Matrix DoubleFloat, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, [|
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, [|
                                |ipstring| '|]::Matrix INT, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldb|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ldb|) '|, |
                                |bstring| '|::Matrix DoubleFloat)|))
              (|linkGen| |prefix|))))))
 
@@ -1010,7 +1010,7 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[fb(i,j) for j in 1..n] where fb(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i,STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i,princ-to-string j)
 ;            [['bcStrings, [6, 0, anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -1037,8 +1037,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 6
                                     (CONS 0
@@ -1212,8 +1212,8 @@
 ;    aList := [rowList,:aList]
 ;    rowList := []
 ;  astring := bcwords2liststring [bcwords2liststring x for x in aList]
-;  prefix := STRCONC("f07fdf(_"", uplo,"_", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ",astring,")")
+;  prefix := STRCONC("f07fdf(_"", uplo,"_", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ",astring,")")
 ;  linkGen prefix
 
 (DEFUN |f07fdfGen| (|htPage|)
@@ -1257,9 +1257,9 @@
                                         G166493)))))))))
              (setq |prefix|
                       (STRCONC '|f07fdf("| |uplo| '|", |
-                               (STRINGIMAGE |n|) '|, |))
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, |
                                |astring| '|)|))
              (|linkGen| |prefix|))))))
 
@@ -1369,7 +1369,7 @@
 ;    "append"/[fa(i,n) for i in 1..lda] where fa(i,n) ==
 ;       labelList :=
 ;         "append"/[faa(i,j) for j in 1..n] where faa(i,j) ==
-;            anam := INTERN STRCONC ('"a",STRINGIMAGE i,STRINGIMAGE j)
+;            anam := INTERN STRCONC ('"a",princ-to-string i,princ-to-string j)
 ;            [['bcStrings, [8, 0, anam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -1377,7 +1377,7 @@
 ;    "append"/[fb(i,nrhs) for i in 1..n] where fb(i,nrhs) ==
 ;       labelList :=
 ;         "append"/[fbb(i,j) for j in 1..nrhs] where fbb(i,j) ==
-;            bnam := INTERN STRCONC ('"b",STRINGIMAGE i,STRINGIMAGE j)
+;            bnam := INTERN STRCONC ('"b",princ-to-string i,princ-to-string j)
 ;            [['bcStrings, [8, 0, bnam, 'F]]]
 ;       prefix := ('"\newline ")
 ;       labelList := [['text,:prefix],:labelList]
@@ -1408,8 +1408,8 @@
   (PROG (|anam|)
     (RETURN
       (SEQ (setq |anam|
-                    (INTERN (STRCONC "a" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "a" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0
@@ -1437,8 +1437,8 @@
   (PROG (|bnam|)
     (RETURN
       (SEQ (setq |bnam|
-                    (INTERN (STRCONC "b" (STRINGIMAGE |i|)
-                                     (STRINGIMAGE |j|))))
+                    (INTERN (STRCONC "b" (princ-to-string |i|)
+                                     (princ-to-string |j|))))
            (EXIT (CONS (CONS '|bcStrings|
                              (CONS (CONS 8
                                     (CONS 0
@@ -1683,10 +1683,10 @@
 ;    aList := [rowList,:aList]
 ;    rowList := []
 ;  astring := bcwords2liststring [bcwords2liststring x for x in aList]
-;  prefix := STRCONC("f07fef(_"", uplo,"_", ",STRINGIMAGE n,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE nrhs,", ",astring,"::Matrix DoubleFloat, ")
-;  prefix := STRCONC(prefix,STRINGIMAGE lda,", ")
-;  prefix := STRCONC(prefix,STRINGIMAGE ldb,", ",bstring,"::Matrix DoubleFloat)")
+;  prefix := STRCONC("f07fef(_"", uplo,"_", ",princ-to-string n,", ")
+;  prefix := STRCONC(prefix,princ-to-string nrhs,", ",astring,"::Matrix DoubleFloat, ")
+;  prefix := STRCONC(prefix,princ-to-string lda,", ")
+;  prefix := STRCONC(prefix,princ-to-string ldb,", ",bstring,"::Matrix DoubleFloat)")
 ;  linkGen prefix
 
 (DEFUN |f07fefGen| (|htPage|)
@@ -1761,14 +1761,14 @@
                                         G166683)))))))))
              (setq |prefix|
                       (STRCONC '|f07fef("| |uplo| '|", |
-                               (STRINGIMAGE |n|) '|, |))
+                               (princ-to-string |n|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |nrhs|) '|, |
+                      (STRCONC |prefix| (princ-to-string |nrhs|) '|, |
                                |astring| '|::Matrix DoubleFloat, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |lda|) '|, |))
+                      (STRCONC |prefix| (princ-to-string |lda|) '|, |))
              (setq |prefix|
-                      (STRCONC |prefix| (STRINGIMAGE |ldb|) '|, |
+                      (STRCONC |prefix| (princ-to-string |ldb|) '|, |
                                |bstring| '|::Matrix DoubleFloat)|))
              (|linkGen| |prefix|))))))
 
diff --git a/src/interp/nag-s.lisp.pamphlet b/src/interp/nag-s.lisp.pamphlet
index 82fe744..6d9205d 100644
--- a/src/interp/nag-s.lisp.pamphlet
+++ b/src/interp/nag-s.lisp.pamphlet
@@ -86,7 +86,7 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  linkGen STRCONC('"s01eaf(complex(",x,",",y,"),",STRINGIMAGE ifail,")")
+;  linkGen STRCONC('"s01eaf(complex(",x,",",y,"),",princ-to-string ifail,")")
 
 (DEFUN |s01eafGen| (|htPage|)
   (PROG (|x| |y| |error| |ifail|)
@@ -101,7 +101,7 @@
                    ('T (SPADDIFFERENCE 1))))
         (|linkGen|
             (STRCONC "s01eaf(complex(" |x| '|,| |y| '|),|
-                     (STRINGIMAGE |ifail|) '|)|))))))
+                     (princ-to-string |ifail|) '|)|))))))
 
 ;s13aaf() ==
 ;  page := htInitPage("S13AAF - Exponential integral \htbitmap{s13aaf2}", nil)
@@ -508,7 +508,7 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  linkGen STRCONC('"s14baf(",a,",",x,",",tol,",",STRINGIMAGE ifail,")")
+;  linkGen STRCONC('"s14baf(",a,",",x,",",tol,",",princ-to-string ifail,")")
 
 (DEFUN |s14bafGen| (|htPage|)
   (PROG (|a| |x| |tol| |error| |ifail|)
@@ -524,7 +524,7 @@
                    ('T (SPADDIFFERENCE 1))))
         (|linkGen|
             (STRCONC "s14baf(" |a| '|,| |x| '|,| |tol|
-                     '|,| (STRINGIMAGE |ifail|) '|)|))))))
+                     '|,| (princ-to-string |ifail|) '|)|))))))
 
 ;s15adf() ==
 ;  page := htInitPage("S15ADF - Complement of error function erfc x",nil)
@@ -1275,8 +1275,8 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  prefix := STRCONC('"s17dcf(",fnu,",complex(",x,",",y,"),",STRINGIMAGE n)
-;  prefix := STRCONC(prefix,",_"",scale,"_", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"s17dcf(",fnu,",complex(",x,",",y,"),",princ-to-string n)
+;  prefix := STRCONC(prefix,",_"",scale,"_", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |s17dcfGen| (|htPage|)
@@ -1307,10 +1307,10 @@
                    ('T (SPADDIFFERENCE 1))))
         (setq |prefix|
                  (STRCONC "s17dcf(" |fnu| '|,complex(| |x|
-                          '|,| |y| '|),| (STRINGIMAGE |n|)))
+                          '|,| |y| '|),| (princ-to-string |n|)))
         (setq |prefix|
                  (STRCONC |prefix| '|,"| |scale| '|", |
-                          (STRINGIMAGE |ifail|) '|)|))
+                          (princ-to-string |ifail|) '|)|))
         (|linkGen| |prefix|)))))
 
 ;s17def() ==
@@ -1441,8 +1441,8 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  prefix := STRCONC('"s17def(",fnu,",complex(",x,",",y,"),",STRINGIMAGE n)
-;  prefix := STRCONC(prefix,",_"",scale,"_", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"s17def(",fnu,",complex(",x,",",y,"),",princ-to-string n)
+;  prefix := STRCONC(prefix,",_"",scale,"_", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |s17defGen| (|htPage|)
@@ -1473,10 +1473,10 @@
                    ('T (SPADDIFFERENCE 1))))
         (setq |prefix|
                  (STRCONC "s17def(" |fnu| '|,complex(| |x|
-                          '|,| |y| '|),| (STRINGIMAGE |n|)))
+                          '|,| |y| '|),| (princ-to-string |n|)))
         (setq |prefix|
                  (STRCONC |prefix| '|,"| |scale| '|", |
-                          (STRINGIMAGE |ifail|) '|)|))
+                          (princ-to-string |ifail|) '|)|))
         (|linkGen| |prefix|)))))
 
 ;s17dgf() ==
@@ -1593,7 +1593,7 @@
 ;    error = 'one => 1
 ;    -1
 ;  prefix := STRCONC('"s17dgf(_"",deriv,"_",complex(",x,",",y,"),_"")
-;  prefix := STRCONC(prefix,scale,"_", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,scale,"_", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |s17dgfGen| (|htPage|)
@@ -1622,7 +1622,7 @@
                  (STRCONC "s17dgf(\"" |deriv|
                           '|",complex(| |x| '|,| |y| '|),"|))
         (setq |prefix|
-                 (STRCONC |prefix| |scale| '|", | (STRINGIMAGE |ifail|)
+                 (STRCONC |prefix| |scale| '|", | (princ-to-string |ifail|)
                           '|)|))
         (|linkGen| |prefix|)))))
 
@@ -1740,7 +1740,7 @@
 ;    error = 'one => 1
 ;    -1
 ;  prefix := STRCONC('"s17dhf(_"",deriv,"_",complex(",x,",",y,"),_"")
-;  prefix := STRCONC(prefix,scale,"_", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC(prefix,scale,"_", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |s17dhfGen| (|htPage|)
@@ -1769,7 +1769,7 @@
                  (STRCONC "s17dhf(\"" |deriv|
                           '|",complex(| |x| '|,| |y| '|),"|))
         (setq |prefix|
-                 (STRCONC |prefix| |scale| '|", | (STRINGIMAGE |ifail|)
+                 (STRCONC |prefix| |scale| '|", | (princ-to-string |ifail|)
                           '|)|))
         (|linkGen| |prefix|)))))
 
@@ -1920,9 +1920,9 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  prefix := STRCONC('"s17dlf(",STRINGIMAGE m,", ",fnu,",complex(")
-;  prefix := STRCONC(prefix,x,",",y,"),",STRINGIMAGE n)
-;  prefix := STRCONC(prefix,",_"",scale,"_", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"s17dlf(",princ-to-string m,", ",fnu,",complex(")
+;  prefix := STRCONC(prefix,x,",",y,"),",princ-to-string n)
+;  prefix := STRCONC(prefix,",_"",scale,"_", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |s17dlfGen| (|htPage|)
@@ -1955,14 +1955,14 @@
                    ((BOOT-EQUAL |error| '|one|) 1)
                    ('T (SPADDIFFERENCE 1))))
         (setq |prefix|
-                 (STRCONC "s17dlf(" (STRINGIMAGE |m|)
+                 (STRCONC "s17dlf(" (princ-to-string |m|)
                           '|, | |fnu| '|,complex(|))
         (setq |prefix|
                  (STRCONC |prefix| |x| '|,| |y| '|),|
-                          (STRINGIMAGE |n|)))
+                          (princ-to-string |n|)))
         (setq |prefix|
                  (STRCONC |prefix| '|,"| |scale| '|", |
-                          (STRINGIMAGE |ifail|) '|)|))
+                          (princ-to-string |ifail|) '|)|))
         (|linkGen| |prefix|)))))
 
 ;s18acf() ==
@@ -2353,8 +2353,8 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  prefix := STRCONC('"s18dcf(",fnu,",complex(",x,",",y,"),",STRINGIMAGE n)
-;  prefix := STRCONC(prefix,",_"",scale,"_", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"s18dcf(",fnu,",complex(",x,",",y,"),",princ-to-string n)
+;  prefix := STRCONC(prefix,",_"",scale,"_", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |s18dcfGen| (|htPage|)
@@ -2385,10 +2385,10 @@
                    ('T (SPADDIFFERENCE 1))))
         (setq |prefix|
                  (STRCONC "s18dcf(" |fnu| '|,complex(| |x|
-                          '|,| |y| '|),| (STRINGIMAGE |n|)))
+                          '|,| |y| '|),| (princ-to-string |n|)))
         (setq |prefix|
                  (STRCONC |prefix| '|,"| |scale| '|", |
-                          (STRINGIMAGE |ifail|) '|)|))
+                          (princ-to-string |ifail|) '|)|))
         (|linkGen| |prefix|)))))
 
 ;s18def() ==
@@ -2519,8 +2519,8 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  prefix := STRCONC('"s18def(",fnu,",complex(",x,",",y,"),",STRINGIMAGE n)
-;  prefix := STRCONC(prefix,",_"",scale,"_", ",STRINGIMAGE ifail,")")
+;  prefix := STRCONC('"s18def(",fnu,",complex(",x,",",y,"),",princ-to-string n)
+;  prefix := STRCONC(prefix,",_"",scale,"_", ",princ-to-string ifail,")")
 ;  linkGen prefix
 
 (DEFUN |s18defGen| (|htPage|)
@@ -2551,10 +2551,10 @@
                    ('T (SPADDIFFERENCE 1))))
         (setq |prefix|
                  (STRCONC "s18def(" |fnu| '|,complex(| |x|
-                          '|,| |y| '|),| (STRINGIMAGE |n|)))
+                          '|,| |y| '|),| (princ-to-string |n|)))
         (setq |prefix|
                  (STRCONC |prefix| '|,"| |scale| '|", |
-                          (STRINGIMAGE |ifail|) '|)|))
+                          (princ-to-string |ifail|) '|)|))
         (|linkGen| |prefix|)))))
 
 ;s19aaf() ==
@@ -2995,7 +2995,7 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  linkGen STRCONC("s21baf(",x,'",",y,",",STRINGIMAGE ifail,'")")
+;  linkGen STRCONC("s21baf(",x,'",",y,",",princ-to-string ifail,'")")
 
 (DEFUN |s21bafGen| (|htPage|)
   (PROG (|x| |y| |error| |ifail|)
@@ -3010,7 +3010,7 @@
                    ('T (SPADDIFFERENCE 1))))
         (|linkGen|
             (STRCONC '|s21baf(| |x| "," |y| '|,|
-                     (STRINGIMAGE |ifail|) ")"))))))
+                     (princ-to-string |ifail|) ")"))))))
 
 ;s21bbf() ==
 ;  htInitPage("S21BBF - Symmetrised Elliptic Integral of 1st Kind \space{1} \vspace{-28} \inputbitmap{\htbmdir{}/s21bbf1.bitmap}", nil)
@@ -3102,7 +3102,7 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  linkGen STRCONC("s21bbf(",x,'",",y,",",z,",",STRINGIMAGE ifail,'")")
+;  linkGen STRCONC("s21bbf(",x,'",",y,",",z,",",princ-to-string ifail,'")")
 
 (DEFUN |s21bbfGen| (|htPage|)
   (PROG (|x| |y| |z| |error| |ifail|)
@@ -3118,7 +3118,7 @@
                    ('T (SPADDIFFERENCE 1))))
         (|linkGen|
             (STRCONC '|s21bbf(| |x| "," |y| '|,| |z| '|,|
-                     (STRINGIMAGE |ifail|) ")"))))))
+                     (princ-to-string |ifail|) ")"))))))
 
 ;s21bcf() ==
 ;  htInitPage("S21BCF - Symmetrised Elliptic Integral of 2nd Kind \space{1} \vspace{-28} \inputbitmap{\htbmdir{}/s21bcf1.bitmap}", nil)
@@ -3209,7 +3209,7 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  linkGen STRCONC("s21bcf(",x,'",",y,",",z,",",STRINGIMAGE ifail,'")")
+;  linkGen STRCONC("s21bcf(",x,'",",y,",",z,",",princ-to-string ifail,'")")
 
 (DEFUN |s21bcfGen| (|htPage|)
   (PROG (|x| |y| |z| |error| |ifail|)
@@ -3225,7 +3225,7 @@
                    ('T (SPADDIFFERENCE 1))))
         (|linkGen|
             (STRCONC '|s21bcf(| |x| "," |y| '|,| |z| '|,|
-                     (STRINGIMAGE |ifail|) ")"))))))
+                     (princ-to-string |ifail|) ")"))))))
 
 ;s21bdf() ==
 ;  htInitPage("S21BDF - Symmetrised Elliptic Integral of 3rd Kind \space{1} \vspace{-28} \inputbitmap{\htbmdir{}/s21bdf1.bitmap}", nil)
@@ -3328,7 +3328,7 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  linkGen STRCONC("s21bdf(",x,'",",y,",",z,",",r,",",STRINGIMAGE ifail,'")")
+;  linkGen STRCONC("s21bdf(",x,'",",y,",",z,",",r,",",princ-to-string ifail,'")")
 
 (DEFUN |s21bdfGen| (|htPage|)
   (PROG (|x| |y| |z| |r| |error| |ifail|)
@@ -3345,7 +3345,7 @@
                    ('T (SPADDIFFERENCE 1))))
         (|linkGen|
             (STRCONC '|s21bdf(| |x| "," |y| '|,| |z| '|,|
-                     |r| '|,| (STRINGIMAGE |ifail|) ")"))))))
+                     |r| '|,| (princ-to-string |ifail|) ")"))))))
 
 ;sGen htPage ==
 ;  routine := htpProperty(htPage,'routine)
@@ -3354,7 +3354,7 @@
 ;  ifail :=
 ;    error = 'one => 1
 ;    -1
-;  linkGen STRCONC(routine,"(",x,'",",STRINGIMAGE ifail,'")")
+;  linkGen STRCONC(routine,"(",x,'",",princ-to-string ifail,'")")
 
 (DEFUN |sGen| (|htPage|)
   (PROG (|routine| |x| |error| |ifail|)
@@ -3369,7 +3369,7 @@
                    ('T (SPADDIFFERENCE 1))))
         (|linkGen|
             (STRCONC |routine| '|(| |x| ","
-                     (STRINGIMAGE |ifail|) ")"))))))
+                     (princ-to-string |ifail|) ")"))))))
 
 \end{chunk}
 \eject
diff --git a/src/interp/newfort.lisp.pamphlet b/src/interp/newfort.lisp.pamphlet
index 1636062..802a103 100644
--- a/src/interp/newfort.lisp.pamphlet
+++ b/src/interp/newfort.lisp.pamphlet
@@ -120,7 +120,7 @@
 
 ;newFortranTempVar() ==
 ;  $exp2FortTempVarIndex := 1 + $exp2FortTempVarIndex
-;  newVar := INTERN STRCONC('"T",STRINGIMAGE $exp2FortTempVarIndex)
+;  newVar := INTERN STRCONC('"T",princ-to-string $exp2FortTempVarIndex)
 ;  updateSymbolTable(newVar,$defaultFortranType)
 ;  newVar
 
@@ -133,7 +133,7 @@
                  (+ 1 |$exp2FortTempVarIndex|))
         (setq |newVar|
                  (INTERN (STRCONC "T"
-                                  (STRINGIMAGE |$exp2FortTempVarIndex|))))
+                                  (princ-to-string |$exp2FortTempVarIndex|))))
         (|updateSymbolTable| |newVar| |$defaultFortranType|)
         |newVar|))))
 
@@ -888,7 +888,7 @@
 
 ;fortError(u,v) ==
 ;  $fortError := "t"
-;  msg := STRCONC("   ",STRINGIMAGE u);
+;  msg := STRCONC("   ",princ-to-string u);
 ;  sayErrorly("Fortran translation error",msg)
 ;  mathPrint v
 
@@ -898,7 +898,7 @@
     (RETURN
       (PROGN
         (setq |$fortError| '|t|)
-        (setq |msg| (STRCONC '|   | (STRINGIMAGE |u|)))
+        (setq |msg| (STRCONC '|   | (princ-to-string |u|)))
         (|sayErrorly| '|Fortran translation error| |msg|)
         (|mathPrint| |v|)))))
 
@@ -1124,7 +1124,7 @@
 ;  --the next line is NEVER used by FORTRAN code but is needed when
 ;  --  called to get a linearized form for the browser
 ;  op = "QUOTE" =>
-;    atom (arg := first args) => STRINGIMAGE arg
+;    atom (arg := first args) => princ-to-string arg
 ;    tailPart := "STRCONC"/[STRCONC('",",x) for x in rest arg]
 ;    STRCONC('"[",first arg,tailPart,'"]")
 ;  op = "PAREN" =>
@@ -1195,7 +1195,7 @@
              ((BOOT-EQUAL |op| 'QUOTE)
               (COND
                 ((ATOM (setq |arg| (CAR |args|)))
-                 (STRINGIMAGE |arg|))
+                 (princ-to-string |arg|))
                 ('T
                  (setq |tailPart|
                           (PROG (G166656)
@@ -1369,11 +1369,11 @@
             (|#| (CDR (CDR |args|))))))))
 
 ;mkFortFn(op,args,nargs) ==
-;  [fortranifyFunctionName(STRINGIMAGE op,nargs),
+;  [fortranifyFunctionName(princ-to-string op,nargs),
 ;   :MAPCAR(function fortPre1 , args) ]
 
 (DEFUN |mkFortFn| (|op| |args| |nargs|)
-  (CONS (|fortranifyFunctionName| (STRINGIMAGE |op|) |nargs|)
+  (CONS (|fortranifyFunctionName| (princ-to-string |op|) |nargs|)
         (MAPCAR #'|fortPre1| |args|)))
 
 ;fortranifyFunctionName(op,nargs) ==
@@ -1587,10 +1587,10 @@
 ;  $fortInts2Floats : fluid := nil
 ;  incr=1 =>
 ;    checkLines fortran2Lines
-;      ['"DO ",STRINGIMAGE lab,'" ",STRINGIMAGE var,'"=",:statement2Fortran lo,_
+;      ['"DO ",princ-to-string lab,'" ",princ-to-string var,'"=",:statement2Fortran lo,_
 ;       '",", :statement2Fortran hi]
 ;  checkLines fortran2Lines
-;    ['"DO ",STRINGIMAGE lab,'" ",STRINGIMAGE var,'"=",:statement2Fortran lo,_
+;    ['"DO ",princ-to-string lab,'" ",princ-to-string var,'"=",:statement2Fortran lo,_
 ;     '",", :statement2Fortran hi,'",",:statement2Fortran incr]
 
 (DEFUN |fortFormatDo| (|var| |lo| |hi| |incr| |lab|)
@@ -1605,9 +1605,9 @@
            (|checkLines|
                (|fortran2Lines|
                    (CONS "DO "
-                         (CONS (STRINGIMAGE |lab|)
+                         (CONS (princ-to-string |lab|)
                                (CONS " "
-                                     (CONS (STRINGIMAGE |var|)
+                                     (CONS (princ-to-string |var|)
                                       (CONS "="
                                        (APPEND
                                         (|statement2Fortran| |lo|)
@@ -1617,9 +1617,9 @@
            (|checkLines|
                (|fortran2Lines|
                    (CONS "DO "
-                         (CONS (STRINGIMAGE |lab|)
+                         (CONS (princ-to-string |lab|)
                                (CONS " "
-                                     (CONS (STRINGIMAGE |var|)
+                                     (CONS (princ-to-string |var|)
                                       (CONS "="
                                        (APPEND
                                         (|statement2Fortran| |lo|)
@@ -1636,7 +1636,7 @@
 ;  if first(switch) = "NULL" then switch := first rest switch
 ;  r := nreverse statement2Fortran switch
 ;  changeExprLength(8)
-;  l := ['")GOTO ",STRINGIMAGE label]
+;  l := ['")GOTO ",princ-to-string label]
 ;  while r and not(first(r) = '"%l") repeat
 ;    l := [first(r),:l]
 ;    r := rest(r)
@@ -1656,7 +1656,7 @@
              (|changeExprLength| 8)
              (setq |l|
                       (CONS ")GOTO "
-                            (CONS (STRINGIMAGE |label|) NIL)))
+                            (CONS (princ-to-string |label|) NIL)))
              (DO ()
                  ((NULL (AND |r|
                              (NULL (BOOT-EQUAL (CAR |r|)
@@ -1677,11 +1677,11 @@
 ;  if LISTP(switch) and first(switch) = "NULL" then switch := first rest switch
 ;  r := nreverse statement2Fortran switch
 ;  changeExprLength(8)
-;  l := ['")GOTO ",STRINGIMAGE label2]
+;  l := ['")GOTO ",princ-to-string label2]
 ;  while r and not(first(r) = '"%l") repeat
 ;    l := [first(r),:l]
 ;    r := rest(r)
-;  labString := STRINGIMAGE label1
+;  labString := princ-to-string label1
 ;  for i in #(labString)..5 repeat labString := STRCONC(labString,'" ")
 ;  lines := fortran2Lines nreverse [:nreverse l,'"IF(",:r]
 ;  lines := [STRCONC(labString,SUBSEQ(first lines,6)),:rest lines]
@@ -1702,7 +1702,7 @@
              (|changeExprLength| 8)
              (setq |l|
                       (CONS ")GOTO "
-                            (CONS (STRINGIMAGE |label2|) NIL)))
+                            (CONS (princ-to-string |label2|) NIL)))
              (DO ()
                  ((NULL (AND |r|
                              (NULL (BOOT-EQUAL (CAR |r|)
@@ -1711,7 +1711,7 @@
                (SEQ (EXIT (PROGN
                             (setq |l| (CONS (CAR |r|) |l|))
                             (setq |r| (CDR |r|))))))
-             (setq |labString| (STRINGIMAGE |label1|))
+             (setq |labString| (princ-to-string |label1|))
              (DO ((|i| (|#| |labString|) (+ |i| 1))) ((> |i| 5) NIL)
                (SEQ (EXIT (setq |labString|
                                    (STRCONC |labString|
@@ -1816,7 +1816,7 @@
 ;    asp := ['"SUBROUTINE "]
 ;    changeExprLength(l := -11)
 ;  else
-;    asp := [s := checkType STRINGIMAGE returnType,'" FUNCTION "]
+;    asp := [s := checkType princ-to-string returnType,'" FUNCTION "]
 ;    changeExprLength(l := -10-LENGTH(s))
 ;  displayLines fortran2Lines [:asp,:statement2Fortran [name,:CDADR args] ]
 ;  changeExprLength(-l)
@@ -1836,7 +1836,7 @@
            (setq |asp|
                     (CONS (setq |s|
                                    (|checkType|
-                                    (STRINGIMAGE |returnType|)))
+                                    (princ-to-string |returnType|)))
                           (CONS " FUNCTION " NIL)))
            (|changeExprLength|
                (setq |l|
@@ -1850,7 +1850,7 @@
         (|changeExprLength| (SPADDIFFERENCE |l|))))))
 
 ;checkType ty ==
-;  ty := STRING_-UPCASE STRINGIMAGE ty
+;  ty := STRING_-UPCASE princ-to-string ty
 ;  $fortranPrecision = "double" =>
 ;    ty = '"REAL" => '"DOUBLE PRECISION"
 ;    ty = '"COMPLEX" => '"DOUBLE COMPLEX"
@@ -1860,7 +1860,7 @@
 (DEFUN |checkType| (|ty|)
   (declare (special |$fortranPrecision|))
   (PROGN
-    (setq |ty| (STRING-UPCASE (STRINGIMAGE |ty|)))
+    (setq |ty| (STRING-UPCASE (princ-to-string |ty|)))
     (COND
       ((BOOT-EQUAL |$fortranPrecision| '|double|)
        (COND
@@ -1874,18 +1874,18 @@
 
 ;mkParameterList l ==
 ;  [par2string(u) for u in l] where par2string u ==
-;      atom(u) => STRINGIMAGE u
+;      atom(u) => princ-to-string u
 ;      u := rest first rest u
-;      apply('STRCONC,[STRINGIMAGE(first u),'"(",_
+;      apply('STRCONC,[princ-to-string(first u),'"(",_
 ;               :rest [:['",",:statement2Fortran(v)] for v in rest u],'")"])
 
 (DEFUN |mkParameterList,par2string| (|u|)
   (PROG ()
     (RETURN
-      (SEQ (IF (ATOM |u|) (EXIT (STRINGIMAGE |u|)))
+      (SEQ (IF (ATOM |u|) (EXIT (princ-to-string |u|)))
            (setq |u| (CDR (CAR (CDR |u|))))
            (EXIT (APPLY 'STRCONC
-                        (CONS (STRINGIMAGE (CAR |u|))
+                        (CONS (princ-to-string (CAR |u|))
                               (CONS "("
                                     (APPEND
                                      (CDR
@@ -2054,23 +2054,23 @@
 ;    #u=2 => sortedByLength := insertEntry(CADR u,CAR u,sortedByLength)
 ;    genuineArrays := [u,:genuineArrays]
 ;  for u in sortedByLength repeat
-;    fortFormatTypes1(mkCharName car u, [STRINGIMAGE(s) for s in cdr(u)]) where
-;       mkCharName v == CONCAT("CHARACTER*(",STRINGIMAGE v,")")
+;    fortFormatTypes1(mkCharName car u, [princ-to-string(s) for s in cdr(u)]) where
+;       mkCharName v == CONCAT("CHARACTER*(",princ-to-string v,")")
 ;  if (not null genuineArrays) then
 ;    fortFormatTypes1('"CHARACTER",mkParameterList2 genuineArrays) where
 ;       mkParameterList2 l ==
 ;         [par2string(u) for u in l] where par2string u ==
-;             apply('STRCONC,[STRINGIMAGE(first u),'"(",_
+;             apply('STRCONC,[princ-to-string(first u),'"(",_
 ;                      :rest [:['",",:statement2Fortran(v)] for v in rest u],'")"])
 
 (DEFUN |fortFormatCharacterTypes,mkCharName| (|v|)
-  (CONCAT '|CHARACTER*(| (STRINGIMAGE |v|) '|)|))
+  (CONCAT '|CHARACTER*(| (princ-to-string |v|) '|)|))
 
 (DEFUN |fortFormatCharacterTypes,par2string| (|u|)
   (PROG ()
     (RETURN
       (SEQ (APPLY 'STRCONC
-                  (CONS (STRINGIMAGE (CAR |u|))
+                  (CONS (princ-to-string (CAR |u|))
                         (CONS "("
                               (APPEND (CDR
                                        (PROG (G167020)
@@ -2155,7 +2155,7 @@
                                     (SEQ
                                      (EXIT
                                       (SETQ G167079
-                                       (CONS (STRINGIMAGE |s|)
+                                       (CONS (princ-to-string |s|)
                                         G167079)))))))))))
              (COND
                ((NULL (NULL |genuineArrays|))
@@ -2218,8 +2218,8 @@
 
 ;addCommas l ==
 ;  not l => nil
-;  r := [STRINGIMAGE first l]
-;  for e in rest l repeat r := [STRINGIMAGE e,'",",:r]
+;  r := [princ-to-string first l]
+;  for e in rest l repeat r := [princ-to-string e,'",",:r]
 ;  reverse r
 
 (DEFUN |addCommas| (|l|)
@@ -2227,13 +2227,13 @@
     (RETURN
       (SEQ (COND
              ((NULL |l|) NIL)
-             ('T (setq |r| (CONS (STRINGIMAGE (CAR |l|)) NIL))
+             ('T (setq |r| (CONS (princ-to-string (CAR |l|)) NIL))
               (DO ((G167122 (CDR |l|) (CDR G167122)) (|e| NIL))
                   ((OR (ATOM G167122)
                        (PROGN (SETQ |e| (CAR G167122)) NIL))
                    NIL)
                 (SEQ (EXIT (setq |r|
-                                    (CONS (STRINGIMAGE |e|)
+                                    (CONS (princ-to-string |e|)
                                      (CONS "," |r|))))))
               (REVERSE |r|)))))))
 
@@ -2308,7 +2308,7 @@
 ;  imags := ['"%i","%i"]
 ;  e in imags => ['"CMPLX",fortPre1(0),fortPre1(1)]
 ;  -- other special objects
-;  ELT(STRINGIMAGE e,0) = "%" => SUBSEQ(STRINGIMAGE e,1)
+;  ELT(princ-to-string e,0) = "%" => SUBSEQ(princ-to-string e,1)
 ;  atom e => e
 ;  [op, :args] := e
 ;  op in ["**" , '"**"] =>
@@ -2376,8 +2376,8 @@
                 ((|member| |e| |imags|)
                  (CONS "CMPLX"
                        (CONS (|fortPre1| 0) (CONS (|fortPre1| 1) NIL))))
-                ((BOOT-EQUAL (ELT (STRINGIMAGE |e|) 0) '%)
-                 (SUBSEQ (STRINGIMAGE |e|) 1))
+                ((BOOT-EQUAL (ELT (princ-to-string |e|) 0) '%)
+                 (SUBSEQ (princ-to-string |e|) 1))
                 ((ATOM |e|) |e|)
                 ('T (setq |op| (CAR |e|)) (setq |args| (CDR |e|))
                  (COND
@@ -2555,15 +2555,15 @@
 
 ;fix2FortranFloat e ==
 ;  -- Return a Fortran float for a given integer.
-;  $fortranPrecision = "double" => STRCONC(STRINGIMAGE(e),".0D0")
-;  STRCONC(STRINGIMAGE(e),".")
+;  $fortranPrecision = "double" => STRCONC(princ-to-string(e),".0D0")
+;  STRCONC(princ-to-string(e),".")
 
 (DEFUN |fix2FortranFloat| (|e|)
   (declare (special |$fortranPrecision|))
   (COND
     ((BOOT-EQUAL |$fortranPrecision| '|double|)
-     (STRCONC (STRINGIMAGE |e|) (INTERN ".0D0" "BOOT")))
-    ('T (STRCONC (STRINGIMAGE |e|) (INTERN "." "BOOT")))))
+     (STRCONC (princ-to-string |e|) (INTERN ".0D0" "BOOT")))
+    ('T (STRCONC (princ-to-string |e|) (INTERN "." "BOOT")))))
 
 ;isFloat e ==
 ;  FLOATP(e) or STRINGP(e) and FIND(char ".",e)
@@ -2575,7 +2575,7 @@
 ;checkPrecision e ==
 ;  -- Do we have a string?
 ;  STRINGP(e) and CHAR_-CODE(CHAR(e,0)) = 34 => e
-;  e := delete(char " ",STRINGIMAGE e)
+;  e := delete(char " ",princ-to-string e)
 ;  $fortranPrecision = "double" =>
 ;    iPart := SUBSEQ(e,0,(period:=POSITION(char ".",e))+1)
 ;    expt  := if ePos := POSITION(char "E",e) then SUBSEQ(e,ePos+1) else "0"
@@ -2592,7 +2592,7 @@
     (RETURN
       (COND
         ((AND (STRINGP |e|) (EQL (CHAR-CODE (CHAR |e| 0)) 34)) |e|)
-        ('T (setq |e| (|delete| (|char| '| |) (STRINGIMAGE |e|)))
+        ('T (setq |e| (|delete| (|char| '| |) (princ-to-string |e|)))
          (COND
            ((BOOT-EQUAL |$fortranPrecision| '|double|)
             (setq |iPart|
@@ -2626,17 +2626,17 @@
 ;  -- This function overestimates the size because it assumes that e.g.
 ;  -- (+ x (+ y z)) will be printed as "x+(y+z)" rather than "x+y+z"
 ;  -- which is the actual case.
-;  atom e => LENGTH STRINGIMAGE e
+;  atom e => LENGTH princ-to-string e
 ;  #e > 3 => 2+fortSize MAPCAR(function fortExpSize, e)
 ;  #e < 3 => 2+fortSize MAPCAR(function fortExpSize, e)
 ;  [op,arg1,arg2] := e
-;  op := STRINGIMAGE op
+;  op := princ-to-string op
 ;  op = '"CMPLX" => 3+fortSize [fortExpSize arg1,fortExpSize arg2]
 ;  narys := ['"+",'"*"] -- those nary ops we changed to binary
 ;  op in narys =>
-;    LISTP arg1 and not(op=STRINGIMAGE first arg1) =>
+;    LISTP arg1 and not(op=princ-to-string first arg1) =>
 ;      2+fortSize MAPCAR(function fortExpSize, e)
-;    LISTP arg2 and not(op=STRINGIMAGE first arg2) =>
+;    LISTP arg2 and not(op=princ-to-string first arg2) =>
 ;      2+fortSize MAPCAR(function fortExpSize, e)
 ;    1+fortSize [fortExpSize arg1,fortExpSize arg2]
 ;  2+fortSize MAPCAR(function fortExpSize, e)
@@ -2645,13 +2645,13 @@
   (PROG (|arg1| |arg2| |op| |narys|)
     (RETURN
       (COND
-        ((ATOM |e|) (LENGTH (STRINGIMAGE |e|)))
+        ((ATOM |e|) (LENGTH (princ-to-string |e|)))
         ((> (|#| |e|) 3)
          (+ 2 (|fortSize| (MAPCAR #'|fortExpSize| |e|))))
         ((QSLESSP (|#| |e|) 3)
          (+ 2 (|fortSize| (MAPCAR #'|fortExpSize| |e|))))
         ('T (setq |op| (CAR |e|)) (setq |arg1| (CADR |e|))
-         (setq |arg2| (CADDR |e|)) (setq |op| (STRINGIMAGE |op|))
+         (setq |arg2| (CADDR |e|)) (setq |op| (princ-to-string |op|))
          (COND
            ((BOOT-EQUAL |op| "CMPLX")
             (+ 3
@@ -2667,13 +2667,13 @@
                (COND
                  ((AND (LISTP |arg1|)
                        (NULL (BOOT-EQUAL |op|
-                                 (STRINGIMAGE (CAR |arg1|)))))
+                                 (princ-to-string (CAR |arg1|)))))
                   (+ 2
                         (|fortSize|
                             (MAPCAR #'|fortExpSize| |e|))))
                  ((AND (LISTP |arg2|)
                        (NULL (BOOT-EQUAL |op|
-                                 (STRINGIMAGE (CAR |arg2|)))))
+                                 (princ-to-string (CAR |arg2|)))))
                   (+ 2
                         (|fortSize|
                             (MAPCAR #'|fortExpSize| |e|))))
@@ -2710,11 +2710,11 @@
                                   (+ G167300
                                         (|fortSize,elen| |u|))))))))))))
 
-;tempLen () == 1 + LENGTH STRINGIMAGE $exp2FortTempVarIndex
+;tempLen () == 1 + LENGTH princ-to-string $exp2FortTempVarIndex
 
 (DEFUN |tempLen| ()
   (declare (special |$exp2FortTempVarIndex|))
-  (+ 1 (LENGTH (STRINGIMAGE |$exp2FortTempVarIndex|))))
+  (+ 1 (LENGTH (princ-to-string |$exp2FortTempVarIndex|))))
 
 ;segment l ==
 ;  not $fortranSegment => l
diff --git a/src/interp/nrunopt.lisp.pamphlet b/src/interp/nrunopt.lisp.pamphlet
index 46694a7..e140b18 100644
--- a/src/interp/nrunopt.lisp.pamphlet
+++ b/src/interp/nrunopt.lisp.pamphlet
@@ -2041,7 +2041,7 @@
 ;    sayBrightlyNT bright i
 ;    item := template.i
 ;    item is [n,:op] and INTEGERP n => dcOpLatchPrint(op,n)
-;    null item and i > 5 => sayBrightly ['"arg  ",STRCONC('"#",STRINGIMAGE(i - 5))]
+;    null item and i > 5 => sayBrightly ['"arg  ",STRCONC('"#",princ-to-string(i - 5))]
 ;    atom item => sayBrightly ['"fun  ",item]
 ;    item is ['CONS,.,['FUNCALL,[.,a],b]] => sayBrightly ['"constant ",a]
 ;    sayBrightly concat('"lazy ",form2String formatSlotDomain i)
@@ -2074,7 +2074,7 @@
                                    (CONS "arg  "
                                     (CONS
                                      (STRCONC "#"
-                                      (STRINGIMAGE
+                                      (princ-to-string
                                        (SPADDIFFERENCE |i| 5)))
                                      NIL))))
                               ((ATOM |item|)
@@ -2230,7 +2230,7 @@
 ;  x = 2 => ["$$"]
 ;  INTEGERP x =>
 ;    val := $infovec.0.x
-;    null val => [STRCONC('"#",STRINGIMAGE (x  - 5))]
+;    null val => [STRCONC('"#",princ-to-string (x  - 5))]
 ;    formatSlotDomain val
 ;  atom x => x
 ;  x is ['NRTEVAL,y] => (atom y => [y]; y)
@@ -2248,7 +2248,7 @@
               (COND
                 ((NULL |val|)
                  (CONS (STRCONC "#"
-                                (STRINGIMAGE (SPADDIFFERENCE |x| 5)))
+                                (princ-to-string (SPADDIFFERENCE |x| 5)))
                        NIL))
                 ('T (|formatSlotDomain| |val|))))
              ((ATOM |x|) |x|)
@@ -2643,10 +2643,10 @@
 ;  tens := n / 10
 ;  for i in 0..tens repeat
 ;    start := 10*i
-;    sayBrightlyNT rightJustifyString(STRINGIMAGE start,6)
+;    sayBrightlyNT rightJustifyString(princ-to-string start,6)
 ;    sayBrightlyNT '"  |"
 ;    for j in start..MIN(start + 9,n) repeat
-;      sayBrightlyNT rightJustifyString(STRINGIMAGE vec.j,6)
+;      sayBrightlyNT rightJustifyString(princ-to-string vec.j,6)
 ;    sayNewLine()
 ;  vec
 
@@ -2661,7 +2661,7 @@
                             (setq |start| (TIMES 10 |i|))
                             (|sayBrightlyNT|
                                 (|rightJustifyString|
-                                    (STRINGIMAGE |start|) 6))
+                                    (princ-to-string |start|) 6))
                             (|sayBrightlyNT| "  |")
                             (DO ((G168032 (MIN (+ |start| 9) |n|))
                                  (|j| |start| (+ |j| 1)))
@@ -2669,7 +2669,7 @@
                               (SEQ (EXIT
                                     (|sayBrightlyNT|
                                      (|rightJustifyString|
-                                      (STRINGIMAGE (ELT |vec| |j|)) 6)))))
+                                      (princ-to-string (ELT |vec| |j|)) 6)))))
                             (terpri)))))
              |vec|)))))
 
diff --git a/src/interp/parsing.lisp.pamphlet b/src/interp/parsing.lisp.pamphlet
index f4af56b..e514ae6 100644
--- a/src/interp/parsing.lisp.pamphlet
+++ b/src/interp/parsing.lisp.pamphlet
@@ -634,7 +634,7 @@ foo defined inside of fum gets renamed as fum,foo.")
 (defun MK_LEFORM (U)
   (COND ((IDENTP U) (PNAME U))
         ((STRINGP U) U)
-        ((ATOM U) (STRINGIMAGE U))
+        ((ATOM U) (princ-to-string U))
         ((MEMBER (FIRST U) '(VCONS CONS) :test #'eq)
          (STRCONC "(" (MK_LEFORM-CONS U) ")") )
         ((EQ (FIRST U) 'LIST) (STRCONC "(" (MK_LEFORM (SECOND U)) ")") )
diff --git a/src/interp/patches.lisp.pamphlet b/src/interp/patches.lisp.pamphlet
index b3e721d..878b3fb 100644
--- a/src/interp/patches.lisp.pamphlet
+++ b/src/interp/patches.lisp.pamphlet
@@ -177,7 +177,7 @@ It used to read:
   (if (equal string "") (obey "sh")
     (obey string))
    (|terminateSystemCommand|))
-(setq *print-escape* nil) ;; so stringimage doesn't escape idents?
+(setq *print-escape* nil) 
 #+(or :IEEE-FLOATING-POINT)
  (setq system:*print-nans* T)
 
@@ -243,7 +243,7 @@ It used to read:
 
 (defun |setViewportProcess| ()
   (setq |$ViewportProcessToWatch|
-     (stringimage (CDR
+     (princ-to-string (CDR
           (|processInteractive|         '(|key| (|%%| -2)) NIL) ))))
 
 (defun |waitForViewport| ()
diff --git a/src/interp/slam.lisp.pamphlet b/src/interp/slam.lisp.pamphlet
index fa18b41..df029fb 100644
--- a/src/interp/slam.lisp.pamphlet
+++ b/src/interp/slam.lisp.pamphlet
@@ -518,7 +518,7 @@
 ;  stateNam:= GENVAR()
 ;  stateVar:= GENSYM()
 ;  stateVal:= GENSYM()
-;  lastArg := INTERNL STRCONC('"#",STRINGIMAGE QSADD1 LENGTH argl)
+;  lastArg := INTERNL STRCONC('"#",princ-to-string QSADD1 LENGTH argl)
 ;  decomposeCode:=
 ;    [['LET,gIndex,['ELT,lastArg,0]],:[['LET,g,['ELT,lastArg,i]]
 ;      for g in gsList for i in 1..]]
@@ -670,7 +670,7 @@
              (setq |stateVal| (GENSYM))
              (setq |lastArg|
                       (INTERNL (STRCONC "#"
-                                        (STRINGIMAGE
+                                        (princ-to-string
                                          (QSADD1 (LENGTH |argl|))))))
              (setq |decomposeCode|
                       (CONS (CONS 'LET
diff --git a/src/interp/sys-pkg.lisp.pamphlet b/src/interp/sys-pkg.lisp.pamphlet
index 92d8b36..3b2ef9f 100644
--- a/src/interp/sys-pkg.lisp.pamphlet
+++ b/src/interp/sys-pkg.lisp.pamphlet
@@ -380,7 +380,7 @@ provides support for compiler code.
          VMLISP::$DIRECTORY-LIST VMLISP::LN VMLISP::|member|
          VMLISP::$LIBRARY-DIRECTORY-LIST
          VMLISP::QCSIZE VMLISP::QCADDDR VMLISP::RWRITE VMLISP::SUBLOAD
-         VMLISP::STRINGIMAGE VMLISP::$CLEAR VMLISP::|read-line|
+         VMLISP::$CLEAR VMLISP::|read-line|
          VMLISP::PROPLIST VMLISP::INTP VMLISP::OUTPUT VMLISP::CONSOLE
          VMLISP::QCDDDAR VMLISP::ADDOPTIONS VMLISP::$FILETYPE-TABLE
          VMLISP::QSMINUSP VMLISP::|assoc| VMLISP::SETSIZE VMLISP::QCDR
@@ -545,7 +545,7 @@ provides support for compiler code.
         |AlphaCset| |AlphaNumericCset|
 
         ;;; Character Strings
-        |FullString| |ToString| |StringImage| |String?|
+        |FullString| |ToString| |String?|
         |StringGetCode| |StringConcat|
         |StringLength| |StringFromTo| |StringFromToEnd| |StringFromLong|
         |StringGreater?| |StringPrefix?| |StringUpperCase| |StringLowerCase|
@@ -682,7 +682,6 @@ provides support for compiler code.
 (lisp:import '(vmlisp::setandfileq))
 (lisp:import '(vmlisp::sintp))
 (lisp:import '(vmlisp::size))
-(lisp:import '(vmlisp::stringimage))
 (lisp:import '(vmlisp::strpos))
 (lisp:import '(vmlisp::strposl))
 (lisp:import '(vmlisp::substring))
diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet
index 99d07ba..2854922 100644
--- a/src/interp/vmlisp.lisp.pamphlet
+++ b/src/interp/vmlisp.lisp.pamphlet
@@ -1097,9 +1097,7 @@ can be restored.
 ; 24.0 Printing
 
 \end{chunk}
-\section{The StringImage Fix}
-In GCL 2.5 there is a bug in the write-to-string function.
-It should respect *print-escape* but it does not. That is,
+
 \begin{verbatim}
 
 In GCL 2.4.1:
@@ -1111,12 +1109,8 @@ In GCL 2.5:
 (write-to-string '|a|) ==> "|a|"
 
 \end{verbatim}
-The form2LispString function uses stringimage and fails.
-The princ-to-string function assumes *print-escape* is nil
-and works properly.
 
 \begin{chunk}{*}
-(define-function 'stringimage #'princ-to-string)
 
 (defun |F,PRINT-ONE| (form &optional (stream *standard-output*))
  (declare (ignore stream))
@@ -2979,7 +2973,7 @@ LP  (COND ((NULL X)
 
 (defvar $GENNO 0)
  
-(DEFUN GENVAR () (INTERNL "$" (STRINGIMAGE (SETQ $GENNO (1+ $GENNO)))))
+(DEFUN GENVAR () (INTERNL "$" (princ-to-string (SETQ $GENNO (1+ $GENNO)))))
  
 (DEFUN IS_GENVAR (X)
   (AND (IDENTP X)
@@ -3651,9 +3645,9 @@ terminals and empty or at-end files.  In Common Lisp, we must assume record size
 (defmacro |assert| (x y) `(IF (NULL ,x) (|error| ,y)))
  
 (defun coerce-failure-msg (val mode)
-   (STRCONC (MAKE-REASONABLE (STRINGIMAGE val))
+   (STRCONC (MAKE-REASONABLE (princ-to-string val))
             " cannot be coerced to mode "
-            (STRINGIMAGE (|devaluate| mode))))
+            (princ-to-string (|devaluate| mode))))
  
 (defmacro |check-subtype| (pred submode val)
    `(|assert| ,pred (coerce-failure-msg ,val ,submode)))
@@ -4104,7 +4098,7 @@ terminals and empty or at-end files.  In Common Lisp, we must assume record size
           (t (COMP-NEWNAM (CAR X)) (COMP-NEWNAM (CDR X))))))
 
 (defun make-closedfn-name ()
-  (internl $FUNNAME "!" (STRINGIMAGE (LENGTH $CLOSEDFNS))))
+  (internl $FUNNAME "!" (princ-to-string (LENGTH $CLOSEDFNS))))
 
 (DEFUN COMP-TRAN (X)
   "SEXPR<FN. BODY> -> SEXPR"
@@ -4326,7 +4320,7 @@ terminals and empty or at-end files.  In Common Lisp, we must assume record size
                   (LENGTH2STR min)))))
  
 (DEFUN LENGTH2STR (X &aux XLEN)
-       (cond ( (= 1 (SETQ XLEN (LENGTH (SETQ X (STRINGIMAGE X))))) (STRCONC "0" X))
+       (cond ( (= 1 (SETQ XLEN (LENGTH (SETQ X (princ-to-string X))))) (STRCONC "0" X))
              ( (= 2 XLEN) X)
              ( (subseq x (- XLEN 2)))))
  
@@ -5340,12 +5334,12 @@ o  there is some code at the end of SPECEVAL BOOT that puts "up"
 (REPEAT (IN X '(
   |Polynomial| |UnivariatePoly| |SquareMatrix| |QuotientField|
   )) 
-(setf (get x '|status|) (internl (strconc "status" (stringimage x)))))
+(setf (get x '|status|) (internl (strconc "status" (princ-to-string x)))))
 
 (REPEAT (IN X '(
   |UnivariatePoly| |Matrix| |QuotientField| |Gaussian|
   ))
-(setf (get x '|dataCoerce|) (internl (strconc "coerce" (stringimage x)))))
+(setf (get x '|dataCoerce|) (internl (strconc "coerce" (princ-to-string x)))))
 
 ;; this property is checked for Integers to decide which subdomain to
 ;; choose at compile time.
@@ -5945,9 +5939,6 @@ o  there is some code at the end of SPECEVAL BOOT that puts "up"
 (defun |ToString| (ob)
   (string ob) )
 
-(defun |StringImage| (ob)
-  (format nil "~a" ob) )
-
 (defun |String?| (ob)
   (stringp ob) )
 
-- 
1.7.5.4

