monnier [Thu, 24 Aug 2000 19:35:39 +0000 (19:35 +0000)]
* sml-proc.el (inferior-sml-mode-map): Don't inherit from sml-bindings.
Add the binding for C-c C-l explicitly instead.
(sml-run): Look in cwd (but only if the command has slashes).
* sml-mode.el (sml-mode-abbrev-table): Remove (created by
define-derived-mode).
(sml-mode): Setup add-log's current-defun-function.
(sml-indent-line): Never indent to a negative level.
(sml-skip-siblings, sml-beginning-of-defun, sml-max-name-components)
(sml-current-fun-name): New funs and vars for add-log support.
(sml-comment-indent): Simplify.
(sml-def-skeleton): Also create the skeleton as an abbrev.
(skeletons): New for "struct", "sig", "val", "fn" and "fun".
(sml-electric-space): Rewrite to use abbrev's machinery.
* sml-defs.el (sml-mode-map): merge with sml-bindings.
(sml-bindings): Remove.
monnier [Tue, 22 Feb 2000 22:56:38 +0000 (22:56 +0000)]
* sml-mode.el (sml-find-matching-starter): Use a list of syms instead of a
regexp.
(sml-indent-default): Use symbol membership rather than a regexp.
Also, use `sym-indent' instead of (current-column). This fixes a problem
with a hanging `structure Foo = (struct|let)' (due to `structure' having
a sml-indent-rule, as opposed to `fun'). Hopefully it won't introduce
other problems.
(sml-font-lock-keywords): Match vars `val x : int' also.
(sml-electric-pipe): Update to the new `sml-find-matching-starter' and
return a sensible default instead of raising an error in case of
unexpected situations.
(sml-indent-line): Ignore errors and keep the cursor where it is.
(sml-calculate-indentation, sml-indent-pipe): Use syms instead of regexps.
* sml-defs.el (sml-starters-re, sml-pipehead-re): Remove.
* testcases.sml: New file.
* makefile.pkg (test): new target to run the test suite.
monnier [Fri, 18 Feb 2000 16:49:10 +0000 (16:49 +0000)]
* sml-util.el (make-temp-dir, make-temp-file, temp-file-dir,
delete-temp-dirs): Replaced by the make-temp-file from Emacs-21.
(custom-create-map): add :group arg and allow key to be a list.
(define-major-mode): Removed (use define-derived-mode instead).
(sml-builtin-nested-comments-flag): New var.
* sml-proc.el (sml-host-name): New var.
(sml-make-file-name): Replaced by `sml-compile-commands'.
(sml-config-file): New var.
(sml-compile-commands-alist): New var.
(inferior-sml-load-hook): Removed.
(sml-buffer): Query if the current buffer is not a *sml*.
(inferior-sml-mode): Use minor-mode-overriding-map-alist to disable
compilation-minor-mode's keybindings.
(run-sml): Turn into an alias for sml-run.
(sml-run): Query the user for the command. If prefix is set (or if
default value is not null) query for args and host. Use `split-string'
rather than our own function. Run cmd on another host if requested and
pass it an init file if it exists. Pop to the buffer at the end.
(sml-args-to-list): Remove.
(sml-compile): Look for special files (sml-compile-command-alist) in
the current dir (and its parents) to choose a default command. Remember
the command for next time in the same buffer. Make the `cd' explicit in
the command so the user can change it.
(sml-make-error): Fix for when `endline' is absent.
* sml-mode.el: Pass it rhough checkdoc.
(sml-mode-version): Remove.
(sml-load-hook): Remove.
(sml-mode-info): Use `info' rather than `Info-goto-node'.
(sml-keywords-regexp): Add "o".
(sml-syntax-prop-table): Use `defsyntax'.
(sml-font-lock-syntactic-keywords): Only use nested comments if supported.
(sml-mode): Use `define-derived-mode'.
(sml-electric-pipe): `sml-indent-line' -> `indent-according-to-mode'.
(sml-indent-line): Use `indent-line-to'.
(sml-cm-mode): New mode for CM files.
* Makefile: Update.
* sml-mode-startup.el: Remove since it's now autogenerated.
* sml-defs.el (sml-bindings): Remove left over C-c` binding.
(sml-mode-map): Add binding for sml-drag-region (was in sml-proc.el).
(sml-mode-syntax-table): Only use nested comments if supported.
(sml-mode-menu): Use next-error rather than the old sml-next-error.
(sml-pipehead-re): Remove "of".
* sml-compat.el (set-keymap-=parents): Make sure it also works when called
with a single keymap rather than a list.
(temporary-file-directory): Add a default definition for XEmacs.
(make-temp-file): New function.
monnier [Mon, 9 Aug 1999 20:45:51 +0000 (20:45 +0000)]
* Makefile: updated to the version of pcl-cvs.
* sml-proc.el: eliminated some old unused code.
* sml-defs.el,sml-mode.el,sml-proc.el: added simple customize support.
monnier [Mon, 21 Jun 1999 14:08:30 +0000 (14:08 +0000)]
* sml-defs.el (sml-bindings): removed bindings for TAB and M-C-\
* sml-mode.el (sml-font-lock-keywords): skip type vars in "fun 'a myfn"
(sml-calculate-indentation): add a hack to allow the user to manually
override the indentation algorithm with a magic comment.
* sml-mode-startup.el: update the autoloads automatically.
monnier [Thu, 17 Jun 1999 01:43:15 +0000 (01:43 +0000)]
* sml-move.el (sml-(for|back)ward-sym): distinguishes between
operator "=" and syntax for definitions "d=".
* sml-defs.el (sml-indent-starters, sml-delegate): simplified.
(sml-symbol-indent): added outdentation for `fn' and generalized it to
also work for `of' and `in' and `end'.
* sml-mode.el (sml-nested-if-indent): reintroduced as well as the special
casing code for it.
(sml-indent-relative): generalize the treatment of `of', `in', `end', ...
(sml-electric-pipe): removed the slow behavior and added smarts for the
never-used type-variable arguments for function definitions.
* sml-defs.el (sml-mode-menu), sml-mode.el (sml-forms-menu): make the menu
dynamically.
* sml-mode.el (sml-form-<foo>): use skeletons.
(sml-calculate-indentation): added `with' indentation.
monnier [Tue, 15 Jun 1999 02:41:26 +0000 (02:41 +0000)]
* sml-move.el (sml-(for|back)ward-sym): now also return the string if any
and take care of the "op" special keyword.
(sml-op-prec): setup an alist for the infix operators.
* version 3.9.1: sent to Roland McGrath.