Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/sml-mode/NEWS
ViewVC logotype

View of /sml/trunk/sml-mode/NEWS

Parent Directory Parent Directory | Revision Log Revision Log

Revision 535 - (download) (annotate)
Fri Feb 18 16:49:10 2000 UTC (19 years, 11 months ago) by monnier
File size: 3761 byte(s)
* 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.
Changes since 3.9.3:

* A new *sml* process is sent the content of sml-config-file (~/.sml-proc.sml)
  if it exists.

* `sml-compile' works yet a bit differently.  The command can begin
  with `cd "path";' and it will be replaced by OS.FileSys.chDir.

* run-sml now pops up the new buffer.  It can also run the command on another
  machine.  And it always prompts for the command name.  Use aprefix
  argument if you want to give args or to specify a host on which
  to run the command.

* mouse-2 to yank in *sml* should work again (but won't work for next-error
  any more).

* Added a trivial CM major-mode.

* sml-load-hook has disappeared.

* sml-mode-startup.el is now automatically generated and you're supposed to
  `load' it from .emacs or siate-start.el.

* Minor bug fixes.

Changes since 3.3:

* the sml-drag-* commands have disappeared.

* added a little bit of `customize' support.  Many of the customization
  variables for indentation are still in flux, so they are not customize'd.

* proformas have been replaced by skeletons.  it's mostly the same as
  before (the layout has slightly changed, tho).  The main difference
  is that the indentation relies on the major-mode indentation so it
  is implicitly customized, which makes more sense to me.
  Also I added an electric space M-SPC that will call the corresponding
  skeleton if any matches the immediately preceding symbol.  Basically
  that allows you to type `l e t M-SPC' to call the `let' skeleton.

* M-C-f and M-C-b try to be smart and jump around let..end and such blocks.
  It's probably either too smart or not smart enough, tho.

* there is no more sml-<compiler>.el since the code should work for "all"
  known compilers.  If your favorite compiler doesn't seem to work right
  send me a sample session.

* hilite support has disappeared and font-lock and menu support is now built-in.

* the indentation algorithm is inherently much slower.  I've tried to ensure
  the slowness never manifests itself in practice, but if you find a case
  where the indentation doesn't feel instantaneous, tell me.

* function arguments get properly indented (yes, madam).

* the indentation has been majorly reworked.  The list of changes is too long.
  Many customizations have disappeared, some may reappear depending on the
  feedback I get.  The indentation should now "always" work right, so
  tell me when it doesn't.

* nested comments are only properly handled if you have a nested-comments
  aware Emacs (I don't know of any yet) or if you turn on font-lock.

* provide `sml-compile' which does something similat to `compile' except it
  passes the command to an inferior-sml process.  Also it has an additional
  hack to look for sml-make-file-name in parent directories and cd to it
  before sending the command (handy for CM.make() when the sources.cm file
  is not in the current directory).  This hack is very ad-hoc and quite
  misleading for people who don't use CM.  I.e. the default is not safe.

* sml-send-region and friends now always use a temp file.  The temp file
  management has been made a little more secure.

* the overlay is now turned off by default.  Instead the region is activated,
  so that transient-mark-mode will end up highlighting the error just like
  the overlay used to do.

* sml-proc uses compile.el for error parsing.  This mostly means that instead
  of C-c ` you want to use the standard C-x `.  It also means that error
  formats for any compiler can be added more easily.

* The special frame handling has been thrown out because it doesn't interact
  well with Emacs' own similar feature.  I believe XEmacs still doesn't provide
  such a feature, so if you miss it, either switch to Emacs or (convince
  someone else to) add it to XEmacs.

ViewVC Help
Powered by ViewVC 1.0.0