Diff for /gforth/gforth.el between versions 1.76 and 1.83

version 1.76, 2008/07/15 16:11:49 version 1.83, 2010/09/29 21:47:42
Line 241  PARSED-TYPE specifies what kind of text Line 241  PARSED-TYPE specifies what kind of text
          immediate (font-lock-keyword-face . 1))           immediate (font-lock-keyword-face . 1))
         (("does>") compile-only (font-lock-keyword-face . 1))          (("does>") compile-only (font-lock-keyword-face . 1))
         ((":noname") definition-starter (font-lock-keyword-face . 1))          ((":noname") definition-starter (font-lock-keyword-face . 1))
         ((";" ";code") definition-ender (font-lock-keyword-face . 1))          ((";" ";code" ";abi-code") definition-ender (font-lock-keyword-face . 1))
         (("include" "require" "needs" "use")           (("include" "require" "needs" "use") 
          non-immediate (font-lock-keyword-face . 1)            non-immediate (font-lock-keyword-face . 1) 
          "[\n\t ]" t string (font-lock-string-face . 1))           "[\n\t ]" t string (font-lock-string-face . 1))
         (("included" "required" "thru" "load")          (("included" "required" "thru" "load")
          non-immediate (font-lock-keyword-face . 1))           non-immediate (font-lock-keyword-face . 1))
           (("code" "abi-code")
            non-immediate (font-lock-keyword-face . 1)
            "[ \t\n]" t name (font-lock-function-name-face . 3))
           (("end-code")
            non-immediate (font-lock-keyword-face . 1))
         (("[char]") compile-only (font-lock-keyword-face . 1)          (("[char]") compile-only (font-lock-keyword-face . 1)
          "[ \t\n]" t string (font-lock-string-face . 1))           "[ \t\n]" t string (font-lock-string-face . 1))
         (("char") non-immediate (font-lock-keyword-face . 1)          (("char") non-immediate (font-lock-keyword-face . 1)
          "[ \t\n]" t string (font-lock-string-face . 1))           "[ \t\n]" t string (font-lock-string-face . 1))
         (("s\"" "c\"") immediate (font-lock-string-face . 1)          ("'.'?" non-immediate (font-lock-string-face . 1))
           (("s\"" "c\"" "s\\\"") immediate (font-lock-string-face . 1)
          "[\"\n]" nil string (font-lock-string-face . 1))           "[\"\n]" nil string (font-lock-string-face . 1))
         ((".\"") compile-only (font-lock-string-face . 1)          ((".\"" ".\\\"") compile-only (font-lock-string-face . 1)
          "[\"\n]" nil string (font-lock-string-face . 1))           "[\"\n]" nil string (font-lock-string-face . 1))
         (("abort\"") compile-only (font-lock-keyword-face . 1)          (("abort\"") compile-only (font-lock-keyword-face . 1)
          "[\"\n]" nil string (font-lock-string-face . 1))           "[\"\n]" nil string (font-lock-string-face . 1))
Line 301  PARSED-TYPE specifies what kind of text Line 307  PARSED-TYPE specifies what kind of text
   
         (("create" "variable" "constant" "2variable" "2constant" "fvariable"          (("create" "variable" "constant" "2variable" "2constant" "fvariable"
           "fconstant" "value" "field" "user" "vocabulary"             "fconstant" "value" "field" "user" "vocabulary" 
           "create-interpret/compile")            "create-interpret/compile" "interpret/compile:")
          non-immediate (font-lock-type-face . 2)           non-immediate (font-lock-type-face . 2)
          "[ \t\n]" t name (font-lock-variable-name-face . 3))           "[ \t\n]" t name (font-lock-variable-name-face . 3))
         ("\\S-+%" non-immediate (font-lock-type-face . 2))          ("\\S-+%" non-immediate (font-lock-type-face . 2))
