scratch/edwin.ldr

262 lines
9.0 KiB
Scheme
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#| -*-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.
(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)
(warn "Remember to use ``dump-doc-strings''!")))))))