2021-04-26 07:53:20 -04:00
|
|
|
|
#| -*-Scheme-*-
|
|
|
|
|
|
|
|
|
|
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
|
|
|
|
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
|
|
|
|
2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
|
|
|
|
|
2017, 2018, 2019, 2020 Massachusetts Institute of Technology
|
|
|
|
|
|
|
|
|
|
This file is part of MIT/GNU Scheme.
|
|
|
|
|
|
|
|
|
|
MIT/GNU Scheme is free software; you can redistribute it and/or modify
|
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
|
the Free Software Foundation; either version 2 of the License, or (at
|
|
|
|
|
your option) any later version.
|
|
|
|
|
|
|
|
|
|
MIT/GNU Scheme is distributed in the hope that it will be useful, but
|
|
|
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
|
General Public License for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
|
along with MIT/GNU Scheme; if not, write to the Free Software
|
|
|
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
|
|
|
|
|
USA.
|
|
|
|
|
|
|
|
|
|
|#
|
|
|
|
|
|
|
|
|
|
;;; program to load package contents
|
|
|
|
|
;;; **** This program (unlike most .ldr files) is not generated by a program.
|
|
|
|
|
|
2021-04-26 07:57:47 -04:00
|
|
|
|
|
2021-04-26 07:53:20 -04:00
|
|
|
|
|
|
|
|
|
(lambda (package/loader key-alist)
|
|
|
|
|
(let ((to-avoid-list (if (file-exists? "edwin.bad")
|
|
|
|
|
(fasload "edwin.bad")
|
|
|
|
|
'()))
|
|
|
|
|
(bad-environment-tag '*bad-environment*))
|
|
|
|
|
(let ((->environment
|
|
|
|
|
(lambda (spec)
|
|
|
|
|
(if (name->package spec)
|
|
|
|
|
(->environment spec)
|
|
|
|
|
(cons bad-environment-tag spec)))))
|
|
|
|
|
(define (load file env)
|
|
|
|
|
(cond ((string-member? file to-avoid-list)
|
|
|
|
|
(newline)
|
|
|
|
|
(write-string "* skipping ")
|
|
|
|
|
(write-string file)
|
|
|
|
|
false)
|
|
|
|
|
((and (pair? env)
|
|
|
|
|
(eq? (car env) bad-environment-tag))
|
|
|
|
|
(error "Attempting to load into non-existent package"
|
|
|
|
|
file (cdr env)))
|
|
|
|
|
(else (package/loader file env)
|
|
|
|
|
true)))
|
|
|
|
|
(define (load-set files env)
|
|
|
|
|
(if (null? files)
|
|
|
|
|
true
|
|
|
|
|
(let ((val (load (car files) env)))
|
|
|
|
|
(boolean-and val (load-set (cdr files) env)))))
|
|
|
|
|
(define (load-set-and-initialize! files env)
|
|
|
|
|
(and (load-set files env)
|
|
|
|
|
((access initialize-package! env))))
|
|
|
|
|
(define (lookup var)
|
|
|
|
|
(cond ((assq var key-alist) => cdr)
|
|
|
|
|
(else false)))
|
|
|
|
|
(define (load-case var alist env)
|
|
|
|
|
(for-each (lambda (key/file)
|
|
|
|
|
(and (eq? (lookup var) (car key/file))
|
|
|
|
|
(load (cdr key/file) env)))
|
|
|
|
|
alist))
|
|
|
|
|
(define string-member? (member-procedure string=?))
|
|
|
|
|
(define (boolean-and a b) (and a b))
|
|
|
|
|
|
|
|
|
|
(if (memq (lookup 'os-type) '(unix nt))
|
|
|
|
|
(begin
|
|
|
|
|
(load-option 'subprocess)
|
|
|
|
|
(load-option 'synchronous-subprocess)))
|
|
|
|
|
(load-option 'rb-tree)
|
|
|
|
|
(load-option 'hash-table)
|
|
|
|
|
(load-option 'regular-expression)
|
|
|
|
|
(load-option 'mime-codec)
|
|
|
|
|
|
|
|
|
|
(let ((environment (->environment '(edwin))))
|
|
|
|
|
(load "utils" environment)
|
|
|
|
|
(load "adapters" (->environment '(edwin adapters)))
|
|
|
|
|
(load "string" (->environment '(edwin string)))
|
|
|
|
|
(load "nvector" environment)
|
|
|
|
|
(load "ring" environment)
|
|
|
|
|
(load "strtab" environment)
|
|
|
|
|
(load "strpad" environment)
|
|
|
|
|
(load "macros" (->environment '(edwin macros)))
|
|
|
|
|
(load "class" environment)
|
|
|
|
|
(load "clscon" (->environment '(edwin class-constructor)))
|
|
|
|
|
(load "clsmac" (->environment '(edwin class-macros)))
|
|
|
|
|
(load "xform"
|
|
|
|
|
(->environment
|
|
|
|
|
'(edwin class-macros transform-instance-variables)))
|
|
|
|
|
(load "paths" environment)
|
|
|
|
|
(load "struct" environment)
|
|
|
|
|
(load "grpops" (->environment '(edwin group-operations)))
|
|
|
|
|
(load "txtprp" (->environment '(edwin text-properties)))
|
|
|
|
|
(load "regops" environment)
|
|
|
|
|
(load "motion" environment)
|
|
|
|
|
(load "search" environment)
|
|
|
|
|
(load "image" environment)
|
|
|
|
|
(load "comman" environment)
|
|
|
|
|
(load "docstr" environment)
|
|
|
|
|
(if (not (memq (lookup 'os-type) '(dos nt)))
|
|
|
|
|
(set! (access *external-doc-strings?* environment) #f))
|
|
|
|
|
(load "comtab" (->environment '(edwin comtab)))
|
|
|
|
|
(load "modes" environment)
|
|
|
|
|
(load "buffer" environment)
|
|
|
|
|
(load "bufset" environment)
|
|
|
|
|
(load "display" (->environment '(edwin display-type)))
|
|
|
|
|
(load "screen" (->environment '(edwin screen)))
|
|
|
|
|
|
|
|
|
|
(let ((environment (->environment '(edwin window))))
|
|
|
|
|
(load "window" environment)
|
|
|
|
|
(load "utlwin" environment)
|
|
|
|
|
(load "bufwin" environment)
|
|
|
|
|
(load "bufwfs" environment)
|
|
|
|
|
(load "bufwiu" environment)
|
|
|
|
|
(load "bufwmc" environment)
|
|
|
|
|
(load "comwin" (->environment '(edwin window combination)))
|
|
|
|
|
(load "modwin" environment)
|
|
|
|
|
(load "buffrm" environment)
|
|
|
|
|
(load "edtfrm" environment))
|
|
|
|
|
|
|
|
|
|
(load "calias" environment)
|
|
|
|
|
(load "edtstr" environment)
|
|
|
|
|
(load "editor" environment)
|
|
|
|
|
(load "curren" environment)
|
|
|
|
|
;; "undo" must be loaded after "editor":
|
|
|
|
|
(load "undo" (->environment '(edwin undo)))
|
|
|
|
|
(load "simple" environment)
|
|
|
|
|
(load "debuge" environment)
|
|
|
|
|
(load "modlin" (->environment '(edwin modeline-string)))
|
|
|
|
|
(load "input" (->environment '(edwin keyboard)))
|
|
|
|
|
(load "prompt" (->environment '(edwin prompt)))
|
|
|
|
|
(load "comred" (->environment '(edwin command-reader)))
|
|
|
|
|
(load "bufinp" (->environment '(edwin buffer-input-port)))
|
|
|
|
|
(load "bufout" (->environment '(edwin buffer-output-port)))
|
|
|
|
|
(load "winout" (->environment '(edwin window-output-port)))
|
|
|
|
|
(load "things" environment)
|
|
|
|
|
(load "tparse" environment)
|
|
|
|
|
(load "syntax" environment)
|
|
|
|
|
(load "regexp" (->environment '(edwin regular-expression)))
|
|
|
|
|
(load "comatch" environment)
|
|
|
|
|
(load "keyparse" (->environment '(edwin keyparser)))
|
|
|
|
|
(load "linden" (->environment '(edwin lisp-indentation)))
|
|
|
|
|
|
|
|
|
|
(case (lookup 'os-type)
|
|
|
|
|
((unix)
|
|
|
|
|
(load "unix" environment))
|
|
|
|
|
((dos nt)
|
|
|
|
|
(load "dos" environment)
|
|
|
|
|
(load "dosfile" environment)))
|
|
|
|
|
|
|
|
|
|
(load "fileio" environment)
|
|
|
|
|
|
|
|
|
|
(let ((env (->environment '(edwin screen console-screen))))
|
|
|
|
|
(load-set-and-initialize! '("termcap" "tterm") env)
|
|
|
|
|
(if (memq (lookup 'os-type) '(dos nt))
|
|
|
|
|
(begin
|
|
|
|
|
(load "ansi" env)
|
|
|
|
|
(if (load "bios" env)
|
|
|
|
|
((access bios-initialize-package! env))))))
|
|
|
|
|
|
|
|
|
|
(case (lookup 'os-type)
|
|
|
|
|
((nt)
|
|
|
|
|
(load-set-and-initialize! '("win32")
|
|
|
|
|
(->environment '(edwin screen win32)))
|
|
|
|
|
(load-set-and-initialize! '("key-w32")
|
|
|
|
|
(->environment '(edwin win32-keys))))
|
|
|
|
|
((unix)
|
|
|
|
|
(load "xterm" (->environment '(edwin screen x-screen)))))
|
|
|
|
|
|
|
|
|
|
(load-case 'os-type
|
|
|
|
|
'((unix . "process")
|
|
|
|
|
(dos . "dosproc")
|
|
|
|
|
(nt . "process"))
|
|
|
|
|
(->environment '(edwin process)))
|
|
|
|
|
|
|
|
|
|
(load "mousecom" environment)
|
|
|
|
|
(case (lookup 'os-type)
|
|
|
|
|
((nt) (load "win32com" (->environment '(edwin win-commands)))))
|
|
|
|
|
;; debug depends on button1-down defined in mousecom
|
|
|
|
|
(load "debug" (->environment '(edwin debugger)))
|
|
|
|
|
|
|
|
|
|
(let ((env (->environment '(edwin dired))))
|
|
|
|
|
(load "dired" env)
|
|
|
|
|
(case (lookup 'os-type)
|
|
|
|
|
((unix) (load "dirunx" env))
|
|
|
|
|
((nt) (load "dirw32" env))))
|
|
|
|
|
|
|
|
|
|
(load "abbrev" environment)
|
|
|
|
|
(load "argred" (->environment '(edwin command-argument)))
|
|
|
|
|
(load "autold" environment)
|
|
|
|
|
(load "autosv" environment)
|
|
|
|
|
(load "basic" environment)
|
|
|
|
|
(load "bufcom" environment)
|
|
|
|
|
(load "bufmnu" (->environment '(edwin buffer-menu)))
|
|
|
|
|
(load "c-mode" environment)
|
|
|
|
|
(load "javamode" environment)
|
|
|
|
|
(load "cinden" (->environment '(edwin c-indentation)))
|
|
|
|
|
(load "comhst" environment)
|
|
|
|
|
(load "comint" environment)
|
|
|
|
|
(load "compile" environment)
|
|
|
|
|
(load "dabbrev" environment)
|
|
|
|
|
(load "evlcom" environment)
|
|
|
|
|
(load "filcom" environment)
|
|
|
|
|
(load "fill" environment)
|
|
|
|
|
(load "hlpcom" environment)
|
|
|
|
|
(load "info" (->environment '(edwin info)))
|
|
|
|
|
(load "intmod" (->environment '(edwin inferior-repl)))
|
|
|
|
|
(load "keymap" (->environment '(edwin command-summary)))
|
|
|
|
|
(load "kilcom" environment)
|
|
|
|
|
(load "kmacro" environment)
|
|
|
|
|
(load "lincom" environment)
|
|
|
|
|
(load "lspcom" environment)
|
|
|
|
|
(load "malias" (->environment '(edwin mail-alias)))
|
|
|
|
|
(load "motcom" environment)
|
|
|
|
|
(load "occur" (->environment '(edwin occurrence)))
|
|
|
|
|
(load "outline" environment)
|
|
|
|
|
;;(load "rcs" (->environment '(edwin rcs)))
|
|
|
|
|
(load "reccom" (->environment '(edwin rectangle)))
|
|
|
|
|
(load "regcom" (->environment '(edwin register-command)))
|
|
|
|
|
(load "replaz" environment)
|
|
|
|
|
(load "rfc822" (->environment '(edwin rfc822)))
|
|
|
|
|
(load "rmail" (->environment '(edwin rmail)))
|
|
|
|
|
(load "rmailsum" (->environment '(edwin rmail)))
|
|
|
|
|
(load "rmailsrt" (->environment '(edwin rmail)))
|
|
|
|
|
(load "schmod" environment)
|
|
|
|
|
(load "sendmail" (->environment '(edwin sendmail)))
|
|
|
|
|
(load "sercom" environment)
|
|
|
|
|
(load "iserch" (->environment '(edwin incremental-search)))
|
|
|
|
|
(load "shell" environment)
|
|
|
|
|
(load "tagutl" (->environment '(edwin tags)))
|
|
|
|
|
(load "texcom" environment)
|
|
|
|
|
(load "htmlmode" environment)
|
|
|
|
|
(load "diff" (->environment '(edwin diff)))
|
|
|
|
|
(load "rcsparse" (->environment '(edwin rcs-parse)))
|
|
|
|
|
(load "vc" (->environment '(edwin vc)))
|
|
|
|
|
(load "vc-rcs" (->environment '(edwin vc)))
|
|
|
|
|
(load "vc-cvs" (->environment '(edwin vc)))
|
|
|
|
|
(load "vc-svn" (->environment '(edwin vc)))
|
|
|
|
|
(load "vc-bzr" (->environment '(edwin vc)))
|
|
|
|
|
(load "vc-git" (->environment '(edwin vc)))
|
|
|
|
|
(load "wincom" environment)
|
|
|
|
|
(load "scrcom" environment)
|
|
|
|
|
(load "modefs" environment)
|
|
|
|
|
(load "loadef" environment)
|
|
|
|
|
#|
|
|
|
|
|
(load-set-and-initialize! '("bochser" "bochsmod")
|
|
|
|
|
(->environment '(edwin bochser)))
|
|
|
|
|
|#
|
|
|
|
|
(load "notify" environment)
|
|
|
|
|
(load "world-monitor" environment)
|
|
|
|
|
(if (access *external-doc-strings?* environment)
|
|
|
|
|
(begin
|
|
|
|
|
(set! (access *external-doc-strings?* environment) false)
|
2021-04-26 07:57:47 -04:00
|
|
|
|
(warn "Remember to use ``dump-doc-strings''!")))))))
|