Initial Commit
[packages] / xemacs-packages / sml-mode / ChangeLog.upstream
1 2001-09-18  Stefan Monnier  <monnier@cs.yale.edu>
2
3         * sml-mode.el (sml-tyvarseq-re): Fix typo.
4
5 2001-07-20  Stefan Monnier  <monnier@cs.yale.edu>
6
7         * sml-mode.el (sml-rightalign-and): New defcustom.
8         (sml-tyvarseq-re): New var.
9         (sml-font-lock-keywords): Use it.
10         (sml-imenu-create-index): Don't get confused by tyvarseq's.
11         (sml-mode-variables): Don't set `comment-column'.
12         (sml-funname-of-and): New function.
13         (sml-electric-pipe): Use it.
14         (sml-find-comment-indent): Try to ignore comment-markers in strings.
15         (sml-calculate-indentation): Handle closing parens specially.
16         (sml-indent-pipe): Recognize the case where `and' defines a datatype.
17         (sml-dangling-sym): Make it work if the symbol is an open-paren.
18         (sml-indent-default): Change the behavior when preceded by `end',
19         although I'm not quite sure why.
20         Understand dangling open-parens.
21         Properly skip *all* subexpressions of lower precedence.
22         Allow use of sml-symbol-indent to outdent lines starting with , or ;.
23         (sml-insert-form): Use preceding-char to avoid bug at bobp.
24
25 2001-07-19  Stefan Monnier  <monnier@cs.yale.edu>
26
27         * sml-proc.el (sml-proc-buffer): Save excursion when calling run-sml.
28
29         * sml-move.el (sml-syntax-prec): Split ; and , from `in' and `with'.
30
31         * sml-mode.texi: Put the entry in `Emacs' rather than `Editors'.
32
33         * sml-mode.spec (BuildArch): Simplify call to `install-info'.
34
35         * sml-defs.el (sml-mode-menu): Add an explicit t for always-active.
36         (sml-symbol-indent): Add entries for , and ; and turn into defcustom.
37
38         * sml-compat.el: Add more stuff.  It might help for Emacs-19.34.
39
40         * makefile.pkg (test): Use elisp files in current dir.
41
42 2000-12-24  Stefan Monnier  <monnier@cs.yale.edu>
43
44         * Makefile (install): Also install .el files.
45         (dist): Don't rely on $CVSROOT.
46
47         * sml-mode.el: Require `skeleton'.
48         (sml-mode): Add the menu for XEmacs.  Make sure @ is a valid skeleton.
49         (sml-comment-indent): Remove.
50         (sml-mode-variables): Don't set comment-indent-function.
51         (sml-def-skeleton): Nop if skeletons aren't available.
52         (skeletons): Use `> _' and `@'.
53         (sml-forms-menu): Don't bother with easy-menu-filter-return crap.
54         (sml-cm-mode-syntax-table, sml-cm-font-lock-keywords): New vars.
55         (sml-cm-mode): Use define-derived-mode rather than define-generic-mode.
56         (sml-lex-font-lock-keywords, sml-lex-font-lock-defaults): New vars.
57         (sml-yacc-font-lock-keywords): Use sml-lex-font-lock-keywords.
58         Refine pattern to recognize the %prec keyword.
59         (sml-yacc-font-lock-defaults): Fix typo.
60
61         * sml-proc.el (inferior-sml-mode): Disable next-error for XEmacs.
62
63         * sml-util.el (defsyntax): Don't forget to eval `doc'.
64
65         * sml-mode.spec: Simplify.
66
67         * sml-defs.el (sml-mode-menu): Remove bogus entry for sml-mode-version.
68
69 2000-10-06  Stefan Monnier  <monnier@cs.yale.edu>
70
71         * sml-mode.el: Make the toplevel closer to usual practice.
72         (sml-imenu-regexp, sml-imenu-create-index): New var and fun.
73         (sml-mode): Use them.
74         (sml-beginning-of-defun): Add `and' as function-leader.
75         (sml-lex-mode): New trivial mode.
76         (sml-yacc-bnf-face, sml-yacc-indent-action, sml-yacc-indent-pipe)
77         (sml-yacc-indent-term, sml-yacc-font-lock-keywords)
78         (sml-yacc-font-lock-defaults): New vars.
79         (sml-yacc-indent-line, sml-yacc-indentation, sml-yacc-mode): New funs.
80
81         * sml-mode.texi: Added yours truly to the list of authors.
82
83         * sml-mode.spec: New file.
84
85         * sml-defs.el (sml-outline-regexp): Slightly improved regexp.
86
87 2000-08-24  Stefan Monnier  <monnier@cs.yale.edu>
88
89         * sml-proc.el (inferior-sml-mode-map): Don't inherit from sml-bindings.
90         Add the binding for C-c C-l explicitly instead.
91         (sml-run): Look in cwd (but only if the command has slashes).
92
93         * sml-mode.el (sml-mode-abbrev-table): Remove (created by
94         define-derived-mode).
95         (sml-mode): Setup add-log's current-defun-function.
96         (sml-indent-line): Never indent to a negative level.
97         (sml-skip-siblings, sml-beginning-of-defun, sml-max-name-components)
98         (sml-current-fun-name): New funs and vars for add-log support.
99         (sml-comment-indent): Simplify.
100         (sml-def-skeleton): Also create the skeleton as an abbrev.
101         (skeletons): New for "struct", "sig", "val", "fn" and "fun".
102         (sml-electric-space): Rewrite to use abbrev's machinery.
103
104         * sml-defs.el (sml-mode-map): Merge with sml-bindings.
105         (sml-bindings): Remove.
106
107 2000-02-22  Stefan Monnier  <monnier@cs.yale.edu>
108
109         * sml-mode.el (sml-find-matching-starter): Use syms instead of a RE.
110         (sml-indent-default): Use symbol membership rather than a regexp.
111         Also, use `sym-indent' instead of (current-column).
112         This fixes a problem with a hanging `structure Foo = (struct|let)'
113         (due to `structure' having a sml-indent-rule, as opposed to `fun').
114         Hopefully it won't introduce other problems.
115         (sml-font-lock-keywords): Match vars `val x : int' also.
116         (sml-electric-pipe): Update to the new `sml-find-matching-starter' and
117         return a sensible default instead of raising an error in case of
118         unexpected situations.
119         (sml-indent-line): Ignore errors and keep the cursor where it is.
120         (sml-calculate-indentation, sml-indent-pipe): Use syms instead of REs.
121
122         * sml-defs.el (sml-starters-re, sml-pipehead-re): Remove.
123
124         * testcases.sml: New file.
125
126         * makefile.pkg (test): New target to run the test suite.
127
128 2000-02-18  Stefan Monnier  <monnier@cs.yale.edu>
129
130         * *.el: Pass through checkdoc and use `eval-when-compile' whenever
131         possible for (require 'cl).
132
133 2000-02-18  Stefan Monnier  <monnier@cs.yale.edu>
134
135         * sml-util.el (make-temp-dir, make-temp-file, temp-file-dir)
136         (delete-temp-dirs): Replaced by the make-temp-file from Emacs-21.
137         (custom-create-map): Add :group arg and allow key to be a list.
138         (define-major-mode): Removed (use define-derived-mode instead).
139         (sml-builtin-nested-comments-flag): New var.
140         (concatq): Remove.
141
142         * sml-proc.el (sml-host-name): New var.
143         (sml-make-file-name): Replaced by `sml-compile-commands'.
144         (sml-config-file): New var.
145         (sml-compile-commands-alist): New var.
146         (inferior-sml-load-hook): Removed.
147         (sml-buffer): Query if the current buffer is not a *sml*.
148         (inferior-sml-mode): Use minor-mode-overriding-map-alist to disable
149         compilation-minor-mode's keybindings.
150         (run-sml): Turn into an alias for sml-run.
151         (sml-run): Query the user for the command.  If prefix is set (or if
152         default value is not null) query for args and host.
153         Use `split-string' rather than our own function.
154         Run cmd on another host if requested and pass it an init file.
155         Pop to the buffer at the end.
156         (sml-args-to-list): Remove.
157         (sml-compile): Look for special files (sml-compile-command-alist) in
158         the current dir (and its parents) to choose a default command.
159         Remember the command for next time in the same buffer.
160         Make the `cd' explicit in the command so the user can change it.
161         (sml-make-error): Fix for when `endline' is absent.
162
163         * sml-mode.el: Pass it through checkdoc.
164         (sml-mode-version): Remove.
165         (sml-load-hook): Remove.
166         (sml-mode-info): Use `info' rather than `Info-goto-node'.
167         (sml-keywords-regexp): Add "o".
168         (sml-syntax-prop-table): Use `defsyntax'.
169         (sml-font-lock-syntactic-keywords): Only use nested comments if supported.
170         (sml-mode): Use `define-derived-mode'.
171         (sml-electric-pipe): `sml-indent-line' -> `indent-according-to-mode'.
172         (sml-indent-line): Use `indent-line-to'.
173         (sml-cm-mode): New mode for CM files.
174
175         * Makefile: Update.
176
177         * sml-mode-startup.el: Remove since it's now auto-generated.
178
179         * sml-defs.el (sml-bindings): Remove left over C-c` binding.
180         (sml-mode-map): Add binding for sml-drag-region (was in sml-proc.el).
181         (sml-mode-syntax-table): Only use nested comments if supported.
182         (sml-mode-menu): Use next-error rather than the old sml-next-error.
183         (sml-pipehead-re): Remove "of".
184
185         * sml-compat.el (set-keymap-parents): Make sure it also works when
186         called with a single keymap rather than a list.
187         (temporary-file-directory): Add a default definition for XEmacs.
188         (make-temp-file): New function.
189
190 1999-08-11  Stefan Monnier  <monnier@cs.yale.edu>
191
192         * release: Version 3.9.3
193
194         * sml-mode.texi: Somewhat update the doc.
195
196 1999-08-09  Stefan Monnier  <monnier@cs.yale.edu>
197
198         * Makefile: Update to the version of pcl-cvs.
199
200         * sml-proc.el: Eliminate some old unused code.
201
202         * sml-defs.el,sml-mode.el,sml-proc.el: Add simple customize support.
203
204 1999-07-07  Stefan Monnier  <monnier@cs.yale.edu>
205
206         * sml-proc.el (sml-update-cursor): Make sure it also works if
207         compile.el is fixed to uses a marker.
208
209         * sml-mode.el (sml-indent): Fix the `fixindent'.
210
211 1999-06-22  Stefan Monnier  <monnier@cs.yale.edu>
212
213         * sml-mode-startup.el: Fix to fulfill autoload.el assumptions.
214
215 1999-06-21  Stefan Monnier  <monnier@cs.yale.edu>
216
217         * sml-defs.el (sml-bindings): Remove bindings for TAB and M-C-\.
218
219 1999-06-19  Stefan Monnier  <monnier@cs.yale.edu>
220
221         * sml-mode.el (sml-font-lock-keywords): Skip type vars in "fun 'a myfn"
222         (sml-calculate-indentation): Add a hack to allow the user to manually
223         override the indentation algorithm with a magic comment.
224
225         * sml-mode-startup.el: Update the autoloads automatically.
226
227 1999-06-19  Stefan Monnier  <monnier@cs.yale.edu>
228
229         * release: 3.9.2
230
231         * sml-proc.el (sml-error-regexp-alist): Fix the pathological
232         font-locking on long lines.
233
234         * sml-move.el (sml-forward-sexp): Slightly improved.
235
236 1999-06-17  Stefan Monnier  <monnier@cs.yale.edu>
237
238         * sml-mode.el (sml-insert-form): Only add a space if needed.
239         (sml-electric-space): New command bound to M-SPC.
240
241         * sml-defs.el (sml-close-paren): Add a second field that specifies when
242         not to delegate.  Only used for `else'.
243
244 1999-06-16  Stefan Monnier  <monnier@cs.yale.edu>
245
246         * sml-move.el (sml-(for|back)ward-sym): Distinguish between
247         operator "=" and syntax for definitions "d=".
248
249         * sml-defs.el (sml-indent-starters, sml-delegate): Simplify.
250         (sml-symbol-indent): Add outdentation for `fn' and generalize it to
251         also work for `of' and `in' and `end'.
252
253         * sml-mode.el (sml-nested-if-indent): Reintroduce as well as the
254         special casing code for it.
255         (sml-indent-relative): Generalize treatment of `of', `in', `end', ...
256         (sml-electric-pipe): Remove the slow behavior and add smarts for the
257         never-used type-variable arguments for function definitions.
258
259 1999-06-15  Stefan Monnier  <monnier@cs.yale.edu>
260
261         * sml-defs.el (sml-mode-menu), sml-mode.el (sml-forms-menu):
262         Make the menu dynamically.
263
264         * sml-mode.el (sml-form-<foo>): Use skeletons.
265         (sml-calculate-indentation): Add `with' indentation.
266
267 1999-06-14  Stefan Monnier  <monnier@cs.yale.edu>
268
269         * sml-move.el (sml-(for|back)ward-sym): Now also return the string
270         if any and take care of the "op" special keyword.
271         (sml-op-prec): Setup an alist for the infix operators.
272
273         * version 3.9.1:  sent to Roland McGrath.
274
275 1999-06-13  Stefan Monnier  <monnier@cs.yale.edu>
276
277         * sml-smlnj.el, sml-mosml.el, sml-poly-ml.el: Remove.
278
279         * sml-proc.el (...): Get rid of sml-next-error by spicing up the
280         interface with compile.el so that intervals can be displayed.
281         `sml-overlay' is kept (and moved from sml-mode to sml-proc where it
282         belongs) but is made redundant in the case of transient-mark-mode.
283
284 1999-06-12  Stefan Monnier  <monnier@cs.yale.edu>
285
286         * sml-proc.el (sml-prompt-regexp): More general regexp to catch mosml,
287         smlnj as well as polyml prompts.
288         (sml-update-cursor, sml-send-command, inferior-sml-mode):
289         Make it work with compile.el's `next-error'.
290         (sml-temp-threshold): Dropped: Always use a temp file.
291
292 1999-06-10  Stefan Monnier  <monnier@cs.yale.edu>
293
294         * sml-move.el (sml-op-prec): Update the list of default infix ops
295         based on sml/nj's source files.
296
297 1999-06-08  Stefan Monnier  <monnier@cs.yale.edu>
298
299         * sml-proc.el (sml-run): Remove dubious code to take care of a
300         supposedly special case in order not to send "" when args=nil.
301
302 1999-06-07  Stefan Monnier  <monnier@cs.yale.edu>
303
304         * sml-mode.el (sml-font-lock-syntactic-keywords): Add syntactic
305         fontification for the '   \"' case (exhibited by lexgen.sml).
306
307 1999-06-07  Stefan Monnier  <monnier@cs.yale.edu>
308
309         * ALL: The new indentation begins to work.  v3_9_0
310
311 1999-05-29  Stefan Monnier  <monnier@cs.yale.edu>
312
313         * sml-defs.el (sml-mode-syntax-table): Add ~ of prefix-syntax.
314
315         * sml-mode.el (sml-find-match-indent): (nilp sml-type-of-indent) is
316         only applied if the `let' is alone at the end of the line.
317         (sml-type-of-indent): Default changed to `nil'.
318
319 1999-05-28  Stefan Monnier  <monnier@cs.yale.edu>
320
321         * sml-mode.el (sml-font-lock-keywords): Change _ and ' back to word
322         syntax for font-locking.
323
324 1999-05-27  Stefan Monnier  <monnier@cs.yale.edu>
325
326         * sml-mode.el (sml-font-lock-syntactic-keywords): Finally got the
327         matching of let...end working.
328         (sml-electric-pipe): Take a fun sexp (symbol) rather than a fun word.
329
330 1998-10-26  Stefan Monnier  <monnier@cs.yale.edu>
331
332         * sml-mode.el (sml-font-lock-syntactic-keywords):
333         Add syntactic-keywords to support nested comments.
334