Line 310  PARSED-TYPE specifies what kind of text Line 316  PARSED-TYPE specifies what kind of text
          "[ \t\n]" t name (font-lock-function-name-face . 3))           "[ \t\n]" t name (font-lock-function-name-face . 3))
         (("end-struct") non-immediate (font-lock-keyword-face . 2)          (("end-struct") non-immediate (font-lock-keyword-face . 2)
          "[ \t\n]" t name (font-lock-type-face . 3))           "[ \t\n]" t name (font-lock-type-face . 3))
         (("struct") non-immediate (font-lock-keyword-face . 2))          (("struct" "end-c-library" "c-library-name") 
            non-immediate (font-lock-keyword-face . 2))
           (("c-library") non-immediate (font-lock-keyword-face . 2)
            "[ \t\n]" t name (font-lock-variable-name-face . 3))
           (("c-variable") non-immediate (font-lock-type-face . 1)
            "[ \t\n]" t name (font-lock-function-name-face . 3)
            "[ \t\n]" t name (font-lock-function-name-face . 3))
           (("c-function" "c-value") non-immediate (font-lock-type-face . 1)
            "[ \t\n]" t name (font-lock-function-name-face . 3)
            "[ \t\n]" t name (font-lock-function-name-face . 3)
            "[\n]" nil comment (font-lock-variable-name-face . 3))
           (("\\c") non-immediate (font-lock-keyword-face . 1)
            "[\n]" nil string (font-lock-string-face . 1))
         ("-?[0-9]+\\(\\.[0-9]*e\\(-?[0-9]+\\)?\\|\\.?[0-9a-f]*\\)"           ("-?[0-9]+\\(\\.[0-9]*e\\(-?[0-9]+\\)?\\|\\.?[0-9a-f]*\\)" 
          immediate (font-lock-constant-face . 3))           immediate (font-lock-constant-face . 3))
           ("-?\\([&#][0-9]+\\|\\(0x\\|\\$\\)[0-9a-f]+\\|%[01]+\\)"
            immediate (font-lock-constant-face . 3))
         ))          ))
   
 (defvar forth-use-objects nil   (defvar forth-use-objects nil 
Line 420  INDENT1 and INDENT2 are indentation spec Line 440  INDENT1 and INDENT2 are indentation spec
           "u-do" "?dup-if" "?dup-0=-if" "case" "of" "try" "iferror"            "u-do" "?dup-if" "?dup-0=-if" "case" "of" "try" "iferror"
           "[if]" "[ifdef]" "[ifundef]" "[begin]" "[for]" "[do]" "[?do]")            "[if]" "[ifdef]" "[ifundef]" "[begin]" "[for]" "[do]" "[?do]")
          (0 . 2) (0 . 2))           (0 . 2) (0 . 2))
         ((":" ":noname" "code" "struct" "m:" ":m" "class" "interface")          ((":" ":noname" "code" "abi-code" "struct" "m:" ":m" "class" 
             "interface" "c-library" "c-library-name")
          (0 . 2) (0 . 2) non-immediate)           (0 . 2) (0 . 2) non-immediate)
         ("\\S-+%$" (0 . 2) (0 . 0) non-immediate)          ("\\S-+%$" (0 . 2) (0 . 0) non-immediate)
         ((";" ";m") (-2 . 0) (0 . -2))          ((";" ";m") (-2 . 0) (0 . -2))
