429 lines
13 KiB
Scheme
429 lines
13 KiB
Scheme
#| -*-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.
|
||
|
||
|#
|
||
|
||
;;;; Autoload Definitions
|
||
|
||
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'TECHINFO-MODE
|
||
'("techinfo" (EDWIN)))
|
||
|
||
(define-autoload-major-mode 'techinfo 'fundamental "TechInfo" 'TECHINFO-MODE
|
||
"Mode for accessing the TechInfo database.")
|
||
|
||
(define-autoload-command 'techinfo 'TECHINFO-MODE
|
||
"Enter TechInfo mode.")
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'TELNET-MODE
|
||
'("telnet" (EDWIN)))
|
||
|
||
(define-autoload-major-mode 'telnet 'comint "Telnet" 'TELNET-MODE
|
||
"Major mode for interacting with the Telnet program.")
|
||
|
||
(define-autoload-command 'telnet 'TELNET-MODE
|
||
"Telnet to remote host.")
|
||
|
||
(define-variable telnet-mode-hook
|
||
"An event distributor that is invoked when entering Telnet mode."
|
||
(make-event-distributor))
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'MIDAS-MODE
|
||
'("midas" (EDWIN)))
|
||
|
||
(define-autoload-major-mode 'midas 'fundamental "Midas" 'MIDAS-MODE
|
||
"Major mode for editing assembly code.")
|
||
|
||
(define-autoload-command 'midas-mode 'MIDAS-MODE
|
||
"Enter Midas mode.")
|
||
|
||
(define-variable midas-mode-abbrev-table
|
||
"Mode-specific abbrev table for assembly code.")
|
||
(define-abbrev-table 'midas-mode-abbrev-table '())
|
||
|
||
(define-variable midas-mode-hook
|
||
"An event distributor that is invoked when entering Midas mode."
|
||
(make-event-distributor))
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'PASCAL-MODE
|
||
'("pasmod" (EDWIN)))
|
||
|
||
(define-autoload-major-mode 'pascal 'fundamental "Pascal" 'PASCAL-MODE
|
||
"Major mode specialized for editing Pascal code.")
|
||
|
||
(define-autoload-command 'pascal-mode 'PASCAL-MODE
|
||
"Enter Pascal mode.")
|
||
|
||
(define-variable pascal-mode-abbrev-table
|
||
"Mode-specific abbrev table for Pascal code.")
|
||
(define-abbrev-table 'pascal-mode-abbrev-table '())
|
||
|
||
(define-variable pascal-mode-hook
|
||
"An event distributor that is invoked when entering Pascal mode."
|
||
(make-event-distributor))
|
||
|
||
(define-variable pascal-shift-increment
|
||
"Indentation increment for Pascal Shift commands."
|
||
2)
|
||
|
||
(define-variable pascal-indentation-keywords
|
||
"These keywords cause the lines below them to be indented to the right.
|
||
This must be a regular expression, or #F to disable the option."
|
||
false)
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'TEXINFO-MODE
|
||
'("tximod" (EDWIN)))
|
||
|
||
(define-autoload-major-mode 'texinfo 'text "Texinfo" 'TEXINFO-MODE
|
||
"Major mode for editing Texinfo files.")
|
||
|
||
(define-autoload-command 'texinfo-mode 'TEXINFO-MODE
|
||
"Make the current mode be Texinfo mode.")
|
||
|
||
(define-variable texinfo-mode-abbrev-table
|
||
"Mode-specific abbrev table for Texinfo.")
|
||
(define-abbrev-table 'texinfo-mode-abbrev-table '())
|
||
|
||
(define-variable texinfo-mode-hook
|
||
"An event distributor that is invoked when entering Texinfo mode."
|
||
(make-event-distributor))
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'manual
|
||
'("manual" (EDWIN)))
|
||
|
||
(define-autoload-command 'manual-entry 'MANUAL
|
||
"Display UNIX man page.")
|
||
|
||
(define-autoload-command 'clean-manual-entry 'MANUAL
|
||
"Clean the unix manual entry in the current buffer.
|
||
The current buffer should contain a formatted manual entry.")
|
||
|
||
(define-variable manual-entry-reuse-buffer?
|
||
"If true, MANUAL-ENTRY uses buffer *Manual-Entry* for all entries.
|
||
Otherwise, a new buffer is created for each topic."
|
||
false
|
||
boolean?)
|
||
|
||
(define-variable manual-command
|
||
"A string containing the manual page formatting command.
|
||
Section (if any) and topic strings are appended (with space separators)
|
||
and the resulting string is provided to a shell running in a subprocess."
|
||
false
|
||
string-or-false?)
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'print
|
||
'("print" (EDWIN)))
|
||
|
||
(define-variable lpr-procedure
|
||
"Procedure that spools some text to the printer, or #F for the default.
|
||
Procedure is called with four arguments: a region to be printed, a flag
|
||
indicating that the text should be printed with page headers, a title string
|
||
to appear in the header lines and on the title page, and the buffer in which
|
||
the text was originally stored (for editor variable references). If this
|
||
variable's value is #F, the text is printed using LPR-COMMAND."
|
||
false
|
||
(lambda (object) (or (not object) (procedure? object))))
|
||
|
||
(define-variable lpr-command
|
||
"Shell command for printing a file"
|
||
"lpr"
|
||
string?)
|
||
|
||
(define-variable lpr-switches
|
||
"List of strings to pass as extra switch args to lpr when it is invoked."
|
||
'()
|
||
list-of-strings?)
|
||
|
||
(define lpr-prompt-for-name?
|
||
;; If true, lpr commands prompt for a name to appear on the title page.
|
||
false)
|
||
|
||
(define lpr-print-not-special?
|
||
;; If true, the print-* commands are just like the lpr-* commands.
|
||
false)
|
||
|
||
(define-autoload-command 'lpr-buffer 'PRINT
|
||
"Print buffer contents with Unix command `lpr'.")
|
||
|
||
(define-autoload-command 'print-buffer 'PRINT
|
||
"Print buffer contents as with Unix command `lpr -p'.")
|
||
|
||
(define-autoload-command 'lpr-region 'PRINT
|
||
"Print region contents as with Unix command `lpr'.")
|
||
|
||
(define-autoload-command 'print-region 'PRINT
|
||
"Print region contents as with Unix command `lpr -p'.")
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'SORT
|
||
'("sort" (EDWIN)))
|
||
|
||
(define-autoload-command 'sort-lines 'SORT
|
||
"Sort lines by their text.")
|
||
|
||
(define-autoload-command 'sort-pages 'SORT
|
||
"Sort pages by their text.")
|
||
|
||
(define-autoload-command 'sort-paragraphs 'SORT
|
||
"Sort paragraphs by their text.")
|
||
|
||
(define-autoload-command 'sort-fields 'SORT
|
||
"Sort lines by the text of a field.")
|
||
|
||
(define-autoload-command 'sort-numeric-fields 'SORT
|
||
"Sort lines by the numeric value of a field.")
|
||
|
||
(define-autoload-command 'sort-columns 'SORT
|
||
"Sort lines by the text in a range of columns.")
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'STEPPER
|
||
'("eystep" (EDWIN STEPPER)))
|
||
|
||
(define-autoload-command 'step-expression 'STEPPER
|
||
"Single-step an expression.")
|
||
|
||
(define-autoload-command 'step-last-sexp 'STEPPER
|
||
"Single-step the expression preceding point.")
|
||
|
||
(define-autoload-command 'step-defun 'STEPPER
|
||
"Single-step the definition that the point is in or before.")
|
||
|
||
(define-library 'PAREDIT
|
||
'("paredit" (EDWIN PAREDIT)))
|
||
|
||
(define-autoload-minor-mode 'paredit "Paredit" 'PAREDIT
|
||
"Minor mode for pseudo-structurally editing Lisp code.")
|
||
|
||
(define-autoload-command 'paredit-mode 'PAREDIT
|
||
"Toggle pseudo-structural editing of Lisp code.")
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'NEWS-READER
|
||
'("nntp" (EDWIN NNTP))
|
||
'("snr" (EDWIN NEWS-READER)))
|
||
|
||
(define-autoload-command 'rnews 'NEWS-READER
|
||
"Start a News reader.
|
||
Normally uses the server specified by the variable news-server,
|
||
but with a prefix arg prompts for the server name.
|
||
Only one News reader may be open per server; if a previous News reader
|
||
is open the that server, its buffer is selected.")
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'VERILOG-MODE
|
||
'("verilog" (EDWIN VERILOG)))
|
||
|
||
(define-autoload-major-mode 'verilog 'fundamental "Verilog" 'VERILOG-MODE
|
||
"Major mode specialized for editing Verilog code.")
|
||
|
||
(define-autoload-command 'verilog-mode 'VERILOG-MODE
|
||
"Enter Verilog mode.")
|
||
|
||
(define-variable verilog-mode-abbrev-table
|
||
"Mode-specific abbrev table for Verilog code.")
|
||
(define-abbrev-table 'verilog-mode-abbrev-table '())
|
||
|
||
(define-variable verilog-mode-hook
|
||
"An event distributor that is invoked when entering Verilog mode."
|
||
(make-event-distributor))
|
||
|
||
(define-variable verilog-continued-statement-offset
|
||
"Extra indent for lines not starting new statements."
|
||
2
|
||
exact-nonnegative-integer?)
|
||
|
||
(define-variable verilog-continued-header-offset
|
||
"Extra indent for continuation lines of structure headers."
|
||
4
|
||
exact-nonnegative-integer?)
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'VHDL-MODE
|
||
'("vhdl" (EDWIN VHDL)))
|
||
|
||
(define-autoload-major-mode 'vhdl 'fundamental "VHDL" 'VHDL-MODE
|
||
"Major mode specialized for editing VHDL code.")
|
||
|
||
(define-autoload-command 'vhdl-mode 'VHDL-MODE
|
||
"Enter VHDL mode.")
|
||
|
||
(define-variable vhdl-mode-abbrev-table
|
||
"Mode-specific abbrev table for VHDL code.")
|
||
(define-abbrev-table 'vhdl-mode-abbrev-table '())
|
||
|
||
(define-variable vhdl-mode-hook
|
||
"An event distributor that is invoked when entering VHDL mode."
|
||
(make-event-distributor))
|
||
|
||
(define-variable vhdl-continued-header-offset
|
||
"Extra indent for continuation lines of structure headers."
|
||
4
|
||
exact-nonnegative-integer?)
|
||
|
||
(define-variable vhdl-continued-statement-offset
|
||
"Extra indent for lines not starting new statements."
|
||
2
|
||
exact-nonnegative-integer?)
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'WEBSTER
|
||
'("webster" (EDWIN)))
|
||
|
||
(define-autoload-major-mode 'webster 'read-only "Webster" 'WEBSTER
|
||
"Major mode for interacting with webster server.")
|
||
|
||
(define-autoload-command 'webster 'WEBSTER
|
||
"Look up a word in Webster's dictionary.")
|
||
|
||
(define-autoload-command 'webster-define 'WEBSTER
|
||
"Look up a word in Webster's dictionary.")
|
||
|
||
(define-autoload-command 'webster-endings 'WEBSTER
|
||
"Look up possible endings for a word in Webster's dictionary.")
|
||
|
||
(define-autoload-command 'webster-spellings 'WEBSTER
|
||
"Look up possible correct spellings for a word in Webster's dictionary.")
|
||
|
||
(define-variable webster-server
|
||
"Host name of a webster server, specified as a string."
|
||
#f
|
||
string-or-false?)
|
||
|
||
(define-variable webster-port
|
||
"TCP port of webster server on webster-server, specified as an integer.
|
||
This is usually 103 or 2627."
|
||
103
|
||
exact-nonnegative-integer?)
|
||
|
||
(define-variable webster-mode-hook
|
||
"Hook to be run by webster-mode, after everything else."
|
||
(make-event-distributor))
|
||
|
||
(define-variable webster-buffer-name
|
||
"The name to use for webster interaction buffer."
|
||
"*webster*"
|
||
string?)
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'PASSWORD-EDIT
|
||
'("pwedit" (EDWIN PASSWORD-EDIT))
|
||
'("pwparse" (EDWIN PASSWORD-EDIT)))
|
||
|
||
(define-autoload-command 'view-password-file 'PASSWORD-EDIT
|
||
"Read in a password file and show it in password-view mode.
|
||
Reads the file specified in the variable password-file.
|
||
If password-file is #f, or if prefix arg supplied, prompts for a filename.")
|
||
|
||
(define-variable password-file
|
||
"Name of file containing passwords, or #F meaning prompt for name.
|
||
If this specifies a relative pathname, it is relative to the home directory.
|
||
See \\[view-password-file]."
|
||
#f
|
||
(lambda (object)
|
||
(or (not object)
|
||
(string? object)
|
||
(pathname? object))))
|
||
|
||
(define-autoload-major-mode 'password-view 'read-only "Password-View"
|
||
'PASSWORD-EDIT
|
||
"Major mode specialized for viewing password files.")
|
||
|
||
(define-autoload-command 'toggle-pw-form 'PASSWORD-EDIT
|
||
"Toggle the body of the password form under point.")
|
||
|
||
(define-autoload-command 'mouse-toggle-pw-form 'PASSWORD-EDIT
|
||
"Toggle the body of the password form under mouse.")
|
||
|
||
;;; ****************
|
||
|
||
(define-library 'DEBIAN-CHANGELOG
|
||
'("debian-changelog" (EDWIN DEBIAN-CHANGELOG)))
|
||
|
||
(define-autoload-major-mode 'debian-changelog 'text "Debian changelog"
|
||
'DEBIAN-CHANGELOG
|
||
"Major mode for editing Debian-style change logs.")
|
||
|
||
(define-autoload-command 'debian-changelog-mode 'DEBIAN-CHANGELOG
|
||
"Enter Debian changelog mode.")
|
||
|
||
(define-variable add-log-full-name
|
||
"Full name of user, for inclusion in ChangeLog headers.
|
||
This defaults to the value `mail-full-name'."
|
||
#f
|
||
string-or-false?)
|
||
|
||
(define-variable add-log-mailing-address
|
||
"Electronic mail address of user, for inclusion in ChangeLog headers.
|
||
This defaults to the value of `user-mail-address'."
|
||
#f
|
||
string-or-false?)
|
||
|
||
(define-variable debian-changelog-mode-hook
|
||
"An event distributor that is invoked when entering Debian changelog mode."
|
||
(make-event-distributor))
|
||
|
||
;;;; DOS-specific commands
|
||
|
||
(if (memq microcode-id/operating-system '(DOS))
|
||
(begin
|
||
(define-library 'DOSCOM
|
||
'("doscom" (EDWIN DOSJOB)))
|
||
(define-autoload-command 'shell-command 'DOSCOM
|
||
"Execute string COMMAND in inferior shell; display output, if any.")
|
||
(define-autoload-command 'shell-command-on-region 'DOSCOM
|
||
"Execute string COMMAND in inferior shell with region as input.")
|
||
(define-autoload-procedure 'shell-command '(EDWIN DOSJOB)
|
||
'DOSCOM)
|
||
|
||
(define-library 'DOSSHELL
|
||
'("dosshell" (EDWIN DOSJOB)))
|
||
(define-autoload-major-mode 'pseudo-shell 'fundamental "Pseudo Shell"
|
||
'DOSSHELL
|
||
"Major mode for executing DOS commands.")
|
||
(define-autoload-command 'shell 'DOSSHELL
|
||
"Run an inferior pseudo shell, with I/O through buffer *shell*.")))
|