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