--- gforth/gforth.el 2000/04/02 20:18:26 1.38 +++ gforth/gforth.el 2000/12/16 17:19:41 1.46 @@ -1,6 +1,6 @@ ;; Forth mode for Emacs -;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. +;; Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. ;; This file is part of Gforth. @@ -160,8 +160,11 @@ OBS! All words in forth-negatives must b (setq comment-column 40) (make-local-variable 'comment-start-skip) (setq comment-start-skip "\\ ") - (make-local-variable 'comment-indent-hook) - (setq comment-indent-hook 'forth-comment-indent) +; this is obsolete (according to 20.5 docs) and replace with comment-indent-function +; (make-local-hook 'comment-indent-hook) +; (add-hook 'comment-indent-hook 'forth-comment-indent nil t) + (make-local-variable 'comment-indent-function) + (setq comment-indent-function 'forth-comment-indent) (make-local-variable 'parse-sexp-ignore-comments) (setq parse-sexp-ignore-comments t)) @@ -241,7 +244,7 @@ Variables controling documentation searc ; (run-forth forth-program-name)) (run-hooks 'forth-mode-hook)) -(setq forth-mode-hook +(add-hook 'forth-mode-hook '(lambda () (make-local-variable 'compile-command) (setq compile-command "gforth "))) @@ -992,33 +995,27 @@ The region is sent terminated by a newli ;;; Highlighting -(if (not (file-exists-p "/usr/share/emacs/site-lisp/hl319.el")) - (require 'hilit19) - (require 'hl319)) - -(hilit-set-mode-patterns - '(forth-mode) - (append - '(("\\\\ \\(.*\\)$" nil comment)) ; comments - '(("( [^)\n]* -- [^)\n]* )" nil decl)) - '(("( -- [^)\n]* )" nil decl)) - '(("( [^)\n]* -- )" nil decl)) - '(("( -- )" nil decl)) - '(("( " ")" comment)) - '(("\" [^\"\n]*\"" nil string)) - '(("\\(IF\\|ELSE\\|THEN\\|BEGIN\\|WHILE\\|REPEAT\\|UNTIL\\)" nil keyword)) - '((": *[^ \n]*" nil defun)) - '(("Defer *[^ \n]*" nil defun)) - '(("Variable *[^ \n]*" nil define)) - '(("Constant *[^ \n]*" nil define)) - '(("include *[^ \n]*" nil include)) - '(("require *[^ \n]*" nil include)) - '(("[ ]\\$[0-9A-Fa-f]+" nil formula)) - '(("[ ]&[0-9]+" nil formula)) - '(("[ ][0-9]+" nil formula)) - '(("[ ]%[01]+" nil formula)) - '(("[ ]'[^ \n]+" nil formula)) - '((":noname" nil defun)))) +; (cond ((featurep 'hilit19) +; (if (not (file-exists-p "/usr/share/emacs/site-lisp/hl319.el")) +; (require 'hilit19) +; (require 'hl319)) + +; (hilit-set-mode-patterns +; '(forth-mode) +; (append +; '(("\\\\ \\(.*\\)$" nil comment)) ; comments +; '(("\\\\[gG] \\(.*\\)$" nil comment)) ; comments +; '(("(\\( [^)\n]* \\| \\)--\\( [^)\n]* \\| \\))" nil decl)) +; '(("( " ")" comment)) +; '(("\" [^\"\n]*\"" nil string)) +; '(("\\(\\[IF]\\|\\[IFDEF]\\|\\[IFUNDEF]\\|\\[ELSE]\\|\\[THEN]\\|IF\\|ELSE\\|THEN\\|CASE\\|ENDCASE\\|OF\\|ENDOF\\|BEGIN\\|WHILE\\|REPEAT\\|UNTIL\\|AGAIN\\|DOES>\\|?DO\\|DO\\|\+LOOP\\|UNLOOP\\|LOOP\\|EXIT\\)" nil keyword)) +; '(("\\(\\[if]\\|\\[ifdef]\\|\\[ifundef]\\|\\[else]\\|\\[then]\\|if\\|else\\|then\\|case\\|endcase\\|of\\|endof\\|begin\\|while\\|repeat\\|until\\|again\\|does>\\|?do\\|do\\|\+loop\\|unloop\\|loop\\|exit\\)" nil keyword)) +; '((": *[^ \n]*" nil defun)) +; '(("Defer *[^ \n]*" nil defun)) +; '(("\\(Variable\\|Constant\\|Value\\|Create\\) *[^ \n]*" nil define)) +; '(("\\(include\\|require\\) *[^ \n]*" nil include)) +; '(("[\n ]\\(\\$[0-9A-Fa-f]+[\n ]\\|&[0-9]+[\n ]\\|[0-9]+[\n ]\\|%[01]+[\n ]\\|'[^ \n]+\\)+" nil formula)) +; '((":noname" nil defun)))))) ;; end