Minor edits.
[emacs/old-mirror.git] / ChangeLog
blob2ec037cd14993c1ff7f6e9c5589de31bc47cf7bd
1 2010-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
3         * Release version 4.1.
5         * sml-mode.el: Don't setup load-path here any more.
6         * Makefile ($(PACKAGE)-startup.el): Recreate from scratch every time.
7         Setup load-path.
8         (dist): Try to update it to use Svn rather than CVS.
10 2007-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12         * sml-proc.el (inferior-sml-next-error-hook): Make it match one
13         more format.
15 2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
17         * testcases.sml: Add (old) buggy case from Christopher Dutchyn.
19         * sml-proc.el (inferior-sml-font-lock-keywords): Don't add
20         error-regexps if compile.el already highlights them anyway.
22         * sml-mode.el (sml-font-lock-symbols-alist): Fix char for "not".
24 2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
26         * sml-mode.el (sml-def-skeleton): If possible, only expand for
27         lower-case abbrevs and not inside strings or comments.
28         (sml-mlton-typecheck): Typo.
30         * sml-proc.el (sml-proc-comint-input-filter-function): New function.
31         (inferior-sml-mode): Use it.
32         (sml-update-cursor): Don't forget errors here any more.
34 2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
36         * sml-util.el (defmap, defsyntax): Avoid defconst.
37         (flatten): Remove.
39         * sml-mode.el (sml-calculate-indentation): Avoid previous-line.
40         (sml-keywords-regexp): Avoid the need for `flatten'.
41         (sml-defuse-jump-to-def): Fix typo.
43         * sml-defs.el (sml-syms-re): Don't use `flatten'.
44         (sml-sexp-head-symbols-re, sml-starters-indent-after)
45         (sml-non-nested-of-starter-re): Avoid the need for `flatten'.
47         * sml-proc.el (inferior-sml-next-error-hook): New fun.
48         (inferior-sml-mode): Use it.
50 2007-06-29  Stefan Monnier  <monnier@iro.umontreal.ca>
52         * sml-mode.el (sml-mlton-error-regexp-alist): New var.
53         (sml-mlton-typecheck): Use it.
54         (compilation-error-regexp-alist): Add entries after loading "compile"
55         so that M-x compile works.
57         * sml-proc.el (inferior-sml-mode): Make TAB add a " rather than a space
58         at the end of a file name.
60 2007-06-14  Stefan Monnier  <monnier@iro.umontreal.ca>
62         * sml-mode.el (sml-mode-variables): Set comment-quote-nested instead of
63         comment-nested.  Set comment-end-skip.
64         (sml-first-starter-p): New function.
65         (sml-indent-starter): Use it to fix an indentation bug.
66         (sml-mlton-command, sml-mlton-mainfile): New vars.
67         (sml-mlton-typecheck): New command.
68         (sml-defuse-file): New var.
69         (sml-defuse-def-regexp, sml-defuse-use-regexp-format): New consts.
70         (sml-defuse-file, sml-defuse-symdata-at-point): New functions.
71         (sml-defuse-set-file, sml-defuse-jump-to-def): New commands.
73 2005-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
75         * sml-move.el (sml-find-match-forward): Avoid infinite looping if the
76         construct is not properly closed (yet).
78 2005-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
80         * sml-defs.el (sml-mode-menu): Remove left over obsolete entries.
82         * sml-proc.el (inferior-sml-mode): Preserve the menu-bar of the
83         compilation minor mode, if any.
85 2004-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
87         * Release version 4.0.
89 2004-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
91         * sml-mode.el (sml-font-lock-symbols-alist): Add yet more silly entries.
93 2004-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
95         * sml-mode.el (sml-font-lock-symbols-alist): Add entries for >= and <=.
96         (sml-font-lock-symbols-alist): Add entries for simple type variables.
97         (sml-font-lock-compose-symbol): Add support for non-punctuation syms.
99 2004-11-14  Stefan Monnier  <monnier@iro.umontreal.ca>
101         * sml-move.el (sml-backward-sexp, sml-forward-sexp): Remove unused var.
103         * sml-mode.el (sml-calculate-indentation): Remove unused var.
104         (sml-get-indent): Change first arg's meaning.
105         (sml-get-sym-indent): Adjust call.
106         (sml-forms-menu): Simplify.
107         (sml-font-lock-symbols, sml-font-lock-symbols-alist): New vars.
108         (sml-font-lock-compose-symbol, sml-font-lock-symbols-keywords):
109         New funs.
110         (sml-font-lock-keywords): Use them.
112         * sml-compat.el (temp-directory): Get rid of warning.
114         * Makefile (install_startup): Don't add to load-path any more.
116         * sml-proc.el (sml-make-error): Use match-string.
117         (sml-error-regexp-alist): Merge regexps.
118         (sml-update-cursor): Check sml-temp-file is non-nil.
120 2004-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
122         * sml-proc.el (sml-error-regexp-alist): Use new compile.el features
123         if available.
124         (sml-send-region): Remove unused var `file'.
125         (sml-drag-region): Remove unused function.
126         (sml-update-cursor): Use compilation-fake-loc if available.
127         (compilation-goto-locus): Only advise if necessary.
129         * sml-mode.el: Add self to load-path in sml-mode-startup.el.
130         (sml-def-skeleton): Try to use the new `system' abbrev flag.
132 2004-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
134         * testcases.sml: Add a nasty case that is still wrong.
136         * sml-proc.el (sml-error-regexp-alist): Tune the regexp for sml/nj.
138         * sml-mode.el (sml-mode): Better handle paragraphs in comments.
139         (sml-mode-variables): Clean up paragraph settings.
140         (sml-electric-pipe): Fix a boundary bug.
141         (sml-indent-starter, sml-get-sym-indent, sml-find-matching-starter):
142         Fix indentation algorithm.  Can't remember what it was about.
143         This code is nasty, I just can't understand what's doing what.
144         (completion-ignored-extensions): Add the new .cm directory.
146 2003-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
148         * sml-defs.el (sml-mode-menu): Fix typo.  Use std names.
149         (sml-begin-syms-re): Reduce redundancy.
151 2001-09-18  Stefan Monnier  <monnier@cs.yale.edu>
153         * sml-mode.el (sml-tyvarseq-re): Fix typo.
155 2001-07-20  Stefan Monnier  <monnier@cs.yale.edu>
157         * sml-mode.el (sml-rightalign-and): New defcustom.
158         (sml-tyvarseq-re): New var.
159         (sml-font-lock-keywords): Use it.
160         (sml-imenu-create-index): Don't get confused by tyvarseq's.
161         (sml-mode-variables): Don't set `comment-column'.
162         (sml-funname-of-and): New function.
163         (sml-electric-pipe): Use it.
164         (sml-find-comment-indent): Try to ignore comment-markers in strings.
165         (sml-calculate-indentation): Handle closing parens specially.
166         (sml-indent-pipe): Recognize the case where `and' defines a datatype.
167         (sml-dangling-sym): Make it work if the symbol is an open-paren.
168         (sml-indent-default): Change the behavior when preceded by `end',
169         although I'm not quite sure why.
170         Understand dangling open-parens.
171         Properly skip *all* subexpressions of lower precedence.
172         Allow use of sml-symbol-indent to outdent lines starting with , or ;.
173         (sml-insert-form): Use preceding-char to avoid bug at bobp.
175 2001-07-19  Stefan Monnier  <monnier@cs.yale.edu>
177         * sml-proc.el (sml-proc-buffer): Save excursion when calling run-sml.
179         * sml-move.el (sml-syntax-prec): Split ; and , from `in' and `with'.
181         * sml-mode.texi: Put the entry in `Emacs' rather than `Editors'.
183         * sml-mode.spec (BuildArch): Simplify call to `install-info'.
185         * sml-defs.el (sml-mode-menu): Add an explicit t for always-active.
186         (sml-symbol-indent): Add entries for , and ; and turn into defcustom.
188         * sml-compat.el: Add more stuff.  It might help for Emacs-19.34.
190         * makefile.pkg (test): Use elisp files in current dir.
192 2000-12-24  Stefan Monnier  <monnier@cs.yale.edu>
194         * Release version 3.9.5.
196         * Makefile (install): Also install .el files.
197         (dist): Don't rely on $CVSROOT.
199         * sml-mode.el: Require `skeleton'.
200         (sml-mode): Add the menu for XEmacs.  Make sure @ is a valid skeleton.
201         (sml-comment-indent): Remove.
202         (sml-mode-variables): Don't set comment-indent-function.
203         (sml-def-skeleton): Nop if skeletons aren't available.
204         (skeletons): Use `> _' and `@'.
205         (sml-forms-menu): Don't bother with easy-menu-filter-return crap.
206         (sml-cm-mode-syntax-table, sml-cm-font-lock-keywords): New vars.
207         (sml-cm-mode): Use define-derived-mode rather than define-generic-mode.
208         (sml-lex-font-lock-keywords, sml-lex-font-lock-defaults): New vars.
209         (sml-yacc-font-lock-keywords): Use sml-lex-font-lock-keywords.
210         Refine pattern to recognize the %prec keyword.
211         (sml-yacc-font-lock-defaults): Fix typo.
213         * sml-proc.el (inferior-sml-mode): Disable next-error for XEmacs.
215         * sml-util.el (defsyntax): Don't forget to eval `doc'.
217         * sml-mode.spec: Simplify.
219         * sml-defs.el (sml-mode-menu): Remove bogus entry for sml-mode-version.
221 2000-10-06  Stefan Monnier  <monnier@cs.yale.edu>
223         * sml-mode.el: Make the toplevel closer to usual practice.
224         (sml-imenu-regexp, sml-imenu-create-index): New var and fun.
225         (sml-mode): Use them.
226         (sml-beginning-of-defun): Add `and' as function-leader.
227         (sml-lex-mode): New trivial mode.
228         (sml-yacc-bnf-face, sml-yacc-indent-action, sml-yacc-indent-pipe)
229         (sml-yacc-indent-term, sml-yacc-font-lock-keywords)
230         (sml-yacc-font-lock-defaults): New vars.
231         (sml-yacc-indent-line, sml-yacc-indentation, sml-yacc-mode): New funs.
233         * sml-mode.texi: Added yours truly to the list of authors.
235         * sml-mode.spec: New file.
237         * sml-defs.el (sml-outline-regexp): Slightly improved regexp.
239 2000-08-24  Stefan Monnier  <monnier@cs.yale.edu>
241         * sml-proc.el (inferior-sml-mode-map): Don't inherit from sml-bindings.
242         Add the binding for C-c C-l explicitly instead.
243         (sml-run): Look in cwd (but only if the command has slashes).
245         * sml-mode.el (sml-mode-abbrev-table): Remove (created by
246         define-derived-mode).
247         (sml-mode): Setup add-log's current-defun-function.
248         (sml-indent-line): Never indent to a negative level.
249         (sml-skip-siblings, sml-beginning-of-defun, sml-max-name-components)
250         (sml-current-fun-name): New funs and vars for add-log support.
251         (sml-comment-indent): Simplify.
252         (sml-def-skeleton): Also create the skeleton as an abbrev.
253         (skeletons): New for "struct", "sig", "val", "fn" and "fun".
254         (sml-electric-space): Rewrite to use abbrev's machinery.
256         * sml-defs.el (sml-mode-map): Merge with sml-bindings.
257         (sml-bindings): Remove.
259 2000-02-22  Stefan Monnier  <monnier@cs.yale.edu>
261         * sml-mode.el (sml-find-matching-starter): Use syms instead of a RE.
262         (sml-indent-default): Use symbol membership rather than a regexp.
263         Also, use `sym-indent' instead of (current-column).
264         This fixes a problem with a hanging `structure Foo = (struct|let)'
265         (due to `structure' having a sml-indent-rule, as opposed to `fun').
266         Hopefully it won't introduce other problems.
267         (sml-font-lock-keywords): Match vars `val x : int' also.
268         (sml-electric-pipe): Update to the new `sml-find-matching-starter' and
269         return a sensible default instead of raising an error in case of
270         unexpected situations.
271         (sml-indent-line): Ignore errors and keep the cursor where it is.
272         (sml-calculate-indentation, sml-indent-pipe): Use syms instead of REs.
274         * sml-defs.el (sml-starters-re, sml-pipehead-re): Remove.
276         * testcases.sml: New file.
278         * makefile.pkg (test): New target to run the test suite.
280 2000-02-18  Stefan Monnier  <monnier@cs.yale.edu>
282         * *.el: Pass through checkdoc and use `eval-when-compile' whenever
283         possible for (require 'cl).
285 2000-02-18  Stefan Monnier  <monnier@cs.yale.edu>
287         * sml-util.el (make-temp-dir, make-temp-file, temp-file-dir)
288         (delete-temp-dirs): Replace by the make-temp-file from Emacs-21.
289         (custom-create-map): Add :group arg and allow key to be a list.
290         (define-major-mode): Remove (use define-derived-mode instead).
291         (sml-builtin-nested-comments-flag): New var.
292         (concatq): Remove.
294         * sml-proc.el (sml-host-name): New var.
295         (sml-make-file-name): Replace by `sml-compile-commands'.
296         (sml-config-file): New var.
297         (sml-compile-commands-alist): New var.
298         (inferior-sml-load-hook): Remove.
299         (sml-buffer): Query if the current buffer is not a *sml*.
300         (inferior-sml-mode): Use minor-mode-overriding-map-alist to disable
301         compilation-minor-mode's keybindings.
302         (run-sml): Turn into an alias for sml-run.
303         (sml-run): Query the user for the command.  If prefix is set (or if
304         default value is not null) query for args and host.
305         Use `split-string' rather than our own function.
306         Run cmd on another host if requested and pass it an init file.
307         Pop to the buffer at the end.
308         (sml-args-to-list): Remove.
309         (sml-compile): Look for special files (sml-compile-command-alist) in
310         the current dir (and its parents) to choose a default command.
311         Remember the command for next time in the same buffer.
312         Make the `cd' explicit in the command so the user can change it.
313         (sml-make-error): Fix for when `endline' is absent.
315         * sml-mode.el: Pass it through checkdoc.
316         (sml-mode-version): Remove.
317         (sml-load-hook): Remove.
318         (sml-mode-info): Use `info' rather than `Info-goto-node'.
319         (sml-keywords-regexp): Add "o".
320         (sml-syntax-prop-table): Use `defsyntax'.
321         (sml-font-lock-syntactic-keywords): Only use nested comments if supported.
322         (sml-mode): Use `define-derived-mode'.
323         (sml-electric-pipe): `sml-indent-line' -> `indent-according-to-mode'.
324         (sml-indent-line): Use `indent-line-to'.
325         (sml-cm-mode): New mode for CM files.
327         * Makefile: Update.
329         * sml-mode-startup.el: Remove since it's now auto-generated.
331         * sml-defs.el (sml-bindings): Remove left over C-c` binding.
332         (sml-mode-map): Add binding for sml-drag-region (was in sml-proc.el).
333         (sml-mode-syntax-table): Only use nested comments if supported.
334         (sml-mode-menu): Use next-error rather than the old sml-next-error.
335         (sml-pipehead-re): Remove "of".
337         * sml-compat.el (set-keymap-parents): Make sure it also works when
338         called with a single keymap rather than a list.
339         (temporary-file-directory): Add a default definition for XEmacs.
340         (make-temp-file): New function.
342 1999-08-11  Stefan Monnier  <monnier@cs.yale.edu>
344         * Release version 3.9.3.
346         * sml-mode.texi: Somewhat update the doc.
348 1999-08-09  Stefan Monnier  <monnier@cs.yale.edu>
350         * Makefile: Update to the version of pcl-cvs.
352         * sml-proc.el: Eliminate some old unused code.
354         * sml-defs.el,sml-mode.el,sml-proc.el: Add simple customize support.
356 1999-07-07  Stefan Monnier  <monnier@cs.yale.edu>
358         * sml-proc.el (sml-update-cursor): Make sure it also works if
359         compile.el is fixed to uses a marker.
361         * sml-mode.el (sml-indent): Fix the `fixindent'.
363 1999-06-22  Stefan Monnier  <monnier@cs.yale.edu>
365         * sml-mode-startup.el: Fix to fulfill autoload.el assumptions.
367 1999-06-21  Stefan Monnier  <monnier@cs.yale.edu>
369         * sml-defs.el (sml-bindings): Remove bindings for TAB and M-C-\.
371 1999-06-19  Stefan Monnier  <monnier@cs.yale.edu>
373         * sml-mode.el (sml-font-lock-keywords): Skip type vars in "fun 'a myfn"
374         (sml-calculate-indentation): Add a hack to allow the user to manually
375         override the indentation algorithm with a magic comment.
377         * sml-mode-startup.el: Update the autoloads automatically.
379 1999-06-19  Stefan Monnier  <monnier@cs.yale.edu>
381         * Release version 3.9.2
383         * sml-proc.el (sml-error-regexp-alist): Fix the pathological
384         font-locking on long lines.
386         * sml-move.el (sml-forward-sexp): Slightly improved.
388 1999-06-17  Stefan Monnier  <monnier@cs.yale.edu>
390         * sml-mode.el (sml-insert-form): Only add a space if needed.
391         (sml-electric-space): New command bound to M-SPC.
393         * sml-defs.el (sml-close-paren): Add a second field that specifies when
394         not to delegate.  Only used for `else'.
396 1999-06-16  Stefan Monnier  <monnier@cs.yale.edu>
398         * sml-move.el (sml-(for|back)ward-sym): Distinguish between
399         operator "=" and syntax for definitions "d=".
401         * sml-defs.el (sml-indent-starters, sml-delegate): Simplify.
402         (sml-symbol-indent): Add outdentation for `fn' and generalize it to
403         also work for `of' and `in' and `end'.
405         * sml-mode.el (sml-nested-if-indent): Reintroduce as well as the
406         special casing code for it.
407         (sml-indent-relative): Generalize treatment of `of', `in', `end', ...
408         (sml-electric-pipe): Remove the slow behavior and add smarts for the
409         never-used type-variable arguments for function definitions.
411 1999-06-15  Stefan Monnier  <monnier@cs.yale.edu>
413         * sml-defs.el (sml-mode-menu), sml-mode.el (sml-forms-menu):
414         Make the menu dynamically.
416         * sml-mode.el (sml-form-<foo>): Use skeletons.
417         (sml-calculate-indentation): Add `with' indentation.
419 1999-06-14  Stefan Monnier  <monnier@cs.yale.edu>
421         * sml-move.el (sml-(for|back)ward-sym): Now also return the string
422         if any and take care of the "op" special keyword.
423         (sml-op-prec): Setup an alist for the infix operators.
425         * version 3.9.1:  sent to Roland McGrath.
427 1999-06-13  Stefan Monnier  <monnier@cs.yale.edu>
429         * sml-smlnj.el, sml-mosml.el, sml-poly-ml.el: Remove.
431         * sml-proc.el (...): Get rid of sml-next-error by spicing up the
432         interface with compile.el so that intervals can be displayed.
433         `sml-overlay' is kept (and moved from sml-mode to sml-proc where it
434         belongs) but is made redundant in the case of transient-mark-mode.
436 1999-06-12  Stefan Monnier  <monnier@cs.yale.edu>
438         * sml-proc.el (sml-prompt-regexp): More general regexp to catch mosml,
439         smlnj as well as polyml prompts.
440         (sml-update-cursor, sml-send-command, inferior-sml-mode):
441         Make it work with compile.el's `next-error'.
442         (sml-temp-threshold): Drop: always use a temp file.
444 1999-06-10  Stefan Monnier  <monnier@cs.yale.edu>
446         * sml-move.el (sml-op-prec): Update the list of default infix ops
447         based on sml/nj's source files.
449 1999-06-08  Stefan Monnier  <monnier@cs.yale.edu>
451         * sml-proc.el (sml-run): Remove dubious code to take care of a
452         supposedly special case in order not to send "" when args=nil.
454 1999-06-07  Stefan Monnier  <monnier@cs.yale.edu>
456         * sml-mode.el (sml-font-lock-syntactic-keywords): Add syntactic
457         fontification for the '   \"' case (exhibited by lexgen.sml).
459 1999-06-07  Stefan Monnier  <monnier@cs.yale.edu>
461         * ALL: The new indentation begins to work.  v3_9_0
463 1999-05-29  Stefan Monnier  <monnier@cs.yale.edu>
465         * sml-defs.el (sml-mode-syntax-table): Add ~ of prefix-syntax.
467         * sml-mode.el (sml-find-match-indent): (nilp sml-type-of-indent) is
468         only applied if the `let' is alone at the end of the line.
469         (sml-type-of-indent): Default changed to `nil'.
471 1999-05-28  Stefan Monnier  <monnier@cs.yale.edu>
473         * sml-mode.el (sml-font-lock-keywords): Change _ and ' back to word
474         syntax for font-locking.
476 1999-05-27  Stefan Monnier  <monnier@cs.yale.edu>
478         * sml-mode.el (sml-font-lock-syntactic-keywords): Finally got the
479         matching of let...end working.
480         (sml-electric-pipe): Take a fun sexp (symbol) rather than a fun word.
482 1998-10-26  Stefan Monnier  <monnier@cs.yale.edu>
484         * sml-mode.el (sml-font-lock-syntactic-keywords):
485         Add syntactic-keywords to support nested comments.