Line 429  INDENT1 and INDENT2 are indentation spec Line 450  INDENT1 and INDENT2 are indentation spec
           "[until]" "[again]" "loop")            "[until]" "[again]" "loop")
          (-2 . 0) (0 . -2))           (-2 . 0) (0 . -2))
         (("end-code" "end-class" "end-interface" "end-class-noname"           (("end-code" "end-class" "end-interface" "end-class-noname" 
           "end-interface-noname" "end-struct" "class;")            "end-interface-noname" "end-struct" "class;" "end-c-library")
          (-2 . 0) (0 . -2) non-immediate)           (-2 . 0) (0 . -2) non-immediate)
         (("protected" "public" "how:") (-1 . 1) (0 . 0) non-immediate)          (("protected" "public" "how:") (-1 . 1) (0 . 0) non-immediate)
         (("+loop" "-loop" "until") (-2 . 0) (-2 . 0))          (("+loop" "-loop" "until") (-2 . 0) (-2 . 0))
         (("else" "recover" "restore" "endtry-iferror" "[else]")          (("else" "recover" "restore" "endtry-iferror" "[else]")
          (-2 . 2) (0 . 0))           (-2 . 2) (0 . 0))
         (("does>") (-1 . 1) (0 . 0))          (("does>" ";code" ";abi-code") (-1 . 1) (0 . 0))
         (("while" "[while]") (-2 . 4) (0 . 2))          (("while" "[while]") (-2 . 4) (0 . 2))
         (("repeat" "[repeat]") (-4 . 0) (0 . -4))))          (("repeat" "[repeat]") (-4 . 0) (0 . -4))))
   
Line 529  End:\" construct).") Line 550  End:\" construct).")
   "Parse and bind local variables, set in the contents of the current     "Parse and bind local variables, set in the contents of the current 
  forth-mode buffer. Prepend `forth-local-words' to `forth-words' and    forth-mode buffer. Prepend `forth-local-words' to `forth-words' and 
  `forth-local-indent-words' to `forth-indent-words'."   `forth-local-indent-words' to `forth-indent-words'."
     (put 'forth-local-indent-words 'safe-local-variable 'listp)
     (put 'forth-local-words 'safe-local-variable 'listp)
   (hack-local-variables)    (hack-local-variables)
   (setq forth-words (append forth-local-words forth-words))    (setq forth-words (append forth-local-words forth-words))
   (setq forth-indent-words (append forth-local-indent-words     (setq forth-indent-words (append forth-local-indent-words 
Line 738  End:\" construct).") Line 761  End:\" construct).")
 (defvar forth-defining-words   (defvar forth-defining-words 
   '("VARIABLE" "CONSTANT" "2VARIABLE" "2CONSTANT" "FVARIABLE" "FCONSTANT"    '("VARIABLE" "CONSTANT" "2VARIABLE" "2CONSTANT" "FVARIABLE" "FCONSTANT"
    "USER" "VALUE" "field" "end-struct" "VOCABULARY" "CREATE" ":" "CODE"     "USER" "VALUE" "field" "end-struct" "VOCABULARY" "CREATE" ":" "CODE"
    "DEFER" "ALIAS")     "DEFER" "ALIAS" "interpret/compile:")
   "List of words, that define the following word.    "List of words, that define the following word.
 Used for imenu index generation.")  Used for imenu index generation.")
   
Line 1093  exceeds 64 characters." Line 1116  exceeds 64 characters."
 (define-key forth-mode-map "\C-x\\" 'comment-region)  (define-key forth-mode-map "\C-x\\" 'comment-region)
 (define-key forth-mode-map "\C-x~" 'forth-remove-tracers)  (define-key forth-mode-map "\C-x~" 'forth-remove-tracers)
 (define-key forth-mode-map "\C-x\C-m" 'forth-split)  (define-key forth-mode-map "\C-x\C-m" 'forth-split)
 (define-key forth-mode-map "\e " 'forth-reload)  
 (define-key forth-mode-map "\t" 'forth-indent-command)  (define-key forth-mode-map "\t" 'forth-indent-command)
 (define-key forth-mode-map "\C-m" 'forth-reindent-then-newline-and-indent)  (define-key forth-mode-map "\C-m" 'forth-reindent-then-newline-and-indent)
 (define-key forth-mode-map "\M-q" 'forth-fill-paragraph)  (define-key forth-mode-map "\M-q" 'forth-fill-paragraph)

Removed from v.1.76  
changed lines
  Added in v.1.83


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>