Artifact baf48d3635b44250dec6618fea7c31a793c0777e509c182931cd143b8f3820f4:
- File
psl-1983/3-1/nmode/nmode-vax.sl
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 5443) [annotate] [blame] [check-ins using] [more...]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % NMODE-VAX.SL Vax-Unix specific loading and modifications for NMODE. % % Author: William F. Galway % University of Utah % Date: 28 March 1983 % Revised: 5 April 1983 % % 7-Apr-83 Nancy Kendzierski % Added knowledge about hp and 2641 terminal types to table. % 5-Apr-83 Alan Snyder % Revised to be more like the 9836 code: add load-nmode stuff and set-terminal % stuff. % % This file contains functions to load NMODE and make some final changes to % customize things for Vax-Unix. Some modules for NMODE are unimplemented on % the Vax, thus not loaded for now; these are commented out with a "%*". % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (compiletime (load useful common fast-strings)) % External variables used here: (fluid '(nmode-file-list nmode-source-prefix nmode-binary-prefix *usermode *redefmsg doc-text-file reference-text-file nmode-terminal )) % Global variables defined here: (fluid '( % Association list of (Unix-TERM-name . NMODE-terminal-name). The % Unix-TERM-name is a string, the NMODE-terminal-name is an identifier. term-name-table )) (setf term-name-table '( % ("t10" . teleray) % ("aaa" . ambassador) ("hp" . hp2648a) ("2621" . hp2648a) ("vt52" . vt52x))) (if (or (unboundp 'nmode-source-prefix) (null nmode-source-prefix)) (setf nmode-source-prefix "$pn/")) (if (or (unboundp 'nmode-binary-prefix) (null nmode-binary-prefix)) (setf nmode-binary-prefix "$pnb/")) (if (funboundp 'pre-nmode-main) (copyd 'pre-nmode-main 'main)) (de load-nmode () % Load NMODE. % Any system-dependent customization is done here so that it can % be overrided by the user before nmode is initialized. (nmode-load-required-modules) (nmode-load-all) % Set up "pointers" to online documentation. (setf doc-text-file "$pn/ONLINE-DOCS/frames.lpt") (setf reference-text-file "$pn/ONLINE-DOCS/costly.sl") (let ((*usermode nil) (*redefmsg nil)) (copyd 'actualize-file-name 'vax-actualize-file-name) )) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Terminal Selection Functions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (de nmode-set-terminal () % Needs better error handling? (let* ( % Get terminal name from the system. (system-term-type (GetEnv "TERM")) % Map to NMODE name. (table-entry (assoc system-term-type term-name-table)) (terminal-type (cond (table-entry (cdr table-entry)) (T (StdError (BldMsg "%r is unsupported terminal type" system-term-type)) )))) (ensure-terminal-type terminal-type))) % These functions defined for compatibility: (de hp2648a () (ensure-terminal-type 'hp2648a)) (de vt52x () (ensure-terminal-type 'vt52x)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % System-Dependent Stuff: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (de vax-actualize-file-name (file-name) (cond % If the file-name starts with a character that's "special" to % Unix, just pass it on through. ((MemQ (string-fetch file-name 0) '(#// #/~ #/$)) file-name) (T % Otherwise, tack the current working directory onto the front % of the name. (string-concat (pwd) file-name)))) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Stuff for Building NMODE: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (de nmode-load-required-modules () (load objects) (load common) (load useful) (load strings) (load pathnames) (load pathnamex) (load ring-buffer) (load extended-char) %* (load directory) (load input-stream) (load output-stream) %* (load processor-time) (load wait) (load vector-fix) (load nmode-parsing) (load windows) (load rawio) ) (de nmode-fixup-name (s) s) (de nmode-load-all () (for (in s nmode-file-list) (do (nmode-load s)) )) (de nmode-load (s) (nmode-faslin nmode-binary-prefix s) ) (de nmode-faslin (directory-name module-name) (setf module-name (nmode-fixup-name module-name)) (setf module-name (string-concat module-name ".b")) (let ((object-name (string-concat directory-name module-name))) (if (filep object-name) (faslin object-name) (continuableerror 99 (bldmsg "Unable to FASLIN %w" object-name) (list 'faslin object-name) )))) (setf nmode-file-list (list "browser" "browser-support" "buffer" "buffer-io" "buffer-position" "buffer-window" "buffers" "case-commands" "command-input" "commands" "defun-commands" "dispatch" "extended-input" "fileio" "incr" "indent-commands" "kill-commands" "lisp-commands" "lisp-indenting" "lisp-interface" "lisp-parser" "m-x" "m-xcmd" "modes" "mode-defs" "move-commands" "nmode-break" "nmode-init" "prompting" "query-replace" "reader" "rec" "screen-layout" "search" "softkeys" "structure-functions" "terminal-input" "text-buffer" "text-commands" "window" "window-label" % These must be last: "autofill" "browser-browser" "buffer-browser" %* "dired" "doc" ))