-*-outline-*- Frequently Asked Questions about MMM Mode ========================================= * How do I write/capitalize the name of this package/mode? However you want. The author says `MMM Mode' (and occasionally `MMM') when discussing the entire package, and `mmm-mode' when discussing the emacs mode or function. He does think, however, that `Mmm' looks rather ugly, although that is how SourceForge insists on capitalizing the name of the mailing list. * How do I get rid of that ugly gray background color? Put the following line in your Emacs initialization file: (set-face-background 'mmm-default-submode-face nil) You may want to try using MMM Mode for a while with the background highlight, however, or merely changing it to different color. There are two reasons it's there by default: 1. MMM Mode isn't as smart as you might hope it would be about recognizing new submode regions, so the presence or absence of the highlight can let you know at a glance where it thinks they are. 2. Just like the rest of font-lock, it helps you mentally organize the code; you can see at a glance that THIS code is executed as Perl, but THAT code is straight HTML (or whatever). * I typed `<%' (or other delimiter) but I'm still in the wrong mode. MMM Mode isn't that smart yet. You have to tell it explicitly to reparse (`C-c % C-5' or `C-c % C-b') when you add new submode regions, and both delimiters have to be present. Hopefully a future version will be able to automatically recognize new regions an you type them, but that version is not yet here. However, most submode classes provide insertion commands that remove the need to type the delimiters as well as the need to reparse the block: type `C-c % h' for a list of available insertion commands for current submode class(es). * Why won't MMM Mode work with `foo-mode'? Foo-mode probably has extra variables or states that need to be set up, that MMM Mode doesn't yet know about. Often this sort of problem can be fixed by adding elements to `mmm-save-local-variables'. If you know some Elisp, you may want to try and track down the problem yourself, or you can contact the mailing list and ask for help. Either way, please contact the maintainer or the mailing list when (if) you find something that works, so that in the future, folks can use MMM Mode and foo-mode together more easily. * I'm getting an emacs error, what did I do wrong? Most likely nothing. MMM Mode is still more or less alpha software and is quite likely to contain bugs; probably something in your configuration has brought a new bug to light. Please send the text of the error, along with a stack backtrace (1) and the relevant portions of your emacs initialization file, to either the maintainer or the mailing list, and hopefully a fix can be worked out. Of course, it's also possible that there is an error in your configuration. Double-check the elisp syntax in your init file, or inspect the backtrace yourself. If the error happens while loading your init code, try manually evaluating it line by line (`C-x C-e') to see where the error occurs. Folks on the mailing list can also help point out errors, but only with your init code and a backtrace. (1) To get a stack backtrace of an error, set the emacs variable `debug-on-error' to non-nil (type `M-x set-variable RET debug-on-error RET t RET' or `M-: (setq debug-on-error t) RET'), then repeat the actions which caused the error. A stack backtrace should pop up which you can select and copy. If the error occurs while loading emacs, invoke emacs with the `--debug-init' (Emacs) or `-debug-init' (XEmacs) switch. * Will MMM Mode work with (Emacs 19 / XEmacs 20 / XEmacs 21 / etc...)? MMM Mode is designed for FSF Emacs 20 and works best there, but it can work in other emacsen, although problems may arise. For instance, the font-lock support in XEmacs 20 is known to be broken and well-nigh unfixable; consider upgrading. Even XEmacs 21 has more problems with font-lock: for example, often apostrophes in a different submode region can cause code to be incorrectly font-locked as a string. While not free of problems under Emacs 20, MMM Mode does tend to work best there, but don't let that stop you from trying it under other emacsen. If you encounter problems, feel free to ask the mailing list, but success is not guaranteed. * XEmacs says `Symbol's function definition is void: make-indirect-buffer'. You probably used FSF Emacs to compile MMM as it is the one used by default if both are installed. To explicitly set the emacs to use when byte compiling, do the following: $ cd mmm-mode-x.x.x $ make distclean $ EMACS=/usr/bin/xemacs ./configure $ make $ make install Running `make distclean' is only necessary if you have already compiled MMM Mode for the wrong emacs, but can never hurt. The exact error message this problem produces may change with newer versions of MMM Mode; always be sure you have compiled for the correct emacsen. * You haven't answered my question; how can I get more help? At the MMM Mode web site, , there is a link to the sign-up page for the MMM Mode mailing list. When asking a question on the list, be sure to give the versions of emacs and MMM Mode you are using, and any other relevant information.