;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/display.scm,v 1.4 1991/03/11 01:14:06 cph Exp $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/display.scm,v 1.5 1992/04/22 21:03:33 mhwu Exp $
;;;
;;; Copyright (c) 1989-91 Massachusetts Institute of Technology
;;;
(define (editor-display-types)
(list-transform-positive display-types display-type/available?))
-(define (name->display-type name)
+(define (name->display-type name fail?)
(let ((display-type
(list-search-positive display-types
(lambda (display-type)
(eq? name (display-type/name display-type))))))
- (if (not display-type)
+ (if (and (not display-type) fail?)
(error "Unknown display-type name" name))
display-type))
\ No newline at end of file
;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/editor.scm,v 1.220 1992/04/07 08:38:33 cph Exp $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/editor.scm,v 1.221 1992/04/22 21:03:05 mhwu Exp $
;;;
;;; Copyright (c) 1986, 1989-92 Massachusetts Institute of Technology
;;;
unspecific)
\f
(define create-editor-args
- (list false))
+ '())
(define (create-editor . args)
(let ((args
(initialize-inferior-repls!)
(set! edwin-editor
(make-editor "Edwin"
- (let ((name (car args)))
- (cond (name
- (name->display-type name))
- ((display-type/available? console-display-type)
- console-display-type)
- ((display-type/available? x-display-type)
- x-display-type)
- (else
- (error "can't find usable display type"))))
- (cdr args)))
+ (let ((name (and (not (null? args))
+ (car args))))
+ (if name
+ (name->display-type name true)
+ (let loop ((display-type-names '(CONSOLE X)))
+ (if (null? display-type-names)
+ (error "can't find usable display type")
+ (let ((next (name->display-type
+ (car display-type-names)
+ false)))
+ (if (and next
+ (display-type/available? next))
+ next
+ (loop (cdr display-type-names))))))))
+ (if (null? args)
+ '()
+ (cdr args))))
(set! edwin-initialization
(lambda ()
(set! edwin-initialization false)