Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time
Tuareg Mode is a thoroughly rewritten derivative of Caml Mode 0.9.x:
First version -
By Xavier Leroy <>
and Jerome Vouillon <>, 1993.
Compilation interface -
By Ian Zimmerman <>, 1996;
Copyright (C) 1996 Ian Zimmerman, all rights reserved.
First Font-Lock and XEmacs support -
By Pierre Boulet <>, 1996.
First OCaml and OLabl version -
By Jacques Garrigue <>, 1996.
New version for OCaml (Objective Caml)
Extension to OCaml (and Labl) syntax (including literals
and preserving compatibility with Camllight syntax) complete
rewritting of Zimmerman's mode, especially comment detection
and indentation, along with major improvement of
indentation capabilities, new Font-Lock and
Hilit19, compatibility over Emacs and XEmacs;
By Albert Cohen <>, 1997.
Tuareg Mode history:
1.00 - January 8 1997 -
First verion of Tuareg
(previously known as Caml-Mode 0.9.2 -> 0.9.8).
1.10 - From March 17 1997 to March 20 1997 -
to First release of Tuareg
1.12 Speed-up and fixes.
1.20 - From March 23 1997 to July 28 1997 -
to Support for symbol fontifying, adaptation of Font-Lock interface,
1.27 Rewritting of a new Sym-Lock extension for Font-Lock (more powerful,
polyvalent, and fitting dynamic customization). Suggestion and first
adaptation by Chrstian Boos <>.
Improved phrase detection. `C-M-h' and `C-c C-e' now detect
both beginning and end of phrases ; `;;' is used, if present.
Improved `tuareg-interactive' mode. Support for Font-Lock
on toplevel inputs. Patchs for many phrase detection bugs.
New option for `=' indentation, `match-string' optimized, and
indentation of `;' sequences accelerated.
1.30 - April 14 1998 -
Major improvement of syntax parsing code (including proper handling
of multi-line strings and speed-up). Strong speed-up of parenthesis
parsing. A few indentation and phrase-related commands bugs corrected.
1.31 - June 8 1998 -
Lot of bugs corrected, new customization (more flexible and usable,
with some examples). Minor Sym-Lock changes, indentation changes in
some cases, simplified installation guidelines.
1.32 - June 26 1998 -
Only with XEmacs: Correct string/comment hiliting.
A few bugs removed, especially in literal/comment detection.
New customization features.
1.33 - November 24 1998 -
New support for OCaml 2.00 syntax (let module X=..., and {r with ...}).
Indentation bug corrected for arrays, records and objects.
1.34 - December 15 1998 -
Bugs corrected in OCaml 2.00 syntax, added new indentation options
for parentheses and = symbols.
1.35 - January 13 1999 -
Major improvement of interactive mode, thanks to contribution
of Michel Quercia. Bug removal in phrase detection and comment
indentation (paragraph and lines).
1.36 - January 22 1999 -
Navigation support for OCaml manual, library, and buffer-dependent
definitions (adapted from original code by Michel Quercia). New
commands, and next-error in toplevel by Claude Marché.
1.37 - May 18 2000 -
Many improvements and extended support for OCaml 3.00 (like label
hiliting). Improved FSF Emacs compatibility thanks to Rémi Vanicat.
Corrected bugs in string/comment recognition (the last ones?).
1.38 - September 19 2000 -
Standard Customization interface, removal of most non-standard
font-lock faces, string/comment hiliting for FSF Emacs
eventually matches XEmacs performances; plus a lot of minor fixes.
1.40 - June 26 2002 -
Major update: FSF Emacs 21 compatibility (lazy Font-Lock support),
new indentation features (e.g., smart comment justification styles),
robust hiliting for declarations, many bugs corrected.
1.41 - December 8 2003 -
Indentation and hiliting features, many intermediate versions
with minor bug fixes, support for caml-types.
1.42 - November 5 2004 -
MetaOCaml support, many bug fixes, major rewrite of hiliting code,
many improvements and bug fixes to the indentation code,
refactoring of some deprecated code (by Stefan Monnier).
1.43 - November 21 2004 -
Improved MetaOCaml support, phrase mark/evaluation fixes,
many improvements to module indentation and marking, removed
aggresive inlining after `=' and fixed related bugs.
1.44 - December 29 2004 -
Major fontification improvements, largely by Stefan Monnier.
Many bug fixes related with the improvements in 1.42 and 1.43.
1.45 - March 28 2005 -
New symbol fontification, compatible with FSF Emacs, by
Stefan Monnier. Initiation of a migration of the syntax cache to
PPSS for comments and string.
1.46 - May 21 2006 -
Integration of more language variants. A future version will
modularize this support, to improve flexibility and minimize
interference risks. Plus various bug fixes and new features.
1.46 - February 2010 - November 2010 -
to Changes by Jane Street Capital, Sam setingold and Christophe
2.04 Troestler. The log of Sam's changes is written below.
2.05 -
Cleanup; removal of ocamlspot.el (bundled with ocamlspot).
Changes made by Sam Steingold
* 2010-02-09
== Many indentation fixes.
== Code cleaned up and updated to the modern Emacs Lisp;
compilation warnings eliminated.
* 2010-03-10
== Treat ">>>" just like ">>=" for indentation purposes.
== `Jane style' indentation of `type' statements now requires
== `until' & `unless' are only special in ls3, not general ocaml.
== Other indentation fixes.
* 2010-04-20 (1.99.2)
== Many indentation fixes.
== Better regression testing.
== Restore reasonable behavior without Jane custom settings.
* 2010-05-03 (2.0)
== Many indentation fixes.
== Prepare the first official release from Jane Street.