New procedure MAKE-INITIALIZED-MAIL-BUFFER creates a mail buffer and
authorTaylor R. Campbell <net/mumble/campbell>
Fri, 15 Aug 2008 20:46:12 +0000 (20:46 +0000)
committerTaylor R. Campbell <net/mumble/campbell>
Fri, 15 Aug 2008 20:46:12 +0000 (20:46 +0000)
initializes it with a user-supplied initialization procedure, after it
is created or after confirmation to discard the contents of any
existing mail buffer.

v7/src/edwin/edwin.pkg
v7/src/edwin/sendmail.scm

index 8f7732b269215470157512af91dfa0a6396c66c5..39715ad77fcf0e90a7dfb804af081dc9f6cb7519 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: edwin.pkg,v 1.309 2008/08/11 22:48:50 riastradh Exp $
+$Id: edwin.pkg,v 1.310 2008/08/15 20:46:12 riastradh Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -1569,6 +1569,7 @@ USA.
          mail-position-on-cc-field
          mail-setup
          mailer-version-string
+         make-initialized-mail-buffer
          make-mail-buffer
          prepare-mail-buffer-for-sending
          random-mime-boundary-string
index 3ef0ff49e42250eead319ccd403e92c1640a250c..22cc78259c24ca2f4915c5766b1142a72ad07f8a 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: sendmail.scm,v 1.98 2008/08/11 22:48:50 riastradh Exp $
+$Id: sendmail.scm,v 1.99 2008/08/15 20:46:12 riastradh Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -258,6 +258,13 @@ is inserted."
 
 (define (make-mail-buffer headers reply-buffer #!optional
                          selector handle-previous buffer-name mode)
+  (make-initialized-mail-buffer headers reply-buffer
+                               (lambda (buffer) buffer unspecific)
+                               selector handle-previous buffer-name mode))
+\f
+(define (make-initialized-mail-buffer headers reply-buffer initializer
+                                     #!optional selector handle-previous
+                                     buffer-name mode)
   (let ((selector (if (default-object? selector) #f selector))
        (handle-previous
         (if (default-object? handle-previous)
@@ -277,6 +284,7 @@ is inserted."
                                              (default-homedir-pathname))
               (setup-buffer-auto-save! buffer)
               (mail-setup buffer headers reply-buffer mode)
+              (initializer buffer)
               (if (and select? selector) (selector buffer))
               buffer))))
       (cond ((not buffer)