From 4b08541a5ee0a1648ac522a35854f70b5d892749 Mon Sep 17 00:00:00 2001 From: Matt Birkholz Date: Wed, 19 Jan 2011 18:05:04 -0700 Subject: [PATCH] Fixed headers. Updated copyright terms. --- src/elisp/Buffers.scm | 32 +++++++-- src/elisp/Macros.scm | 27 ++++++-- src/elisp/Misc.scm | 29 ++++++-- src/elisp/Reader.scm | 27 ++++++-- src/elisp/Subrs.scm | 38 ++++++++--- src/elisp/Symbols.scm | 102 ++++++++++++++++------------ src/elisp/abbrev.scm | 30 +++++++-- src/elisp/alloc.scm | 26 +++++-- src/elisp/buffer.scm | 32 ++++++--- src/elisp/bytecode.scm | 26 +++++-- src/elisp/callint.scm | 150 +++++++++++++++++++++++------------------ src/elisp/callproc.scm | 26 +++++-- src/elisp/cmds.scm | 26 +++++-- src/elisp/data.scm | 26 +++++-- src/elisp/dired.scm | 26 +++++-- src/elisp/editfns.scm | 26 +++++-- src/elisp/elisp.ldr | 4 -- src/elisp/elisp.pkg | 21 +++++- src/elisp/elisp.sf | 21 +++++- src/elisp/eval.scm | 32 ++++++--- src/elisp/fileio.scm | 28 ++++++-- src/elisp/fns.scm | 26 +++++-- src/elisp/indent.scm | 26 +++++-- src/elisp/keymap.scm | 30 +++++++-- src/elisp/lisp.scm | 26 +++++-- src/elisp/lread.scm | 26 +++++-- src/elisp/make.scm | 4 -- src/elisp/marker.scm | 26 +++++-- src/elisp/minibuf.scm | 29 ++++++-- src/elisp/print.scm | 26 +++++-- src/elisp/process.scm | 29 ++++++-- src/elisp/search.scm | 26 +++++-- src/elisp/syntax.scm | 26 +++++-- src/elisp/window.scm | 26 +++++-- 34 files changed, 801 insertions(+), 280 deletions(-) diff --git a/src/elisp/Buffers.scm b/src/elisp/Buffers.scm index 2b5d6a28c..f4a59af0b 100644 --- a/src/elisp/Buffers.scm +++ b/src/elisp/Buffers.scm @@ -1,14 +1,32 @@ -#| -*- Mode: Scheme; Package: (elisp buffers) -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Keeps its own notion of the "current" buffer because el:set-buffer must -change it without affecting the mapping of buffers to windows. -%call-interactively will set and clear it. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Emacs buffer ops +;;; package: (elisp buffers) + +;;; These procedures use their own notion of the "current" buffer. +;;; El:set-buffer must change it without affecting the mapping of +;;; buffers to windows. %call-interactively will set and clear it. (define elisp-current-buffer false) diff --git a/src/elisp/Macros.scm b/src/elisp/Macros.scm index eb2e769e9..eb570c33a 100644 --- a/src/elisp/Macros.scm +++ b/src/elisp/Macros.scm @@ -1,13 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp syntax-extensions) -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Special syntax to help define GNUemacs functions and variables, and -deal with Emacs' implementation of optional arguments. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Scheme Syntax Extensions +;;; package: (elisp syntax-extensions) (define elisp-syntax-table (make-syntax-table edwin-syntax-table)) diff --git a/src/elisp/Misc.scm b/src/elisp/Misc.scm index f08a158b5..689563af3 100644 --- a/src/elisp/Misc.scm +++ b/src/elisp/Misc.scm @@ -1,14 +1,31 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Random things from Emacs Lisp files that haven't been implemented yet. +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. -Some convenient Edwin commands too. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Emacs buffer ops +;;; package: (elisp) + +;;; Random things from Emacs Lisp files that haven't been implemented yet. +;;; Some convenient Edwin commands too. ;;;; keyboard.c diff --git a/src/elisp/Reader.scm b/src/elisp/Reader.scm index d206bd9ee..a87cef20d 100644 --- a/src/elisp/Reader.scm +++ b/src/elisp/Reader.scm @@ -1,12 +1,29 @@ -#| -*- Mode: Scheme; Package: (elisp reader) -*- +#| -*-Scheme-*- -$Id: $ +Copyright (c) 1993, 2011 Matthew Birkholz +This file is part of MIT/GNU Scheme. -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +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. -Implements parse-elisp-object, which takes a port. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Emacs buffer ops +;;; package: (elisp reader) + +;;; Implements parse-elisp-object, which takes a port. (define char-set/whitespace (ascii-range->char-set #o000 #o041)) diff --git a/src/elisp/Subrs.scm b/src/elisp/Subrs.scm index 92c23966a..fb420248c 100644 --- a/src/elisp/Subrs.scm +++ b/src/elisp/Subrs.scm @@ -1,17 +1,35 @@ -#| -*- Mode: Scheme; Package: (elisp subrs) -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Subrs are simple structures carrying an Emacs primitive's docstring, -interactive spec (if any), the Scheme procedure implementing the -primitive, and a note to the Emacs Lisp interpreter about whether -arguments should be evaluated or not. The structure is wrapped in an -apply hook to make the Subr callable from Edwin Scheme as well as Emacs -Lisp. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Emacs primitives +;;; package: (elisp subrs) + +;;; Subrs are simple structures carrying an Emacs primitive's +;;; docstring, interactive spec (if any), the Scheme procedure +;;; implementing the primitive, and a note to the Emacs Lisp +;;; interpreter about whether arguments should be evaluated or not. +;;; The structure is wrapped in an apply hook to make the Subr +;;; callable from Edwin Scheme as well as Emacs Lisp. (define-structure (%subr (conc-name %subr/) diff --git a/src/elisp/Symbols.scm b/src/elisp/Symbols.scm index 9b5a5d9eb..c23b6bb9c 100644 --- a/src/elisp/Symbols.scm +++ b/src/elisp/Symbols.scm @@ -1,45 +1,63 @@ -#| -*- Mode: Scheme; Package: (elisp symbols) -*- - -$Id: $ - -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved - -Emacs Lisp symbols are implemented by an object that holds the -dynamically-scoped value, the function, and the property list of the -symbol. Operations on the object include getting and setting its -value, getting and setting its default value, etc. An Emacs Lisp -symbol usually has one global value; operations on it just access -or modify a Scheme variable. An Emacs Lisp symbol can also take on -buffer-specific values. When this happens, an Edwin editor variable -with the same name is found or created; the operations of the Emacs -Lisp symbol access or modify the buffer-specific value, default value, -and other attributes of the Edwin editor variable. - -The operations of the Emacs Lisp symbol are implemented by procedures -assigned to the fields of the symbol object. The global value, or -editor variable, is assigned to Scheme variables closed over by these -procedures. - -An Emacs Lisp symbol can also be given arbitrary procedures that -implement the operations for getting and setting the symbol's value. -These procedures can be used to get a value from an Edwin data -structure and convert it to the type expected by Emacs. - -An Emacs Lisp symbol will find or create a similarly named Edwin -editor variable when buffer-specific behavior is required by a call to -`el:make-variable-buffer-local' or `el:make-local-variable'. An Edwin -editor variable is also used when the symbol is declared to be a -variable or constant by `el:defvar' or `el:defconst'. This allows the -Emacs variable to be examined and set using the usual Edwin commands. -Once an Emacs Lisp symbol arranges to use an Edwin variable, it always -uses that variable. Even if the symbol is made unassigned (by -`el:makunbound'), the Edwin variable continues to be used. Any -buffer-local values of the variable are removed, and it is made no -longer buffer-local. Thus, once it appears in the list of Edwin's -editor variables, its value is kept consistent with the value of the -Emacs symbol. |# - -(declare (usual-integrations)) +#| -*-Scheme-*- + +Copyright (C) 1993, 2011 Matthew Birkholz + +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. + +|# + +;;;; Emacs Symbols +;;; package: (elisp symbols) + +;;; Emacs Lisp symbols are implemented by an object that holds the +;;; dynamically-scoped value, the function, and the property list of the +;;; symbol. Operations on the object include getting and setting its +;;; value, getting and setting its default value, etc. An Emacs Lisp +;;; symbol usually has one global value; operations on it just access +;;; or modify a Scheme variable. An Emacs Lisp symbol can also take on +;;; buffer-specific values. When this happens, an Edwin editor variable +;;; with the same name is found or created; the operations of the Emacs +;;; Lisp symbol access or modify the buffer-specific value, default value, +;;; and other attributes of the Edwin editor variable. +;;; +;;; The operations of the Emacs Lisp symbol are implemented by procedures +;;; assigned to the fields of the symbol object. The global value, or +;;; editor variable, is assigned to Scheme variables closed over by these +;;; procedures. +;;; +;;; An Emacs Lisp symbol can also be given arbitrary procedures that +;;; implement the operations for getting and setting the symbol's value. +;;; These procedures can be used to get a value from an Edwin data +;;; structure and convert it to the type expected by Emacs. +;;; +;;; An Emacs Lisp symbol will find or create a similarly named Edwin +;;; editor variable when buffer-specific behavior is required by a call to +;;; `el:make-variable-buffer-local' or `el:make-local-variable'. An Edwin +;;; editor variable is also used when the symbol is declared to be a +;;; variable or constant by `el:defvar' or `el:defconst'. This allows the +;;; Emacs variable to be examined and set using the usual Edwin commands. +;;; Once an Emacs Lisp symbol arranges to use an Edwin variable, it always +;;; uses that variable. Even if the symbol is made unassigned (by +;;; `el:makunbound'), the Edwin variable continues to be used. Any +;;; buffer-local values of the variable are removed, and it is made no +;;; longer buffer-local. Thus, once it appears in the list of Edwin's +;;; editor variables, its value is kept consistent with the value of the +;;; Emacs symbol. ;; Bummer. I liked the verbose but TAGS-visible definitions like ;; (define-integrable symbol/name (record-accessor symbol-rt 'NAME)) diff --git a/src/elisp/abbrev.scm b/src/elisp/abbrev.scm index e8ee1a24e..e4c4a2ffd 100644 --- a/src/elisp/abbrev.scm +++ b/src/elisp/abbrev.scm @@ -1,15 +1,31 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Primitives for word-abbrev mode. +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. -Only a few trivial primitives, and those used by GNUS, have been -implemented. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Primitives for word-abbrev mode. +;;; package: (elisp) + +;;; Only a few trivial primitives, and those used by GNUS, have been +;; implemented. #| An abbrev table is an obarray. Each defined abbrev is represented by a symbol in that obarray diff --git a/src/elisp/alloc.scm b/src/elisp/alloc.scm index fc540fe94..ea839030a 100644 --- a/src/elisp/alloc.scm +++ b/src/elisp/alloc.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Storage allocation and gc for GNU Emacs Lisp interpreter. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Storage allocation and gc for GNU Emacs Lisp interpreter. +;;; package: (elisp) (DEFUN (el:cons car cdr) "Create a new cons, give it CAR and CDR as components, and return it." diff --git a/src/elisp/buffer.scm b/src/elisp/buffer.scm index ad9b348e7..2ae8b894b 100644 --- a/src/elisp/buffer.scm +++ b/src/elisp/buffer.scm @@ -1,16 +1,32 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Buffer manipulation primitives for GNU Emacs. +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. -This cooperates with keymap.scm to implement the bridge between Emacs -and Edwin modes. It currently does this by getting/storing the values -of major-mode and mode-name through special accessors/mutators. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Buffer manipulation primitives for GNU Emacs. +;;; package: (elisp) + +;;; This cooperates with keymap.scm to implement the bridge between Emacs +;;; and Edwin modes. It currently does this by getting/storing the values +;;; of major-mode and mode-name through special accessors/mutators. (define Qfundamental (%intern "fundamental" initial-obarray)) (define Qfundamental-mode (%intern "fundamental-mode" initial-obarray)) diff --git a/src/elisp/bytecode.scm b/src/elisp/bytecode.scm index 6d34abc89..6a705fa9e 100644 --- a/src/elisp/bytecode.scm +++ b/src/elisp/bytecode.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Execution of byte code produced by bytecomp.el. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Execution of byte code produced by bytecomp.el. +;;; package: (elisp) ;;;; Top-level diff --git a/src/elisp/callint.scm b/src/elisp/callint.scm index 11e5ed605..8e04d399f 100644 --- a/src/elisp/callint.scm +++ b/src/elisp/callint.scm @@ -1,78 +1,94 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Call a Lisp function interactively. +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. -The emacs subr called "call-interactively" actually has nothing to do -with calling commands interactively, other than prompting for -interactive arguments. -The notion of the current buffer is not normalized to the buffer of -the selected window, nor is the value of the variable `this-command' -updated. +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. -The real procedure for invoking commands as though the Emacs Lisp -command dispatch mechanism had invoked them is `%call-interactively'. -This procedure should be called with the true current buffer (the -value returned by the Edwin procedure `current-buffer') and the -interactive arguments, which are collected by -`%interactive-arguments'. The procedure will set the Emacs Lisp -emulation's notion of the current buffer, set `this-command', and -anything else required of command dispatch. There might even be -something it can do to help implement `interactive-p'. +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. -The Emacs Lisp function `interactive-p' returns t if it is inside an Emacs -Lisp function that was called by Emacs' command key dispatching -mechanism, not by `call-interactively' or by a macro. The following -example code illustrates this behavior. +|# -(defun foo (arg) - (interactive "P") - (let ((arg (and (not (null)) (prefix-numeric-value arg)))) - (message "foo(%s)..." arg) - (sit-for 1) - (cond ((or (null arg) (zerop arg)) - (message "foo(%s)... (interactive-p) => %s" - arg (interactive-p)) - (sit-for 3)) - ((< arg 0) - (message "foo(%s)... interactively calling foo(%s)" - arg (1+ arg)) - (sit-for 1) - (setq prefix-arg (1+ arg)) - (call-interactively 'foo)) - (t - (foo (1- arg)))))) +;;;; Call a Lisp function interactively. +;;; package: (elisp) -Show value of interactive-p after initial call. -M-x f o o \r -foo(nil)... (interactive-p) => t - -Show value of interactive-p after a recursive call. -C-u 1 M-x f o o \r -foo(1)... -foo(0)... (interactive-p) => nil - -Using call-interactively. -C-u - 1 M-x f o o \r -foo(-1)... interactively calling foo(0) -foo(-1)... interactively calling foo(0) -foo(-1)... interactively calling foo(0) -? - -Ahem. Well anyway... - -`interactive-p' is implemented in GNU Emacs by looking at the -interpreter stack. - -To implement this efficiently in Edwin Scheme would be difficult. -Luckily, in the entire Emacs distribution, `interactive-p' is used in -only 5 funcalls all of which will behave acceptably if -`interactive-p' always returns 't. |# - -(declare (usual-integrations)) +;;; The emacs subr called "call-interactively" actually has nothing to do +;;; with calling commands interactively, other than prompting for +;;; interactive arguments. +;;; The notion of the current buffer is not normalized to the buffer of +;;; the selected window, nor is the value of the variable `this-command' +;;; updated. +;;; +;;; The real procedure for invoking commands as though the Emacs Lisp +;;; command dispatch mechanism had invoked them is `%call-interactively'. +;;; This procedure should be called with the true current buffer (the +;;; value returned by the Edwin procedure `current-buffer') and the +;;; interactive arguments, which are collected by +;;; `%interactive-arguments'. The procedure will set the Emacs Lisp +;;; emulation's notion of the current buffer, set `this-command', and +;;; anything else required of command dispatch. There might even be +;;; something it can do to help implement `interactive-p'. +;;; +;;; The Emacs Lisp function `interactive-p' returns t if it is inside an Emacs +;;; Lisp function that was called by Emacs' command key dispatching +;;; mechanism, not by `call-interactively' or by a macro. The following +;;; example code illustrates this behavior. +;;; +;;; (defun foo (arg) +;;; (interactive "P") +;;; (let ((arg (and (not (null)) (prefix-numeric-value arg)))) +;;; (message "foo(%s)..." arg) +;;; (sit-for 1) +;;; (cond ((or (null arg) (zerop arg)) +;;; (message "foo(%s)... (interactive-p) => %s" +;;; arg (interactive-p)) +;;; (sit-for 3)) +;;; ((< arg 0) +;;; (message "foo(%s)... interactively calling foo(%s)" +;;; arg (1+ arg)) +;;; (sit-for 1) +;;; (setq prefix-arg (1+ arg)) +;;; (call-interactively 'foo)) +;;; (t +;;; (foo (1- arg)))))) +;;; +;;; Show value of interactive-p after initial call. +;;; M-x f o o \r +;;; foo(nil)... (interactive-p) => t +;;; +;;; Show value of interactive-p after a recursive call. +;;; C-u 1 M-x f o o \r +;;; foo(1)... +;;; foo(0)... (interactive-p) => nil +;;; +;;; Using call-interactively. +;;; C-u - 1 M-x f o o \r +;;; foo(-1)... interactively calling foo(0) +;;; foo(-1)... interactively calling foo(0) +;;; foo(-1)... interactively calling foo(0) +;;; ? +;;; +;;; Ahem. Well anyway... +;;; +;;; `interactive-p' is implemented in GNU Emacs by looking at the +;;; interpreter stack. +;;; +;;; To implement this efficiently in Edwin Scheme would be difficult. +;;; Luckily, in the entire Emacs distribution, `interactive-p' is used in +;;; only 5 funcalls all of which will behave acceptably if +;;; `interactive-p' always returns 't. (DEFUN (el:interactive "e . args) "Specify a way of parsing arguments for interactive use of a function. diff --git a/src/elisp/callproc.scm b/src/elisp/callproc.scm index 080b98e1e..37735d0d7 100644 --- a/src/elisp/callproc.scm +++ b/src/elisp/callproc.scm @@ -1,10 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Synchronous subprocess invocation for GNU Emacs. |# +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. + +|# + +;;;; Synchronous subprocess invocation for GNU Emacs. +;;; package: (elisp) (DEFUN (el:call-process program #!optional infile buffer display . args) "Call PROGRAM in separate process. diff --git a/src/elisp/cmds.scm b/src/elisp/cmds.scm index 5e4ea581d..b9df45e74 100644 --- a/src/elisp/cmds.scm +++ b/src/elisp/cmds.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Simple built-in editing commands. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Simple built-in editing commands. +;;; package: (elisp) (DEFUN (el:forward-char #!optional n) "Move point right ARG characters (left if ARG negative). diff --git a/src/elisp/data.scm b/src/elisp/data.scm index 5d9e676c6..e7eb549d2 100644 --- a/src/elisp/data.scm +++ b/src/elisp/data.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Primitive operations on Lisp data types for GNU Emacs Lisp interpreter. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Primitive operations on Lisp data types for GNU Emacs Lisp interpreter. +;;; package: (elisp) ;(define Qt (%intern "t" initial-obarray)) ;(define Qquote (%intern "quote" initial-obarray)) diff --git a/src/elisp/dired.scm b/src/elisp/dired.scm index 8ad7de642..ef88cf34b 100644 --- a/src/elisp/dired.scm +++ b/src/elisp/dired.scm @@ -1,10 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Lisp functions for making directory listings. |# +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. + +|# + +;;;; Lisp functions for making directory listings. +;;; package: (elisp) #|(DEFUN (el:directory-files dirname #!optional full match) "Return a list of names of files in DIRECTORY. diff --git a/src/elisp/editfns.scm b/src/elisp/editfns.scm index 9fa98255c..b58d275fb 100644 --- a/src/elisp/editfns.scm +++ b/src/elisp/editfns.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Lisp functions pertaining to editing. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Lisp functions pertaining to editing. +;;; package: (elisp) (DEFUN (el:char-to-string n) "Convert arg CHAR to a string containing that character." diff --git a/src/elisp/elisp.ldr b/src/elisp/elisp.ldr index 8dd239ec4..9a999a73a 100644 --- a/src/elisp/elisp.ldr +++ b/src/elisp/elisp.ldr @@ -1,9 +1,5 @@ #| -*-Scheme-*- -$Id: $ - -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved - Not generated by CREF! |# (declare (usual-integrations)) diff --git a/src/elisp/elisp.pkg b/src/elisp/elisp.pkg index 53bc341c4..d66158398 100644 --- a/src/elisp/elisp.pkg +++ b/src/elisp/elisp.pkg @@ -1,8 +1,25 @@ #| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved |# +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. + +|# ;;;; ELisp Packaging diff --git a/src/elisp/elisp.sf b/src/elisp/elisp.sf index cd0eec7fd..b584e0f91 100644 --- a/src/elisp/elisp.sf +++ b/src/elisp/elisp.sf @@ -1,8 +1,25 @@ #| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved |# +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. + +|# (if (null? (name->package '(SCODE-OPTIMIZER TOP-LEVEL))) (with-working-directory-pathname diff --git a/src/elisp/eval.scm b/src/elisp/eval.scm index 628e19294..4ae7ee5e7 100644 --- a/src/elisp/eval.scm +++ b/src/elisp/eval.scm @@ -1,16 +1,32 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Evaluator for GNU Emacs Lisp interpreter. +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. -Notes: interactive-p was punted. It always returns T for now. It's unclear how -to get the correct behavior. All (five) uses in GNU Emacs 18.58 lisp/, should -be compatible with this behavior. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Evaluator for GNU Emacs Lisp interpreter. +;;; package: (elisp) + +;;; Notes: interactive-p was punted. It always returns T for now. +;;; It's unclear how to get the correct behavior. All (five) uses in +;;; GNU Emacs 18.58 lisp/, should be compatible with this behavior. (define Qand-optional (%intern "&optional" initial-obarray)) (define Qand-rest (%intern "&rest" initial-obarray)) diff --git a/src/elisp/fileio.scm b/src/elisp/fileio.scm index f0b13f44f..de740a0dd 100644 --- a/src/elisp/fileio.scm +++ b/src/elisp/fileio.scm @@ -1,14 +1,30 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -File IO for GNU Emacs. +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. -Note: filename operations only work for UN*X. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; File IO for GNU Emacs. +;;; package: (elisp) + +;;; Note: filename operations only work for UN*X. (define Qfile-error (%intern "file-error" initial-obarray)) (%put! Qfile-error Qerror-conditions (list Qfile-error Qerror)) diff --git a/src/elisp/fns.scm b/src/elisp/fns.scm index b0cc8c4a4..e4296f1d1 100644 --- a/src/elisp/fns.scm +++ b/src/elisp/fns.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Random utility Lisp functions. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Random utility Lisp functions. |# +;;; package: (elisp) (DEFVAR Qfeatures '() diff --git a/src/elisp/indent.scm b/src/elisp/indent.scm index 24a8ff255..d2dc43865 100644 --- a/src/elisp/indent.scm +++ b/src/elisp/indent.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Indentation functions. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Indentation functions. +;;; package: (elisp) (DEFUN (el:current-column) "Return the horizontal position of point. Beginning of line is column 0. diff --git a/src/elisp/keymap.scm b/src/elisp/keymap.scm index a7d640a3b..4d786f487 100644 --- a/src/elisp/keymap.scm +++ b/src/elisp/keymap.scm @@ -1,10 +1,30 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Manipulation of keymaps +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. + +|# + +;;;; Manipulation of keymaps +;;; package: (elisp) + +#| In GNU Emacs, (major) modes are defined implicitly by the buffer-local settings of variables like major-mode and mode-name, and of the @@ -40,8 +60,6 @@ modes can still be enabled and their key bindings will take precedence over any local or global Emacs key bindings. Setting the local-map of an Emacs mode changes the second comtab, and defining local keys will mutate the second comtab. Edwin minor modes will not be affected. |# - -(declare (usual-integrations)) (DEFUN (el:make-keymap) "Construct and return a new keymap, a vector of length 128. diff --git a/src/elisp/lisp.scm b/src/elisp/lisp.scm index 4948de58e..5870907eb 100644 --- a/src/elisp/lisp.scm +++ b/src/elisp/lisp.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Fundamental definitions for GNU Emacs Lisp interpreter. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Fundamental definitions for GNU Emacs Lisp interpreter. +;;; package: (elisp) (declare (integrate-operator CHECK-LIST)) (define (CHECK-LIST x) diff --git a/src/elisp/lread.scm b/src/elisp/lread.scm index e3af30a7d..aa55a2059 100644 --- a/src/elisp/lread.scm +++ b/src/elisp/lread.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Lisp parsing and input streams. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Lisp parsing and input streams. +;;; package: (elisp) (DEFUN (el:read-char) "Read a character from the command input (keyboard or macro). diff --git a/src/elisp/make.scm b/src/elisp/make.scm index 7bbdb69bb..6b4cac330 100644 --- a/src/elisp/make.scm +++ b/src/elisp/make.scm @@ -1,9 +1,5 @@ #| -*-Scheme-*- -$Id: $ - -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved - This file automatically loads the elisp package. |# (package/system-loader "elisp" '() false) diff --git a/src/elisp/marker.scm b/src/elisp/marker.scm index 9f9b856a5..983250256 100644 --- a/src/elisp/marker.scm +++ b/src/elisp/marker.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Markers: examining, setting and killing. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Markers: examining, setting and killing. +;;; package: (elisp) (define (%mark->number mark) (let ((index (mark-index mark))) diff --git a/src/elisp/minibuf.scm b/src/elisp/minibuf.scm index fdc507a0a..b1d50a779 100644 --- a/src/elisp/minibuf.scm +++ b/src/elisp/minibuf.scm @@ -1,11 +1,30 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Minibuffer input and completion. +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. + +|# + +;;;; Minibuffer input and completion. +;;; package: (elisp) + +#| The basis of Emacs minibuffer interaction is read_minibuf. The basis of Edwin minibuffer interaction is %prompt-for-string. @@ -32,8 +51,6 @@ can get behavior similar to Emacs. To handle arbitrary keymaps, keymap->mode creates an anonymous/temporary mode object that uses the given comtab. This mode object is handed to %prompt-for-string. |# - -(declare (usual-integrations)) (DEFUN (el:read-from-minibuffer prompt #!optional initial-input keymap read) "Read a string from the minibuffer, prompting with string PROMPT. diff --git a/src/elisp/print.scm b/src/elisp/print.scm index 4ba0d277b..545141e76 100644 --- a/src/elisp/print.scm +++ b/src/elisp/print.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Lisp object printing and output streams. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Lisp object printing and output streams. +;;; package: (elisp) (DEFUN (el:write-char ch #!optional printcharfun) "Output character CHAR to stream STREAM. diff --git a/src/elisp/process.scm b/src/elisp/process.scm index c719e3894..62db7947e 100644 --- a/src/elisp/process.scm +++ b/src/elisp/process.scm @@ -1,11 +1,30 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Asynchronous subprocess control for GNU Emacs. +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. + +|# + +;;;; Asynchronous subprocess control for GNU Emacs. +;;; package: (elisp) + +#| * Notes on Emacs/Edwin subprocess status: @@ -56,8 +75,6 @@ Edwin's `process-status-message' is a reasonable facsimile of GNU Emacs'. However, GNU Emacs uses sys_siglist to _describe_ a signal (rather than just giving the signal number) and notes when core has been dumped. |# - -(declare (usual-integrations)) (define Qrun (%intern "run" initial-obarray)) (define Qstop (%intern "stop" initial-obarray)) diff --git a/src/elisp/search.scm b/src/elisp/search.scm index c8eb1a4ac..e6c12d1ce 100644 --- a/src/elisp/search.scm +++ b/src/elisp/search.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -String search routines for GNU Emacs. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; String search routines for GNU Emacs. +;;; package: (elisp) (define Qsearch-failed (%intern "search-failed" initial-obarray)) (%put! Qsearch-failed Qerror-conditions (list Qsearch-failed Qerror)) diff --git a/src/elisp/syntax.scm b/src/elisp/syntax.scm index 744ba5d0f..f9f56c210 100644 --- a/src/elisp/syntax.scm +++ b/src/elisp/syntax.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -GNU Emacs routines to deal with syntax tables; also word and list parsing. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; GNU Emacs routines to deal with syntax tables; also word and list parsing. +;;; package: (elisp) (DEFVAR Qparse-sexp-ignore-comments '() diff --git a/src/elisp/window.scm b/src/elisp/window.scm index 138793950..2bd090023 100644 --- a/src/elisp/window.scm +++ b/src/elisp/window.scm @@ -1,12 +1,28 @@ -#| -*- Mode: Scheme; Package: (elisp); Syntax: elisp-syntax-table -*- +#| -*-Scheme-*- -$Id: $ +Copyright (C) 1993, 2011 Matthew Birkholz -Copyright (c) 1993 Matthew Birkholz, All Rights Reserved +This file is part of MIT/GNU Scheme. -Window creation, deletion and examination for GNU Emacs. |# +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. -(declare (usual-integrations)) +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. + +|# + +;;;; Window creation, deletion and examination for GNU Emacs. +;;; package: (elisp) (DEFUN (el:windowp obj) "Returns t if OBJ is a window." -- 2.25.1