The F# mode for Emacs is two years old, and has been downloaded more than 1,000 times. Several users have sent me emails and even a few patches. It's now time for an update.

If you haven't tried it yet, here are the main features:

Syntax highlighting.

Indentation. The mode knows where blocks begin and end, and tries to correctly indent your code.

F# Interactive support. You can easily send your code to fsi and get the result.

And here are changes since the last release:

The infinite loop with the indentation of "else" (and some other keywords) is removed! I think that was the painful problem with the F# mode.

The paths to fsi.exe and fsc.exe can now have spaces. This makes the installation on Windows much easier. Thanks to Jens Horstmeier!

When you send an expression to fsi, error messages now display the real location in your source code (instead of "stdin").

Error messages from fsc.exe are now parsed correctly, so that you can use next-error functions (C-x` by default).

Error messages from fsi.exe are also parsed. The interactive buffer now uses compilation-minor-mode to highlights errors.

Improve default key bindings.

Update the graphical menu bar to make it more user-friendly.

Fix coloration issues. In particular, Caml-style comments are correctly handled, even when nested and over multiple lines.

"Old-style backquotes" warning from Emacs 22 is removed.

Fix the eval region function when it ends by a comment. Thanks to Diego Echeverri!

Improved README file and instructions.

Various other fixes and cleanups.

It is important you use a recent version of Emacs, as it fixes a few problems. I recommend you to look at the README file for a complete description of key shortcuts. For instance, you'll learn that Alt + Enter automatically adds the ";;" before sending the expression, in the interactive buffer. Now, get fsharp-mode 0.3!