[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] externals/caml 087fca8 003/197: Fichier oublie.
[nongnu] externals/caml 087fca8 003/197: Fichier oublie.
Sat, 21 Nov 2020 01:19:26 -0500 (EST)
Author: Xavier Leroy <firstname.lastname@example.org>
Commit: Xavier Leroy <email@example.com>
README | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 114 insertions(+)
diff --git a/README b/README
new file mode 100644
@@ -0,0 +1,114 @@
+The files in this archive define a caml-mode for emacs, for editing
+Objective Caml and Objective Label programs, as well as an
+inferior-caml-mode, to run a toplevel.
+caml-mode supports indentation, compilation and error retrieving,
+sending phrases to the toplevel. Moreover, support for hilite and font
+lock was added.
+This package is based on the original caml-mode for caml-light by
+Xavier Leroy, extended with indentation by Ian Zimmerman. For details
+see README.itz, which is the README from Ian Zimmerman's package.
+To use it, just put the .el files in your path, and add the following
+three lines in your .emacs.
+ (setq auto-mode-alist
+ (cons '("\\.ml[iylp]?$" . caml-mode) auto-mode-alist))
+ (autoload 'caml-mode "caml" "Major mode for editing Caml code." t)
+ (autoload 'run-caml "inf-caml" "Run an inferior Caml process." t)
+I added camldebug.el from the original distribution, since there will
+soon be a debugger for Objective Caml, but I do not know enough about
+To use highlighting capabilities, add ONE of the following two
+lines to your .emacs.
+ (if window-system (require 'caml-hilit))
+ (if window-system (require 'caml-font))
+caml.el and inf-caml.el can be used collectively, but it might be a
+good idea to copy caml-hilit.el or caml-font.el to you own directory,
+and edit it to your taste and colors.
+Main key bindings:
+TAB indent current line
+C-c C-q indent phrase
+C-c C-a switch between interface and implementation
+C-c C-c compile (usually make)
+C-x` goto next error (also mouse button 2 in the compilation log)
+Once you have started caml by M-x run-caml:
+M-C-x send phrase to inferior caml process (also C-c C-e)
+C-c C-r send region to inferior caml process
+For other bindings, see C-h b.
+Changes from the original packages are:
+* support of Objective Caml and Objective Label.
+* an indentation very close to mine, which happens to be the same as
+ Xavier's, since the sources of the Objective Caml compiler do not
+ change if you indent them in this mode.
+Changes from previous versions:
+* many bugs corrected.
+* (partial) compatibility with Caml-Light added.
+ (setq caml-quote-char "`")
+ (setq inferior-caml-program "camllight")
+ Literals will be correctly understood and highlighted. However,
+ indentation rules are still Objective Caml's: this just happens to
+ work well in most cases, but is only intended for occasional use.
+* as many people asked for it, application is now indented. This seems
+ to work well: this time differences in indentation between the
+ compiler's source and this mode are really exceptionnal. On the
+ other hand, you may think that some special cases are strange. No
+* nicer behaviour when sending a phrase/region to the inferior caml
+Some remarks about the style supported:
+Since Objective Caml's syntax is very liberal (more than 100
+shift-reduce conflicts with yacc), automatic indentation is far from
+easy. Moreover, you expect the indentation to be not purely syntactic,
+but also semantic: reflecting the meaning of your program.
+This mode tries to be intelligent. For instance some operators are
+indented differently in the middle and at the end of a line (thanks to
+Ian Zimmerman). Also, we do not indent after if .. then .. else, when
+else is on the same line, to reflect that this idiom is equivalent to
+a return instruction in a more imperative language, or after the in of
+let .. in, since you may see that as an assignment.
+However, you may want to use a different indentation style. This is
+made partly possible by a number of variables at the beginning of
+caml.el. Try to set them. However this only changes the size of
+indentations, not really the look of your program. This is enough to
+disable the two idioms above, but to do anything more you will have to
+edit the code... Enjoy!
+This mode does not force you to put ;; in your program. This means
+that we had to use a heuristic to decide where a phrase stops, to
+speed up the code. A phrase ends when any of the keywords let, type,
+class, module, exception, val, external, appears at the beginning of a
+line. Using the first column in other cases may confuse it.
+Last remark: this mode is O'Labl compatible. This is a very small
+change, but ":" is registered as part of words (to make labels). As a
+result, you should not write a keyword next to it (without space). You
+can disable this by editing caml.el and inf-caml.el.
+Comments and bug reports to
+ Jacques Garrigue <firstname.lastname@example.org>
- [nongnu] branch externals/caml created (now 38ebde1), Stefan Monnier, 2020/11/21
- [nongnu] externals/caml bf4ed0f 001/197: Mode OCaml Garrigue/Zimmerman, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml 087fca8 003/197: Fichier oublie.,
Stefan Monnier <=
- [nongnu] externals/caml 8ef19e2 002/197: Makefile d'installation, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml ad4f8bf 007/197: Nouveau module Marshal dans stdlib, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml 9d045e4 009/197: Corrections de Jacques sur sa version 1.05, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml 78f81bc 004/197: Corrections diverses, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml 6ce04bf 006/197: Donne a ocamldebug le chemin complet du programme a lancer, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml fc4b394 017/197: some changes due to ITZ, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml a0f8f81 008/197: Mise a jour avec la version 1.05 de Jacques Garrigue, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml 6186a9f 013/197: Patch d'Erwan David, Stefan Monnier, 2020/11/21
- [nongnu] externals/caml 98bd08b 011/197: Bug de l'affichage des evenements after., Stefan Monnier, 2020/11/21
- [nongnu] externals/caml e9a1d67 022/197: ITZ patch, Stefan Monnier, 2020/11/21