1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
Changes since 3.9.3:
* Indentation rules improved. New customizable variable
`sml-rightalign-and'. Also `sml-symbol-indent' is now customizable.
* New add-log support (try C-x 4 a from within an SML function).
* Imenu support
* sml-bindings has disappeared.
* The code skeletons are now abbrevs as well.
* 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 a prefix
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).
* New major-modes sml-cm-mode, sml-lex-mode and sml-yacc-mode.
* sml-load-hook has disappeared as has inferior-sml-load-hook.
* sml-mode-startup.el is now automatically generated and you're supposed to
`load' it from .emacs or site-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.
|