Skip to content
New official home for mmm-mode, fixed for Emacs >= 23
TeX Emacs Lisp Shell
Find file
Failed to load latest commit information.
tests Don't use syntax-begin-function Feb 12, 2014
.gitignore Remove version.texi from the repo Dec 28, 2014
AUTHORS *** empty log message *** Jun 19, 2003
COPYING Added files required by automake. May 28, 2000
ChangeLog Released 0.5.1 Mar 1, 2013
Checklist Update the checklist Jun 23, 2015
FAQ Update the FAQ Feb 22, 2013
INSTALL Added files required by automake. May 28, 2000
Makefile.am Released 0.5.2 Jan 17, 2015
NEWS Release 0.5.4 Jun 24, 2015
README Remove version.texi from the repo Dec 28, 2014
README.Mason Improved instructions for turning off PSGML. (Thanks to Michael Alan Apr 26, 2001
TODO Update TODO Jan 17, 2015
acinclude.m4 Added file with Emacs-related macros from Alan Shutko. Feb 8, 2001
autogen.sh Added script and documentation for installing from CVS Mar 25, 2003
configure.in Release 0.5.4 Jun 24, 2015
elisp-comp Added to CVS (formerly not under RCS). May 28, 2000
install-sh Added files required by automake. May 28, 2000
mdate-sh Added files required by automake. May 28, 2000
missing * mmm-vars.el (mmm-save-local-variables): Updated cc-mode local Jun 1, 2004
mkinstalldirs Remove the useless CVS $Id tags Feb 11, 2013
mmm-auto.el Fix typo: global-mmm-mode -> mmm-global-mode Feb 22, 2013
mmm-class.el Revert "mmm-match-region: Return front-pos even without front-delim; … Jul 16, 2015
mmm-cmds.el Remove the useless CVS $Id tags Feb 11, 2013
mmm-compat.el Remove the useless CVS $Id tags Feb 11, 2013
mmm-cweb.el Remove the useless CVS $Id tags Feb 11, 2013
mmm-defaults.el * Enable MMM in ERB and PHP files with just one extension (#36) Oct 28, 2013
mmm-erb.el Fix #26 Apr 2, 2013
mmm-mason.el Remove the useless CVS $Id tags Feb 11, 2013
mmm-mode.el Release 0.5.4 Jun 24, 2015
mmm-mode.spec Added file for building SRPMs, thanks to bishop Mar 25, 2003
mmm-myghty.el Remove the useless CVS $Id tags Feb 11, 2013
mmm-noweb.el Fix invalid function call Mar 25, 2015
mmm-region.el Fix regression from the previous commit Aug 10, 2015
mmm-rpm.el Remove the useless CVS $Id tags Feb 11, 2013
mmm-sample.el fix the problem that mmm-major-mode-preferences has no effect for css. Mar 19, 2015
mmm-univ.el Remove the useless CVS $Id tags Feb 11, 2013
mmm-utils.el Remove the useless CVS $Id tags Feb 11, 2013
mmm-vars.el Save font-lock-syntactic-face-function per major mode Aug 29, 2015
mmm.texinfo Don't use version.texi at all Jun 23, 2015
texinfo.tex Added files required by automake. May 28, 2000

README

                          MMM Mode for Emacs
                          ==================

OVERVIEW

  MMM Mode is a minor mode for Emacs that allows Multiple Major Modes
  to coexist in one buffer.  It is well-suited to editing:

  * Preprocessed code, such as server-side Ruby, Perl or PHP embedded in HTML
  * Code generating code, such as HTML output by CGI scripts
  * Embedded code, such as Javascript in HTML
  * Literate programming: code interspersed with documentation, e.g. Noweb

INSTALLATION

  Use any of the following options:

  1. Users of package.el (a.k.a. ELPA) can easily install MMM Mode from
  the Melpa package repository at http://melpa.milkbox.net/ -- this is the
  preferred and best-supported installation mechanism.

  2. Since currently MMM Mode is written in pure Emacs Lisp, you could just
  copy all the *.el files in the distribution to a directory in your
  `load-path', and optionally byte-compile them manually (see the Emacs
  Manual). The configure installation also installs the MMM Mode info manual
  in your site info directory, so if you're installing manually, you might
  want to do that too.

  3. MMM Mode has a standard GNU configure-driven installation.
  (See the file INSTALL for generic instructions, most of which don't apply.)
  To install in the standard locations, unpack the archive, `cd' to
  the mmm-mode-X.X.X directory created, and run these commands:

    make maintainer-clean # optional step
    ./autogen.sh
    ./configure
    make
    make install

  If you have more than one version of emacs installed and want to
  use MMM in a version other than /usr/bin/emacs, you must set the
  environment variable EMACS before running `configure', e.g.

    EMACS=/usr/bin/xemacs ./configure
    make
    make install

  If you want to use MMM in more than one version of emacs, you must
  either have separate site-lisp directories (such as Debian does), or
  load it from source every time; byte-compiled files are not portable
  between emacsen.

CONFIGURATION

  Once MMM Mode is installed, it has to be configured correctly.  This
  can be done in a site-start file or in user's initialization files;
  usually the latter is preferable, except possibly for autoloads.
  First the package needs to be loaded, with either

    (require 'mmm-mode)

  or instead, to save time during emacs startup,

    (require 'mmm-auto)

  Then you will probably want to set something like this:

    (setq mmm-global-mode 'maybe)
    (mmm-add-mode-ext-class 'html-mode "\\.php\\'" 'html-php)

  The first line tells MMM Mode to load itself whenever you open an
  appropriate file, and the second is an example which says to notice
  PHP regions in html-mode files having a `.php' extension.  Both
  lines are necessary.

  You will, of course, want to change and duplicate the second line
  according to your needs. either of the first two parameters can be
  `nil', meaning not to consider that criterion.  For example, if all
  your html files, regardless of extension, are Mason components, you
  will want something like:

    (mmm-add-mode-ext-class 'html-mode nil 'mason)

  whereas if all your files with a `.nw' extension, regardless of
  primary mode (some may be LaTeX, others HTML, say) are Noweb, you
  will prefer

    (mmm-add-mode-ext-class nil "\\.nw\\'" 'noweb)

  See the info file for more extensive documentation, and for other
  configuration options.

DOCUMENTATION

  For further information, see (in order) the accompanying info file,
  the documentation strings of functions and variables, the comments
  in the source code, and the source code itself.

UPDATES

  The latest version of MMM Mode should always be available from
  https://github.com/purcell/mmm-mode

FEEDBACK

  Bug reports, suggestions and questions can be submitted at
  https://github.com/purcell/mmm-mode/issues.

  Thanks for using MMM Mode!
Something went wrong with that request. Please try again.