--- gforth/gforth.el 2010/07/04 10:08:40 1.78 +++ gforth/gforth.el 2010/09/04 10:15:57 1.80 @@ -241,7 +241,7 @@ PARSED-TYPE specifies what kind of text immediate (font-lock-keyword-face . 1)) (("does>") compile-only (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") non-immediate (font-lock-keyword-face . 1) "[\n\t ]" t string (font-lock-string-face . 1)) @@ -315,7 +315,19 @@ PARSED-TYPE specifies what kind of text "[ \t\n]" t name (font-lock-function-name-face . 3)) (("end-struct") non-immediate (font-lock-keyword-face . 2) "[ \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]*\\)" immediate (font-lock-constant-face . 3)) ("-?\\([&#][0-9]+\\|\\(0x\\|\\$\\)[0-9a-f]+\\|%[01]+\\)" @@ -428,7 +440,7 @@ INDENT1 and INDENT2 are indentation spec "[if]" "[ifdef]" "[ifundef]" "[begin]" "[for]" "[do]" "[?do]") (0 . 2) (0 . 2)) ((":" ":noname" "code" "abi-code" "struct" "m:" ":m" "class" - "interface") + "interface" "c-library" "c-library-name") (0 . 2) (0 . 2) non-immediate) ("\\S-+%$" (0 . 2) (0 . 0) non-immediate) ((";" ";m") (-2 . 0) (0 . -2)) @@ -437,13 +449,13 @@ INDENT1 and INDENT2 are indentation spec "[until]" "[again]" "loop") (-2 . 0) (0 . -2)) (("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) (("protected" "public" "how:") (-1 . 1) (0 . 0) non-immediate) (("+loop" "-loop" "until") (-2 . 0) (-2 . 0)) (("else" "recover" "restore" "endtry-iferror" "[else]") (-2 . 2) (0 . 0)) - (("does>") (-1 . 1) (0 . 0)) + (("does>" ";code" ";abi-code") (-1 . 1) (0 . 0)) (("while" "[while]") (-2 . 4) (0 . 2)) (("repeat" "[repeat]") (-4 . 0) (0 . -4))))