From: Chris Hanson <org/chris-hanson/cph>
Date: Mon, 22 May 2000 13:25:38 +0000 (+0000)
Subject: Use explicit mechanism to link variables into the Edwin package, so
X-Git-Tag: 20090517-FFI~3755
X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=a3659b97ead4dc83c03bcea65c34ef8d58c200c1;p=mit-scheme.git

Use explicit mechanism to link variables into the Edwin package, so
that IMAIL can be reloaded.
---

diff --git a/v7/src/imail/imail.pkg b/v7/src/imail/imail.pkg
index f9daa87d0..93c000f37 100644
--- a/v7/src/imail/imail.pkg
+++ b/v7/src/imail/imail.pkg
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail.pkg,v 1.38 2000/05/21 00:03:03 cph Exp $
+;;; $Id: imail.pkg,v 1.39 2000/05/22 13:25:33 cph Exp $
 ;;;
 ;;; Copyright (c) 2000 Massachusetts Institute of Technology
 ;;;
@@ -212,6 +212,7 @@
 	 "imail-top"
 	 "imail-summary")
   (parent (edwin))
+  #|
   (export (edwin)
 	  edwin-command$imail
 	  edwin-command$imail-add-flag
@@ -269,4 +270,6 @@
 	  edwin-variable$imail-summary-mode-hook
 	  edwin-variable$imail-summary-pop-up-message
 	  edwin-variable$imail-summary-show-date
-	  edwin-variable$imail-summary-subject-width))
\ No newline at end of file
+	  edwin-variable$imail-summary-subject-width)
+  |#
+  )
\ No newline at end of file
diff --git a/v7/src/imail/load.scm b/v7/src/imail/load.scm
index 12a697023..38f2f8fbc 100644
--- a/v7/src/imail/load.scm
+++ b/v7/src/imail/load.scm
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: load.scm,v 1.5 2000/01/18 20:58:11 cph Exp $
+;;; $Id: load.scm,v 1.6 2000/05/22 13:25:38 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
@@ -26,4 +26,69 @@
 (with-working-directory-pathname (directory-pathname (current-load-pathname))
   (lambda ()
     (fluid-let ((*allow-package-redefinition?* #t))
-      (package/system-loader "imail" '() 'QUERY))))
\ No newline at end of file
+      (package/system-loader "imail" '() 'QUERY))))
+
+;; Kludge necessary to allow reloading of this package.
+(for-each (let ((from (->environment '(EDWIN IMAIL)))
+		(to (->environment '(EDWIN))))
+	    (lambda (name)
+	      (if (lexical-unreferenceable? to name)
+		  (environment-link-name to from name)
+		  (lexical-assignment to name (lexical-reference from name)))))
+	  '(edwin-command$imail
+	    edwin-command$imail-add-flag
+	    edwin-command$imail-continue
+	    edwin-command$imail-create-folder
+	    edwin-command$imail-delete-backward
+	    edwin-command$imail-delete-folder
+	    edwin-command$imail-delete-forward
+	    edwin-command$imail-delete-message
+	    edwin-command$imail-expunge
+	    edwin-command$imail-first-message
+	    edwin-command$imail-forward
+	    edwin-command$imail-get-new-mail
+	    edwin-command$imail-input
+	    edwin-command$imail-kill-flag
+	    edwin-command$imail-last-message
+	    edwin-command$imail-mail
+	    edwin-command$imail-next-flagged-message
+	    edwin-command$imail-next-message
+	    edwin-command$imail-next-undeleted-message
+	    edwin-command$imail-output
+	    edwin-command$imail-previous-flagged-message
+	    edwin-command$imail-previous-message
+	    edwin-command$imail-previous-undeleted-message
+	    edwin-command$imail-quit
+	    edwin-command$imail-reply
+	    edwin-command$imail-resend
+	    edwin-command$imail-save-folder
+	    edwin-command$imail-search
+	    edwin-command$imail-select-message
+	    edwin-command$imail-summary
+	    edwin-command$imail-summary-by-flags
+	    edwin-command$imail-summary-by-recipients
+	    edwin-command$imail-summary-quit
+	    edwin-command$imail-summary-select-message
+	    edwin-command$imail-toggle-header
+	    edwin-command$imail-undelete-backward
+	    edwin-command$imail-undelete-forward
+	    edwin-command$imail-undelete-previous-message
+	    edwin-mode$imail
+	    edwin-mode$imail-summary
+	    edwin-variable$imail-default-dont-reply-to-names
+	    edwin-variable$imail-default-imap-mailbox
+	    edwin-variable$imail-default-imap-server
+	    edwin-variable$imail-default-user-id
+	    edwin-variable$imail-delete-after-output
+	    edwin-variable$imail-dont-reply-to-names
+	    edwin-variable$imail-ignored-headers
+	    edwin-variable$imail-kept-headers
+	    edwin-variable$imail-message-filter
+	    edwin-variable$imail-mode-hook
+	    edwin-variable$imail-primary-folder
+	    edwin-variable$imail-reply-with-re
+	    edwin-variable$imail-summary-highlight-message
+	    edwin-variable$imail-summary-mode-hook
+	    edwin-variable$imail-summary-pop-up-message
+	    edwin-variable$imail-summary-show-date
+	    edwin-variable$imail-summary-subject-width))
\ No newline at end of file