From c236250a6a06eac292a8a3c2297b9f1bb7b24d74 Mon Sep 17 00:00:00 2001
From: Chris Hanson <org/chris-hanson/cph>
Date: Fri, 22 Oct 2004 04:48:13 +0000
Subject: [PATCH] Use new runtime procedure PATHNAME-MIME-TYPE.

---
 v7/src/edwin/sendmail.scm | 33 ++++++---------------------------
 1 file changed, 6 insertions(+), 27 deletions(-)

diff --git a/v7/src/edwin/sendmail.scm b/v7/src/edwin/sendmail.scm
index 934de8a27..1ebb178d6 100644
--- a/v7/src/edwin/sendmail.scm
+++ b/v7/src/edwin/sendmail.scm
@@ -1,9 +1,9 @@
 #| -*-Scheme-*-
 
-$Id: sendmail.scm,v 1.81 2003/02/14 18:28:13 cph Exp $
+$Id: sendmail.scm,v 1.82 2004/10/22 04:48:13 cph Exp $
 
 Copyright 1991,1992,1993,1994,1995,1996 Massachusetts Institute of Technology
-Copyright 1997,1998,2000,2001,2003 Massachusetts Institute of Technology
+Copyright 1997,1998,2000,2001,2003,2004 Massachusetts Institute of Technology
 
 This file is part of MIT/GNU Scheme.
 
@@ -313,7 +313,7 @@ is inserted."
     (let ((given-header?
 	   (lambda (name null-true?)
 	     (let ((header
-		    (list-search-positive headers
+		    (find-matching-item headers
 		      (lambda (header)
 			(string-ci=? (car header) name)))))
 	       (and header
@@ -1549,7 +1549,7 @@ Otherwise, the MIME type is determined from the file's suffix;
       (if prompt?
 	  (do-mime)
 	  (let ((entry
-		 (list-search-positive
+		 (find-matching-item
 		     (ref-variable file-type-to-mime-type buffer)
 		   (lambda (entry)
 		     (if type
@@ -1557,8 +1557,8 @@ Otherwise, the MIME type is determined from the file's suffix;
 			 (not (car entry)))))))
 	    (cond (entry
 		   (finish (cadr entry) (caddr entry)))
-		  ((search-mime-types-file pathname)
-		   => (lambda (ts) (finish (car ts) (cadr ts))))
+		  ((pathname-mime-type pathname)
+		   => (lambda (t.s) (finish (car t.s) (cdr t.s))))
 		  (else
 		   (let loop ()
 		     (case (prompt-for-char
@@ -1567,27 +1567,6 @@ Otherwise, the MIME type is determined from the file's suffix;
 		       ((#\b #\B) (finish 'APPLICATION 'OCTET-STREAM))
 		       ((#\m #\M) (do-mime))
 		       (else (editor-beep) (loop)))))))))))
-
-(define (search-mime-types-file pathname)
-  (let ((filename (file-namestring pathname)))
-    (call-with-input-file (system-library-pathname "edwin/etc/mime.types")
-      (lambda (port)
-	(let loop ()
-	  (let ((line (read-line port)))
-	    (and (not (eof-object? line))
-		 (let ((line (string-trim line)))
-		   (if (or (string-null? line)
-			   (char=? (string-ref line 0) #\#))
-		       (loop)
-		       (let ((tokens
-			      (burst-string line char-set:whitespace #t)))
-			 (if (there-exists? (cdr tokens)
-			       (lambda (suffix)
-				 (string-suffix-ci? (string-append "." suffix)
-						    filename)))
-			     (map intern
-				  (burst-string (car tokens) #\/ #f))
-			     (loop))))))))))))
 
 (define-variable file-type-to-mime-type
   "Specifies the MIME type/subtype for files with a given type.
-- 
2.25.1