;;; -*-Scheme-*-
;;;
-;;; $Id: c-mode.scm,v 1.56 1999/10/07 15:13:09 cph Exp $
+;;; $Id: c-mode.scm,v 1.57 2000/02/29 02:41:14 cph Exp $
;;;
-;;; Copyright (c) 1986, 1989-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 1989-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
c-continued-statement-offset 5 8
c-brace-offset -5 -8
c-argdecl-indent 0 8
- c-label-offset -5 -8"
+ c-label-offset -5 -8
+
+\\{c}"
(lambda (buffer)
(local-set-variable! syntax-table c-syntax-table buffer)
(local-set-variable! syntax-ignore-comments-backwards #t buffer)
(local-set-variable! comment-column 32 buffer)
(local-set-variable! comment-locator-hook c-comment-locate buffer)
(local-set-variable! comment-indent-hook c-comment-indent buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable c-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable c-mode-hook buffer) buffer)))
\f
(define-command c-mode
()
(lambda () (set-current-major-mode! (ref-mode-object c))))
+(define-variable C-mode-abbrev-table
+ "Mode-specific abbrev table for C code."
+ (make-abbrev-table)
+ abbrev-table?)
+
(define-variable c-mode-hook
"An event distributor that is invoked when entering C mode."
(make-event-distributor))
;;; -*-Scheme-*-
;;;
-;;; $Id: htmlmode.scm,v 1.1 1999/10/07 17:00:07 cph Exp $
+;;; $Id: htmlmode.scm,v 1.2 2000/02/29 02:41:11 cph Exp $
;;;
-;;; Copyright (c) 1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
(declare (usual-integrations))
\f
(define-major-mode html text "HTML"
- "Major mode for editing HTML."
+ "Major mode for editing HTML.
+
+\\{html}"
(lambda (buffer)
(local-set-variable! syntax-table html-syntax-table buffer)
(local-set-variable! indent-line-procedure
sentence-end
"[.?!][]\"')}]*\\(<[^>]*>\\)*\\($\\| $\\|\t\\| \\)[ \t\n]*"
buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable html-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable html-mode-hook buffer) buffer)))
(define html-paragraph-separator
()
(lambda () (set-current-major-mode! (ref-mode-object html))))
+(define-variable html-mode-abbrev-table
+ "Mode-specific abbrev table for HTML."
+ (make-abbrev-table)
+ abbrev-table?)
+
(define-variable html-mode-hook
"An event distributor that is invoked when entering HTML mode."
(make-event-distributor))
;;; -*-Scheme-*-
;;;
-;;; $Id: javamode.scm,v 1.8 1999/10/09 03:52:46 cph Exp $
+;;; $Id: javamode.scm,v 1.9 2000/02/29 02:41:07 cph Exp $
;;;
-;;; Copyright (c) 1998-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1998-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
"Major mode for editing Java code.
This is just like C mode, except that
(1) comments begin with // and end at the end of line, and
- (2) c-continued-brace-offset defaults to -2 instead of 0."
+ (2) c-continued-brace-offset defaults to -2 instead of 0.
+
+\\{java}"
(lambda (buffer)
(local-set-variable! syntax-table java-syntax-table buffer)
(local-set-variable! syntax-ignore-comments-backwards #f buffer)
(local-set-variable! comment-start "// " buffer)
(local-set-variable! comment-end "" buffer)
(local-set-variable! c-continued-brace-offset -2 buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable java-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable java-mode-hook buffer) buffer)))
(define-command java-mode
()
(lambda () (set-current-major-mode! (ref-mode-object java))))
+(define-variable java-mode-abbrev-table
+ "Mode-specific abbrev table for Java code."
+ (make-abbrev-table)
+ abbrev-table?)
+
(define-variable java-mode-hook
"An event distributor that is invoked when entering Java mode."
(make-event-distributor))
column
(max (+ (mark-column (horizontal-space-start mark)) 1)
column))))
-
+\f
(define-major-mode php c "PHP"
"Major mode for editing PHP code.
This is just like C mode, except that
(1) comments begin with // and end at the end of line, and
- (2) $ is a symbol constituent rather than a word constituent."
+ (2) $ is a symbol constituent rather than a word constituent.
+
+\\{php}"
(lambda (buffer)
(local-set-variable! syntax-table php-syntax-table buffer)
(local-set-variable! syntax-ignore-comments-backwards #f buffer)
(local-set-variable! comment-indent-hook java-comment-indentation buffer)
(local-set-variable! comment-start "// " buffer)
(local-set-variable! comment-end "" buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable php-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable php-mode-hook buffer) buffer)))
(define-command PHP-mode
()
(lambda () (set-current-major-mode! (ref-mode-object php))))
+(define-variable php-mode-abbrev-table
+ "Mode-specific abbrev table for PHP code."
+ (make-abbrev-table)
+ abbrev-table?)
+
(define-variable php-mode-hook
"An event distributor that is invoked when entering PHP mode."
(make-event-distributor))
;;; -*-Scheme-*-
;;;
-;;; $Id: midas.scm,v 1.18 1999/01/02 06:11:34 cph Exp $
+;;; $Id: midas.scm,v 1.19 2000/02/29 02:41:18 cph Exp $
;;;
-;;; Copyright (c) 1986, 1989-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 1989-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
(define-command midas-mode
"Enter Midas mode."
()
- (lambda ()
- (set-current-major-mode! (ref-mode-object midas))))
+ (lambda () (set-current-major-mode! (ref-mode-object midas))))
(define-major-mode midas fundamental "Midas"
"Major mode for editing assembly code."
(lambda (buffer)
- (define-variable-local-value! buffer (ref-variable-object syntax-table)
- midas-mode:syntax-table)
- (define-variable-local-value! buffer (ref-variable-object comment-column)
- 40)
- (define-variable-local-value! buffer
- (ref-variable-object comment-locator-hook)
- lisp-comment-locate)
- (define-variable-local-value! buffer
- (ref-variable-object comment-indent-hook)
- midas-comment-indentation)
- (define-variable-local-value! buffer (ref-variable-object comment-start)
- ";")
- (define-variable-local-value! buffer (ref-variable-object comment-end)
- "")
+ (local-set-variable! syntax-table midas-mode:syntax-table buffer)
+ (local-set-variable! comment-column 40 buffer)
+ (local-set-variable! comment-locator-hook lisp-comment-locate buffer)
+ (local-set-variable! comment-indent-hook midas-comment-indentation buffer)
+ (local-set-variable! comment-start ";" buffer)
+ (local-set-variable! comment-end "" buffer)
(let ((paragraph-start "^$"))
- (define-variable-local-value! buffer
- (ref-variable-object paragraph-start)
- paragraph-start)
- (define-variable-local-value! buffer
- (ref-variable-object paragraph-separate)
- paragraph-start))
- (define-variable-local-value! buffer
- (ref-variable-object indent-line-procedure)
- (ref-command insert-tab))
+ (local-set-variable! paragraph-start paragraph-start buffer)
+ (local-set-variable! paragraph-separate paragraph-start buffer))
+ (local-set-variable! indent-line-procedure (ref-command insert-tab) buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable midas-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable midas-mode-hook buffer) buffer)))
+(define-variable midas-mode-abbrev-table
+ "Mode-specific abbrev table for assembly code."
+ (make-abbrev-table)
+ abbrev-table?)
+
+(define-variable midas-mode-hook
+ "An event distributor that is invoked when entering Midas mode."
+ (make-event-distributor))
+
(define midas-mode:syntax-table (make-syntax-table))
(modify-syntax-entry! midas-mode:syntax-table #\; "< ")
(modify-syntax-entry! midas-mode:syntax-table #\newline "> ")
(define (midas-comment-indentation mark)
(if (match-forward ";;;" mark)
0
- (max (1+ (mark-column (horizontal-space-start mark)))
- (ref-variable comment-column))))
\ No newline at end of file
+ (max (+ (mark-column (horizontal-space-start mark)) 1)
+ (ref-variable comment-column mark))))
\ No newline at end of file
;;; -*-Scheme-*-
;;;
-;;; $Id: pasmod.scm,v 1.47 1999/01/02 06:11:34 cph Exp $
+;;; $Id: pasmod.scm,v 1.48 2000/02/29 02:41:21 cph Exp $
;;;
-;;; Copyright (c) 1986, 1989-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 1989-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
(set-current-major-mode! (ref-mode-object pascal))))
(define-major-mode pascal fundamental "Pascal"
- "Major mode specialized for editing Pascal code."
+ "Major mode specialized for editing Pascal code.
+
+\\{pascal}"
(lambda (buffer)
- (define-variable-local-value! buffer (ref-variable-object syntax-table)
- pascal-mode:syntax-table)
- (define-variable-local-value! buffer
- (ref-variable-object syntax-ignore-comments-backwards)
- true)
- (define-variable-local-value! buffer
- (ref-variable-object indent-line-procedure)
- (ref-command pascal-indent-line))
- (define-variable-local-value! buffer (ref-variable-object comment-column)
- 32)
- (define-variable-local-value! buffer
- (ref-variable-object comment-locator-hook)
- pascal-comment-locate)
- (define-variable-local-value! buffer
- (ref-variable-object comment-indent-hook)
- pascal-comment-indentation)
- (define-variable-local-value! buffer (ref-variable-object comment-start)
- "(* ")
- (define-variable-local-value! buffer (ref-variable-object comment-end)
- " *)")
+ (local-set-variable! syntax-table pascal-mode:syntax-table buffer)
+ (local-set-variable! syntax-ignore-comments-backwards #t buffer)
+ (local-set-variable! indent-line-procedure
+ (ref-command pascal-indent-line)
+ buffer)
+ (local-set-variable! comment-column 32 buffer)
+ (local-set-variable! comment-locator-hook pascal-comment-locate buffer)
+ (local-set-variable! comment-indent-hook pascal-comment-indentation buffer)
+ (local-set-variable! comment-start "(* " buffer)
+ (local-set-variable! comment-end " *)" buffer)
(let ((paragraph-start "^$"))
- (define-variable-local-value! buffer
- (ref-variable-object paragraph-start)
- paragraph-start)
- (define-variable-local-value! buffer
- (ref-variable-object paragraph-separate)
- paragraph-start))
+ (local-set-variable! paragraph-start paragraph-start buffer)
+ (local-set-variable! paragraph-separate paragraph-start buffer))
+ (local-set-variable! local-abbrev-table
+ (ref-variable pascal-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable pascal-mode-hook buffer) buffer)))
+(define-variable pascal-mode-abbrev-table
+ "Mode-specific abbrev table for Pascal code."
+ (make-abbrev-table)
+ abbrev-table?)
+
+(define-variable pascal-mode-hook
+ "An event distributor that is invoked when entering Pascal mode."
+ (make-event-distributor))
+
(define pascal-mode:syntax-table (make-syntax-table))
(modify-syntax-entry! pascal-mode:syntax-table #\( "()1 ")
(modify-syntax-entry! pascal-mode:syntax-table #\) ")( 4")
(line-start start 1)))))))
(define (find-statement-start mark)
(let ((start (find-previous-non-blank-line mark)))
- (cond ((not start) false)
+ (cond ((not start) #f)
((mark< start def-start) def-start)
(else
(let ((container
;;; -*-Scheme-*-
;;;
-;;; $Id: schmod.scm,v 1.44 1999/01/02 06:11:34 cph Exp $
+;;; $Id: schmod.scm,v 1.45 2000/02/29 02:41:02 cph Exp $
;;;
-;;; Copyright (c) 1986, 1989-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1986, 1989-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
\\[eval-last-sexp] evaluates the expression preceding point.
\\[eval-defun] evaluates the current definition.
\\[eval-current-buffer] evaluates the buffer.
-\\[eval-region] evaluates the current region."
+\\[eval-region] evaluates the current region.
+
+\\{scheme}"
(lambda (buffer)
(local-set-variable! syntax-table scheme-mode:syntax-table buffer)
(local-set-variable! syntax-ignore-comments-backwards #f buffer)
(local-set-variable! mode-line-process
'(RUN-LIGHT (": " RUN-LIGHT) "")
buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable scheme-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable scheme-mode-hook buffer) buffer)))
+(define-variable scheme-mode-abbrev-table
+ "Mode-specific abbrev table for Scheme code."
+ (make-abbrev-table)
+ abbrev-table?)
+
(define-variable scheme-mode-hook
"An event distributor that is invoked when entering Scheme mode."
(make-event-distributor))
;;; -*-Scheme-*-
;;;
-;;; $Id: sendmail.scm,v 1.44 1999/02/01 03:46:56 cph Exp $
+;;; $Id: sendmail.scm,v 1.45 2000/02/29 02:41:44 cph Exp $
;;;
-;;; Copyright (c) 1991-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1991-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
(define-variable mail-default-reply-to
"Address to insert as default Reply-to field of outgoing messages."
- false
+ #f
(lambda (object)
(or (not object)
(string? object)
"True means insert BCC to self in messages to be sent.
This is done when the message is initialized,
so you can remove or alter the BCC field to override the default."
- false
+ #f
boolean?)
(define-variable mail-archive-file-name
- "Name of file to write all outgoing messages in, or false for none."
- false
+ "Name of file to write all outgoing messages in, or #f for none."
+ #f
string-or-false?)
(define-variable mail-relay-host
(define-variable mail-interactive
"True means when sending a message wait for and display errors.
-False means let mailer mail back a message to report errors."
- false
+#F means let mailer mail back a message to report errors."
+ #f
boolean?)
(define-variable mail-header-separator
(define-variable mail-header-function
"A function of one argument, POINT (the current point), which inserts
additional header lines into a mail message. The function is called
-after all other headers are inserted. If this variable is false, it
+after all other headers are inserted. If this variable is #f, it
is ignored."
#f
(lambda (object)
(define-variable mail-reply-buffer
""
- false
+ #f
(lambda (object) (or (false? object) (buffer? object))))
(variable-permanent-local! (ref-variable-object mail-reply-buffer))
\f
(lambda (start end)
(fill-region-as-paragraph start end
"\t" (ref-variable fill-column buffer)
- false))))
+ #f))))
(let ((start (mark-right-inserting-copy point)))
(for-each (lambda (header)
(let ((key (car header))
(define-major-mode mail text "Mail"
"Major mode for editing mail to be sent.
-Separate names of recipients (in To: and CC: fields) with commas.
Like Text Mode but with these additional commands:
-C-c C-s mail-send (send the message) C-c C-c mail-send-and-exit
-C-c C-f move to a header field (and create it if there isn't):
- C-c C-f C-t move to To: C-c C-f C-s move to Subj:
- C-c C-f C-b move to BCC: C-c C-f C-c move to CC:
-C-c C-w mail-signature (insert ~/.signature at end).
-C-c C-y mail-yank-original (insert current message, in Rmail).
-C-c C-q mail-fill-yanked-message (fill what was yanked)."
+\\[mail-send] mail-send (send the message) \\[mail-send-and-exit] mail-send-and-exit
+Here are commands that move to a header field (and create it if there isn't):
+ \\[mail-to] move to To: \\[mail-subject] move to Subject:
+ \\[mail-cc] move to CC: \\[mail-bcc] move to BCC:
+\\[mail-signature] mail-signature (insert ~/.signature file).
+\\[mail-yank-original] mail-yank-original (insert current message, in Rmail).
+\\[mail-fill-yanked-message] mail-fill-yanked-message (fill what was yanked)."
(lambda (buffer)
(define-variable-local-value! buffer (ref-variable-object paragraph-start)
(string-append "^"
(let ((start (mark-left-inserting-copy start))
(end
(mark-left-inserting-copy
- (if (re-search-forward "\n\n" start end false)
+ (if (re-search-forward "\n\n" start end #f)
(mark1+ (re-match-start 0))
end)))
(mail-yank-ignored-headers (ref-variable mail-yank-ignored-headers)))
(lambda ()
(do ()
((not
- (re-search-forward mail-yank-ignored-headers start end true)))
+ (re-search-forward mail-yank-ignored-headers start end #t)))
(move-mark-to! start (re-match-start 0))
(delete-string
start
- (if (re-search-forward "^[^ \t]" (line-end start 0) end false)
+ (if (re-search-forward "^[^ \t]" (line-end start 0) end #f)
(re-match-start 0)
end)))))
(mark-temporary! start)
(buffer-end buffer)
(ref-variable fill-column)
justify?
- true))))
+ #t))))
\f
(define-command mail-send-and-exit
"Send message like mail-send, then, if no errors, exit from mail buffer.
(define-command mail-send
"Send the message in the current buffer.
-If mail-interactive is non-false, wait for success indication
+If mail-interactive is true, wait for success indication
or error messages, and inform user.
Otherwise any failure is reported in a message back to
the user from the mailer."
;; that "^[>]+From " be quoted in the same transparent way.)
(let ((m (mark-right-inserting-copy (mark+ start 2))))
(do ()
- ((not (re-search-forward "^From " m end false)))
+ ((not (re-search-forward "^From " m end #f)))
(move-mark-to! m (re-match-end 0))
(insert-string ">" (re-match-start 0)))
(mark-temporary! m))
(define (digest-fcc-headers start header-end)
(let ((m (mark-right-inserting-copy start)))
(let loop ((pathnames '()))
- (if (re-search-forward "^FCC:[ \t]*\\([^ \t\n]+\\)" m header-end true)
+ (if (re-search-forward "^FCC:[ \t]*\\([^ \t\n]+\\)" m header-end #t)
(let ((filename
(extract-string (re-match-start 1) (re-match-end 1))))
(move-mark-to! m (line-start (re-match-start 0) 0))
#| -*-Scheme-*-
-$Id: shell.scm,v 1.22 2000/02/24 01:23:42 cph Exp $
+$Id: shell.scm,v 1.23 2000/02/29 02:41:36 cph Exp $
Copyright (c) 1991-2000 Massachusetts Institute of Technology
(local-set-variable! comint-input-sentinel shell-directory-tracker buffer)
(local-set-variable! shell-dirstack '() buffer)
(local-set-variable! shell-dirtrack? #t buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable shell-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable shell-mode-hook buffer) buffer)))
+(define-variable shell-mode-abbrev-table
+ "Mode-specific abbrev table for Shell mode."
+ (make-abbrev-table)
+ abbrev-table?)
+
(define-variable shell-mode-hook
"An event distributor that is invoked when entering Shell mode."
(make-event-distributor))
"List of directories saved by pushd in this buffer's shell."
'())
-(define-variable shell-dirtrack? "" false)
+(define-variable shell-dirtrack? "" #f)
(define (shell-directory-tracker string)
(if (ref-variable shell-dirtrack?)
shell-dirtrack?
(let ((argument (command-argument-value argument)))
(cond ((not argument) (not (ref-variable shell-dirtrack?)))
- ((positive? argument) true)
- ((negative? argument) false)
+ ((positive? argument) #t)
+ ((negative? argument) #f)
(else (ref-variable shell-dirtrack?)))))
(message "Directory tracking "
(if (ref-variable shell-dirtrack?) "on" "off")
;;; -*-Scheme-*-
;;;
-;;; $Id: texcom.scm,v 1.41 2000/02/25 19:02:42 cph Exp $
+;;; $Id: texcom.scm,v 1.42 2000/02/29 02:41:23 cph Exp $
;;;
;;; Copyright (c) 1986, 1989-2000 Massachusetts Institute of Technology
;;;
(define-major-mode text fundamental "Text"
"Major mode for editing english text."
(lambda (buffer)
- (define-variable-local-value! buffer (ref-variable-object syntax-table)
- text-mode:syntax-table)
+ (local-set-variable! syntax-table text-mode:syntax-table buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable text-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable text-mode-hook buffer) buffer)))
(define-key 'text #\m-s 'center-line)
(modify-syntax-entry! text-mode:syntax-table #\} "){ ")
(modify-syntax-entry! text-mode:syntax-table #\' "w ")
+(define-variable scheme-mode-abbrev-table
+ "Mode-specific abbrev table for Text mode."
+ (make-abbrev-table)
+ abbrev-table?)
+
(define-variable text-mode-hook
"An event distributor that is invoked when entering Text mode."
(make-event-distributor))
;;; -*-Scheme-*-
;;;
-;;; $Id: tximod.scm,v 1.21 1999/01/02 06:11:34 cph Exp $
+;;; $Id: tximod.scm,v 1.22 2000/02/29 02:41:26 cph Exp $
;;;
-;;; Copyright (c) 1987-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1987-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
In addition, Texinfo mode provides commands that insert various
frequently used @-sign commands into the buffer. You can use these
-commands to save keystrokes."
+commands to save keystrokes.
+
+\\{texinfo}"
(lambda (buffer)
(local-set-variable! syntax-table texinfo-mode:syntax-table buffer)
(local-set-variable! fill-column 72 buffer)
(ref-variable paragraph-separate
buffer))
buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable texinfo-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable texinfo-mode-hook buffer)
buffer)))
+(define-variable texinfo-mode-abbrev-table
+ "Mode-specific abbrev table for Texinfo."
+ (make-abbrev-table)
+ abbrev-table?)
+
+(define-variable texinfo-mode-hook
+ "An event distributor that is invoked when entering Texinfo mode."
+ (make-event-distributor))
+
(define texinfo-mode:syntax-table (make-syntax-table))
(modify-syntax-entry! texinfo-mode:syntax-table #\" " ")
(modify-syntax-entry! texinfo-mode:syntax-table #\\ " ")
;;; -*-Scheme-*-
;;;
-;;; $Id: verilog.scm,v 1.5 1999/01/02 06:11:34 cph Exp $
+;;; $Id: verilog.scm,v 1.6 2000/02/29 02:41:29 cph Exp $
;;;
-;;; Copyright (c) 1996-1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1996-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
(lambda () (set-current-major-mode! (ref-mode-object verilog))))
(define-major-mode verilog fundamental "Verilog"
- "Major mode specialized for editing Verilog code."
+ "Major mode specialized for editing Verilog code.
+
+\\{verilog}"
(lambda (buffer)
(local-set-variable! syntax-table verilog-mode:syntax-table buffer)
(local-set-variable! syntax-ignore-comments-backwards #f buffer)
(local-set-variable! require-final-newline #t buffer)
(local-set-variable! keyparser-description verilog-description buffer)
(local-set-variable! keyword-table verilog-keyword-table buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable verilog-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable verilog-mode-hook buffer)
buffer)))
+(define-variable verilog-mode-abbrev-table
+ "Mode-specific abbrev table for Verilog code."
+ (make-abbrev-table)
+ abbrev-table?)
+
+(define-variable verilog-mode-hook
+ "An event distributor that is invoked when entering Verilog mode."
+ (make-event-distributor))
+
(define verilog-mode:syntax-table
(let ((syntax-table (make-syntax-table)))
(for-each (lambda (char) (modify-syntax-entry! syntax-table char "."))
;;; -*-Scheme-*-
;;;
-;;; $Id: vhdl.scm,v 1.5 1999/01/02 06:11:34 cph Exp $
+;;; $Id: vhdl.scm,v 1.6 2000/02/29 02:41:32 cph Exp $
;;;
-;;; Copyright (c) 1997, 1999 Massachusetts Institute of Technology
+;;; Copyright (c) 1997-2000 Massachusetts Institute of Technology
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License as
(lambda () (set-current-major-mode! (ref-mode-object vhdl))))
(define-major-mode vhdl fundamental "VHDL"
- "Major mode specialized for editing VHDL code."
+ "Major mode specialized for editing VHDL code.
+
+\\{vhdl}"
(lambda (buffer)
(local-set-variable! syntax-table vhdl-mode:syntax-table buffer)
(local-set-variable! syntax-ignore-comments-backwards #f buffer)
(local-set-variable! require-final-newline #t buffer)
(local-set-variable! keyparser-description vhdl-description buffer)
(local-set-variable! keyword-table vhdl-keyword-table buffer)
+ (local-set-variable! local-abbrev-table
+ (ref-variable vhdl-mode-abbrev-table buffer)
+ buffer)
(event-distributor/invoke! (ref-variable vhdl-mode-hook buffer)
buffer)))
+(define-variable vhdl-mode-abbrev-table
+ "Mode-specific abbrev table for VHDL code."
+ (make-abbrev-table)
+ abbrev-table?)
+
+(define-variable vhdl-mode-hook
+ "An event distributor that is invoked when entering VHDL mode."
+ (make-event-distributor))
+
(define vhdl-mode:syntax-table
(let ((syntax-table (make-syntax-table)))
(for-each (lambda (char) (modify-syntax-entry! syntax-table char "_"))