Clarify meaning of optional argument to NAME->foo procedures.
authorChris Hanson <org/chris-hanson/cph>
Fri, 25 Feb 2000 20:24:19 +0000 (20:24 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 25 Feb 2000 20:24:19 +0000 (20:24 +0000)
v7/src/edwin/comman.scm
v7/src/edwin/modes.scm

index 937631bc9f1f23631e0cfc8e7eda03b9057b15ce..cd1375e3b69c2e686c06536d6fb0c294a2c456c9 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: comman.scm,v 1.82 2000/02/23 19:20:42 cph Exp $
+$Id: comman.scm,v 1.83 2000/02/25 20:24:15 cph Exp $
 
 Copyright (c) 1986, 1989-2000 Massachusetts Institute of Technology
 
@@ -69,23 +69,22 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 (define editor-commands
   (make-string-table 500))
 
-(define (name->command name #!optional error?)
+(define (name->command name #!optional if-undefined)
   (let ((name (canonicalize-name name)))
     (or (string-table-get editor-commands (symbol->string name))
-       (case (if (default-object? error?) 'INTERN error?)
+       (case (if (default-object? if-undefined) 'INTERN if-undefined)
          ((#F) #f)
+         ((ERROR) (error "Undefined command:" name))
          ((INTERN)
           (letrec ((command
                     (make-command
                      name
                      "undefined command"
                      '()
-                     (lambda ()
-                       (editor-error "Undefined command: "
-                                     (command-name-string command))))))
+                     (lambda () (editor-error "Undefined command:" name)))))
             command))
          (else
-          (error "Undefined command:" (command-name-string command)))))))
+          (error:bad-range-argument if-undefined 'NAME->COMMAND))))))
 
 (define (->command object)
   (if (command? object)
@@ -176,10 +175,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 (define editor-variables
   (make-string-table 50))
 
-(define (name->variable name)
+(define (name->variable name #!optional if-undefined)
   (let ((name (canonicalize-name name)))
     (or (string-table-get editor-variables (symbol->string name))
-       (make-variable name "" #f #f))))
+       (case (if (default-object? if-undefined) 'INTERN if-undefined)
+         ((#F) #f)
+         ((ERROR) (error "Undefined variable:" name))
+         ((INTERN) (make-variable name "" #f #f))
+         (else (error:bad-range-argument if-undefined 'NAME->VARIABLE))))))
 
 (define (->variable object)
   (if (variable? object)
index 6add5357373e087d7d1dfdd0eba5cb488ffb9854..7e1ea03fabf9235fb100d4392b414773072b8fc1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: modes.scm,v 1.31 2000/02/23 19:20:33 cph Exp $
+;;; $Id: modes.scm,v 1.32 2000/02/25 20:24:19 cph Exp $
 ;;;
 ;;; Copyright (c) 1986, 1989-2000 Massachusetts Institute of Technology
 ;;;
 (define editor-modes
   (make-string-table))
 
-(define (name->mode object #!optional error?)
+(define (name->mode object #!optional if-undefined)
   (let ((name (canonicalize-name object)))
     (let ((sname (symbol->string name)))
       (or (string-table-get editor-modes sname)
-         (case (if (default-object? error?) 'INTERN error?)
+         (case (if (default-object? if-undefined) 'INTERN if-undefined)
            ((#F) #f)
+           ((ERROR) (error "Undefined mode:" name))
            ((INTERN)
             (make-mode name #t sname #f ""
                        (lambda () (error "Undefined mode:" name))))
-           (else
-            (error "Undefined mode:" name)))))))
+           
+         (else
+          (error:bad-range-argument if-undefined 'NAME->MODE)))))))
 
 (define (->mode object)
   (if (mode? object)