Create new entry point, prompt-for-string/prompt, that does standard
authorChris Hanson <org/chris-hanson/cph>
Fri, 17 May 1991 04:51:20 +0000 (04:51 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 17 May 1991 04:51:20 +0000 (04:51 +0000)
processing of string prompt, including insertion of default and
addition of trailing ": ".

v7/src/edwin/edwin.pkg
v7/src/edwin/prompt.scm

index 2b625e535afd24478ef97d87851fb7976e785b34..3aadaab81b2da234becebb984f3c9df50e288d80 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/edwin.pkg,v 1.38 1991/05/15 21:21:12 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/edwin.pkg,v 1.39 1991/05/17 04:51:20 cph Exp $
 
 Copyright (c) 1989-91 Massachusetts Institute of Technology
 
@@ -461,6 +461,7 @@ MIT in each case. |#
          prompt-for-string
          prompt-for-string-table-name
          prompt-for-string-table-value
+         prompt-for-string/prompt
          prompt-for-typein
          prompt-for-variable
          prompt-for-yes-or-no?
index c800025b40c6ffcde1383635de54bdc6a5464cc2..f1f2d1cdba7dc5dfd9622d5eb98fe36543394a31 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/prompt.scm,v 1.142 1991/05/17 00:29:38 cph Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/prompt.scm,v 1.143 1991/05/17 04:51:03 cph Exp $
 ;;;
 ;;;    Copyright (c) 1986, 1989-91 Massachusetts Institute of Technology
 ;;;
@@ -242,21 +242,10 @@ recursive minibuffers."
 
 (define (%prompt-for-string prompt mode)
   (prompt-for-typein
-   (cond ((and (pair? prompt)
-              (string? (car prompt))
-              (null? (cdr prompt)))
-         (car prompt))
-        ((string? prompt)
-         (string-append
-          prompt
-          (if (and *default-string* (eq? *default-type* 'VISIBLE-DEFAULT))
-              (string-append " (default is: \"" *default-string* "\")")
-              "")
-          ": "))
-        (else
-         (error:wrong-type-argument prompt
-                                    "prompt string"
-                                    'PROMPT-FOR-STRING)))
+   (prompt-for-string/prompt prompt
+                            (and (eq? *default-type* 'VISIBLE-DEFAULT)
+                                 *default-string*
+                                 (write-to-string *default-string*)))
    true
    (let ((thunk (typein-editor-thunk mode)))
      (if (eq? *default-type* 'INSERTED-DEFAULT)
@@ -266,6 +255,23 @@ recursive minibuffers."
             (insert-string string)
             ((thunk))))
         thunk))))
+
+(define (prompt-for-string/prompt prompt default-string)
+  (cond ((and (pair? prompt)
+             (string? (car prompt))
+             (null? (cdr prompt)))
+        (car prompt))
+       ((string? prompt)
+        (string-append
+         prompt
+         (if default-string
+             (string-append " (default is: " default-string ")")
+             "")
+         ": "))
+       (else
+        (error:wrong-type-argument prompt
+                                   "prompt string"
+                                   'PROMPT-FOR-STRING/PROMPT))))
 \f
 (define (prompt-for-number prompt default)
   (let ((string