version 1.15, 1995/10/11 19:39:34
|
version 1.18, 1996/01/25 16:45:51
|
Line 1
|
Line 1
|
;; This file is part of GNU Emacs. |
;; Forth mode for Emacs |
|
;; This file is part of GForth. |
;; Changes by anton |
;; Changes by anton |
;; This is a variant of forth.el that came with TILE. |
;; This is a variant of forth.el that came with TILE. |
;; I left most of this stuff untouched and made just a few changes for |
;; I left most of this stuff untouched and made just a few changes for |
;; the things I use (mainly indentation and syntax tables). |
;; the things I use (mainly indentation and syntax tables). |
;; So there is still a lot of work to do to adapt this to gforth. |
;; So there is still a lot of work to do to adapt this to gforth. |
|
|
;; GNU Emacs is distributed in the hope that it will be useful, |
;; GForth is distributed in the hope that it will be useful, |
;; but WITHOUT ANY WARRANTY. No author or distributor |
;; but WITHOUT ANY WARRANTY. No author or distributor |
;; accepts responsibility to anyone for the consequences of using it |
;; accepts responsibility to anyone for the consequences of using it |
;; or for whether it serves any particular purpose or works at all, |
;; or for whether it serves any particular purpose or works at all, |
Line 15
|
Line 16
|
;; Everyone is granted permission to copy, modify and redistribute |
;; Everyone is granted permission to copy, modify and redistribute |
;; GNU Emacs, but only under the conditions described in the |
;; GNU Emacs, but only under the conditions described in the |
;; GNU Emacs General Public License. A copy of this license is |
;; GNU Emacs General Public License. A copy of this license is |
;; supposed to have been given to you along with GNU Emacs so you |
;; supposed to have been given to you along with Gforth so you |
;; can know your rights and responsibilities. It should be in a |
;; can know your rights and responsibilities. It should be in a |
;; file named COPYING. Among other things, the copyright notice |
;; file named COPYING. Among other things, the copyright notice |
;; and this notice must be preserved on all copies. |
;; and this notice must be preserved on all copies. |
|
|
;;; $Header$ |
|
|
|
;;------------------------------------------------------------------- |
;;------------------------------------------------------------------- |
;; A Forth indentation, documentation search and interaction library |
;; A Forth indentation, documentation search and interaction library |
;;------------------------------------------------------------------- |
;;------------------------------------------------------------------- |
Line 37
|
Line 36
|
|
|
|
|
(defvar forth-positives |
(defvar forth-positives |
" : :noname code ;code does> begin do ?do +do -do u+do u-do while if ?dup-if ?dup-not-if else case struct [if] [else] " |
" : :noname code ;code does> begin do ?do +do -do u+do u-do while if ?dup-if ?dup-0=-if else case struct [if] [else] " |
"Contains all words which will cause the indent-level to be incremented |
"Contains all words which will cause the indent-level to be incremented |
on the next line. |
on the next line. |
OBS! All words in forth-positives must be surrounded by spaces.") |
OBS! All words in forth-positives must be surrounded by spaces.") |
|
|
(defvar forth-negatives |
(defvar forth-negatives |
" ; end-code ;code does> until repeat while +loop loop -loop s+loop else then endif again endcase end-struct [then] [else] [endif]" |
" ; end-code ;code does> until repeat while +loop loop -loop s+loop else then endif again endcase end-struct [then] [else] [endif] " |
"Contains all words which will cause the indent-level to be decremented |
"Contains all words which will cause the indent-level to be decremented |
on the current line. |
on the current line. |
OBS! All words in forth-negatives must be surrounded by spaces.") |
OBS! All words in forth-negatives must be surrounded by spaces.") |
Line 378 the input stream (comments, arguments, e
|
Line 377 the input stream (comments, arguments, e
|
(defun forth-remove-tracers () |
(defun forth-remove-tracers () |
"Remove tracers of the form `~~ '. Queries the user for each occurrence." |
"Remove tracers of the form `~~ '. Queries the user for each occurrence." |
(interactive) |
(interactive) |
(query-replace "~~ " "")) |
(query-replace-regexp "\\(~~ \\| ~~$\\)" "" nil)) |
|
|
(defvar forth-program-name "gforth" |
(defvar forth-program-name "gforth" |
"*Program invoked by the `run-forth' command.") |
"*Program invoked by the `run-forth' command.") |