a few rarely used files remain auto-loading now.
;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/c-mode.scm,v 1.44 1990/10/03 04:54:21 cph Rel $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/c-mode.scm,v 1.45 1991/03/15 23:37:29 cph Exp $
;;;
-;;; Copyright (c) 1986, 1989, 1990 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 1989-91 Massachusetts Institute of Technology
;;;
;;; This material was developed by the Scheme project at the
;;; Massachusetts Institute of Technology, Department of
(define-command c-mode
"Enter C mode."
()
- (lambda ()
- (set-current-major-mode! (ref-mode-object c))))
+ (lambda () (set-current-major-mode! (ref-mode-object c))))
(define-major-mode c fundamental "C"
"Major mode for editing C code.
The characters { } ; : correct indentation when typed.
Variables controlling indentation style:
- C Auto Newline
+ c-auto-newline
Non-false means automatically newline before and after braces,
and after colons and semicolons, inserted in C code.
- C Indent Level
+ c-indent-level
Indentation of C statements within surrounding block.
The surrounding block's indentation is the indentation
of the line on which the open-brace appears.
- C Continued Statement Offset
+ c-continued-statement-offset
Extra indentation given to a substatement, such as the
then-clause of an if or body of a while.
- C Brace Offset
+ c-brace-offset
Extra indentation for line if it starts with an open brace.
- C Brace Imaginary Offset
+ c-brace-imaginary-offset
An open brace following other text is treated as if it were
this far to the right of the start of its line.
- C Argdecl Indent
+ c-argdecl-indent
Indentation level of declarations of C function arguments.
- C Label Offset
+ c-label-offset
Extra indentation for line that is a label, or case or default."
(local-set-variable! syntax-table c-mode:syntax-table)
(local-set-variable! comment-end " */")
(local-set-variable! comment-column 32)
(event-distributor/invoke! (ref-variable c-mode-hook)))
-\f
+
+(define-variable c-mode-hook
+ "An event distributor that is invoked when entering C mode."
+ (make-event-distributor))
+
(define-key 'c #\linefeed 'reindent-then-newline-and-indent)
(define-key 'c #\{ 'electric-c-brace)
(define-key 'c #\} 'electric-c-brace)
(modify-syntax-entry! c-mode:syntax-table #\< ".")
(modify-syntax-entry! c-mode:syntax-table #\> ".")
(modify-syntax-entry! c-mode:syntax-table #\' "\"")
-
+\f
(define (c-mode:comment-locate start)
(and (re-search-forward "/\\*[ \t]*" start (line-end start 0))
(cons (re-match-start 0) (re-match-end 0))))
0
(max (1+ (mark-column (horizontal-space-start start)))
(ref-variable comment-column))))
-\f
+
+(define-variable c-auto-newline
+ "Non-false means automatically newline before and after braces,
+and after colons and semicolons, inserted in C code."
+ false)
+
(define-command electric-c-brace
"Insert character and correct line's indentation."
"P"
;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/cinden.scm,v 1.3 1989/04/28 22:48:19 cph Rel $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/cinden.scm,v 1.4 1991/03/15 23:37:44 cph Exp $
;;;
;;; Copyright (c) 1986, 1989 Massachusetts Institute of Technology
;;;
(declare (usual-integrations))
\f
+(define-variable c-indent-level
+ "Indentation of C statements with respect to containing block."
+ 2)
+
+(define-variable c-brace-offset
+ "Extra indentation for braces, compared with other text in same context."
+ 0)
+
+(define-variable c-brace-imaginary-offset
+ "Imagined indentation of a C open brace that actually follows a statement."
+ 0)
+
+(define-variable c-argdecl-indent
+ "Indentation level of declarations of C function arguments."
+ 5)
+
+(define-variable c-label-offset
+ "Offset of C label lines and case statements relative to usual indentation."
+ -2)
+
+(define-variable c-continued-statement-offset
+ "Extra indent for lines not starting new statements."
+ 2)
+
(define (c-indent-line start)
(maybe-change-indentation (c-indent-line:indentation start) start))
;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/dired.scm,v 1.104 1989/08/07 08:44:35 cph Rel $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/dired.scm,v 1.105 1991/03/15 23:38:39 cph Exp $
;;;
-;;; Copyright (c) 1986, 1989 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 1989-91 Massachusetts Institute of Technology
;;;
;;; This material was developed by the Scheme project at the
;;; Massachusetts Institute of Technology, Department of
(declare (usual-integrations))
\f
+(define-major-mode dired fundamental "Dired"
+ "Major mode for editing a list of files.
+Each line describes a file in the directory.
+F -- visit the file on the current line.
+D -- mark that file to be killed.
+U -- remove all marks from the current line.
+Rubout -- back up a line and remove marks.
+Space -- move down one line.
+X -- kill marked files.
+Q -- quit, killing marked files.
+ This is like \\[dired-do-deletions] followed by \\[kill-buffer].
+C-] -- abort Dired; this is like \\[kill-buffer] on this buffer."
+ (local-set-variable! case-fold-search true))
+
+(define-key 'dired #\f 'dired-find-file)
+(define-key 'dired #\o 'dired-find-file-other-window)
+(define-key 'dired #\g 'dired-revert)
+(define-key 'dired #\d 'dired-flag-file-deleted)
+(define-key 'dired #\c-d 'dired-flag-file-deleted)
+(define-key 'dired #\u 'dired-unflag)
+(define-key 'dired #\rubout 'dired-backup-unflag)
+(define-key 'dired #\space 'dired-next-line)
+(define-key 'dired #\c-n 'dired-next-line)
+(define-key 'dired #\c-p 'dired-previous-line)
+(define-key 'dired #\x 'dired-do-deletions)
+(define-key 'dired #\q 'dired-quit)
+(define-key 'dired #\c-\] 'dired-abort)
+(define-key 'dired #\? 'dired-summary)
+
(define-command dired
"\"Edit\" directory DIRNAME--delete, rename, print, etc. some files in it.
Dired displays a list of files in DIRNAME.
"DDired in other window (directory)"
(lambda (directory)
(select-buffer-other-window (make-dired-buffer directory))))
-
+\f
(define (make-dired-buffer directory)
- (let ((pathname (->pathname directory)))
- (let ((buffer (get-dired-buffer pathname)))
+ (let ((directory (->pathname directory)))
+ (let ((buffer (get-dired-buffer directory)))
(set-buffer-major-mode! buffer (ref-mode-object dired))
- (set-buffer-truename! buffer pathname)
+ (set-buffer-default-directory! buffer
+ (pathname-directory-path directory))
(buffer-put! buffer 'REVERT-BUFFER-METHOD revert-dired-buffer)
- (fill-dired-buffer! buffer)
+ (buffer-put! buffer 'DIRED-DIRECTORY directory)
+ (fill-dired-buffer! buffer directory)
buffer)))
-(define (get-dired-buffer pathname)
+(define (get-dired-buffer directory)
(or (list-search-positive (buffer-list)
(lambda (buffer)
- (and (eq? (ref-mode-object dired) (buffer-major-mode buffer))
- (pathname=? pathname (buffer-truename buffer)))))
- (new-buffer (pathname->buffer-name pathname))))
+ (let ((directory* (buffer-get buffer 'DIRED-DIRECTORY)))
+ (and directory*
+ (pathname=? directory* directory)))))
+ (new-buffer (pathname->buffer-name directory))))
+
+(define (dired-buffer-directory buffer)
+ (or (buffer-get buffer 'DIRED-DIRECTORY)
+ (let ((directory (buffer-default-directory buffer)))
+ (buffer-put! buffer 'DIRED-DIRECTORY directory)
+ directory)))
(define (revert-dired-buffer buffer dont-use-auto-save? dont-confirm?)
dont-use-auto-save? dont-confirm? ;ignore
- (fill-dired-buffer! buffer))
+ (fill-dired-buffer! buffer (dired-buffer-directory buffer)))
-(define (fill-dired-buffer! buffer)
+(define (fill-dired-buffer! buffer pathname)
(set-buffer-writeable! buffer)
(region-delete! (buffer-region buffer))
- (let ((pathname (buffer-truename buffer)))
- (temporary-message
- (string-append "Reading directory "
- (pathname->string pathname)
- "..."))
- (let ((pathnames (read&sort-directory pathname)))
- (let ((lines (map os/make-dired-line pathnames))
- (point (buffer-point buffer)))
- (append-message "done")
- (for-each (lambda (line pathname)
- (if (not line)
- (begin
- (insert-string "can't find file: " point)
- (insert-string (pathname-name-string pathname) point)
- (insert-newline point))))
- lines
- pathnames)
- (insert-string "Directory " point)
- (insert-string (pathname->string pathname) point)
- (insert-newlines 2 point)
- (buffer-put! buffer 'DIRED-HEADER-END (mark-right-inserting point))
- (for-each (lambda (line)
- (if line
- (begin
- (insert-string line point)
- (insert-newline point))))
- lines))))
+ (temporary-message
+ (string-append "Reading directory "
+ (pathname->string pathname)
+ "..."))
+ (let ((pathnames (read&sort-directory pathname)))
+ (let ((lines (map os/make-dired-line pathnames))
+ (point (buffer-point buffer)))
+ (append-message "done")
+ (for-each (lambda (line pathname)
+ (if (not line)
+ (begin
+ (insert-string "can't find file: " point)
+ (insert-string (pathname-name-string pathname) point)
+ (insert-newline point))))
+ lines
+ pathnames)
+ (insert-string "Directory " point)
+ (insert-string (pathname->string pathname) point)
+ (insert-newlines 2 point)
+ (buffer-put! buffer 'DIRED-HEADER-END (mark-right-inserting point))
+ (for-each (lambda (line)
+ (if line
+ (begin
+ (insert-string line point)
+ (insert-newline point))))
+ lines)))
(buffer-not-modified! buffer)
(set-buffer-read-only! buffer)
(add-buffer-initialization! buffer
(lambda ()
(set-dired-point! (buffer-get (current-buffer) 'DIRED-HEADER-END)))))
\f
-(define-major-mode dired fundamental "Dired"
- "Major mode for editing a list of files.
-Each line describes a file in the directory.
-F -- visit the file on the current line.
-D -- mark that file to be killed.
-U -- remove all marks from the current line.
-Rubout -- back up a line and remove marks.
-Space -- move down one line.
-X -- kill marked files.
-Q -- quit, killing marked files.
- This is like \\[dired-do-deletions] followed by \\[kill-buffer].
-C-] -- abort Dired; this is like \\[kill-buffer] on this buffer."
- (local-set-variable! case-fold-search true))
-
-(define-key 'dired #\f 'dired-find-file)
-(define-key 'dired #\o 'dired-find-file-other-window)
-(define-key 'dired #\g 'dired-revert)
-(define-key 'dired #\d 'dired-flag-file-deleted)
-(define-key 'dired #\c-d 'dired-flag-file-deleted)
-(define-key 'dired #\u 'dired-unflag)
-(define-key 'dired #\rubout 'dired-backup-unflag)
-(define-key 'dired #\space 'dired-next-line)
-(define-key 'dired #\c-n 'dired-next-line)
-(define-key 'dired #\c-p 'dired-previous-line)
-(define-key 'dired #\x 'dired-do-deletions)
-(define-key 'dired #\q 'dired-quit)
-(define-key 'dired #\c-\] 'dired-abort)
-(define-key 'dired #\? 'dired-summary)
-\f
(define-command dired-find-file
"Read the current file into a buffer."
()
(define (dired-pathname lstart)
(merge-pathnames
- (pathname-directory-path (buffer-truename (current-buffer)))
+ (pathname-directory-path (dired-buffer-directory (current-buffer)))
(string->pathname (region->string (os/dired-filename-region lstart)))))
(define (dired-mark char n)
\f
;;;; List Directory
+(define-variable list-directory-unpacked
+ "If not false, \\[list-directory] puts one file on each line.
+Normally it packs many onto a line.
+This has no effect if \\[list-directory] is invoked with an argument."
+ false)
+
(define-command list-directory
"Generate a directory listing."
"DList directory\nP"
;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/info.scm,v 1.96 1991/02/15 18:13:44 cph Exp $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/info.scm,v 1.97 1991/03/15 23:39:31 cph Exp $
;;;
;;; Copyright (c) 1986, 1989-91 Massachusetts Institute of Technology
;;;
(define info-buffer-name "*info*")
+(define-variable info-enable-edit
+ "If true, the \\[info-edit] command in Info can edit the current node."
+ false)
+
+(define-variable info-enable-active-nodes
+ "If true, allows Info to execute Scheme code associated with nodes.
+The Scheme code is executed when the node is selected."
+ true)
+
+(define-variable info-directory
+ "If not false, default directory for Info documentation files.
+Otherwise the standard directory is used."
+ false)
+
+(define-variable info-previous-search
+ "Default search string for Info \\[info-search] command to search for."
+ false)
+
(define-variable info-history
"List of info nodes user has visited.
Each element of list is a vector #(FILENAME NODENAME BUFFERPOS)."
(if (let ((directory (pathname-directory pathname)))
(and (pair? directory)
(eq? (car directory) 'SELF)))
- (pathname-directory-path
- (current-default-pathname))
+ (buffer-default-directory (current-buffer))
(let ((info-directory
(ref-variable info-directory)))
(if info-directory
;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/loadef.scm,v 1.7 1990/10/03 04:55:26 cph Rel $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/loadef.scm,v 1.8 1991/03/15 23:39:59 cph Exp $
;;;
-;;; Copyright (c) 1986, 1989, 1990 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 1989-91 Massachusetts Institute of Technology
;;;
;;; This material was developed by the Scheme project at the
;;; Massachusetts Institute of Technology, Department of
(declare (usual-integrations))
\f
-;;;; Various Libraries
-
-(define-library 'INFO
- '("info" (EDWIN INFO)))
-
-(define-variable info-enable-edit
- "If true, the \\[info-edit] command in Info can edit the current node."
- false)
-
-(define-variable info-enable-active-nodes
- "If true, allows Info to execute Scheme code associated with nodes.
-The Scheme code is executed when the node is selected."
- true)
-
-(define-variable info-directory
- "If not false, default directory for Info documentation files.
-Otherwise the standard directory is used."
- false)
-
-(define-variable info-previous-search
- "Default search string for Info \\[info-search] command to search for."
- false)
-
-(define-autoload-command 'info 'INFO
- "Create a buffer for Info, the documentation browser program.")
-
-(define-library 'DIRED
- '("dired" (EDWIN DIRED)))
-
-(define-variable list-directory-unpacked
- "If not false, \\[list-directory] puts one file on each line.
-Normally it packs many onto a line.
-This has no effect if \\[list-directory] is invoked with an argument."
- false)
-
-(define-autoload-command 'dired 'DIRED
- "Edit a directory. You type the directory name.")
-
-(define-autoload-command 'dired-other-window 'DIRED
- "Edit a directory in another window. You type the directory name.")
-
-(define-autoload-command 'list-directory 'DIRED
- "Generate a directory listing.")
-
-(define-autoload-procedure 'make-dired-buffer '(EDWIN DIRED) 'DIRED)
-\f
-(define-library 'RECTANGLE-COMMANDS
- '("reccom" (EDWIN RECTANGLE)))
-
-(define-autoload-command 'kill-rectangle 'RECTANGLE-COMMANDS
- "Delete rectangle with corners at point and mark; save as last killed one.")
-
-(define-autoload-command 'delete-rectangle 'RECTANGLE-COMMANDS
- "Delete (don't save) text in rectangle with point and mark as corners.
-The same range of columns is deleted in each line
-starting with the line where the region begins
-and ending with the line where the region ends.")
-
-(define-autoload-command 'open-rectangle 'RECTANGLE-COMMANDS
- "Blank out rectangle with corners at point and mark, shifting text right.
-The text previously in the region is not overwritten by the blanks,
-but instead winds up to the right of the rectangle.")
-
-(define-autoload-command 'clear-rectangle 'RECTANGLE-COMMANDS
- "Blank out rectangle with corners at point and mark.
-The text previously in the region is overwritten by the blanks.")
-
-(define-autoload-command 'yank-rectangle 'RECTANGLE-COMMANDS
- "Yank the last killed rectangle with upper left corner at point.")
-
-(define-autoload-procedure 'delete-rectangle '(EDWIN RECTANGLE)
- 'RECTANGLE-COMMANDS)
-
-(define-autoload-procedure 'yank-rectangle '(EDWIN RECTANGLE)
- 'RECTANGLE-COMMANDS)
-
-(define-library 'COMMAND-SUMMARY
- '("keymap" (EDWIN COMMAND-SUMMARY)))
-
-(define-autoload-command 'make-command-summary 'COMMAND-SUMMARY
- "Make a summary of current key bindings in the buffer *Summary*.
-Previous contents of that buffer are killed first.")
-
-(define-autoload-command 'describe-bindings 'COMMAND-SUMMARY
- "Show a list of all defined keys, and their definitions.
-The list is put in a buffer, which is displayed.")
-\f
-;;;; Tags Package
-
-(define-library 'TAGS
- '("tags" (EDWIN TAGS)))
-
-(define-variable tags-table-pathname
- "Pathname of current tags table."
- false)
-
-(define-autoload-command 'visit-tags-table 'TAGS
- "Tell tags commands to use a given tags table file.")
-
-(define-autoload-command 'find-tag 'TAGS
- "Find tag (in current tags table) whose name contains a given string.
- Selects the buffer that the tag is contained in
-and puts point at its definition.
- With argument, searches for the next tag in the tags table that matches
-the string used in the previous Find Tag.")
-
-(define-autoload-command 'find-tag-other-window 'TAGS
- "Like \\[find-tag], but selects buffer in another window.")
-
-(define-autoload-command 'tags-search 'TAGS
- "Search through all files listed in tag table for a given string.
-Stops when a match is found.
-To continue searching for next match, use command \\[tags-loop-continue].")
-
-(define-autoload-command 're-tags-search 'TAGS
- "Search through all files listed in tag table for a given regexp.
-Stops when a match is found.
-To continue searching for next match, use command \\[tags-loop-continue].")
-
-(define-autoload-command 'tags-query-replace 'TAGS
- "Query replace a given string with another one though all files listed
-in tag table. If you exit (C-G or Altmode), you can resume the query
-replace with the command \\[tags-loop-continue].")
-
-(define-autoload-command 'tags-loop-continue 'TAGS
- "Continue last \\[tags-search] or \\[tags-query-replace] command.")
-\f
;;;; Major Mode Libraries
(define-library 'MIDAS-MODE
(define-variable texinfo-mode-hook
"An event distributor that is invoked when entering Texinfo mode."
- (make-event-distributor))
-\f
-(define-library 'C-MODE
- '("c-mode" (EDWIN))
- '("cinden" (EDWIN C-INDENTATION)))
-
-(define-autoload-major-mode 'c 'fundamental "C" 'C-MODE
- "Major mode for editing C code.
-Expression and list commands understand all C brackets.
-Tab indents for C code.
-Comments are delimited with /* ... */.
-Paragraphs are separated by blank lines only.
-Delete converts tabs to spaces as it moves back.
-The characters { } ; : correct indentation when typed.
-
-Variables controlling indentation style:
- c-auto-newline
- Non-false means automatically newline before and after braces,
- and after colons and semicolons, inserted in C code.
- c-indent-level
- Indentation of C statements within surrounding block.
- The surrounding block's indentation is the indentation
- of the line on which the open-brace appears.
- c-continued-statement-offset
- Extra indentation given to a substatement, such as the
- then-clause of an if or body of a while.
- c-brace-offset
- Extra indentation for line if it starts with an open brace.
- c-brace-imaginary-offset
- An open brace following other text is treated as if it were
- this far to the right of the start of its line.
- c-argdecl-indent
- Indentation level of declarations of C function arguments.
- c-label-offset
- Extra indentation for line that is a label, or case or default.")
-
-(define-autoload-command 'c-mode 'C-MODE
- "Enter C mode.")
-
-(define-variable c-mode-hook
- "An event distributor that is invoked when entering C mode."
- (make-event-distributor))
-
-(define-variable c-indent-level
- "Indentation of C statements with respect to containing block."
- 2)
-
-(define-variable c-brace-offset
- "Extra indentation for braces, compared with other text in same context."
- 0)
-
-(define-variable c-brace-imaginary-offset
- "Imagined indentation of a C open brace that actually follows a statement."
- 0)
-
-(define-variable c-argdecl-indent
- "Indentation level of declarations of C function arguments."
- 5)
-
-(define-variable c-label-offset
- "Offset of C label lines and case statements relative to usual indentation."
- -2)
-
-(define-variable c-continued-statement-offset
- "Extra indent for lines not starting new statements."
- 2)
-
-(define-variable c-auto-newline
- "Non-false means automatically newline before and after braces,
-and after colons and semicolons, inserted in C code."
- false)
\ No newline at end of file
+ (make-event-distributor))
\ No newline at end of file
;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/tagutl.scm,v 1.35 1990/10/06 00:00:30 cph Rel $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/tagutl.scm,v 1.36 1991/03/15 23:40:26 cph Exp $
;;;
-;;; Copyright (c) 1986, 1989, 1990 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 1989-91 Massachusetts Institute of Technology
;;;
;;; This material was developed by the Scheme project at the
;;; Massachusetts Institute of Technology, Department of
(declare (usual-integrations))
\f
+(define-variable tags-table-pathname
+ "Pathname of current tags table."
+ false)
+
(define-command visit-tags-table
"Tell tags commands to use tag table file FILE.
FILE should be the name of a file created with the `etags' program.