[Urgent 21.0] Change EFS to allow XEmacs bootstrap with efs only

Jan Vroonhof (vroonhof@math.ethz.ch)
27 Oct 1998 01:56:02 +0100


These patches lessen the dependance of efs on xemacs-base thus
allowing a success full bootstrap from XEmacs core+efs only.

IMO although package updates can be done independently from XEmacs
core releases this holds to a much lesser extent for essential things
like EFS. 

1998-10-27  Jan Vroonhof  <vroonhof@math.ethz.ch>

	* efs.el: Require comint softly. Provide dummy if not
		available (bare Xemacs)	
	
	* efs-netrc.el: Do not require passwd. Use autoload. 

petteflet:/scratch/xemacs/xemacs-20/xemacs-packages> diff -u lisp/efs/efs-netrc.el.orig lisp/efs/efs-netrc.el
--- lisp/efs/efs-netrc.el.orig	Tue Oct 27 01:26:11 1998
+++ lisp/efs/efs-netrc.el	Tue Oct 27 00:20:51 1998
@@ -22,7 +22,10 @@
 (provide 'efs-netrc)
 (require 'efs-cu)
 (require 'efs-ovwrt)
-(require 'passwd)
+;; (require 'passwd)
+   (autoload 'read-passwd "passwd" "Read a password from the minibuffer." t)
+   (autoload 'passwd-kill-buffer "passwd")
+
 (require 'efs-fnh)
 
 (require 'custom)
petteflet:/scratch/xemacs/xemacs-20/xemacs-packages> diff -u lisp/efs/efs.el.orig lisp/efs/efs.el
--- lisp/efs/efs.el.orig	Tue Oct 27 01:26:24 1998
+++ lisp/efs/efs.el	Tue Oct 27 00:51:35 1998
@@ -258,7 +258,16 @@
 
 (require 'backquote)
 (require 'custom)
-(require 'comint)
+;; When bootstapping XEmacs, comint is not available
+(condition-case nil
+    (require 'comint)
+  (error 
+   (defun comint-mode ()
+     (fundamental-mode))
+   (defun comint-output-filter (process string)
+     (with-current-buffer (process-buffer process)
+       (goto-char (point-max))
+       (insert string)))))
 (require 'efs-defun)
 (require 'efs-netrc)
 (require 'efs-cu)
@@ -3250,6 +3259,7 @@
     ;; Old versions of comint don't have this.  It does no harm for
     ;; the newer ones.
     (set (make-local-variable 'comint-last-input-start) (make-marker))
+    (set (make-local-variable 'comint-last-input-end) (make-marker))
     (goto-char (point-max))
     ;; in case there is a running process
     (if proc (set-marker (process-mark proc) (point)))