Get rid of ancient compatibility and small utility file.
[emacs/old-mirror.git] / ChangeLog
blobce1ca45bb289f3382e3695ad1682bcc1e00224d7
1 2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3         Get rid of ancient compatibility and small utility file.
4         * sml-proc.el (inferior-sml-mode-map): Don't use defmap.
5         * sml-move.el (sml-internal-syntax-table): Don't use defsyntax.
6         * sml-mode.el (sml-syntax-prop-table): Don't use defsyntax.
7         (sml-electric-space): `last-command-char' -> `last-command-event'.
8         (sml-defuse-jump-to-def): Don't use goto-line from Elisp.
9         * sml-defs.el (sml-mode-map): Don't use defmap.
10         (sml-mode-syntax-table): Don't use defsyntax.
11         (sml-preproc-alist, sml-builtin-nested-comments-flag):
12         Move from sml-util.el.
13         * sml-compat.el, sml-utils.el: Remove.
14         * makefile.pkg (ELFILES): Update.
16 2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
18         Add SMIE support.
19         * .bzrignore: New file.
20         * makefile.pkg (test): Use sml-mode-startup.
22         * sml-mode.el (sml-use-smie): New config var.
23         (sml-smie-grammar, sml-indent-separator-outdent): New vars.
24         (sml-smie-rules, sml-smie-definitional-equal-p)
25         (sml-smie-non-nested-of-p, sml-smie-datatype-|-p)
26         (sml-smie-forward-token-1, sml-smie-forward-token)
27         (sml-smie-backward-token-1, sml-smie-backward-token): New functions.
28         (sml-mode): Don't set forward-sexp-function.
29         (sml-mode-variables): Set it here instead, and setup SMIE instead
30         if applicable.
32 2010-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
34         * Release version 4.1.
36         * sml-mode.el: Don't setup load-path here any more.
37         * Makefile ($(PACKAGE)-startup.el): Recreate from scratch every time.
38         Setup load-path.
39         (dist): Try to update it to use Svn rather than CVS.
41 2007-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
43         * sml-proc.el (inferior-sml-next-error-hook): Make it match one
44         more format.
46 2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
48         * testcases.sml: Add (old) buggy case from Christopher Dutchyn.
50         * sml-proc.el (inferior-sml-font-lock-keywords): Don't add
51         error-regexps if compile.el already highlights them anyway.
53         * sml-mode.el (sml-font-lock-symbols-alist): Fix char for "not".
55 2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
57         * sml-mode.el (sml-def-skeleton): If possible, only expand for
58         lower-case abbrevs and not inside strings or comments.
59         (sml-mlton-typecheck): Typo.
61         * sml-proc.el (sml-proc-comint-input-filter-function): New function.
62         (inferior-sml-mode): Use it.
63         (sml-update-cursor): Don't forget errors here any more.
65 2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
67         * sml-util.el (defmap, defsyntax): Avoid defconst.
68         (flatten): Remove.
70         * sml-mode.el (sml-calculate-indentation): Avoid previous-line.
71         (sml-keywords-regexp): Avoid the need for `flatten'.
72         (sml-defuse-jump-to-def): Fix typo.
74         * sml-defs.el (sml-syms-re): Don't use `flatten'.
75         (sml-sexp-head-symbols-re, sml-starters-indent-after)
76         (sml-non-nested-of-starter-re): Avoid the need for `flatten'.
78         * sml-proc.el (inferior-sml-next-error-hook): New fun.
79         (inferior-sml-mode): Use it.
81 2007-06-29  Stefan Monnier  <monnier@iro.umontreal.ca>
83         * sml-mode.el (sml-mlton-error-regexp-alist): New var.
84         (sml-mlton-typecheck): Use it.
85         (compilation-error-regexp-alist): Add entries after loading "compile"
86         so that M-x compile works.
88         * sml-proc.el (inferior-sml-mode): Make TAB add a " rather than a space
89         at the end of a file name.
91 2007-06-14  Stefan Monnier  <monnier@iro.umontreal.ca>
93         * sml-mode.el (sml-mode-variables): Set comment-quote-nested instead of
94         comment-nested.  Set comment-end-skip.
95         (sml-first-starter-p): New function.
96         (sml-indent-starter): Use it to fix an indentation bug.
97         (sml-mlton-command, sml-mlton-mainfile): New vars.
98         (sml-mlton-typecheck): New command.
99         (sml-defuse-file): New var.
100         (sml-defuse-def-regexp, sml-defuse-use-regexp-format): New consts.
101         (sml-defuse-file, sml-defuse-symdata-at-point): New functions.
102         (sml-defuse-set-file, sml-defuse-jump-to-def): New commands.
104 2005-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
106         * sml-move.el (sml-find-match-forward): Avoid infinite looping if the
107         construct is not properly closed (yet).
109 2005-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
111         * sml-defs.el (sml-mode-menu): Remove left over obsolete entries.
113         * sml-proc.el (inferior-sml-mode): Preserve the menu-bar of the
114         compilation minor mode, if any.
116 2004-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
118         * Release version 4.0.
120 2004-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
122         * sml-mode.el (sml-font-lock-symbols-alist): Add yet more silly entries.
124 2004-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
126         * sml-mode.el (sml-font-lock-symbols-alist): Add entries for >= and <=.
127         (sml-font-lock-symbols-alist): Add entries for simple type variables.
128         (sml-font-lock-compose-symbol): Add support for non-punctuation syms.
130 2004-11-14  Stefan Monnier  <monnier@iro.umontreal.ca>
132         * sml-move.el (sml-backward-sexp, sml-forward-sexp): Remove unused var.
134         * sml-mode.el (sml-calculate-indentation): Remove unused var.
135         (sml-get-indent): Change first arg's meaning.
136         (sml-get-sym-indent): Adjust call.
137         (sml-forms-menu): Simplify.
138         (sml-font-lock-symbols, sml-font-lock-symbols-alist): New vars.
139         (sml-font-lock-compose-symbol, sml-font-lock-symbols-keywords):
140         New funs.
141         (sml-font-lock-keywords): Use them.
143         * sml-compat.el (temp-directory): Get rid of warning.
145         * Makefile (install_startup): Don't add to load-path any more.
147         * sml-proc.el (sml-make-error): Use match-string.
148         (sml-error-regexp-alist): Merge regexps.
149         (sml-update-cursor): Check sml-temp-file is non-nil.
151 2004-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
153         * sml-proc.el (sml-error-regexp-alist): Use new compile.el features
154         if available.
155         (sml-send-region): Remove unused var `file'.
156         (sml-drag-region): Remove unused function.
157         (sml-update-cursor): Use compilation-fake-loc if available.
158         (compilation-goto-locus): Only advise if necessary.
160         * sml-mode.el: Add self to load-path in sml-mode-startup.el.
161         (sml-def-skeleton): Try to use the new `system' abbrev flag.
163 2004-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
165         * testcases.sml: Add a nasty case that is still wrong.
167         * sml-proc.el (sml-error-regexp-alist): Tune the regexp for sml/nj.
169         * sml-mode.el (sml-mode): Better handle paragraphs in comments.
170         (sml-mode-variables): Clean up paragraph settings.
171         (sml-electric-pipe): Fix a boundary bug.
172         (sml-indent-starter, sml-get-sym-indent, sml-find-matching-starter):
173         Fix indentation algorithm.  Can't remember what it was about.
174         This code is nasty, I just can't understand what's doing what.
175         (completion-ignored-extensions): Add the new .cm directory.
177 2003-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
179         * sml-defs.el (sml-mode-menu): Fix typo.  Use std names.
180         (sml-begin-syms-re): Reduce redundancy.
182 2001-09-18  Stefan Monnier  <monnier@cs.yale.edu>
184         * sml-mode.el (sml-tyvarseq-re): Fix typo.
186 2001-07-20  Stefan Monnier  <monnier@cs.yale.edu>
188         * sml-mode.el (sml-rightalign-and): New defcustom.
189         (sml-tyvarseq-re): New var.
190         (sml-font-lock-keywords): Use it.
191         (sml-imenu-create-index): Don't get confused by tyvarseq's.
192         (sml-mode-variables): Don't set `comment-column'.
193         (sml-funname-of-and): New function.
194         (sml-electric-pipe): Use it.
195         (sml-find-comment-indent): Try to ignore comment-markers in strings.
196         (sml-calculate-indentation): Handle closing parens specially.
197         (sml-indent-pipe): Recognize the case where `and' defines a datatype.
198         (sml-dangling-sym): Make it work if the symbol is an open-paren.
199         (sml-indent-default): Change the behavior when preceded by `end',
200         although I'm not quite sure why.
201         Understand dangling open-parens.
202         Properly skip *all* subexpressions of lower precedence.
203         Allow use of sml-symbol-indent to outdent lines starting with , or ;.
204         (sml-insert-form): Use preceding-char to avoid bug at bobp.
206 2001-07-19  Stefan Monnier  <monnier@cs.yale.edu>
208         * sml-proc.el (sml-proc-buffer): Save excursion when calling run-sml.
210         * sml-move.el (sml-syntax-prec): Split ; and , from `in' and `with'.
212         * sml-mode.texi: Put the entry in `Emacs' rather than `Editors'.
214         * sml-mode.spec (BuildArch): Simplify call to `install-info'.
216         * sml-defs.el (sml-mode-menu): Add an explicit t for always-active.
217         (sml-symbol-indent): Add entries for , and ; and turn into defcustom.
219         * sml-compat.el: Add more stuff.  It might help for Emacs-19.34.
221         * makefile.pkg (test): Use elisp files in current dir.
223 2000-12-24  Stefan Monnier  <monnier@cs.yale.edu>
225         * Release version 3.9.5.
227         * Makefile (install): Also install .el files.
228         (dist): Don't rely on $CVSROOT.
230         * sml-mode.el: Require `skeleton'.
231         (sml-mode): Add the menu for XEmacs.  Make sure @ is a valid skeleton.
232         (sml-comment-indent): Remove.
233         (sml-mode-variables): Don't set comment-indent-function.
234         (sml-def-skeleton): Nop if skeletons aren't available.
235         (skeletons): Use `> _' and `@'.
236         (sml-forms-menu): Don't bother with easy-menu-filter-return crap.
237         (sml-cm-mode-syntax-table, sml-cm-font-lock-keywords): New vars.
238         (sml-cm-mode): Use define-derived-mode rather than define-generic-mode.
239         (sml-lex-font-lock-keywords, sml-lex-font-lock-defaults): New vars.
240         (sml-yacc-font-lock-keywords): Use sml-lex-font-lock-keywords.
241         Refine pattern to recognize the %prec keyword.
242         (sml-yacc-font-lock-defaults): Fix typo.
244         * sml-proc.el (inferior-sml-mode): Disable next-error for XEmacs.
246         * sml-util.el (defsyntax): Don't forget to eval `doc'.
248         * sml-mode.spec: Simplify.
250         * sml-defs.el (sml-mode-menu): Remove bogus entry for sml-mode-version.
252 2000-10-06  Stefan Monnier  <monnier@cs.yale.edu>
254         * sml-mode.el: Make the toplevel closer to usual practice.
255         (sml-imenu-regexp, sml-imenu-create-index): New var and fun.
256         (sml-mode): Use them.
257         (sml-beginning-of-defun): Add `and' as function-leader.
258         (sml-lex-mode): New trivial mode.
259         (sml-yacc-bnf-face, sml-yacc-indent-action, sml-yacc-indent-pipe)
260         (sml-yacc-indent-term, sml-yacc-font-lock-keywords)
261         (sml-yacc-font-lock-defaults): New vars.
262         (sml-yacc-indent-line, sml-yacc-indentation, sml-yacc-mode): New funs.
264         * sml-mode.texi: Added yours truly to the list of authors.
266         * sml-mode.spec: New file.
268         * sml-defs.el (sml-outline-regexp): Slightly improved regexp.
270 2000-08-24  Stefan Monnier  <monnier@cs.yale.edu>
272         * sml-proc.el (inferior-sml-mode-map): Don't inherit from sml-bindings.
273         Add the binding for C-c C-l explicitly instead.
274         (sml-run): Look in cwd (but only if the command has slashes).
276         * sml-mode.el (sml-mode-abbrev-table): Remove (created by
277         define-derived-mode).
278         (sml-mode): Setup add-log's current-defun-function.
279         (sml-indent-line): Never indent to a negative level.
280         (sml-skip-siblings, sml-beginning-of-defun, sml-max-name-components)
281         (sml-current-fun-name): New funs and vars for add-log support.
282         (sml-comment-indent): Simplify.
283         (sml-def-skeleton): Also create the skeleton as an abbrev.
284         (skeletons): New for "struct", "sig", "val", "fn" and "fun".
285         (sml-electric-space): Rewrite to use abbrev's machinery.
287         * sml-defs.el (sml-mode-map): Merge with sml-bindings.
288         (sml-bindings): Remove.
290 2000-02-22  Stefan Monnier  <monnier@cs.yale.edu>
292         * sml-mode.el (sml-find-matching-starter): Use syms instead of a RE.
293         (sml-indent-default): Use symbol membership rather than a regexp.
294         Also, use `sym-indent' instead of (current-column).
295         This fixes a problem with a hanging `structure Foo = (struct|let)'
296         (due to `structure' having a sml-indent-rule, as opposed to `fun').
297         Hopefully it won't introduce other problems.
298         (sml-font-lock-keywords): Match vars `val x : int' also.
299         (sml-electric-pipe): Update to the new `sml-find-matching-starter' and
300         return a sensible default instead of raising an error in case of
301         unexpected situations.
302         (sml-indent-line): Ignore errors and keep the cursor where it is.
303         (sml-calculate-indentation, sml-indent-pipe): Use syms instead of REs.
305         * sml-defs.el (sml-starters-re, sml-pipehead-re): Remove.
307         * testcases.sml: New file.
309         * makefile.pkg (test): New target to run the test suite.
311 2000-02-18  Stefan Monnier  <monnier@cs.yale.edu>
313         * *.el: Pass through checkdoc and use `eval-when-compile' whenever
314         possible for (require 'cl).
316 2000-02-18  Stefan Monnier  <monnier@cs.yale.edu>
318         * sml-util.el (make-temp-dir, make-temp-file, temp-file-dir)
319         (delete-temp-dirs): Replace by the make-temp-file from Emacs-21.
320         (custom-create-map): Add :group arg and allow key to be a list.
321         (define-major-mode): Remove (use define-derived-mode instead).
322         (sml-builtin-nested-comments-flag): New var.
323         (concatq): Remove.
325         * sml-proc.el (sml-host-name): New var.
326         (sml-make-file-name): Replace by `sml-compile-commands'.
327         (sml-config-file): New var.
328         (sml-compile-commands-alist): New var.
329         (inferior-sml-load-hook): Remove.
330         (sml-buffer): Query if the current buffer is not a *sml*.
331         (inferior-sml-mode): Use minor-mode-overriding-map-alist to disable
332         compilation-minor-mode's keybindings.
333         (run-sml): Turn into an alias for sml-run.
334         (sml-run): Query the user for the command.  If prefix is set (or if
335         default value is not null) query for args and host.
336         Use `split-string' rather than our own function.
337         Run cmd on another host if requested and pass it an init file.
338         Pop to the buffer at the end.
339         (sml-args-to-list): Remove.
340         (sml-compile): Look for special files (sml-compile-command-alist) in
341         the current dir (and its parents) to choose a default command.
342         Remember the command for next time in the same buffer.
343         Make the `cd' explicit in the command so the user can change it.
344         (sml-make-error): Fix for when `endline' is absent.
346         * sml-mode.el: Pass it through checkdoc.
347         (sml-mode-version): Remove.
348         (sml-load-hook): Remove.
349         (sml-mode-info): Use `info' rather than `Info-goto-node'.
350         (sml-keywords-regexp): Add "o".
351         (sml-syntax-prop-table): Use `defsyntax'.
352         (sml-font-lock-syntactic-keywords): Only use nested comments if supported.
353         (sml-mode): Use `define-derived-mode'.
354         (sml-electric-pipe): `sml-indent-line' -> `indent-according-to-mode'.
355         (sml-indent-line): Use `indent-line-to'.
356         (sml-cm-mode): New mode for CM files.
358         * Makefile: Update.
360         * sml-mode-startup.el: Remove since it's now auto-generated.
362         * sml-defs.el (sml-bindings): Remove left over C-c` binding.
363         (sml-mode-map): Add binding for sml-drag-region (was in sml-proc.el).
364         (sml-mode-syntax-table): Only use nested comments if supported.
365         (sml-mode-menu): Use next-error rather than the old sml-next-error.
366         (sml-pipehead-re): Remove "of".
368         * sml-compat.el (set-keymap-parents): Make sure it also works when
369         called with a single keymap rather than a list.
370         (temporary-file-directory): Add a default definition for XEmacs.
371         (make-temp-file): New function.
373 1999-08-11  Stefan Monnier  <monnier@cs.yale.edu>
375         * Release version 3.9.3.
377         * sml-mode.texi: Somewhat update the doc.
379 1999-08-09  Stefan Monnier  <monnier@cs.yale.edu>
381         * Makefile: Update to the version of pcl-cvs.
383         * sml-proc.el: Eliminate some old unused code.
385         * sml-defs.el,sml-mode.el,sml-proc.el: Add simple customize support.
387 1999-07-07  Stefan Monnier  <monnier@cs.yale.edu>
389         * sml-proc.el (sml-update-cursor): Make sure it also works if
390         compile.el is fixed to uses a marker.
392         * sml-mode.el (sml-indent): Fix the `fixindent'.
394 1999-06-22  Stefan Monnier  <monnier@cs.yale.edu>
396         * sml-mode-startup.el: Fix to fulfill autoload.el assumptions.
398 1999-06-21  Stefan Monnier  <monnier@cs.yale.edu>
400         * sml-defs.el (sml-bindings): Remove bindings for TAB and M-C-\.
402 1999-06-19  Stefan Monnier  <monnier@cs.yale.edu>
404         * sml-mode.el (sml-font-lock-keywords): Skip type vars in "fun 'a myfn"
405         (sml-calculate-indentation): Add a hack to allow the user to manually
406         override the indentation algorithm with a magic comment.
408         * sml-mode-startup.el: Update the autoloads automatically.
410 1999-06-19  Stefan Monnier  <monnier@cs.yale.edu>
412         * Release version 3.9.2
414         * sml-proc.el (sml-error-regexp-alist): Fix the pathological
415         font-locking on long lines.
417         * sml-move.el (sml-forward-sexp): Slightly improved.
419 1999-06-17  Stefan Monnier  <monnier@cs.yale.edu>
421         * sml-mode.el (sml-insert-form): Only add a space if needed.
422         (sml-electric-space): New command bound to M-SPC.
424         * sml-defs.el (sml-close-paren): Add a second field that specifies when
425         not to delegate.  Only used for `else'.
427 1999-06-16  Stefan Monnier  <monnier@cs.yale.edu>
429         * sml-move.el (sml-(for|back)ward-sym): Distinguish between
430         operator "=" and syntax for definitions "d=".
432         * sml-defs.el (sml-indent-starters, sml-delegate): Simplify.
433         (sml-symbol-indent): Add outdentation for `fn' and generalize it to
434         also work for `of' and `in' and `end'.
436         * sml-mode.el (sml-nested-if-indent): Reintroduce as well as the
437         special casing code for it.
438         (sml-indent-relative): Generalize treatment of `of', `in', `end', ...
439         (sml-electric-pipe): Remove the slow behavior and add smarts for the
440         never-used type-variable arguments for function definitions.
442 1999-06-15  Stefan Monnier  <monnier@cs.yale.edu>
444         * sml-defs.el (sml-mode-menu), sml-mode.el (sml-forms-menu):
445         Make the menu dynamically.
447         * sml-mode.el (sml-form-<foo>): Use skeletons.
448         (sml-calculate-indentation): Add `with' indentation.
450 1999-06-14  Stefan Monnier  <monnier@cs.yale.edu>
452         * sml-move.el (sml-(for|back)ward-sym): Now also return the string
453         if any and take care of the "op" special keyword.
454         (sml-op-prec): Setup an alist for the infix operators.
456         * version 3.9.1:  sent to Roland McGrath.
458 1999-06-13  Stefan Monnier  <monnier@cs.yale.edu>
460         * sml-smlnj.el, sml-mosml.el, sml-poly-ml.el: Remove.
462         * sml-proc.el (...): Get rid of sml-next-error by spicing up the
463         interface with compile.el so that intervals can be displayed.
464         `sml-overlay' is kept (and moved from sml-mode to sml-proc where it
465         belongs) but is made redundant in the case of transient-mark-mode.
467 1999-06-12  Stefan Monnier  <monnier@cs.yale.edu>
469         * sml-proc.el (sml-prompt-regexp): More general regexp to catch mosml,
470         smlnj as well as polyml prompts.
471         (sml-update-cursor, sml-send-command, inferior-sml-mode):
472         Make it work with compile.el's `next-error'.
473         (sml-temp-threshold): Drop: always use a temp file.
475 1999-06-10  Stefan Monnier  <monnier@cs.yale.edu>
477         * sml-move.el (sml-op-prec): Update the list of default infix ops
478         based on sml/nj's source files.
480 1999-06-08  Stefan Monnier  <monnier@cs.yale.edu>
482         * sml-proc.el (sml-run): Remove dubious code to take care of a
483         supposedly special case in order not to send "" when args=nil.
485 1999-06-07  Stefan Monnier  <monnier@cs.yale.edu>
487         * sml-mode.el (sml-font-lock-syntactic-keywords): Add syntactic
488         fontification for the '   \"' case (exhibited by lexgen.sml).
490 1999-06-07  Stefan Monnier  <monnier@cs.yale.edu>
492         * ALL: The new indentation begins to work.  v3_9_0
494 1999-05-29  Stefan Monnier  <monnier@cs.yale.edu>
496         * sml-defs.el (sml-mode-syntax-table): Add ~ of prefix-syntax.
498         * sml-mode.el (sml-find-match-indent): (nilp sml-type-of-indent) is
499         only applied if the `let' is alone at the end of the line.
500         (sml-type-of-indent): Default changed to `nil'.
502 1999-05-28  Stefan Monnier  <monnier@cs.yale.edu>
504         * sml-mode.el (sml-font-lock-keywords): Change _ and ' back to word
505         syntax for font-locking.
507 1999-05-27  Stefan Monnier  <monnier@cs.yale.edu>
509         * sml-mode.el (sml-font-lock-syntactic-keywords): Finally got the
510         matching of let...end working.
511         (sml-electric-pipe): Take a fun sexp (symbol) rather than a fun word.
513 1998-10-26  Stefan Monnier  <monnier@cs.yale.edu>
515         * sml-mode.el (sml-font-lock-syntactic-keywords):
516         Add syntactic-keywords to support nested comments.