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 `tuareg-type-indent'=0. == `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.