emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 01/01: Update to AUCTeX 11.88


From: Tassilo Horn
Subject: [elpa] 01/01: Update to AUCTeX 11.88
Date: Sat, 01 Nov 2014 06:49:00 +0000

tsdh pushed a commit to branch externals/auctex
in repository elpa.

commit a54b98571056c9019a04b9346dbbd50df9a8d685
Author: Tassilo Horn <address@hidden>
Date:   Sat Nov 1 07:47:09 2014 +0100

    Update to AUCTeX 11.88
---
 ChangeLog                           | 3847 +++++++++++++++++++++++++++++------
 Makefile.in                         |   89 +-
 README                              |    2 +-
 RELEASE                             |  115 +-
 aclocal.m4                          |    4 +-
 auctex.el                           |    2 +-
 auctex.spec                         |    2 +-
 autogen.sh                          |    2 +-
 bib-cite.el                         |   49 +-
 configure.ac                        |   10 +-
 context-en.el                       |   20 +-
 context.el                          |  180 ++-
 doc/Makefile.in                     |   27 +-
 doc/auctex.texi                     |  788 +++++++-
 doc/changes.texi                    |  139 ++-
 doc/install.texi                    |   13 +-
 doc/preview-problems.texi           |  108 +-
 doc/preview-readme.texi             |    4 +-
 doc/tex-ref.tex                     |   25 +-
 doc/todo.texi                       |   59 +-
 doc/wininstall.texi                 |    2 +-
 font-latex.el                       |   36 +-
 latex.el                            | 1821 ++++++++++++-----
 latex/preview.dtx                   |    4 +-
 latex/preview.sty                   |    2 +-
 lpath.el                            |    4 -
 multi-prompt.el                     |    7 +-
 plain-tex.el                        |    2 +-
 preview.el                          |   86 +-
 prv-xemacs.el                       |   16 +-
 style/CJK.el                        |    3 +-
 style/CJKutf8.el                    |    3 +-
 style/MinionPro.el                  |    3 +-
 style/acro.el                       |  292 +++
 style/acronym.el                    |  177 ++
 style/{austrian.el => afterpage.el} |   22 +-
 style/alltt.el                      |    3 +-
 style/alphanum.el                   |    3 +-
 style/amsart.el                     |    3 +-
 style/amsbook.el                    |    3 +-
 style/amsbsy.el                     |    3 +-
 style/amsmath.el                    |  127 +-
 style/amsopn.el                     |   46 +-
 style/amssymb.el                    |  249 +++
 style/amstex.el                     |    3 +-
 style/amstext.el                    |    5 +-
 style/amsthm.el                     |   57 +-
 style/{xspace.el => array.el}       |   43 +-
 style/article.el                    |   14 +-
 style/austrian.el                   |    3 +-
 style/babel.el                      |  132 +-
 style/beamer.el                     |   55 +-
 style/biblatex.el                   |  507 +++++-
 style/{xspace.el => bigdelim.el}    |   42 +-
 style/{biblatex.el => bigstrut.el}  |   37 +-
 style/{nicefrac.el => bm.el}        |   38 +-
 style/book.el                       |   15 +-
 style/booktabs.el                   |   25 +-
 style/bulgarian.el                  |    3 +-
 style/captcont.el                   |    3 +-
 style/cleveref.el                   |  103 +
 style/comment.el                    |    3 +-
 style/csquotes.el                   |    3 +-
 style/czech.el                      |    3 +-
 style/danish.el                     |    3 +-
 style/dinbrief.el                   |  242 ++-
 style/dk.el                         |    7 +-
 style/doc.el                        |    5 +-
 style/dutch.el                      |    7 +-
 style/emp.el                        |    3 +-
 style/english.el                    |   11 +
 style/epigraph.el                   |   74 +
 style/epsf.el                       |    5 +-
 style/{ruby.el => everysel.el}      |   36 +-
 style/exercise.el                   |   63 +
 style/fancyhdr.el                   |  114 +
 style/{austrian.el => fancynum.el}  |   26 +-
 style/fancyref.el                   |    7 +-
 style/fancyvrb.el                   |  206 ++
 style/filecontents.el               |   55 +
 style/flashcards.el                 |    3 +-
 style/foils.el                      |    5 +-
 style/fontspec.el                   |  235 +++
 style/footmisc.el                   |   73 +
 style/francais.el                   |    3 +-
 style/french.el                     |    3 +-
 style/frenchb.el                    |    3 +-
 style/german.el                     |    3 +-
 style/graphics.el                   |    3 +-
 style/graphicx.el                   |    3 +-
 style/harvard.el                    |    5 +-
 style/hyperref.el                   |  176 ++-
 style/icelandic.el                  |    3 +-
 style/imakeidx.el                   |  100 +
 style/index.el                      |    3 +-
 style/inputenc.el                   |    3 +-
 style/italian.el                    |    3 +-
 style/j-article.el                  |    5 +-
 style/j-book.el                     |    5 +-
 style/j-report.el                   |    5 +-
 style/jarticle.el                   |    5 +-
 style/jbook.el                      |    5 +-
 style/jreport.el                    |    5 +-
 style/jsarticle.el                  |    5 +-
 style/jsbook.el                     |    5 +-
 style/jura.el                       |    3 +-
 style/jurabib.el                    |    3 +-
 style/{ruby.el => kantlipsum.el}    |   35 +-
 style/kpfonts.el                    |  599 ++++++
 style/latexinfo.el                  |   16 +-
 style/letter.el                     |   69 +-
 style/lettrine.el                   |    3 +-
 style/{ruby.el => lipsum.el}        |   35 +-
 style/listings.el                   |   59 +-
 style/longtable.el                  |   94 +
 style/{austrian.el => lscape.el}    |   24 +-
 style/ltx-base.el                   |    3 +-
 style/ltxdoc.el                     |    3 +-
 style/{nicefrac.el => luacode.el}   |   42 +-
 style/makeidx.el                    |    3 +-
 style/mathtools.el                  |  200 ++
 style/mdwlist.el                    |    3 +-
 style/memoir.el                     |   83 +
 style/metalogo.el                   |   85 +
 style/{xspace.el => mflogo.el}      |   30 +-
 style/multicol.el                   |    3 +-
 style/multido.el                    |    3 +-
 style/multind.el                    |    3 +-
 style/{xspace.el => multirow.el}    |   29 +-
 style/{xspace.el => nameref.el}     |   37 +-
 style/natbib.el                     |    3 +-
 style/naustrian.el                  |    3 +-
 style/ngerman.el                    |    3 +-
 style/nicefrac.el                   |    3 +-
 style/nomencl.el                    |    3 +-
 style/paralist.el                   |   29 +-
 style/pdfsync.el                    |    3 +-
 style/{austrian.el => placeins.el}  |   22 +-
 style/plext.el                      |   78 +
 style/plfonts.el                    |    5 +-
 style/plhb.el                       |    5 +-
 style/polish.el                     |    3 +-
 style/polski.el                     |    3 +-
 style/prosper.el                    |   72 +-
 style/psfig.el                      |    5 +-
 style/pst-grad.el                   |    3 +-
 style/pst-node.el                   |    9 +-
 style/pst-plot.el                   |    3 +-
 style/pst-slpe.el                   |    3 +-
 style/pstricks.el                   |   13 +-
 style/{setspace.el => ragged2e.el}  |   60 +-
 style/report.el                     |   15 +-
 style/ruby.el                       |    3 +-
 style/scrartcl.el                   |    4 +-
 style/scrbase.el                    |    5 +-
 style/scrbook.el                    |    3 +-
 style/scrlttr2.el                   |    3 +-
 style/scrpage2.el                   |    3 +-
 style/scrreprt.el                   |    3 +-
 style/setspace.el                   |    3 +-
 style/shortvrb.el                   |   30 +-
 style/siunitx.el                    |  623 ++++++
 style/slides.el                     |   14 +-
 style/slovak.el                     |    3 +-
 style/subfigure.el                  |   28 +-
 style/swedish.el                    |    3 +-
 style/tabularx.el                   |   13 +-
 style/{tabularx.el => tabulary.el}  |   40 +-
 style/ulem.el                       |  107 +
 style/unicode-math.el               |   74 +
 style/units.el                      |    3 +-
 style/url.el                        |    3 +-
 style/varioref.el                   |   62 +-
 style/verbatim.el                   |    3 +-
 style/virtex.el                     |    3 +-
 style/xparse.el                     |  114 +
 style/xspace.el                     |    4 +-
 tex-bar.el                          |   36 +-
 tex-buf.el                          |  945 +++++++--
 tex-info.el                         |  103 +-
 tex-jp.el                           |    6 +-
 tex-site.el                         |  372 ++++-
 tex-site.el.in                      |   48 +-
 tex-style.el                        |   46 +-
 tex.el                              | 1007 +++++++---
 texmathp.el                         |    5 +-
 186 files changed, 13508 insertions(+), 3054 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 35a6c45..126fdb8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,837 @@
-2014-05-23  Tassilo Horn  <address@hidden>
+2014-10-31  Mos� Giordano  <address@hidden>
 
-       * texmathp.el (texmathp-tex-commands-default): Recognize
-       \\shortintertext from mathtools.
+       * Makefile.in (CTANDIR): New variable.
+       (preview-ball): Create a top level directory "preview/" in the
+       preview tarball, as required by CTAN.  Save the tarball to
+       $(CTANDIR) instead of $(FTPDIR).
 
-2014-05-16  Stefan Monnier  <address@hidden>
+2014-10-29  Mos� Giordano  <address@hidden>
 
+       * Version 11.88 released.
+
+2014-10-29  Matthew Leach  <address@hidden>
+
+       * latex.el (LaTeX-indent-environment-list): Remove setter
+       lambda.
+       (LaTeX--tabular-like-end): Remove variable.
+       (LaTeX-indent-tabular): Move setter function from
+       LaTeX-indent-environment-list to generate tabular-end regex when
+       called.
+
+2014-10-29  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-largest-level-set): Set `outline-heading-alist'
+       only if it is bound.
+
+       * .gitignore: Ignore preview/preview.el.
+
+       * Makefile.in (DISTCLEANFILES): Add preview/preview.el.
+       (release-commit): Write new version announcement also into
+       preview/ChangeLog.
+
+       * aclocal.m4: Add a third argument to
+       `AC_DATE_VERSION_FROM_CHANGELOG' specifying the ChangeLog file.
+
+       * configure.ac: Use new third argument of
+       `AC_DATE_VERSION_FROM_CHANGELOG'.  Retrieve preview date and
+       version from its ChangeLog.  Add preview/preview.el to output
+       files.
+
+2014-10-22  Mos� Giordano  <address@hidden>
+
+       * RELEASE: Update AUCTeX version, the new features section, and
+       the list of contributors.
+
+       * configure.ac: Update AUCTeX version.
+
+       * doc/changes.texi: Mention generic bug fixes for 11.88 release.
+
+       * doc/tex-ref.tex: Update AUCTeX version and copyright years
+       across the file.
+       Add now working `TeX-previous-error' key-binding.
+
+       * tex.el: Update copyright year.
+
+       * doc/Makefile.in: Make it possible to build the HTML doc with
+       `makeinfo' if `texi2html' is not available.  Add new
+       `TEXI2HTML_TOC' variable.
+       (extradist): Use `TEXI2HTML_TOC'.
+       (html/$(TEXI2HTML_TOC)): Use `TEXI2HTML_TOC'.  Fix splitting
+       option to HTML engine.  Suggested by Norbert Preining.
+
+       * latex.el (LaTeX-newline): Fix for when
+       `comment-auto-fill-only-comments' is non-nil.  Suggested by Piet
+       van Oostrum.
+
+2014-10-13  Matthew Leach  <address@hidden>
+
+       * style/cleveref.el: New file.
+
+2014-10-02  Ikumi Keita  <address@hidden>
+
+       * tex.el (featurep): Activate mark in the GNU Emacs version of
+       TeX-activate-mark instead of being a no-op.
+       (TeX-insert-dollar): Use set-mark instead of push-mark in order to
+       avoid duplicate marks.
+
+2014-10-02  Ikumi Keita  <address@hidden>
+
+       * texmathp.el (texmathp-tex-commands-default): Move equation*
+       environment to AMS-LaTeX section.
+       (texmathp-why): Fix docstring.
+
+2014-10-02  Ikumi Keita  <address@hidden>
+
+       * style/amstext.el (LaTeX-amstext-package-options): Rename from
+       `LaTeX-amstext-package-option'.
+
+2014-10-02  Ikumi Keita  <address@hidden>
+
+       * tex-info.el (Texinfo-mark-environment, Texinfo-mark-section)
+       (Texinfo-mark-node): Use `push-mark' instead of `set-mark'.
+
+       * latex.el (LaTeX-mark-environment): Ditto.
+
+       * context.el (ConTeXt-mark-environment): Ditto.
+
+2014-09-25  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-insert-environment): Pass correct \end buffer
+       position to hooks in LaTeX-after-insert-env-hooks.
+
+2014-09-13  Vincent Bela�che  <address@hidden>
+
+       * latex.el (LaTeX-dialect): Correct doctstring for consistency
+       with definition of function TeX-add-style-hook.
+
+       * doc/auctex.texi (Simple Style): modify example with
+       'TeX-add-style-hook', so that 3rd argument is added. Modify @defun
+       of 'TeX-add-style-hook' also to document addition of 3rd argument.
+
+2014-09-11  Vincent Bela�che  <address@hidden>
+
+       * doc/changes.texi: Add information about style hook labelling by 
dialect.
+
+       * doc/todo.texi (Bugs): Update Bug #1 about style hook clash.
+
+       * style/xspace.el ("xspace"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/xparse.el ("xparse"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/virtex.el ("virtex"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/verbatim.el ("verbatim"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/varioref.el ("varioref"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/url.el ("url"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/units.el ("units"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/unicode-math.el ("unicode-math"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/ulem.el ("ulem"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/tabulary.el ("tabulary"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/tabularx.el ("tabularx"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/swedish.el ("swedish"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/subfigure.el ("subfigure"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/slovak.el ("slovak"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/slides.el ("slides"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/siunitx.el ("siunitx"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/shortvrb.el ("shortvrb"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/setspace.el ("setspace"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/scrreprt.el ("scrreprt"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/scrpage2.el ("scrpage2"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/scrlttr2.el ("scrlttr2"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/scrbook.el ("scrbook"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/scrbase.el ("scrbase"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/scrartcl.el ("scrartcl"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/ruby.el ("ruby"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/report.el ("report"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/ragged2e.el ("ragged2e"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/pstricks.el ("pstricks"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/pst-slpe.el ("pst-slpe"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/pst-plot.el ("pst-plot"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/pst-node.el ("pst-node"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/pst-grad.el ("pst-grad"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/psfig.el ("psfig"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/prosper.el ("prosper"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/polski.el ("polski"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/polish.el ("polish"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/plhb.el ("plhb"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/plfonts.el ("plfonts"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/plext.el ("plext"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/placeins.el ("placeins"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/pdfsync.el ("pdfsync"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/paralist.el ("paralist"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/nomencl.el ("nomencl"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/nicefrac.el ("nicefrac"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/ngerman.el ("ngerman"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/naustrian.el ("naustrian"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/natbib.el ("natbib"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/nameref.el ("nameref"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/multirow.el ("multirow"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/multind.el ("multind"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/multido.el ("multido"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/multicol.el ("multicol"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/mflogo.el ("mflogo"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/metalogo.el ("metalogo"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/memoir.el ("memoir"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/mdwlist.el ("mdwlist"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/mathtools.el ("mathtools"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/makeidx.el ("makeidx"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/luacode.el ("luacode"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/ltxdoc.el ("ltxdoc"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/ltx-base.el ("ltx-base"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/lscape.el ("lscape"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/longtable.el ("longtable"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/listings.el ("listings"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/lipsum.el ("lipsum"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/lettrine.el ("lettrine"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/letter.el ("letter"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/latexinfo.el ("latexinfo"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/kpfonts.el ("kpfonts"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/kantlipsum.el ("kantlipsum"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/jurabib.el ("jurabib"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/jura.el ("jura"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/jsbook.el ("jsbook"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/jsarticle.el ("jsarticle"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/jreport.el ("jreport"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/jbook.el ("jbook"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/jarticle.el ("jarticle"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/j-report.el ("j-report"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/j-book.el ("j-book"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/j-article.el ("j-article"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/italian.el ("italian"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/inputenc.el ("inputenc"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/index.el ("index"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/imakeidx.el ("imakeidx"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/icelandic.el ("icelandic"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/hyperref.el ("hyperref"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/harvard.el ("harvard"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/graphicx.el ("graphicx"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/graphics.el ("graphics"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/german.el ("german"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/frenchb.el ("frenchb"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/french.el ("french"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/francais.el ("francais"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/footmisc.el ("footmisc"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/fontspec.el ("fontspec"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/foils.el ("foils"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/flashcards.el ("flashcards"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/filecontents.el ("filecontents"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/fancyvrb.el ("fancyvrb"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/fancyref.el ("fancyref"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/fancynum.el ("fancynum"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/fancyhdr.el ("fancyhdr"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/exercise.el ("exercise"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/everysel.el ("everysel"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/epsf.el ("epsf"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/epigraph.el ("epigraph"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/english.el ("english"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/emp.el ("emp"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/dutch.el ("dutch"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/doc.el ("doc"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/dk.el ("dk"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/dinbrief.el ("dinbrief"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/danish.el ("danish"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/czech.el ("czech"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/csquotes.el ("csquotes"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/comment.el ("comment"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/captcont.el ("captcont"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/bulgarian.el ("bulgarian"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/booktabs.el ("booktabs"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/book.el ("book"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/bm.el ("bm"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/bigstrut.el ("bigstrut"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/bigdelim.el ("bigdelim"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/biblatex.el ("biblatex"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/beamer.el ("beamer"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/babel.el ("babel"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/austrian.el ("austrian"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/article.el ("article"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/array.el ("array"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/amsthm.el ("amsthm"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/amstext.el ("amstext"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/amstex.el ("amstex"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/amssymb.el ("amssymb"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/amsopn.el ("amsopn"): Add LaTeX-dialect to
+       TeX-add-style-hook call. Update header with correct filename.
+
+       * style/amsmath.el ("amsmath"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/amsbsy.el ("amsbsy"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/amsbook.el ("amsbook"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/amsart.el ("amsart"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/alphanum.el ("alphanum"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/alltt.el ("alltt"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/afterpage.el ("afterpage"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/acronym.el ("acronym"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/acro.el ("acro"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * style/MinionPro.el ("MinionPro"): Add LaTeX-dialect to 
TeX-add-style-hook call.
+
+       * style/CJKutf8.el ("CJKutf8"): Add LaTeX-dialect to TeX-add-style-hook 
call.
+
+       * style/CJK.el ("CJK"): Add LaTeX-dialect to TeX-add-style-hook call.
+
+       * bib-cite.el (eval-after-load "bibtex"): Add hook
+       TeX-bibtex-set-BibTeX-dialect to BibTex mode, this will set
+       'TeX-style-hook-dialect' to :bibtex for BibTeX files so that
+       Mos�'s problem should be solved.
+
+       * latex.el (LaTeX-common-initialization): set
+       'TeX-style-hook-dialect' to :latex for LaTeX files, and those in
+       LaTeX derived modes. Add LaTeX-dialect as DIALECT argument to all
+       calls of TeX-add-style-hook.
+
+       * tex.el (TeX-style-hook-list): Update docstring to make clear
+       that style hooks can also be in the form '[TeX-style-hook HOOK-FUN
+       DIALECT-SET]'.
+       (TeX-bibtex-set-BibTeX-dialect): New defun.
+       (TeX-style-hook-dialect-weight-alist): New defconst.
+       (TeX-shdex-eval): New defun.
+       (TeX-shdex-or TeX-shdex-and TeX-shdex-nor TeX-shdex-not)
+       (TeX-shdex-in-p TeX-shdex-listify): New defsubst.
+       (TeX-style-hook-dialect): New defvar, used to have style hooks
+       called only in corresponding context.
+       (TeX-add-style-hook): Add optional argument context for marking
+       hooks that must run only in non default (aka nil) dialect.
+       (TeX-keep-hooks-in-dialect): New defun, used for unloading only
+       those hooks in a dialect list.
+       (TeX-unload-style): Add optional argument context-list for
+       unloading only those hooks marked for contexts in that
+       context-list.
+       (TeX-run-style-hooks): Run style hook only when current style hook
+       context matches context for which hook is marked.
+
+       * tex-info.el (Texinfo-environment-list): Add 'html' and 'float'
+       environments.
+       (TeX-texinfo-mode): set 'TeX-style-hook-dialect' to :texinfo for
+       Texinfo files. Add macro '@caption'.
+
+2014-09-08  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-assoc-string): Remove docstring from defalias since
+       that's not supported with XEmacs.
+
+2014-08-25  Florent Rougon  <address@hidden>  (tiny change)
+
+       * tex-buf.el (TeX-command-expand): Fix possible endless loop in
+       file name expansion.
+
+2014-08-24  Mos� Giordano  <address@hidden>
+
+       * tests/tex/command-expansion.el: New test file.
+
+2014-08-24  Florent Rougon  <address@hidden>  (tiny change)
+
+       * tex.el (TeX-expand-list): Add the previous position to the
+       lenght of the expanded string to get the current position in the
+       %' expander.
+
+2014-08-18  Vincent Bela�che  <address@hidden>
+
+       * font-latex.el (font-latex-add-quotes): Code optimization: use
+       '(add-to-list (make-local-variable (quote foo)) some-value)'
+       instead of '(make-local-variable (quote foo)) (add-to-list 'foo
+       some-value)' wherever possible.
+
+       * bib-cite.el (bib-cite-minor-mode)
+       (bib-cite-setup-highlight-mouse-keymap): Code optimization: use
+       '(set (make-local-variable (quote foo)) some-value)' instead of
+       '(make-local-variable (quote foo)) (setq foo some-value)' wherever
+       possible.
+
+       * latex.el (BibTeX-auto-store)
+       (LaTeX-common-initialization): Ditto.
+
+       * tex-info.el (TeX-texinfo-mode): Code optimization: use '(set
+       (make-local-variable (quote foo)) some-value)' instead of
+       '(make-local-variable (quote foo)) (setq foo some-value)' wherever
+       possible. Add in style Texinfo standard macros '@acronym' and
+       '@tie'.
+
+       * tex.el (TeX-assoc-string) new defalias to work-around missing
+       assoc-string in XEmacs.
+       (TeX-unload-style): Code optimization: use 'TeX-assoc-string'
+       instead of 'assoc' to search style in 'TeX-style-hook-list', and
+       use delq on returned value of assoc-string for removing the style
+       --- on the one hand delq will go through the whole list rather
+       than stop after the first match like in original code, but on the
+       other hand comparison are faster because eq instead of equal is
+       used and we are working on assoc cell rather than on key, so less
+       indirection, furthermore delq is C code. Anyway that make the code
+       much smaller and easier to understand.
+       (TeX-file-extensions): Add txi amongst extension of texinfo files,
+       for consistency with info node '(texinfo) Minimum'
+       (TeX-run-style-hooks): Code optimization: use 'TeX-assoc-string'
+       instead of 'assoc' to search style in 'TeX-style-hook-list'.
+       (VirTeX-common-initialization): Code optimization: use '(set
+       (make-local-variable (quote foo)) some-value)' instead of
+       '(make-local-variable (quote foo)) (setq foo some-value)' wherever
+       possible.
+
+2014-08-18  Tassilo Horn  <address@hidden>
+
+       * font-latex.el (font-latex-set-syntactic-keywords): Allow for a
+       mandatory argument for a verbatim environment.
+
+2014-08-15  Vladimir Lomov  <address@hidden>
+
+       * style/mathtools.el ("mathtools"): Don't use the removed
+       `LaTeX-amsmath-env-aligned' function.
+
+2014-08-14  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-insert-label): Remove.
+       (LaTeX-label): Add a new mandatory argument.  Do not use
+       `LaTeX-insert-label'.  Determine the prefix at the beginning of
+       the function and insert the label only if the prefix is non nil.
+       (LaTeX-section-label, LaTeX-env-figure, LaTeX-env-label): Use the
+       second mandatory argument of `LaTeX-label'.
+
+       * style/amsmath.el: Update copyright years.
+       ("amsmath"): Append the environments to `LaTeX-label-alist'
+       instead of prepeding them.  Use the second mandatory argument of
+       the `LaTeX-label' function.
+
+       * style/longtable.el: Update copyright years.
+       ("longtable"): Move addition of "longtable" environment to
+       `LaTeX-label-alist' inside the style hook.  Append the environment
+       to the alist instead of prepending it.  Use the second mandatory
+       argument of the `LaTeX-label' function.
+
+       * doc/auctex.texi (Sectioning, Environments): Remove references to
+       `LaTeX-insert-label'.
+       (Environments): Document `LaTeX-label-alist'.
+
+       * doc/changes.texi: Remove references to `LaTeX-insert-label'.
+
+2014-08-12  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-insert-label): Rename from
+       `LaTeX-auto-insert-label' and mention sections in the doc-string.
+       (LaTeX-label): Update accordingly.
+
+       * doc/auctex.texi (Sectioning): Mention `LaTeX-insert-label'.
+       (Environments): Update `LaTeX-insert-label' name and document use
+       for sectioning commands.
+       (Environments, Completion): Prettify
+       `TeX-complete-expert-commands' documentation by using a table
+       environment.
+
+       * doc/changes.texi: Rename `LaTeX-auto-insert-label' to
+       `LaTeX-insert-label' and mention sections too.
+
+2014-08-11  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el (TeX-command): Keep the frame and the buffer
+       associate to the error overview if the command to be run is View.
+
+       * latex.el (LaTeX-auto-insert-label): New customizable variable.
+       (LaTeX-label): Use it.
+
+       * doc/auctex.texi (Environments): Document
+       `LaTeX-auto-insert-label'.
+
+       * doc/changes.texi: Mention `LaTeX-auto-insert-label'.  Fix a
+       couple of bad-boxes in the PDF output of the manual.
+
+2014-07-25  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-largest-level-set): Adapt
+       `outline-heading-alist' according to largest level in order to
+       make `outline-promote' (and others) work correctly.
+
+2014-07-25  Mos� Giordano  <address@hidden>
+
+       * doc/auctex.texi (Adding Macros): Document `TeX-date-format'.
+
+       * doc/changes.texi: Mention `TeX-date-format'.
+
+       * latex.el (TeX-date-format): New customizable option.
+       Suggested by Uwe Brauer.
+       (TeX-arg-date): Use it.
+
+2014-07-17  Mos� Giordano  <address@hidden>
+
+       * Makefile.in: Update copyright years.
+       (EXCLUDEDFILES): Rename from GITFILES.  Remove also .cvsignore and
+       tests from the release tarball.
+       (release-commit): More precise suggestion to push tag and release
+       commit.
+       (tar-ball): Use EXCLUDEDFILES in place of GITFILES.
+
+2014-07-15  Ikumi Keita  <address@hidden>
+
+       * latex.el: Enhance array and tabular(*) environments support.
+       (LaTeX-env-array): Add call to `LaTeX-item-array'.
+       (LaTeX-env-tabular*): Add call to `LaTeX-item-tabular*'.
+       (LaTeX-array-skipping-regexp): New variable.
+       (LaTeX-tabular*-skipping-regexp): Ditto.
+       (LaTeX-item-array): New function.  Put line break macro on the
+       last line and insert suitable number of ampersands.
+       (LaTeX-item-tabular*): Ditto.
+       (LaTeX-insert-ampersands): New function.  Insert suitable number
+       of ampersands.
+       (LaTeX-array-column-letters): New variable.  Column letters for
+       array-like environments.
+       (LaTeX-array-count-columns): New function.  Count number of
+       ampersands to be inserted.
+       (LaTeX-common-initialization): Add entries to LaTeX-item-list to
+       use `LaTeX-item-array' and `LaTeX-item-tabular*'.
+
+       * style/amsmath.el: Enhance alignat-like environments support
+       as well as some cleanups.
+       (LaTeX-item-equation-alignat): New function.  Insert contents to
+       terminate a line in multi-line equations environment.
+       (LaTeX-amsmath-env-alignat): Use it.  Add doc string.
+       (LaTeX-amsmath-env-alignedat): Ditto.
+       (LaTeX-amsmath-env-aligned): Removed.  Just specifying a prompt
+       string for an optional argument is enough.
+       (LaTeX-item-equation): Take over the job of
+       `LaTeX-item-equations'.  Add an optional `suppress' argument:
+       when it is non-nil skip putting line break macro.  Add doc string.
+       (LaTeX-item-equations): Removed.  Its task is now covered by
+       `LaTeX-item-equation'.
+       (LaTeX-item-equation-alignat): New function.  Insert ampersands
+       according to the columns number, as well as calling
+       `LaTeX-item-equation'.
+       (LaTeX-amsmath-alignat-number-of-ampersands): New function.
+       ("amsmath"): Arrange setups of variables to adopt the above
+       changes.
+
+       * style/array.el ("array"): Change `LaTeX-array-column-letters'
+       locally to include addtional letters extended in array.sty.
+
+       * style/plext.el: New style file.  Add support for extended
+       format for array-like environments.
+
+       * Makefile.in (STYLESRC): Include style/plext.el.
+
+       * doc/auctex.texi: Add documentation for the above enhancements.
+
+       * doc/changes.texi: Ditto.
+
+2014-07-14  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el (TeX-next-error): Do not pass `reparse' argument to
+       `next-error' in XEmacs as it is not supported.
+       (TeX-error-overview-frame, TeX-error-overview-buffer-name): Move
+       before their first use in order to prevent a runtime error in
+       XEmacs and GNU Emacs 21.  Reported by Ikumi Keita.
+       (TeX-parse-TeX): Manually set `item' to nil when
+       `TeX-error-last-visited' is negative.
+       (TeX-error-description-error, TeX-error-description-warning)
+       (TeX-error-description-tex-said): Set to nil in XEmacs and GNU
+       Emacs 21.  Reported by Ikumi Keita.
+
+2014-07-13  Mos� Giordano  <address@hidden>
+
+       * latex.el (TeX-latex-mode): Add second argument to
+       `local-variable-p', mandatory in XEmacs.  Suggested by Ikumi
+       Keita.
+
+       * preview/preview.el (preview-dump-state): Ditto.
+
+       * style/biblatex.el ("biblatex"): Ditto.
+
+       * tex.el (TeX-how-many): Make the function return a number also in
+       XEmacs and Emacs 21.  Suggested by Ikumi Keita.
+
+2014-07-12  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el (TeX-error-description-error): Do not use the
+       `default' display, not supported by GNU Emacs 21 and XEmacs 21.4.
+       (TeX-error-description-warning): Ditto.
+
+2014-07-11  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el (TeX-error-description-error): Make face definition
+       XEmacs compatible.
+       (TeX-error-description-tex-said): Ditto.
+       (TeX-error-description-help): Ditto.
+
+       * tex.el (nil): Handle the case of a non-available crm.el with a
+       `condition-case', instead of using the third argument of
+       `require', not recognized by XEmacs 21.4.
+       (and): Check whether dbus support is available before requiring
+       dbus.el.
+
+2014-07-02  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-expand-list): Set
+       `TeX-source-correlate-output-page-function' when necessary, in the
+       "%(outpage)" expander.
+       (TeX-source-correlate-method): Add an alist as a possible value
+       and change the default.
+       (TeX-source-correlate-method-active): Convert to a function.
+       (TeX-source-correlate-expand-options): Use the
+       `TeX-source-correlate-method-active' function.
+       (TeX-source-correlate-mode): Remove setting of the
+       `TeX-source-correlate-output-page-function' variable and of the
+       now deleted `TeX-source-correlate-method-active' variable.
+       (TeX-source-specials-view-expand-options): Use the
+       `TeX-source-correlate-method-active' function.
+       (TeX-mode-specific-command-menu-entries): Hide "Previous Error"
+       and "Error Overview" entries when not available.
+
+       * context.el: Update copyright years.
+       (ConTeXt-expand-options): Use the
+       `TeX-source-correlate-method-active' function.
+
+       * doc/auctex.texi (I/O Correlation): Update documentation of
+       `TeX-source-correlate-method'.
+
+       * doc/changes.texi: Mention change to the default value of
+       `TeX-source-correlate-method'.
+
+2014-06-29  Mos� Giordano  <address@hidden>
+
+       * doc/todo.texi (Mid-term Goals): Remove "More flexible option and
+       command handling" item: we now have `TeX-command-extra-options'.
+       (Wishlist): Remove "Poor man's Source Specials": AUCTeX supports
+       source specials and SyncTeX.
+       (Wishlist): Remove "multiple completion for \bibliography" item:
+       "\bibliography" does complete multiple arguments.
+
+2014-06-28  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el (TeX-command): Kill the frame and buffer associated
+       to the error overview before running commands.
+       (TeX-TeX-sentinel): Open error overview if
+       `TeX-error-overview-open-after-TeX-run' is non-nil and there are
+       errors or warnings to show.
+       (TeX-LaTeX-sentinel): Ditto.
+       (TeX-find-display-help): Set `runbuf' to `TeX-active-buffer' since
+       this function may be called also from the error overview buffer.
+       (TeX-error-description-faces): Change group to more appropriate
+       `TeX-output'.
+       (TeX-error-overview-active-buffer): New variable.
+       (TeX-error-overview-orig-frame): Ditto.
+       (TeX-error-overview-orig-window): Ditto.
+       (TeX-error-overview-frame): Ditto.
+       (TeX-error-overview-setup): New customizable variable.
+       (TeX-error-overview-setup): New function.
+       (TeX-error-overview-goto-source): Ditto.
+       (TeX-error-overview-make-entries): Ditto.
+       (TeX-error-overview-next-error): Ditto.
+       (TeX-error-overview-previous-error): Ditto.
+       (TeX-error-overview-quit): Ditto.
+       (TeX-error-overview-mode-map): New variable.
+       (TeX-error-overview-list-entries): Ditto.
+       (TeX-error-overview-mode): New major mode.
+       (TeX-error-overview-buffer-name): New constant.
+       (TeX-error-overview-frame-parameters): New customizable variable.
+       (TeX-error-overview-open-after-TeX-run): Ditto.
+       (TeX-error-overview): New function.
+       (TeX-find-display-help): Expand the name of the file to be visited
+       starting from the directory of the master file.
+       (TeX-error-overview-make-entries): Add optional `master-dir'
+       argument, to shorten file names when they are relative.
+       (TeX-error-overview): Pass `TeX-master-directory' as argument to
+       `TeX-error-overview-make-entries'.
+
+       * tex.el (TeX-error-overview): Autoload `TeX-error-overview'.
+       (TeX-mode-specific-command-menu-entries): Add an entry for the
+       error overview.
+
+       * doc/auctex.texi (Debugging): Document error overview.
+
+       * doc/changes.texi: Mention error overview.  Add local variables
+       to the end of the file.
+
+       * doc/todo.texi: Add local variables to the end of the file.
+       (Wishlist): Update entry about error reporting.
+
+2014-06-21  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el (TeX-parse-TeX): Use `TeX-find-display-help' in place
+       of `TeX-error-list-find-display-help'.
+       (TeX-error-list-find-display-help): Removed, replaced by more
+       general `TeX-find-display-help'.
+       (TeX-find-display-help): New function.
+       (TeX-error): Append nils to the `TeX-error-list' entry to make
+       each entry of the same lenght for both errors and warnings.
+       Append also `TeX-error-point'.  This fixes a bug occurring when
+       `TeX-display-help' is set to `expert'.  Use
+       `TeX-find-display-help' to display the help.
+       (TeX-warning): Append `TeX-error-point' to the `TeX-error-list'
+       entry to fix the above mentioned bug.  Use `TeX-find-display-help'
+       to display the help.
+
+2014-06-04  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el (TeX-parse-TeX): Use
+       `TeX-error-list-find-display-help'.
+       (TeX-error-list-find-display-help): New function.
+       (TeX-warning): Use `bad-box' when there is a bad box.
+       (TeX-warning--find-display-help): Cater for bad boxes.
+       (TeX-help-error): Ditto.
+
+2014-06-02  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el (TeX-error--find-display-help): Use new fourth
+       argument of `TeX-help-error'.
+       (TeX-warning): Rename mandatory argument to `warning'.  Do not add
+       leading "** " to warning string.
+       (TeX-warning--find-display-help): Use new fourth argument of
+       `TeX-help-error'.
+       (TeX-error-description-faces): New group.
+       (TeX-error-description-error): New face.
+       (TeX-error-description-warning): Ditto.
+       (TeX-error-description-tex-said): Ditto.
+       (TeX-error-description-help): Ditto.
+       (TeX-help-error): Add new `type' argument.  Color help messages
+       using the new faces.
+       (TeX-warning): Preserve point when searching backward.  In some
+       cases this prevents infinite loops in `TeX-parse-all-errors' and
+       fixes wrong detection of context string.
+
+2014-05-27  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-mode-specific-command-menu-entries): Add
+       `TeX-previous-error'.
+
+       * tex-buf.el (TeX-error-list): Fix typo.
+       (TeX-parse-all-errors): Ditto.
+
+2014-05-23  Stefan Monnier  <address@hidden>
+
+       Backport from ELPA repository.
        * tex-site.el (TeX-modes-set): Use advice-add if available.
        * font-latex.el (font-latex-make-sectioning-faces): Don't rely on
        dynamic scoping for `num'.
@@ -14,6 +841,1670 @@
        Stay away from `add-to-list' on let-bound variables.
        (font-latex-match-command-in-braces): Remove unused var `end'.
 
+2014-05-20  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el: Update copyright years.
+       (TeX-error-last-visited): New buffer-local variable.
+       (TeX-get-parse-function): New function.
+       (TeX-next-error): Add `apt' argument and make all arguments
+       optional.  Use `TeX-get-parse-function'.
+       (TeX-previous-error): Use `TeX-get-parse-function'.  Use
+       `TeX-parse-TeX' to move between errors when possible.
+       (TeX-TeX-sentinel): Parse the output log when
+       `TeX-parse-all-errors' is non-nil.
+       (TeX-LaTeX-sentinel): Ditto.
+       (TeX-parse-reset): Add an optional `reparse' argument and reparse
+       the output log when it is non-nil.  Reset also `TeX-error-list'
+       and `TeX-error-last-visited'.
+       (TeX-parse-command): Add `arg' argument.
+       (TeX-parse-TeX): Add `arg' argument.  When `TeX-parse-all-errors'
+       is non-nil, use `TeX-error-list' to move to the error point.
+       (TeX-error-list): New buffer-local variable.
+       (TeX-parse-all-errors): New customizable variable.
+       (TeX-parse-all-errors): New function.
+       (TeX-parse-error): Add an optional `store' argument.  Make the
+       function return non-nil when an error or a warning is found.
+       (TeX-error): Add an optional `store' argument: when it is non-nil
+       store the relevant information about the error in
+       `TeX-error-list'.  Use `TeX-error--find-display-help'.
+       (TeX-error--find-display-help): New function.
+       (TeX-warning): Add an optional `store' argument: when it is
+       non-nil store the relevant information about the warning in
+       `TeX-error-list'.  Use `TeX-warning--find-display-help'.
+       (TeX-warning--find-display-help): New function.
+       (TeX-output-mode-map): Bind `p' to the now working
+       `TeX-previous-error'.
+
+       * doc/auctex.texi (Debugging): Document `TeX-previous-error' and
+       `TeX-parse-all-errors'.  Update `TeX-next-error'.
+
+       * doc/changes.texi: Update copyright years.  Mention
+       `TeX-next-error' and `TeX-previous-error' changes and the new
+       `TeX-parse-all-errors'.
+
+       * doc/todo.texi: Update copyright years.
+       (Wishlist): Update a couple of items related to error parsing.
+
+2014-05-17  Mos� Giordano  <address@hidden>
+
+       * font-latex.el: Update copyright years.
+       (font-latex-update-sectioning-faces): Make sure
+       `height-scale' is a floating point number.
+       (font-latex-make-sectioning-faces): Ditto.
+
+2014-05-10  Mos� Giordano  <address@hidden>
+
+       * style/siunitx.el: Update copyright years and specify last
+       `siunitx' version supported.  Hard wrap lines longer than 80
+       columns.
+       (LaTeX-siunitx-regexp): Move the escape character out of the group
+       matching the unit name.
+       (LaTeX-arg-siunitx-unit): Add `prefix' argument.  Replace the
+       space with `TeX-esc' as the completion separator.
+       (LaTeX-arg-define-siunitx-unit): Define a default prompt; set
+       `initial-input' to nil; use `TeX-esc' as prefix to the given
+       input.
+       ("siunitx"): Remove the escape character from the unit names.
+
+2014-05-02  Jobst Hoffmann  <address@hidden>  (tiny change)
+
+       * style/listings.el ("listings"): Fix typo.
+
+2014-05-01  Mos� Giordano  <address@hidden>
+
+       * font-latex.el (font-latex-set-syntactic-keywords): Fix
+       fontification of the optional argument to a verbatim-like
+       environment.
+
+2014-04-16  Tassilo Horn  <address@hidden>
+
+       * tex-buf.el (TeX-parse-error): Add another exception.
+
+2014-04-06  Tassilo Horn  <address@hidden>
+
+       * tex-info.el (TeX-texinfo-mode): Use `texinfo-current-defun-name'
+       in `C-x 4 a'.
+
+2014-04-04  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-add-environments): Move advising of
+       `LaTeX-add-environments' after definition of
+       `LaTeX-environment-menu' and `LaTeX-environment-modify-menu'
+       variables to fix assignment to free variable warnings.
+
+       * tex-style.el: Update coyright years.
+       (LaTeX-biblatex-use-Biber): New variable.  Mark as
+       safe-local-variable.
+
+       * latex.el (TeX-latex-mode): Add setting of `LaTeX-using-Biber' to
+       `TeX-update-style-hook'.
+
+       * style/biblatex.el ("biblatex"): Use `LaTeX-biblatex-use-Biber'
+       value to set `LaTeX-using-Biber' when it is set locally.
+
+       * tex-bar.el: Update copyright years.
+       (LaTeX-install-toolbar): Append toolbar refresh to
+       `TeX-update-style-hook' instead of prepending it.
+
+       * doc/auctex.texi:  Update copyright years.
+       (Selecting a Command): Document `LaTeX-biblatex-use-Biber'.
+
+       * doc/changes.texi: Mention `LaTeX-biblatex-use-Biber' change.
+
+2014-04-02  Mos� Giordano  <address@hidden>
+
+       * style/biblatex.el: Update copyright years and specify last
+       `biblatex' version supported.
+       (LaTeX-biblatex-executebibliographyoptions-options): Update.
+       (LaTeX-biblatex-language-list): Ditto.
+       (LaTeX-arg-biblatex-cites): Fix condition on `items' variable to
+       adapt to the `TeX-completing-read-multiple' return value change.
+
+2014-03-17  Nicolas Richard  <address@hidden>
+
+       * style/exercise.el: New file.
+
+2014-03-18  Tassilo Horn  <address@hidden>
+
+       * doc/auctex.texi: Mention that `TeX-PDF-mode' is enabled by
+       default.
+
+       * tex.el (TeX-PDF-mode): Enable TeX PDF mode by default.
+
+       * tex-buf.el (TeX-command-master): Ask for TeX-master if it cannot
+       be determined otherwise.
+
+2014-03-15  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-view-command-raw): Throw an error when `spec' is
+       nil, otherwise when the function returns nil `TeX-command-expand'
+       enters an infinite loop.
+
+       * style/paralist.el: Update copyright years.
+       ("paralist"): Use `LaTeX-provided-package-options-member' to
+       conditionally define environments.
+
+2014-03-12  Tassilo Horn  <address@hidden>
+
+       * multi-prompt.el (multi-prompt): Return nil on empty input.
+
+       * tex.el (TeX-completing-read-multiple): Define it so that empty
+       input results in nil across different emacs versions (<= 24.3
+       vs. later versions).
+
+       * style/biblatex.el ("biblatex"): Use
+       `TeX-completing-read-multiple' instead of
+       `completing-read-multiple'.
+       (LaTeX-arg-biblatex-cites): Use `TeX-completing-read-multiple' and
+       adapt handling of return value.
+
+       * style/pstricks.el (LaTeX-package-parameters): Adapt to
+       `TeX-completing-read-multiple' change.
+
+2014-03-11  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-arg-usepackage-read-packages-with-options): Fix
+       bug that caused AUCTeX to query for packages infinitely.
+
+       * context.el (ConTeXt-add-environments): Advice instead of
+       renaming and redefining generated function.
+
+       * latex.el (LaTeX-close-environment): Remove non-interactive
+       `next-line' usage compile warning.
+       (LaTeX-add-bibliographies): Advice instead of renaming and
+       redefining generated function.
+       (LaTeX-add-environments): Ditto.
+
+2014-03-10  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-fill-break-at-separators): Default to opening
+       and closing math switches.
+
+2014-03-06  Mos� Giordano  <address@hidden>
+
+       * doc/auctex.texi (Processor Options): Add missing pair of braces.
+
+2014-02-22  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-environment): Do not set
+       `LaTeX-default-environment' to `environment' if the latter is
+       equal to the current default environment.
+
+2014-02-21  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-arg-usepackage-read-packages-with-options): New
+       function.  Now options are requested only if at least one package
+       has been provided.
+       (LaTeX-arg-usepackage-insert): New function.
+       (LaTeX-arg-usepackage): Use
+       `LaTeX-arg-usepackage-read-packages-with-options' and
+       `LaTeX-arg-usepackage-insert'.
+       (LaTeX-insert-usepackages): New function.
+       (LaTeX-env-document): Use it.
+
+       * doc/auctex.texi (Environments): Document new behavior of
+       `LaTeX-env-document'.
+
+       * doc/changes.texi: Mention it.
+
+2014-02-20  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-command-extra-options): New customizable variable.
+       (TeX-expand-list): New `%(extraopts)' expander.
+       (TeX-command-list): Use `%(extraopts)'.
+
+       * doc/auctex.texi (Processor Options): Document
+       `TeX-command-extra-options'.
+
+       * doc/changes.texi: Document it.
+
+2014-02-10  Tassilo Horn  <address@hidden>
+
+       * style/english.el: New style for english documents so that
+       `TeX-language-en-hook' gets run.
+
+       * Makefile.in (STYLESRC): Activate it.
+
+       * doc/auctex.texi (languages): Document it.
+
+2014-02-04  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-auto-add-type): Convert to macro.
+
+       * lpath.el: Don't silence byte-compiler.
+
+       * latex.el (LaTeX-auto-style, LaTeX-auto-arguments)
+       (LaTeX-auto-optional, LaTeX-auto-env-args): Defvar explicitly
+       before use.
+
+2014-01-29  Tassilo Horn  <address@hidden>
+
+       * tex-buf.el (TeX-command-query): Use default parameter of
+       `completing-read'.
+
+       * tex.el (TeX-insert-macro): Use default parameter of
+       `completing-read'.
+
+       * latex.el (LaTeX-environment, TeX-arg-document): Use default
+       parameter of `completing-read'.
+
+2014-01-22  Tassilo Horn  <address@hidden>
+
+       * style/shortvrb.el (LaTeX-shortvrb-chars): Move from
+       tex-style.el.  Set default value to nil because just loading
+       shortvrb does not make | a shortvrb char.  One needs to define it
+       using \MakeShortVrb{\|}.  Extend the docstring so that it tells
+       that one should usually set this variable only buffer-locally.
+       (LaTeX-shortvrb-chars): Declare it as safe local variable.
+
+       * font-latex.el (font-latex-add-to-syntax-alist): Call
+       `font-latex-setup' to make syntactic font-lock changes effective.
+
+2014-01-21  Berend de Boer  <address@hidden>
+
+       * context.el: distinguish between numbered and unnumbered sections.
+
+2014-01-15  Mos� Giordano  <address@hidden>
+
+       * style/babel.el: Update copyright years and specify last `babel'
+       version supported.
+       (LaTeX-babel-language-list): Expand language list to all languages
+       mentioned in the last version of the manual.
+       (LaTeX-babel-active-languages): Update in order to parse the
+       `main' option and ignore the modifiers.
+       (LaTeX-babel-package-options): Turn the variable into a function
+       because now requires `TeX-read-key-val'.
+
+2014-01-11  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-current-environment): Make search for `\begin'
+       and `\end' case sensitive.
+       (docTeX-in-macrocode-p): Ditto.
+       (LaTeX-indent-calculate): Ditto.
+       (LaTeX-find-matching-end): Ditto.
+       (LaTeX-find-matching-begin): Ditto.
+
+2014-01-06  Vincent Bela�che  <address@hidden>
+
+       * tex-info.el (Texinfo-reftex-hook): Replace use of
+       reftex-tables-dirty by that of reftex-default-label-alist-entries
+       to trigger call to reftex-compile-variables in a standard way.
+       The problem was that generating a TOC for a Texinfo file and then
+       for a LaTeX file was not working for the LaTeX file because the
+       Texinfo file was using LaTeX label style and as such
+       reftex-ensure-compiled-variables was not calling
+       reftex-compile-variables, which caused wrong
+       reftex-everything-regexp for sections.
+
+2014-01-06  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-math-insert): Use `TeX-electric-math' for
+       consistency with `TeX-insert-dollar'.
+       (LaTeX-math-cal): Ditto.
+
+2013-12-24  Mos� Giordano  <address@hidden>
+
+       * tex-style.el (LaTeX-fontspec-arg-font-search): New customizable
+       variable.
+       (LaTeX-fontspec-font-list-default): Ditto.
+
+       * style/fontspec.el (LaTeX-fontspec-arg-font): New function.
+       ("fontspec"): Use it.
+
+       * doc/changes.texi: Mention `LaTeX-fontspec-arg-font-search' and
+       `LaTeX-fontspec-font-list-default'.
+
+2013-12-20  Mos� Giordano  <address@hidden>
+
+       * style/imakeidx.el ("imakeidx"): Move addition of options to
+       `LaTeX-imakeidx-indexsetup-options' inside the hook.
+
+       * Makefile.in (STYLESRC): Activate new styles.
+
+       * style/fontspec.el: New style.
+
+       * style/luacode.el: Ditto.
+
+       * style/metalogo.el: Ditto.
+
+       * style/unicode-math.el: Ditto.
+
+2013-12-18  Tassilo Horn  <address@hidden>
+
+       * tex-buf.el (TeX-parse-error): Don't confuse ) in package
+       messages with EOF.
+
+2013-12-01  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-common-initialization): Move disabling of
+       `electric-pair-mode' from `VirTeX-common-initialization'.  Disable
+       it only if `LaTeX-electric-left-right-brace' is non-nil.
+
+       * tex.el (VirTeX-common-initialization): See above.
+
+2013-11-29  Tassilo Horn  <address@hidden>
+
+       * tex.el (VirTeX-common-initialization): Disable
+       `electric-pair-mode' (a global minor mode) in auctex buffers
+       because it interferes with auctex's pairing feature.
+
+2013-11-23  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-common-initialization):
+
+       * tex.el (VirTeX-common-initialization): Move
+       `LaTeX-narrow-to-environment' and `TeX-narrow-to-group' bindings
+       to the AUCTeX maps because `narrow-map' is not defined in GNU
+       Emacs < 22.2 and XEmacs.  Reported by Giacomo Boffi.
+
+2013-11-13  Mos� Giordano  <address@hidden>
+
+       * style/biblatex.el ("biblatex"): Declare expert macros and
+       environments.
+
+2013-11-11  Tassilo Horn  <address@hidden>
+
+       * tex-buf.el (TeX-next-error, TeX-previous-error): Call
+       `next-error' also if last TeX command was a compile command (e.g.,
+       Check, ChkTeX).
+       (TeX-run-compile): Save compilation buffer in
+       `TeX-command-buffer'.
+
+2013-11-10  Ralf Angeli  <address@hidden>
+
+       * bib-cite.el (bib-highlight-mouse): Change regexp to cope with
+       multiple optional arguments of a macro.
+
+2013-11-09  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-complete-make-expert-command-functions): Change
+       signature of declare-expert functions.
+
+       * doc/auctex.texi: Document it.
+
+2013-11-08  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-complete-expert-commands): New defcustom.
+       (TeX-complete-make-expert-command-functions): New macro.
+       (TeX-insert-macro): Restrict completion depending on
+       `TeX-complete-expert-commands'.
+       (VirTeX-common-initialization): Ditto.
+
+       * latex.el (LaTeX-environment, LaTeX-common-initialization):
+       Restrict completion depending on `TeX-complete-expert-commands'.
+
+       * tex-info.el (TeX-texinfo-mode): Restrict completion depending on
+       `TeX-complete-expert-commands'.
+
+       * doc/auctex.texi: Document normal vs. expert commands for users
+       and style file authors.
+
+       * doc/changes.texi: Mention normal vs. expert commands.
+
+       * latex.el (LaTeX-common-initialization): Fix void-function
+       LaTeX-symbol-list error.
+
+2013-11-05  Mos� Giordano  <address@hidden>
+
+       * doc/auctex.texi (Folding): Document `TeX-fold-auto' and
+       `TeX-fold-unfold-around-mark'.
+
+       * latex.el (TeX-arg-bibliography): Run style files associated to
+       the bibliography database files.
+
+       * style/biblatex.el ("biblatex"): Do not quote at all
+       `TeX-arg-key-val' arguments.
+       (LaTeX-arg-addbibresource): Run style file associated to the
+       bibliography database file.
+
+2013-11-03  Mos� Giordano  <address@hidden>
+
+       * style/biblatex.el ("biblatex"): Quote `TeX-arg-key-val'
+       arguments with `quote' special form istead of apostrophe.
+
+2013-11-02  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-narrow-to-environment): New function, disabled
+       by default.
+       (LaTeX-common-initialization): Add key binding for
+       `LaTeX-narrow-to-environment'.
+
+       * tex.el (VirTeX-common-initialization): Add key binding for
+       `TeX-narrow-to-group'.
+       (TeX-narrow-to-group): New function, disabled by default.
+
+       * doc/auctex.texi (Narrowing): Document narrowing commands.
+
+       * doc/changes.texi: Mention narrowing commands.
+
+2013-10-19  Mos� Giordano  <address@hidden>
+
+       * latex.el (TeX-arg-file-name): New function.
+       (TeX-arg-file-name-sans-extension): Ditto.
+       (TeX-arg-version): Ditto.
+       (LaTeX-common-initialization): Add completion for
+       `ProvidesPackage', `ProvidesClass', and `ProvidesFile'.
+
+       * doc/auctex.texi (Adding Macros): Document `TeX-arg-version',
+       `TeX-arg-file-name', and `TeX-arg-file-name-sans-extension'.
+
+2013-10-14  Tassilo Horn  <address@hidden>
+
+       * doc/changes.texi: Mention the enhanced tabular indentation.
+
+       * style/longtable.el ("longtable"): Use `LaTeX-indent-tabular'
+       also for longtable environment.
+
+       * style/tabularx.el ("tabularx"): Use `LaTeX-indent-tabular' also
+       for tabularx environment.
+
+       * style/tabulary.el ("tabulary"): Use `LaTeX-indent-tabular' also
+       for tabulary environment.
+
+       * latex.el (LaTeX-indent-environment-list): Use
+       `LaTeX-indent-tabular' also for array and eqnarray environments.
+
+2013-10-14  Oleh Krehel  <address@hidden>
+
+       * latex.el: `LaTeX-indent-tabular' now indents tabular-like
+       environments.
+       (LaTeX--tabular-like-end): new variable.
+       (LaTeX-indent-environment-list): added `LaTeX-indent-tabular' as
+       indenter for "tabular" and "align", added a setter that recomputes
+       `LaTeX--tabular-like-end'
+       (LaTeX-env-beginning-pos-col): new function.
+       (LaTeX-hanging-ampersand-position): new function.
+       (LaTeX-indent-tabular): new function.
+
+       * tests/latex/latex-test.el : added an ERT test for
+       `LaTeX-indent-tabular'
+       (LaTeX-indent-tabular-test/in): input filename variable
+       (LaTeX-indent-tabular-test/out): output filename variable
+
+       * tests/latex/tabular-in.tex: input to latex-test.el
+
+       * tests/latex/tabular-out.tex: input to latex-test.el
+
+       * tex.el (TeX-how-many): added for compatibility with XEmacs.
+
+2013-10-11  Mos� Giordano  <address@hidden>
+
+       * doc/auctex.texi (Quotes): Fix typo.
+
+       * doc/changes.texi: Ditto.
+
+2013-10-10  Ikumi Keita  <address@hidden>
+
+       * doc/changes.texi: Document enhanced paired braces feature.
+
+       * doc/auctex.texi: Ditto.
+
+2013-10-06  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-insert-macro-default-style): Add new possible value
+       `show-all-optional-args' and update doc-string accordingly.
+       (TeX-parse-arguments): Use it.
+
+       * doc/auctex.texi (Completion): Document `show-all-optional-args'.
+
+       * doc/changes.texi: Mention `show-all-optional-args'.
+
+       * tex.el (TeX-insert-braces-alist): New customizable variable.
+       (TeX-insert-braces): Mention it in doc-string.
+       (TeX-parse-macro): Use `TeX-insert-braces-alist'.
+
+       * style/booktabs.el: Update copyright years.
+       (LaTeX-booktabs-arg-paren): Let-bind `TeX-arg-opening-brace' and
+       `TeX-arg-closing-brace' instead of `<' and `>'.
+       ("booktabs"): Add `toprule', `midrule', and `bottomrule' macros to
+       `TeX-insert-braces-alist'.
+       ("booktabs"): Add a dummy `ignore' in `cmidrule' macro in order to
+       reset `last-optional-rejected' to nil.
+
+       * doc/auctex.texi (Completion): Document
+       `TeX-insert-braces-alist'.
+
+       * doc/changes.texi: Mention `TeX-insert-braces-alist'.
+
+2013-09-27  Mos� Giordano  <address@hidden>
+
+       * latex.el (TeX-arg-insert-braces): : Move
+       `indent-according-to-mode' after `save-excursion' because
+       `LaTeX-newline' (used in `save-excursion') deletes trailing
+       whitespaces.
+
+       * tex-buf.el (TeX-LaTeX-sentinel): Add support for hyperref "Rerun
+       to get outlines right" messages.
+
+2013-09-26  Ikumi Keita  <address@hidden>
+
+       * latex.el: Enhance brace pairing feature.
+       (TeX-arg-insert-braces): Extend to be used with \bigl and its
+       friends.
+       (TeX-arg-insert-right-brace-maybe): New function.
+       (LaTeX-insert-left-brace): New function.
+       (LaTeX-insert-corresponding-right-macro-and-brace): New function.
+       (LaTeX-find-preceeding-left-macro-name): New function.
+       (LaTeX-electric-left-right-brace): New customization option.
+       (LaTeX-left-right-macros-association): New variable.
+
+       * style/amsmath.el ("amsmath"): Make use of the above change.
+       \lvert and \lVert are paired with \rvert and \rVert, respectively.
+
+2013-09-19  Mos� Giordano  <address@hidden>
+
+       * style/siunitx.el ("siunitx"): Fix `radian' unit name.
+
+2013-09-17  Fabrice Ben Hamouda  <address@hidden>  (tiny change)
+
+       * tex-buf.el (TeX-next-error, TeX-active-buffer): Fix a problem
+       with `TeX-next-error' in multi-file documents.
+
+2013-09-16  Tassilo Horn  <address@hidden>
+
+       * tex-info.el (TeX-texinfo-mode): Set
+       `TeX-sentinel-default-function' to `TeX-TeX-sentinel'.
+
+2013-09-09  Tassilo Horn  <address@hidden>
+
+       * tex-buf.el (TeX-check-files): Handle buffers that haven't been
+       saved yet.
+
+2013-09-02  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-electric-math): Fix defcustom choices.
+
+       * bib-cite.el (bib-cite-minor-mode): Call `make-local-hook' only
+       on XEmacs.
+
+2013-08-03  Mos� Giordano  <address@hidden>
+
+       * latex.el (TeX-arg-ref): New function.
+
+       * doc/auctex.texi: Replace occurrences of `TeX-arg-label' with
+       `TeX-arg-ref'.
+       (Adding Macros): Document `TeX-arg-ref'.
+
+       * style/fancyref.el ("fancyref"): Use `TeX-arg-ref' instead of
+       `TeX-arg-label'.
+
+       * style/latexinfo.el ("latexinfo"): Ditto.
+
+       * style/nameref.el ("nameref"): Ditto.
+
+       * style/varioref.el ("varioref"): Ditto.
+
+       * style/subfigure.el ("subfigure"): Use `TeX-arg-ref' instead of
+       `TeX-arg-label' and fix parentheses.
+
+2013-07-31  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-math-initialize): Refactor top-level code into
+       function.
+       (LaTeX-math-list): Call `LaTeX-math-initialize' when setting the
+       value in order to update the key bindings.
+       Also shuffle around several definitions in order to get a
+       declaration-before-use order.
+
+2013-07-29  Mos� Giordano  <address@hidden>
+
+       * doc/changes.texi: Add other changes.
+
+       * doc/auctex.texi (Environments): Fix typo.
+
+2013-07-27  Mos� Giordano  <address@hidden>
+
+       * latex.el (BibTeX-auto-regexp-list): Remove `TeX-token-char' from
+       the regexp since cite keys can start with non-letter characters,
+       e.g., bibcodes start with year of publication.
+
+2013-07-24  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-math-menu-unicode): Enable also on windows
+       systems as it seems to work there, too.
+
+2013-07-23  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-clean-default-intermediate-suffixes): Add `.fls',
+       files created by TeX processors with `-recorder' option, and
+       `-blx.bib', files created by `bibtex' when using the `biblatex'
+       package.
+
+       * doc/changes.texi: Document some changes for next release.
+
+2013-07-22  Mos� Giordano  <address@hidden>
+
+       * Makefile.in: Update copyright years.
+       (GITFILES): Rename from `CVSFILES', adapt to Git.
+       (COMMITTER): Get user name and email from Git configuration;
+       escape `<', `>' and spaces.
+       (install-el): Update reference to Git in comment.
+       (release-commit): Adapt to Git; make sure committer name and email
+       are encoded with ISO-8859-1 using the `iconv' program.
+       (tar-ball): Adapt to Git.
+       (preview-ball): Ditto.
+
+       * auctex.spec (Provides): Update reference to Git in comment.
+
+       * bib-cite.el: Update AUCTeX repository link in comment.
+
+       * font-latex.el (font-latex-built-in-keyword-classes): Fix
+       fontification of some biblatex macros.  Reported by Christian
+       Kn�pfer.
+       (font-latex-built-in-keyword-classes): Revert changes made with
+       commit 7531cca, they were useless.
+
+2013-07-15  Mads Jensen  <address@hidden>
+
+       * style/tabulary.el: New style.
+
+       * Makefile.in (STYLESRC): Activate new style tabulary.
+
+2013-07-12  Mos� Giordano  <address@hidden>
+
+       * doc/auctex.texi (Processor Options): Move
+       `TeX-source-correlate-method' to `I/O Correlation' section.
+
+2013-07-11  Mos� Giordano  <address@hidden>
+
+       * doc/auctex.texi (Processor Options): Document
+       `TeX-source-correlate-method'.
+
+2013-07-09  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-default-tabular-environment): New variable.
+       (LaTeX-env-figure): Use it instead of hard-coding "tabular".
+
+       * style/tabularx.el ("tabularx"): Set
+       `LaTeX-default-tabular-environment' to "tabularx".
+
+2013-06-29  Mos� Giordano  <address@hidden>
+
+       * bib-cite.el: Replace `save-excursion'+`set-buffer' with
+       `with-current-buffer'.
+
+       * tex-bar.el: Ditto.
+
+       * tex-buf.el: Ditto.
+
+       * tex.el: Replace `save-excursion'+`set-buffer' with
+       `with-current-buffer'.  Delete trailing whitespaces.
+
+       * tex-buf.el (TeX-error-file): Fix spelling error.
+       (TeX-error): Ditto.
+
+       * doc/install.texi (Configure): Update for Git.
+
+       * doc/preview-readme.texi (Availability): Ditto.
+
+       * doc/wininstall.texi: Ditto.
+
+2013-06-26  Tassilo Horn  <address@hidden>
+
+       * doc/preview-problems.texi: Rename "Known problems" section to
+       "Known problems with preview-latex" in rawfile export.  Delete
+       sections "Problems with Ghostscript" and "Emacs problems" because
+       those are basically ruled out when using the prerequisites
+       documented in the manual.
+
+       * doc/install.texi: Don't link to ghostscript specific
+       preview-latex problems section because that has been removed.
+
+       * doc/Makefile.in (DISTTEXTS, ../PROBLEMS.preview): Rename
+       PROBLEMS to PROBLEMS.preview since it only deals with
+       preview-latex problems.
+
+       * Makefile.in (DISTTEXTS): Use PROBLEMS.preview instead of
+       PROBLEMS.
+
+2013-06-24  Tassilo Horn  <address@hidden>
+
+       * doc/Makefile.in (DISTTEXTS): Add ../PROBLEMS.
+
+       * Makefile.in (DISTTEXTS): Add PROBLEMS.
+
+       * tex.el (TeX-evince-dbus-p): Require dbus at compile-time.
+
+2013-06-21  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-evince-dbus-p): Improved DBUS availability check.
+
+2013-06-21  R�diger Sonderfeld  <address@hidden>
+
+       * tex.el (TeX-doc-backend-alist): Remove unnecessary `info' check.
+
+2013-06-14  Tassilo Horn  <address@hidden>
+
+       * tex-jp.el: Change to `coding: iso-2022-jp-unix'.
+
+2013-06-12  Tassilo Horn  <address@hidden>
+
+       * tex-jp.el: Add `coding: iso-2022-7bit-unix' file local variable.
+
+2013-06-11  Tassilo Horn  <address@hidden>
+
+       * tex-buf.el (TeX-help-error): Let-bind `inhibit-read-only' when
+       updating the *TeX Help* buffer.
+
+2013-06-11  Mos� Giordano  <address@hidden>
+
+       * latex.el (TeX-after-document-hook): New hook.
+       (TeX-arg-document): Use it.
+       (LaTeX-after-usepackage-hook): New hook.
+       (LaTeX-arg-usepackage): Use it, remove babel specific code.
+
+       * style/babel.el: Update copyright years.
+       (LaTeX-env-babel-lang): New function.
+       ("babel"): Add `LaTeX-env-babel-lang' to
+       `LaTeX-after-usepackage-hook'.
+
+2013-06-08  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-math-close-double-dollar): Remove.
+       (TeX-math-close-single-dollar): Ditto.
+       (TeX-electric-dollar): Ditto.
+       (TeX-electric-math): New customizable variable, supersedes
+       variables above.
+       (TeX-insert-dollar): Adapt to `TeX-electric-math'.  See
+       http://thread.gmane.org/gmane.emacs.auctex.devel/3070
+
+       * doc/auctex.texi (Quotes): Document `TeX-electric-math'.
+       (Environments): Document `LaTeX-find-matching-begin' and
+       `LaTeX-find-matching-end'.
+
+2013-06-02  Mos� Giordano  <address@hidden>
+
+       * tex-buf.el: Shorten copyright year ranges and update with
+       missing years.  Delete trailing whitespaces.
+       (TeX-run-compile): Let-bind `default-directory' to
+       `TeX-master-directory'.
+
+2013-05-31  Tassilo Horn  <address@hidden>
+
+       * autogen.sh: Set LC_ALL=C when looking into ChangeLog for
+       AUCTEXDATE.
+
+2013-05-31  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-env-figure): Simplify using `save-excursion'
+       instead of regexp searches.  Fill the caption when
+       `auto-fill-mode' is on.
+
+2013-05-30  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-expand-list): Add new expander "%a", it returns the
+       quoted absolute path of the file visiting current buffer.
+       (TeX-view-program-list-builtin): Use "%a" expander for forward PDF
+       search.
+
+2013-05-28  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-source-correlate-sync-source): Fix docstring.
+
+2013-05-23  Mos� Giordano  <address@hidden>
+
+       * font-latex.el: Update copyright years, there have been
+       non-trivial changes in 2010, and 2011.
+       (font-latex-built-in-keyword-classes): Fontify Biblatex multicites
+       macros up to three mandatory arguments.
+
+       * style/biblatex.el (LaTeX-biblatex-entrytype): New variable.
+       (LaTeX-biblatex-executebibliographyoptions-options): New variable.
+       (LaTeX-biblatex-language-list): New variable.
+       (LaTeX-arg-biblatex-cites): New function.
+       ("biblatex"): Always set `LaTeX-using-Biber'.  Add citation
+       macros.
+       (LaTeX-biblatex-package-options-list): Move preamble options to
+       `LaTeX-biblatex-executebibliographyoptions-options'.
+
+2013-05-22  Mos� Giordano  <address@hidden>
+
+       * latex.el: Replace `delete-backward-char' with `delete-char'.
+
+       * tex.el: Ditto.
+
+       * tex-buf.el: Replace `goto-line' with `goto-char' and
+       `forward-line'.
+
+2013-05-19  Mos� Giordano  <address@hidden>
+
+       * doc/.gitignore: Rename from .cvsignore.
+
+       * preview/.gitignore: Ditto.
+
+       * preview/latex/.gitignore: Ditto.
+
+2013-05-18  Mos� Giordano  <address@hidden>
+
+       * latex.el: Update copyright years, there have been non-trivial
+       changes in 1998, 2001, 2002.
+       (TeX-arg-index-tag): Use `TeX-argument-prompt'.
+       (TeX-arg-cite): Ditto.
+
+       * tex.el: Update copyright years, there have been non-trivial
+       changes in 1995, 1998.
+       (TeX-parse-arguments): Move skipping of optional
+       arguments inside loop over all arguments, because optional
+       arguments may not be the first ones.  Remove unused let-bound
+       variable `skip-opt'.
+       (TeX-arg-literal): Remove FIXME comment, `optional' is the first
+       argument passed to all functions by `TeX-parse-argument'.
+
+2013-05-13  Mos� Giordano  <address@hidden>
+
+       * style/fancyvrb.el: New style.
+
+       * style/xparse.el: Ditto.
+
+       * Makefile.in (STYLESRC): Add style/fancyvrb.el and
+       style/xparse.el.
+
+2013-05-12  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-insert-dollar): Insert just a single dollar when the
+       point is in a verbatim-like construct.
+
+       * font-latex.el (font-latex-jit-lock-force-redisplay): Don't rely
+       on existing `jit-lock-force-redisplay' because recent bzr Emacs
+       broke compatibility changing the number of arguments.  Reported by
+       Robert Goldman.
+
+2013-05-08  Mos� Giordano  <address@hidden>
+
+       * doc/auctex.texi (Environments): Document
+       `LaTeX-default-document-environment'.
+
+2013-05-07  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-electric-dollar): New variable.
+       (TeX-insert-dollar): Use it.
+
+       * doc/auctex.texi (Quotes): Document `TeX-electric-dollar'.
+
+2013-04-28  Mos� Giordano  <address@hidden>
+
+       * tex-bar.el: Update copyright range.
+       (TeX-bar-LaTeX-button-alist): Change BibTeX button to Biber when
+       `LaTeX-using-biber' is non-nil.
+       (LaTeX-install-toolbar): Refresh toolbar after styles update.
+
+2013-04-25  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-default-document-environment): New buffer-local
+       variable.
+       (LaTeX-default-environment): Mention
+       `LaTeX-default-document-environment' in doc-string.
+       (LaTeX-environment): Use `LaTeX-default-document-environment'.
+
+       * style/beamer.el ("beamer"): Use
+       `LaTeX-default-document-environment' instead of
+       `LaTeX-default-environment'.
+
+       * style/letter.el ("letter"): Ditto.
+
+       * style/slides.el ("slides"): Ditto.
+
+2013-04-24  Mos� Giordano  <address@hidden>
+
+       * style/acro.el (LaTeX-acro-acronym-history): New variable.
+       (LaTeX-arg-acro-acronym): Use it.
+
+       * style/acronym.el (LaTeX-acronym-acronym-history): New variable.
+       (LaTeX-arg-acronym-acronym): Use it.
+
+       * style/beamer.el (LaTeX-beamer-frametitle-history): New variable.
+       ("beamer"): Use it.
+       (TeX-arg-beamer-frametitle): Ditto.
+
+       * style/siunitx.el (LaTeX-siunitx-unit-history): New variable.
+       (LaTeX-arg-siunitx-unit): Use it.
+
+2013-04-21  Mos� Giordano  <address@hidden>
+
+       * style/beamer.el ("beamer"): Set `frame' as default environment.
+       Set `section' as largest sectioning level.  Add fontification for
+       `title', `author', and `date'.
+
+       * style/letter.el ("letter"): Set `letter' as default environment.
+       Add some macros and fontification.
+
+       * style/slides.el ("slides"): Set `slide' as default environment.
+
+       * latex.el (TeX-arg-insert-braces): Move
+       `indent-according-to-mode' after `save-excursion' because
+       `LaTeX-newline' (used in `save-excursion') deletes trailing
+       whitespaces.
+
+2013-04-19  Mos� Giordano  <address@hidden>
+
+       * style/amsthm.el (LaTeX-amsthm-package-options): New variable.
+       ("amsthm"): Remove `newtheorem' macro, already defined in
+       `latex.el'.  Use `TeX-arg-define-environment' in `newtheorem*'
+       macro.  Add `qedhere', `swapnumbers', and `newtheoremstyle'
+       macros.  Add `newtheorem*' regexp to match new environments.  Add
+       fontification.
+
+       * style/article.el ("article"): Add counters and pagestyles.
+
+       * style/beamer.el ("beamer"): Ditto.
+
+       * style/book.el ("book"): Ditto.
+
+       * style/letter.el (LaTeX-letter-class-options): New variable.
+       ("letter"): Add pagestyles.
+
+       * style/report.el ("report"): Add counters and pagestyles.
+
+       * style/slides.el (LaTeX-slides-class-options): New variable.
+       ("slides"): Add counters and pagestyles.
+
+2013-04-18  Mos� Giordano  <address@hidden>
+
+       * style/beamer.el: Update copyright years and remove trailing
+       whitespaces.
+       ("beamer"): Run style hooks for loaded packages.
+       (LaTeX-beamer-class-options): New function.
+
+       * style/hyperref.el (LaTeX-hyperref-package-options-list): Rename
+       from `LaTeX-hyperref-package-options' to avoid clash with the
+       function with the same name.
+       ("hyperref"): Use it.
+       (LaTeX-hyperref-package-options): Ditto.
+
+2013-04-17  Mos� Giordano  <address@hidden>
+
+       * plain-tex.el (plain-TeX-common-initialization): Fix typo in
+       abbrev table name.
+
+2013-04-16  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-default-author): New customizable variable.
+       (LaTeX-arg-author): New function.
+       (LaTeX-common-initialization): Use `LaTeX-arg-author' for the
+       \author macro.
+       (LaTeX-default-author): Change default to 'user-full-name (quoted)
+       and add a new possible value.
+       (LaTeX-arg-author): Change accordingly.
+
+       * doc/auctex.texi (Itemize-like): Document `TeX-arg-item-label-p'
+       option.
+       (Tabular-like): Document `LaTeX-default-width' option.
+       (Modes and Hooks): Add modes and hooks to indices.
+       (Adding Macros): Document `TeX-arg-index-tag', `TeX-arg-index',
+       `TeX-arg-document', `LaTeX-arg-usepackage', `TeX-arg-bibstyle',
+       `TeX-arg-bibliography', `LaTeX-arg-author', `TeX-read-key-val',
+       and `TeX-arg-key-val' functions.  Mention `TeX-arg-cite-note-p'
+       and `LaTeX-default-author' options.
+       (Adding Environments): Use in example code actually present in
+       `listings.el' file.
+
+2013-04-16  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-source-correlate-sync-source): Use `raise-frame'
+       instead of the external wmctrl command to raise the emacs frame.
+
+2013-04-15  Mos� Giordano  <address@hidden>
+
+       * latex.el (TeX-read-key-val): Add `prompt' optional argument.
+       (TeX-arg-key-val): Ditto.
+
+       * tex.el (fboundp): Use `crm-separator' as separator in XEmacs
+       `TeX-completing-read-multiple' implementation.
+
+       * style/acro.el (LaTeX-arg-acro-key-val): Let-bind keymap with SPC
+       key binding removed, instead of defining a new key binding for
+       SPC.  Use `TeX-arg-key-val' instead of `multi-prompt-key-value'
+       and `TeX-argument-insert'.
+
+       * style/pst-node.el (LaTeX-pstnode-env-psmatrix): Replace
+       `completing-read-multiple' with `TeX-completing-read-multiple'.
+
+       * style/pstricks.el (LaTeX-package-parameters): Ditto.
+
+       * style/siunitx.el (LaTeX-arg-siunitx-unit): Let-bind keymap with
+       SPC key binding removed, instead of defining a new key binding for
+       SPC.  Replace `completing-read-multiple' with
+       `TeX-completing-read-multiple'.
+
+2013-04-15  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-source-correlate-sync-source): Raise frame when
+       placing point on the source location.
+
+2013-04-12  Mos� Giordano  <address@hidden>
+
+       * Makefile.in (STYLESRC): Add style/acro.el and style/acronym.el.
+
+       * style/acro.el: New style.
+
+       * style/acronym.el: Ditto.
+
+2013-04-10  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-evince-sync-view): URL-escape pdf file path when
+       calling evince via DBUS.
+       (TeX-evince-sync-view): Use 0 as timestamp.
+       (TeX-source-correlate-sync-source): URL-decode tex file name.
+
+2013-04-10  Nicolas Richard  <address@hidden>  (tiny change)
+
+       * style/mathtools.el (LaTeX-mathtools-key-val-options): Fix defvar
+       syntax.
+
+2013-04-10  Jobst Hoffmann  <address@hidden>  (tiny change)
+
+       * style/lscape.el ("lscape"): Fix typo and parentheses.
+
+2013-04-09  Tassilo Horn  <address@hidden>
+
+       * README.GIT: Rename from README.CVS; update contents to Git.
+
+2013-04-09  Leo Liu  <address@hidden>
+
+       * latex.el (LaTeX-outline-level): Make it work for customized
+       `outline-regexp'.  See bug report
+       http://permalink.gmane.org/gmane.emacs.auctex.bugs/1648.
+
+       * tex.el (TeX-view-program-list-builtin)
+       (TeX-view-program-selection): Enable commented code to support
+       darwin system.
+
+       * tex.el (TeX-math-input-method-off-regexp): Improve and fix typo.
+       See bug http://permalink.gmane.org/gmane.emacs.auctex.devel/2468.
+
+       * font-latex.el (font-latex-add-to-syntax-alist): Fix a bug in
+       `font-latex-add-to-syntax-alist' where it modified both the buffer
+       local and global value of `font-latex-syntax-alist'.
+
+2013-04-08  Tassilo Horn  <address@hidden>
+
+       * latex.el (LaTeX-style-list): Correct docstring.
+
+2013-04-06  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-provided-class-options-member): Fix typo.
+       (LaTeX-arg-usepackage): Provide completion for more than one
+       package in mandatory argument.
+
+2013-04-05  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-global-class-files): New variable.
+       (TeX-arg-document): Provide completion for class options, based on
+       `LaTeX-arg-usepackage'.  Use `LaTeX-global-class-files'.
+       (LaTeX-style-list): Mention that if `TeX-arg-input-file-search' is
+       set to `t' this variable will be ignored.
+
+       * tex.el (TeX-normal-mode): Reset `LaTeX-global-class-files' when
+       ARG is non-nil.
+
+       * style/article.el (LaTeX-article-class-options): New variable.
+
+       * style/book.el (LaTeX-book-class-options): New variable.
+
+       * style/report.el (LaTeX-report-class-options): New variable.
+
+2013-04-03  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-provided-class-options): New buffer-local
+       variable.
+       (LaTeX-provided-class-options-member): New function.
+       (LaTeX-provided-package-options): New buffer-local variable.
+       (LaTeX-provided-package-options-member): New function
+       (LaTeX-auto-cleanup): Rewrite to support
+       `LaTeX-provided-{class,package}-options' variables.
+       (LaTeX-arg-usepackage): Ditto.
+
+       * tex.el (TeX-auto-store): Write to parsed file values of
+       `LaTeX-provided-{class,package}-options' variables.
+       (TeX-auto-insert): Fix indentation of inserted lines.
+       (TeX-search-files-by-type): Fix typo in doc-string.
+       (TeX-add-to-alist): New function.
+       (TeX-quote-language-alist): Fix typo in doc-string.
+
+       * style/babel.el (LaTeX-babel-package-options): Add missing
+       languages.
+       (LaTeX-babel-package-options): Add options other than
+       languages.
+       (LaTeX-babel-active-languages): Use
+       `LaTeX-provided-{class,package}-options'.  Loop over actually
+       used options instead of all babel languages.
+       ("babel"): Run styles of active languages.
+
+       * style/biblatex.el ("biblatex"): Use
+       `LaTeX-provided-package-options-member'.
+       (LaTeX-biblatex-package-options): Consider the `ask' value for
+       'TeX-arg-input-file-search'.
+
+       * style/kpfonts.el ("kpfonts"): Use
+       `LaTeX-provided-package-options-member'.
+
+       * style/siunitx.el: Rename `TeX-siunitx-*' functions to
+       `LaTeX-siunitx-*' for consistency.
+       ("siunitx"): Use `LaTeX-provided-package-options-member'.
+
+2013-03-29  Mos� Giordano  <address@hidden>
+
+       * latex.el (TeX-arg-document): Search for LaTeX classes.
+
+2013-03-28  Mos� Giordano  <address@hidden>
+
+       * style/biblatex.el (LaTeX-biblatex-package-options): Correct name
+       of `TeX-read-key-val' argument.
+
+       * latex.el (LaTeX-common-initialization): Remove `addbibresource'
+       macro.
+
+       * style/biblatex.el (LaTeX-biblatex-addbibresource-options): New
+       variable.
+       (LaTeX-arg-addbibresource): New function, based on current
+       `TeX-arg-bibliography'.
+       ("biblatex"): Add `addbibresource' macro.
+       (LaTeX-biblatex-package-options): Use `TeX-read-key-val'.
+
+       * latex.el (TeX-arg-bibliography): Remove `addbibresource'
+       support.
+
+2013-03-27  Mos� Giordano  <address@hidden>
+
+       * tex.el (TeX-add-local-master): Remove trailing spaces from
+       inserted lines.
+
+2013-03-07  Tassilo Horn  <address@hidden>
+
+       * latex.el (TeX-read-key-val): New function.
+       (TeX-arg-key-val): Use `TeX-read-key-val'.
+
+       * style/hyperref.el (LaTeX-hyperref-package-options): Use
+       `TeX-read-key-val' instead of `TeX-arg-key-val' which caused args
+       to be inserted twice.
+
+       * style/siunitx.el (LaTeX-siunitx-package-options): Ditto.
+
+2013-03-06  Mads Jensen  <address@hidden>
+
+       * style/amsopn.el: Add GPL copyright notice.
+       ("amsopn"): Add regex for \DeclareMathOperator to
+       `LaTeX-auto-regexp-list'.  Use `TeX-arg-define-macro' for
+       \DeclareMathOperator.
+
+2013-03-06  Mads Jensen  <address@hidden>
+
+        * tex.el (TeX-command-list): Add support for xindy.
+
+2013-03-06  Mads Jensen  <address@hidden>
+
+       * latex.el (LaTeX-common-initialization): Add regular expression
+       for thispagestyle and pagestyle to `TeX-complete-list'.
+
+2013-03-04  Tassilo Horn  <address@hidden>
+
+       * latex.el (TeX-arg-date): New function.
+       (LaTeX-common-initialization): Use `TeX-arg-date' for \date macro.
+
+       * doc/auctex.texi: Document `TeX-arg-date'.
+
+       * style/doc.el ("doc"): Use `TeX-arg-date' for the \changes macro.
+
+2013-02-26  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-run-style-hooks): Guard running style hooks in a
+       `condition-case' in order not to error in cases the auto file
+       contains calls to functions that are defined by a style that has
+       been deactivated in the meantime.
+
+2013-02-25  Werner Fink  <address@hidden>
+
+       * style/dinbrief.el ("dinbrief"): Update dinbrief style.
+       (LaTeX-dinbrief-insert): New macro.
+       (LaTeX-dinbrief-style): New function.
+       (LaTeX-dinbrief-env-recipient): Rename from
+       `LaTeX-recipient-hook'.
+       (LaTeX-dinbrief-sender): New function.
+       (LaTeX-dinbrief-recipient): New function.
+       (LaTeX-dinbrief-today): Rename from `LaTeX-today'.
+
+2013-02-25  Tassilo Horn  <address@hidden>
+
+       * tex.el (TeX-parse-macro): Add TeX group characters also in math
+       environments if there is an active region that should probably
+       used as argument.
+
+       * latex.el (LaTeX-paragraph-commands-internal): Add \clearpage and
+       \newpage.
+
+       * style/scrbase.el ("scrbase"): Add \minisec macro to
+       `LaTeX-paragraph-commands' locally.
+
+2013-02-23  Mos� Giordano  <address@hidden>
+
+       * style/kpfonts.el: New style file.
+
+       * Makefile.in (STYLESRC): Add style/kpfonts.el.
+
+2013-02-20  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-math-default): Move `digamma' and `varkappa' to
+       `AMS > Greek Lowercase' menu.
+
+2013-02-18  Mads Jensen  <address@hidden>
+
+       * Makefile.in (STYLESRC): Activate new style array.el.
+
+       * style/array.el: New style.
+
+       * style/tabularx.el: Expand copyright range.
+       ("tabularx"): The package relies on the array package, so run its
+       style hook.
+
+2013-02-18  Tassilo Horn  <address@hidden>
+
+       * tex.el (require): Require crm.
+
+       * multi-prompt.el (multi-prompt-key-value): Don't require crm here
+       because it has already been required in tex.el.
+
+2013-02-16  Mos� Giordano  <address@hidden>
+
+       * style/biblatex.el ("biblatex"): Add hooks for loaded packages.
+       (LaTeX-biblatex-package-options): New function.
+       (LaTeX-biblatex-package-options-list): Renamed from
+       `LaTeX-biblatex-package-options' to avoid clash with the function
+       with the same name.
+
+       * latex.el (LaTeX-search-files-type-alist): Add `bbxinputs'.
+       (BibLaTeX-global-style-files): New variable.
+
+       * tex.el (BibLaTeX-style-extensions): New variable.
+       (TeX-normal-mode): Make ARG argument optional.
+       (TeX-normal-mode): Reset `BibLaTeX-global-style-files' when ARG is
+       non-nil.
+
+2013-02-14  Mos� Giordano  <address@hidden>
+
+       * style/siunitx.el (LaTeX-siunitx-package-options): New function.
+
+       * style/hyperref.el (LaTeX-hyperref-package-options): New
+       function.
+
+2013-02-13  Mads Jensen  <address@hidden>
+
+       * style/subfigure.el: Expanded copyright range.
+       ("subfigure"): Collapsed the two regular expressions for
+       completion.  Added lengths, and commands for fonts.
+
+2013-02-14  Tassilo Horn  <address@hidden>
+
+       * style/fancyhdr.el (TeX-arg-fancyhdr-position): Document the
+       OPTIONAL argument.
+
+2013-02-14  Mads Jensen  <address@hidden>
+
+       * Makefile.in (STYLESRC): Activate new style fancyhdr.el.
+
+       * style/fancyhdr.el: New style.
+
+2013-02-13  Mos� Giordano  <address@hidden>
+
+       * doc/auctex.texi (Quotes): Document
+       `TeX-math-close-single-dollar'.
+       (Selecting a Command): Remove reference to
+       `LaTeX-biblatex-use-Biber'.
+       (Parsing Files): Document `LaTeX-auto-index-regexp-list',
+       `LaTeX-auto-class-regexp-list',
+       `LaTeX-auto-pagestyle-regexp-list',
+       `LaTeX-auto-counter-regexp-list', `LaTeX-auto-length-regexp-list',
+       `LaTeX-auto-savebox-regexp-list'.
+
+       * tex.el (TeX-math-close-single-dollar): New variable.
+       (TeX-insert-dollar): Use it.
+
+2013-02-13  Tassilo Horn  <address@hidden>
+
+       * Makefile.in (STYLESRC): Activate new style filecontents.el.
+
+2013-01-23  Mads Jensen  <address@hidden>
+
+       * style/filecontents.el: New style.
+
+2013-02-13  Tassilo Horn  <address@hidden>
+
+       * Makefile.in (STYLESRC): Activate new style fancynum.el.
+
+2013-02-08  Mads Jensen  <address@hidden>
+
+       * style/fancynum.el: New style.
+
+2013-02-13  Tassilo Horn  <address@hidden>
+
+       * Makefile.in (STYLESRC): Activate new style nameref.el.
+
+2013-02-13  Mads Jensen  <address@hidden>
+
+       * doc/auctex.texi (Adding Macros): Mention that `TeX-arg-savebox'
+       now supports completion.
+
+       * style/nameref.el: New style.
+
+       * style/hyperref.el ("hyperref"): Run nameref style hook because
+       hyperref activates nameref.
+
+2013-02-10  Mos� Giordano  <address@hidden>
+
+        * style/siunitx.el ("siunitx-unit"): New type for the parser.
+        (LaTeX-siunitx-regexp): New variable.
+        (LaTeX-auto-siunitx-unit): New variable.
+        (LaTeX-siunitx-prepare): New function.
+        (LaTeX-siunitx-cleanup): New function.
+        (TeX-auto-prepare-hook): Add `LaTeX-siunitx-prepare' function.
+        (TeX-auto-cleanup-hook): Add `LaTeX-siunitx-cleanup' function.
+        (TeX-arg-siunitx-unit): New function.
+        (TeX-arg-define-siunitx-unit): New function.
+        ("siunitx"): Add `LaTeX-siunitx-regexp' to list of regexps used
+       for parsing.
+        ("siunitx"): Use `TeX-arg-siunitx-unit' and
+       `TeX-arg-define-siunitx-unit' functions.
+        ("siunitx"): Use `LaTeX-add-siunitx-units' for adding siunitx unit
+       macros to the list of known units.
+
+2013-02-08  Mos� Giordano  <address@hidden>
+
+       * style/biblatex.el: Update copyright range.
+       ("biblatex"): Check `backend' option value in
+       `TeX-active-styles'.
+
+       * tex-style.el: Update copyright years.
+       (LaTeX-biblatex-use-Biber) Remove unused variable.
+
+       * tex.el: Update copyright range.
+       (TeX-auto-add-type): Append new type to `TeX-auto-parser' instead
+       of prepending it.
+       (TeX-auto-store): Fix indentation of first lines of parsed file.
+
+       * latex.el (LaTeX-auto-cleanup): Append options and styles to
+       `TeX-auto-file' instead of prepending them.
+
+2013-01-28  Mads Jensen  <address@hidden>
+
+       * doc/todo.texi (Wishlist): Remove "Completion for sboxes".
+
+2013-01-27  Mads Jensen  <address@hidden>
+
+       * latex.el (LaTeX-env-contents): Replaced regular expression with
+       `LaTeX-header-end', i.e., filecontents environments must go
+       somewhere in the preamble but not necessarily before the
+       \documentclass.
+
+2013-01-26  Mads Jensen  <address@hidden>
+
+       * latex.el (LaTeX-auto-savebox-regexp-list): New variable.
+       (LaTeX-auto-regexp-list): Use `LaTeX-auto-savebox-regexp-list'.
+       ("savebox"): New type for the parser.
+       (TeX-arg-savebox): Use `LaTeX-savebox-list' for completion and
+       `definition' argument.
+       (LaTeX-common-initialization): Added makeatletter, makeatother,
+       and jobname macros.
+       (LaTeX-default-options): Changed documentstyle to documentclass in
+       docstring.
+
+2013-01-25  Mos� Giordano  <address@hidden>
+
+       * style/siunitx.el ("siunitx"): Add `\gram' and
+       `\SendSettingsToPgf'.
+
+2013-01-25  Tassilo Horn  <address@hidden>
+
+       * tex-buf.el (TeX-output-mode): Make revert-buffer-function buffer
+       local before setting it to TeX-output-revert-buffer.
+
+2013-01-24  Ivan Andrus  <address@hidden>
+
+       * auctex.texi: Updated documetation about ChkTeX and lacheck.
+       Fixed typos.
+
+2013-01-24  Ivan Andrus  <address@hidden>
+
+       * tex-buf.el (TeX-output-revert-buffer): New function.
+       (TeX-special-mode, TeX-output-mode): New major modes.
+       (TeX-special-mode-map, TeX-output-mode-map): New variables.
+
+2013-01-21  Tassilo Horn  <address@hidden>
+
+       * Makefile.in (STYLESRC): Activate new style placeins.el.
+
+2013-01-21  Ivan Andrus  <address@hidden>
+
+       * texmathp.el (texmathp-tex-commands-default): Add \shortintertext.
+
+2013-01-19  Mads Jensen  <address@hidden>
+
+       * style/placeins.el: New style.
+
+2013-01-17  Tassilo Horn  <address@hidden>
+
+       * doc/todo.texi: Remove the todo concerning completion for
+       counters that was implemented by Mos� Giordano on 2013-01-15.
+
+       * doc/auctex.texi: Document `TeX-arg-length' and
+       `TeX-arg-define-length'.
+
+2013-01-16  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-auto-length-regexp-list): New variable.
+       (LaTeX-auto-regexp-list): Use `LaTeX-auto-length-regexp-list'.
+       ("length"): New type for the parser.
+       (TeX-arg-length): New function.
+       (TeX-arg-define-length): New function.
+       (LaTeX-common-initialization): Initialize some standard LaTeX
+       lengths and use `TeX-arg-length' and `TeX-arg-define-length' for
+       completion of some macros.
+
+2013-01-15  Tassilo Horn  <address@hidden>
+
+       * doc/auctex.texi: Document that `TeX-arg-counter' does completion
+       now.
+
+2013-01-15  Mos� Giordano  <address@hidden>
+
+       * latex.el (LaTeX-auto-pagestyle-regexp-list): Fix typo.
+       (LaTeX-auto-counter-regexp-list): New variable.
+       (LaTeX-auto-regexp-list): Use `LaTeX-auto-counter-regexp-list'.
+       ("counter"): New type for the parser.
+       (TeX-arg-counter): Use `LaTeX-counter-list' function for
+       completion and `definition' argument.
+       (TeX-arg-pagestyle): Use `definition' argument.
+       (LaTeX-common-initialization): Initialize counters.
+
+2013-01-14  Tassilo Horn  <address@hidden>
+
+       * style/ulem.el (LaTeX-arg-fontdecl, LaTeX-arg-fontcmd): Fix
+       declarations.
+
+2013-01-13  Mads Jensen  <address@hidden>
+
+       * style/pstricks.el (LaTeX-pstricks-package-options): New
+       variable.
+
+       * style/varioref.el: Update copyright range.
+       ("varioref"): Add more definitions.
+       (LaTeX-varioref-package-options): Reformat.
+
+       * style/listings.el: Update copyright range.
+       (LaTeX-listings-key-val-options, "listings")
+       (LaTeX-listings-package-options): Update to recent listings
+       version.
+
+2013-01-14  Tassilo Horn  <address@hidden>
+
+       * Makefile.in (STYLESRC): Enable memoir.el style.
+
+2013-01-14  Mads Jensen  <address@hidden>
+
+       * style/memoir.el: New style.
+
+2013-01-14  Mos� Giordano  <address@hidden>
+
+        * latex.el (TeX-arg-environment): Fix typo.
+
+2013-01-10  Mos� Giordano  <address@hidden>
+
+       * latex.el: Update copyright range.
+       (LaTeX-auto-pagestyle-regexp-list): New variable.
+       (LaTeX-auto-regexp-list): Use `LaTeX-auto-pagestyle-regexp-list'.
+       ("pagestyle"): New type for the parser.
+       (LaTeX-pagestyle-list): Remove.
+       (TeX-arg-pagestyle): Use `LaTeX-pagestyle-list' function for
+       completing.
+       (LaTeX-common-initialization): Initialize pagestyles.
+
+       * style/imakeidx.el: Use `LaTeX-pagestyle-list' function to set
+       `firstpagestyle' option values.
+
+2013-01-11  Ivan Andrus  <address@hidden>
+
+       * tex.el (TeX-command-list): Add command to run ChkTeX.
+
+2013-01-11  Tassilo Horn  <address@hidden>
+
+       * Makefile.in (STYLESRC): Add new style files kantlipsum.el,
+       lipsum.el, and longtable.el.
+
+2013-01-10  Mos� Giordano  <address@hidden>
+
+       * style/kantlipsum.el: New style.
+
+       * style/lipsum.el: Ditto.
+
+       * style/longtable.el: Ditto
+
+2013-01-10  Mads Jensen  <address@hidden>
+
+       * latex.el (LaTeX-env-document): Only insert \documentclass in
+       case the document does not already contain one.
+
+2013-01-09  Ralf Angeli  <address@hidden>
+
+       * style/epigraph.el ("epigraph"): Do not quote list entries for
+       `font-latex-add-keywords'.
+
+2013-01-07  Ralf Angeli  <address@hidden>
+
+       * style/mathtools.el ("mathtools"): Prevent amsmath options from
+       being added multiple times.
+
+       * style/footmisc.el ("footmisc"): Remove fontification settings
+       for length macros.
+
+2013-01-06  Ralf Angeli  <address@hidden>
+
+       * style/mathtools.el ("mathtools"): Append amsmath options to
+       mathtools option after the amsmath style file has been loaded.
+       Remove `function' wrapper.
+
+2013-01-05  Ralf Angeli  <address@hidden>
+
+       * Makefile.in (STYLESRC): Activate new style files.
+
+       * ChangeLog: Move name of style file contributors to head of
+       ChangLog entries.
+
+2013-01-02  Tassilo Horn  <address@hidden>
+
+       * style/everysel.el: Fix typos.
+
+2013-01-02  Mads Jensen  <address@hidden>
+
+       * style/afterpage.el: New style.
+
+2012-12-30  Mos� Giordano  <address@hidden>
+
+        * latex.el (LaTeX-pagestyle-list): New variable.
+       (TeX-arg-pagestyle): Use it.
+
+        * style/imakeidx.el: New style.
+
+2012-12-29  Ikumi Keita <address@hidden>
+
+       * doc/tex-ref.tex: Fix apparent errors and add keybind entries for
+       C-c ? and `:' (in math mode).
+
+2012-12-28  Mads Jensen  <address@hidden>
+
+       * style/multirow.el: New style.
+
+2012-12-27  Mos� Giordano  <address@hidden>
+
+       * style/siunitx.el (LaTeX-siunitx-package-options): New variable.
+       ("siunitx"): Use it.
+
+       * style/hyperref.el (LaTeX-hyperref-href-options): New variable.
+       (LaTeX-hyperref-package-options, "hyperref"): Use it.
+
+2012-12-27  Mads Jensen  <address@hidden>
+
+       * style/mflogo.el: New style.
+
+       * style/epigraph.el: Ditto.
+
+2012-12-27  Ikumi Keita <address@hidden>
+
+       * amsmath.el ("amsmath"): Add support for the alignedat
+       and subarray environments.  Also, add support for the shoveright
+       and shoveleft macros.
+       * font-latex.el (font-latex-math-environments): Add "xxalignat"
+       and "flalign".
+
+2012-12-26  Mads Jensen  <address@hidden>
+
+       * style/lscape.el: New style.
+
+       * style/amssymb.el: Ditto.
+
+       * style/ragged2e.el: Ditto.
+
+       * style/mathtools.el: Ditto.
+
+       * style/everysel.el: Ditto.
+
+       * style/bigstrut.el: Ditto.
+
+       * style/bigdelim.el: Ditto.
+
+2012-12-25  Mads Jensen  <address@hidden>
+
+       * style/ulem.el: New style.
+
+2012-12-25  Ikumi Keita <address@hidden>
+
+       * latex.el (LaTeX-math-default): Added unicode character position
+       to some entries and "mathring" entry.
+       (LaTeX-common-initialization): Added support for accent macros
+       \hat, \dot etc and \textasteriskcentered.
+
+2012-12-24  Mads Jensen  <address@hidden>
+
+       * style/footmisc.el: New style.
+
+2012-12-21  Mos� Giordano  <address@hidden>
+
+       * style/bm.el: New style.
+
+       * style/siunitx.el: Ditto.
+
+2012-12-20  Tassilo Horn  <address@hidden>
+
+       * tex-bar.el (TeX-bar-LaTeX-buttons, TeX-bar-LaTeX-button-alist):
+       Also add spell button.
+
+       * images/spell.xpm: New image, copied from Emacs.
+
+       * tex-bar.el (TeX-bar-TeX-button-alist): Use it for the spell
+       button.
+
+2012-12-20  Tassilo Horn  <address@hidden>
+
+       * tex-bar.el (TeX-bar-TeX-button-alist, TeX-bar-TeX-buttons): Add
+       `spell' button to run spell-checker.
+
 2012-12-04  Tassilo Horn  <address@hidden>
 
        Merge revno 314 (Stefan Monnier) from emacs elpa branch: Shorten
@@ -87,8 +2578,8 @@
 
 2012-07-17  Vincent Bela�che  <address@hidden>
 
-       * tex-info.el (Texinfo-reftex-hook): Add function.
-       (TeX-texinfo-mode): Add RefTeX plugging.
+       * tex-info.el (Texinfo-reftex-hook): Added function.
+       (TeX-texinfo-mode): Added RefTeX plugging.
 
 2012-11-23  Tassilo Horn  <address@hidden>
 
@@ -99,8 +2590,8 @@
 
 2012-11-20  Davide G. M. Salvetti  <address@hidden>
 
-        * doc/tex-ref.tex (column{preview-latex}): Fix typo.
-       Reported by S�bastien Villemot.  Update copyright information.
+        * doc/tex-ref.tex (column{preview-latex}): Fix typo.  Reported by
+        S�bastien Villemot.  Update copyright information.
 
 2012-11-14  Ralf Angeli  <address@hidden>
 
@@ -138,10 +2629,10 @@
 2012-10-02  Ikumi Keita         <address@hidden>
 
        * tex-jp.el (japanese-TeX-engine-default)
-       (TeX-engine-alist-builtin, japanese-TeX-use-kanji-opt-flag):
-       New defcustoms.
-       (japanese-TeX-coding-ejsu, japanese-TeX-get-encoding-string):
-       New functions.
+       (TeX-engine-alist-builtin, japanese-TeX-use-kanji-opt-flag): New
+       defcustoms.
+       (japanese-TeX-coding-ejsu, japanese-TeX-get-encoding-string): New
+       functions.
        (japanese-TeX-command-list): Support %(kanjiopt).
        (TeX-expand-list): Support new option kanjiopt, bibtex, makeindex,
        mendexkopt, xdvi.
@@ -181,7 +2672,7 @@
        (TeX-auto-generate-global, TeX-search-files-type-alist)
        (TeX-normal-mode): Adapt.
        (TeX-command-Biber): New defcustom.
-       (BibTeX-Biber-file-extensions): Rename from
+       (BibTeX-Biber-file-extensions): Renamed from
        BibTeX-file-extensions.
 
        * tex-buf.el (TeX-save-document, TeX-check-files)
@@ -192,7 +2683,7 @@
        (TeX-arg-bibliography, LaTeX-common-initialization): Adapt.
        (LaTeX-biber, LaTeX-split-bibs, LaTeX-using-Biber)
        (LaTeX-always-use-Biber): New functions and vars.
-       (BibTeX-Biber-global-files): Rename from BibTeX-global-files.
+       (BibTeX-Biber-global-files): Renamed from BibTeX-global-files.
 
        * font-latex.el (font-latex-built-in-keyword-classes)
        (font-latex-add-keywords): Adapt.
@@ -353,8 +2844,8 @@
        * tex.el (TeX-tree-expand): Use a different test to check for an
        absolute path on Windows.
 
-       * font-latex.el (font-latex-built-in-keyword-classes):
-       Add definition for \rule and remove the one for \sbox.
+       * font-latex.el (font-latex-built-in-keyword-classes): Add
+       definition for \rule and remove the one for \sbox.
 
 2011-04-25  Ralf Angeli  <address@hidden>
 
@@ -472,13 +2963,13 @@
        * tex-fold.el (TeX-fold-post-command): Add `forward-char' and
        `backward-char' to commands on which to open an overlay.
 
-       * doc/auctex.texi (Adding Macros):
-       Mention `TeX-arg-input-file-search'.
+       * doc/auctex.texi (Adding Macros): Mention
+       `TeX-arg-input-file-search'.
 
 2011-01-22  Ralf Angeli  <address@hidden>
 
-       * tex.el (TeX-tree-expand): Make `subdirs' parameter optional.
-       Do not try to call kpsewhich with --expand-braces anymore and adapt
+       * tex.el (TeX-tree-expand): Make `subdirs' parameter optional.  Do
+       not try to call kpsewhich with --expand-braces anymore and adapt
        code for handling of results accordingly.
        (TeX-doc-extenstions): New variable.
        (TeX-tree-roots): New function.
@@ -495,8 +2986,8 @@
        `TeX-input-file-search'.
        (LaTeX-search-files-type-alist): New user option.
        (TeX-arg-input-file-search): Doc fix.
-       (TeX-arg-input-file, TeX-arg-bibstyle, TeX-arg-bibliography):
-       Use `TeX-search-files-by-type' instead of `TeX-search-files'.
+       (TeX-arg-input-file, TeX-arg-bibstyle, TeX-arg-bibliography): Use
+       `TeX-search-files-by-type' instead of `TeX-search-files'.
        (LaTeX-common-initialization): Set `TeX-search-files-type-alist'.
 
 2011-01-09  Ralf Angeli  <address@hidden>
@@ -564,14 +3055,14 @@
 2010-09-28  Ralf Angeli  <address@hidden>
 
        * context.el (ConTeXt-extra-paragraph-commands): Remove.
-       (ConTeXt-language-variable-list):
-       Add `ConTeXt-extra-paragraph-commands'.
+       (ConTeXt-language-variable-list): Add
+       `ConTeXt-extra-paragraph-commands'.
 
-       * context-en.el (ConTeXt-extra-paragraph-commands-en):
-       New variable.
+       * context-en.el (ConTeXt-extra-paragraph-commands-en): New
+       variable.
 
-       * context-nl.el (ConTeXt-extra-paragraph-commands-nl):
-       New variable.
+       * context-nl.el (ConTeXt-extra-paragraph-commands-nl): New
+       variable.
 
 2010-09-18  Ralf Angeli  <address@hidden>
 
@@ -732,8 +3223,8 @@
        (dist): Do not call `release-commit' anymore.
        (snapshot): Now an alias for `dist'.
        (release-commit): Use `COMMITTER'.
-       (release-sign): New name for `full-release' target.
-       Generate version 1.1 directive files.
+       (release-sign): New name for `full-release' target.  Generate
+       version 1.1 directive files.
        (xemacs-package): Depend on `check-tag'.
        (WPACKAGEFILES): Include info files with a numerical supplement to
        the .info extension.  Depend on `check-tag'.  Check for presence
@@ -873,8 +3364,8 @@
 
 2009-11-22  Ralf Angeli  <address@hidden>
 
-       * doc/wininstall.texi: Do not refer to Emacs 22 anymore.
-       Improve the paragraphs about PNG support.
+       * doc/wininstall.texi: Do not refer to Emacs 22 anymore.  Improve
+       the paragraphs about PNG support.
 
 2009-11-01  Ralf Angeli  <address@hidden>
 
@@ -902,8 +3393,8 @@
        (TeX-brace-count-line): Use `TeX-in-comment' instead of just
        checking for a comment character.
 
-       * latex.el (LaTeX-common-initialization):
-       Set `TeX-verbatim-p-function'.
+       * latex.el (LaTeX-common-initialization): Set
+       `TeX-verbatim-p-function'.
 
 2009-10-25  Ralf Angeli  <address@hidden>
 
@@ -992,8 +3483,8 @@
        * style/listings.el ("listings"): Do not eval arguments of
        `TeX-arg-key-val'.
 
-       * multi-prompt.el (multi-prompt-expand-completion-table):
-       New function.
+       * multi-prompt.el (multi-prompt-expand-completion-table): New
+       function.
        (multi-prompt-key-value): Use it.
 
        * style/pstricks.el: Correct header info.
@@ -1046,8 +3537,8 @@
 
 2009-03-29  Ralf Angeli  <address@hidden>
 
-       * style/listings.el (LaTeX-listings-key-val-options):
-       New variable.
+       * style/listings.el (LaTeX-listings-key-val-options): New
+       variable.
        ("listings"): Use it.  Check for font-latex function, not feature.
 
        * latex.el (TeX-arg-key-val): New function.
@@ -1134,8 +3625,8 @@
 
        * style/CJKutf8.el: New file.
 
-       * Makefile.in (STYLESRC): Add style/CJK.el and style/ruby.el.
-       Add style/CJKutf8.el.
+       * Makefile.in (STYLESRC): Add style/CJK.el and style/ruby.el.  Add
+       style/CJKutf8.el.
 
 2009-01-03  Ralf Angeli  <address@hidden>
 
@@ -1297,13 +3788,13 @@
 
 2008-08-02  Ralf Angeli  <address@hidden>
 
-       * tex-bar.el (TeX-bar-TeX-buttons, TeX-bar-LaTeX-buttons):
-       Mimic the default tool bars more closely.
+       * tex-bar.el (TeX-bar-TeX-buttons, TeX-bar-LaTeX-buttons): Mimic
+       the default tool bars more closely.
 
 2008-08-02  Reiner Steib  <address@hidden>
 
-       * toolbar-x.el (toolbarx-default-toolbar-meaning-alist):
-       Provide different defaults for different Emacs and XEmacs versions.
+       * toolbar-x.el (toolbarx-default-toolbar-meaning-alist): Provide
+       different defaults for different Emacs and XEmacs versions.
        Conditionally add a `new-file' entry.
 
 2008-07-28  Ralf Angeli  <address@hidden>
@@ -1368,45 +3859,45 @@
 
 2008-07-17  Ralf Angeli  <address@hidden>
 
-       * latex.el (LaTeX-paragraph-commands-regexp-make):
-       Take `LaTeX-paragraph-commands' into account.
+       * latex.el (LaTeX-paragraph-commands-regexp-make): Take
+       `LaTeX-paragraph-commands' into account.
        (LaTeX-paragraph-commands-regexp): Move behind
        `LaTeX-paragraph-commands' definition.
 
 2008-07-14  Ralf Angeli  <address@hidden>
 
-       * style/pdfsync.el ("pdfsync"):
-       Use `TeX-source-correlate-output-page-function' rather than
+       * style/pdfsync.el ("pdfsync"): Use
+       `TeX-source-correlate-output-page-function' rather than
        `TeX-sync-output-page-function'.
 
        * tex.el (TeX-command-list): Remove SyncTeX expanders.
        (TeX-expand-list): Adapt function calls.  Remove SyncTeX expander.
-       (hack-one-local-variable, TeX-set-mode-name):
-       Remove `TeX-synctex-mode' and `TeX-source-specials-mode'.
-       Add `TeX-source-correlate-mode'.
+       (hack-one-local-variable, TeX-set-mode-name): Remove
+       `TeX-synctex-mode' and `TeX-source-specials-mode'.  Add
+       `TeX-source-correlate-mode'.
        (TeX-source-correlate-method): New variable.
        (TeX-source-correlate-method-active): New variable.
-       (TeX-source-correlate-output-page-function): Rename from
+       (TeX-source-correlate-output-page-function): Renamed from
        `TeX-sync-output-page-function'.
-       (TeX-source-correlate-start-server): Rename from
+       (TeX-source-correlate-start-server): Renamed from
        `TeX-view-start-server'.
-       (TeX-source-correlate-start-server-asked): Rename from
+       (TeX-source-correlate-start-server-asked): Renamed from
        `TeX-view-start-server-asked'.
-       (TeX-source-correlate-start-server-flag): Rename from
+       (TeX-source-correlate-start-server-flag): Renamed from
        `TeX-view-start-server-flag'.
-       (TeX-source-correlate-gnuserv-p): Rename from
+       (TeX-source-correlate-gnuserv-p): Renamed from
        `TeX-view-gnuser-p'.
-       (TeX-source-correlate-server-enabled-p): Rename from
+       (TeX-source-correlate-server-enabled-p): Renamed from
        `TeX-view-server-enabled-p'.
-       (TeX-source-correlate-start-server-maybe): Rename from
+       (TeX-source-correlate-start-server-maybe): Renamed from
        `TeX-view-start-server-maybe'.
        (TeX-source-specials): Remove custom group.
        (TeX-source-correlate-determine-method): New function.
-       (TeX-source-correlate-expand-options): Rename from
+       (TeX-source-correlate-expand-options): Renamed from
        `TeX-source-specials-expand-options'.  Support SyncTeX as well.
-       (TeX-source-correlate-map): Rename from
+       (TeX-source-correlate-map): Renamed from
        `TeX-source-specials-map'.
-       (TeX-source-correlate-mode): Rename from
+       (TeX-source-correlate-mode): Renamed from
        `TeX-source-specials-mode'.  Support SyncTeX as well.
        (TeX-source-specials-mode): Now an alias for
        `TeX-source-specials-mode'.
@@ -1435,21 +3926,21 @@
        replacement specifiers.
 
        * tex.el (TeX-command-list): Add expanders for SyncTeX.
-       (TeX-expand-list): Start server if necessary when viewing.
-       Define expander for SyncTeX.
+       (TeX-expand-list): Start server if necessary when viewing.  Define
+       expander for SyncTeX.
        (hack-one-local-variable): Cater for TeX SyncTeX mode.
        (TeX-set-mode-name): Add lighter for TeX SyncTeX mode.
        (TeX-view): New customization group.
-       (TeX-view-start-server): Rename from
+       (TeX-view-start-server): Renamed from
        `TeX-source-specials-view-start-server'.
        (TeX-source-specials-view-start-server): Rename to
        `TeX-view-start-server' and define alias.
-       (TeX-view-start-server-asked): Rename from
+       (TeX-view-start-server-asked): Renamed from
        `TeX-source-specials-view-start-server-asked'.
        (TeX-source-specials-view-start-server-asked): Rename to
        `TeX-view-start-server-asked'.
        (TeX-view-start-server-flag): New variable.
-       (TeX-view-gnuserv-p): Rename from
+       (TeX-view-gnuserv-p): Renamed from
        `TeX-source-specials-view-gnuserv-p'.
        (TeX-source-specials-view-gnuserv-p): Rename to
        `TeX-view-gnuserv-p'.
@@ -1482,8 +3973,8 @@
 
 2008-06-28  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-find-matching-close): Simplify.
-       There is no need for a general mechanism if the supported chars are
+       * font-latex.el (font-latex-find-matching-close): Simplify.  There
+       is no need for a general mechanism if the supported chars are
        limited at another place.
 
        * tex.el (TeX-search-syntax-table): Support (...) and <...>.
@@ -1510,8 +4001,8 @@
 
 2008-06-07  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-make-built-in-keywords):
-       Distinguish command-type keyword classes from others when creating the
+       * font-latex.el (font-latex-make-built-in-keywords): Distinguish
+       command-type keyword classes from others when creating the
        respective variables.
 
        * doc/auctex.texi (Font Locking): Structure with nodes.
@@ -1597,8 +4088,8 @@
 
 2008-05-10  Reiner Steib  <address@hidden>
 
-       * tex-bar.el (TeX-bar-TeX-buttons, TeX-bar-LaTeX-buttons):
-       Add standard Emacs buttons to custom set.
+       * tex-bar.el (TeX-bar-TeX-buttons, TeX-bar-LaTeX-buttons): Add
+       standard Emacs buttons to custom set.
        (TeX-bar-TeX-buttons): Use `tex' instead of `latex' in custom set.
 
 2008-05-04  Ralf Angeli  <address@hidden>
@@ -1669,8 +4160,8 @@
 
 2008-02-10  Ralf Angeli  <address@hidden>
 
-       * Makefile.in (maintainer-clean): Do not depend on distclean.
-       How did this ever work?
+       * Makefile.in (maintainer-clean): Do not depend on distclean.  How
+       did this ever work?
        (www-doc): Use release files.  Update URLs.  Make gendocs.sh use
        texi2html.
 
@@ -1804,13 +4295,13 @@
        * tex-buf.el (TeX-record-buffer): New variable, only in Emacs.
        (TeX-pop-to-buffer): New function.
        (TeX-recenter-output-buffer, TeX-background-filter)
-       (TeX-parse-TeX, TeX-parse-error, TeX-help-error):
-       Use `TeX-pop-to-buffer'.
+       (TeX-parse-TeX, TeX-parse-error, TeX-help-error): Use
+       `TeX-pop-to-buffer'.
 
 2007-10-30  Reiner Steib  <address@hidden>
 
-       * toolbar-x.el (toolbarx-find-image): Rename argument.
-       Improve doc string.
+       * toolbar-x.el (toolbarx-find-image): Rename argument.  Improve
+       doc string.
 
 2007-10-11  Ralf Angeli  <address@hidden>
 
@@ -1838,8 +4329,8 @@
 
 2007-08-24  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-match-command-with-arguments):
-       Show error indicator only in LaTeX mode.
+       * font-latex.el (font-latex-match-command-with-arguments): Show
+       error indicator only in LaTeX mode.
 
 2007-08-23  Ralf Angeli  <address@hidden>
 
@@ -1878,14 +4369,14 @@
        * style/subfigure.el ("subfigure"): Use `font-latex-add-keywords'.
        Add syntax information.
 
-       * style/csquotes.el ("csquotes"): Update for version 3.7.
-       Use `font-latex-add-keywords'.  Add syntax information.
+       * style/csquotes.el ("csquotes"): Update for version 3.7.  Use
+       `font-latex-add-keywords'.  Add syntax information.
 
        * style/MinionPro.el ("MinionPro"): Use `font-latex-add-keywords'.
        Add syntax information.
 
-       * font-latex.el (font-latex-built-in-keyword-classes):
-       Correct syntax spec for \subsubparagraph.
+       * font-latex.el (font-latex-built-in-keyword-classes): Correct
+       syntax spec for \subsubparagraph.
 
 2007-08-19  Ralf Angeli  <address@hidden>
 
@@ -1994,8 +4485,8 @@
 
        * latex.el (LaTeX-auto-minimal-regexp-list): Match optional
        arguments of document style or class macro even if they contain
-       periods, e.g. in case of "BCOR8.25mm" in KOMA Script classes.
-       Get rid of superfluous escapes in complemented character alternatives.
+       periods, e.g. in case of "BCOR8.25mm" in KOMA Script classes.  Get
+       rid of superfluous escapes in complemented character alternatives.
 
        * tex.el (TeX-insert-dollar): Show matching start only if
        `blink-matching-paren' is non-nil.
@@ -2016,8 +4507,8 @@
 
 2007-05-25  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-match-command-with-arguments):
-       Check if `match-beg' is set.
+       * font-latex.el (font-latex-match-command-with-arguments): Check
+       if `match-beg' is set.
 
 2007-05-20  Ralf Angeli  <address@hidden>
 
@@ -2090,8 +4581,8 @@
        (font-latex-extend-region-backwards-command-in-braces)
        (font-latex-extend-region-backwards-math-env)
        (font-latex-extend-region-backwards-math-envII)
-       (font-latex-extend-region-backwards-quotation): Doc fix.
-       Return nil if no content requiring region extension was found.
+       (font-latex-extend-region-backwards-quotation): Doc fix.  Return
+       nil if no content requiring region extension was found.
 
 2007-04-16  Ikumi Keita        <address@hidden>
 
@@ -2128,8 +4619,8 @@
 
        * tex-mik.el: Set `TeX-kpathsea-path-delimiter' to nil since
        kpsewhich in MiKTeX (aka findtexmf) does not emit any useful
-       information if fed with kpathsea-related variables anyway.
-       This change makes `TeX-doc' work again on MiKTeX.
+       information if fed with kpathsea-related variables anyway.  This
+       change makes `TeX-doc' work again on MiKTeX.
 
        * font-latex.el (font-latex-set-syntactic-keywords): Match the
        \begin macro of verbatim environments in case it is preceded by
@@ -2168,8 +4659,8 @@
 
        * Makefile.in (STYLESRC): Add style/comment.el.
 
-       * font-latex.el (font-latex-syntactic-keywords-extra):
-       New variable.
+       * font-latex.el (font-latex-syntactic-keywords-extra): New
+       variable.
        (font-latex-set-syntactic-keywords): Use it.
 
        * tex-style.el (LaTeX-comment-env-list): New variable.
@@ -2260,12 +4751,12 @@
        face when syntax not correct.
        (font-latex-match-in-braces-cache): Remove.
        (font-latex-match-mandatory-arg): New function.
-       (font-latex-extend-region-backwards-command-with-args):
-       New function.
+       (font-latex-extend-region-backwards-command-with-args): New
+       function.
        (font-latex-match-command-in-braces): Set multiline property if
        necessary.
-       (font-latex-extend-region-backwards-command-in-braces):
-       New function.
+       (font-latex-extend-region-backwards-command-in-braces): New
+       function.
        (font-latex-match-math-env): Set multiline property if necessary.
        (font-latex-extend-region-backwards-math-env): New function.
        (font-latex-math-environments): New variable.
@@ -2307,12 +4798,12 @@
        (TeX-fold-math-spec-list-internal): New variables.
        (TeX-fold-region-macro-or-env, TeX-fold-item): Use them.
        (TeX-fold-comment-do): Doc fix.
-       (TeX-fold-mode): Set TeX-fold-*-spec-list-internal variables.
-       Use <mode-prefix>-fold-*-spec-list variables if bound.
+       (TeX-fold-mode): Set TeX-fold-*-spec-list-internal variables.  Use
+       <mode-prefix>-fold-*-spec-list variables if bound.
 
        * latex.el (LaTeX-fold-macro-spec-list)
-       (LaTeX-fold-env-spec-list, LaTeX-fold-math-spec-list):
-       New variables.
+       (LaTeX-fold-env-spec-list, LaTeX-fold-math-spec-list): New
+       variables.
 
        * tex.el (TeX-mode-prefix): New function.
        (TeX-clean): Use it.
@@ -2328,16 +4819,16 @@
 
        * tex-jp.el (TeX-japanese-process-input-coding-system)
        (TeX-japanese-process-output-coding-system): Do not use
-       default-coding-system to set process-coding-system, anymore.
-       The value is set to shift_jis or euc-jp depending on window-system.
+       default-coding-system to set process-coding-system, anymore.  The
+       value is set to shift_jis or euc-jp depending on window-system.
 
        * tex-bar.el: Fix typo.  Reported by Ikumi Keita
        <address@hidden>.
 
 2007-02-09  Ikumi Keita        <address@hidden>
 
-       * tex-jp.el (japanese-TeX-command-list):
-       Add `TeX-run-discard-foreground' and `TeX-run-function' for
+       * tex-jp.el (japanese-TeX-command-list): Add
+       `TeX-run-discard-foreground' and `TeX-run-function' for
        function-item.
        (japanese-TeX-set-process-coding-system): New function.
        (TeX-after-start-process-function): Use it.  Cater for the
@@ -2378,8 +4869,8 @@
 
 2007-01-23  Ralf Angeli  <address@hidden>
 
-       * doc/auctex.texi (Quotes):
-       Document `TeX-math-close-double-dollar'.  Add subheadings.
+       * doc/auctex.texi (Quotes): Document
+       `TeX-math-close-double-dollar'.  Add subheadings.
 
 2007-01-22  Ralf Angeli  <address@hidden>
 
@@ -2524,8 +5015,8 @@
        (TeX-fold-region-macro-or-env, TeX-fold-region-comment)
        (TeX-fold-comment, TeX-fold-comment-do): New functions.
 
-       * latex.el (LaTeX-common-initialization):
-       Set `TeX-search-forward-comment-start-function'.
+       * latex.el (LaTeX-common-initialization): Set
+       `TeX-search-forward-comment-start-function'.
        (LaTeX-fill-region-as-para-do, LaTeX-fill-paragraph)
        (LaTeX-fill-code-comment): Call `TeX-search-forward-comment-start'
        instead of `LaTeX-search-forward-comment-start'.
@@ -2548,8 +5039,8 @@
 
 2006-12-07  Ralf Angeli  <address@hidden>
 
-       * tex-bar.el (TeX-install-toolbar, LaTeX-install-toolbar):
-       Add `toolbarx-refresh' to `TeX-PDF-mode-hook' in the current buffer
+       * tex-bar.el (TeX-install-toolbar, LaTeX-install-toolbar): Add
+       `toolbarx-refresh' to `TeX-PDF-mode-hook' in the current buffer
        only.
 
 2006-12-06  Ralf Angeli  <address@hidden>
@@ -2574,7 +5065,7 @@
        New arg KEYMAP inserted.
        Unnecessary &optional removed.
        (toolbarx-emacs-refresh):
-       Fix bug with `tool-bar-map' let-bound and made local variable.
+       Fixed bug with `tool-bar-map' let-bound and made local variable.
        (toolbarx-xemacs-refresh-process-button-or-insert-list):
        Docstring improved..
        (toolbarx-xemacs-refresh):
@@ -2630,8 +5121,8 @@
 
 2006-10-16  David Kastrup  <address@hidden>
 
-       * tex-buf.el (TeX-parse-error, TeX-error, TeX-warning):
-       Replace the error parser basically by what we have in preview-latex.
+       * tex-buf.el (TeX-parse-error, TeX-error, TeX-warning): Replace
+       the error parser basically by what we have in preview-latex.
        However, this does not yet do the fine-grained hackery around
        possible TeX quote characters that preview-latex employs in order
        to get the correct character position in a line even under adverse
@@ -2663,8 +5154,8 @@
        (TeX-expand-list): Use the `-interaction' option.  Define "%`",
        " \"\\", "\"" and "%'" patterns.  Somebody should probably rather
        turn this into external functions in `tex-buf.el': the stuff
-       really has no business here and does not get byte-compiled.
-       Use `file' for "%o".
+       really has no business here and does not get byte-compiled.  Use
+       `file' for "%o".
 
 2006-10-07  Ralf Angeli  <address@hidden>
 
@@ -2756,8 +5247,8 @@
 
 2006-09-11  Reiner Steib  <address@hidden>
 
-       * latex.el (LaTeX-math-default): Remove X2ABB for \Pr.
-       Suggested by Adam Johnson <address@hidden>.
+       * latex.el (LaTeX-math-default): Remove X2ABB for \Pr.  Suggested
+       by Adam Johnson <address@hidden>.
 
 2006-09-08  Reiner Steib  <address@hidden>
 
@@ -2817,13 +5308,13 @@
 
 2006-07-27  Reiner Steib  <address@hidden>
 
-       * tex-bar.el (TeX-bar-TeX-buttons, TeX-bar-LaTeX-buttons):
-       Improve wording.
+       * tex-bar.el (TeX-bar-TeX-buttons, TeX-bar-LaTeX-buttons): Improve
+       wording.
 
        * doc/changes.texi: Add bug fixes.  Add TeX tool bar.
 
-       * doc/auctex.texi (Running TeX and friends):
-       Add TeX-enable-toolbar.
+       * doc/auctex.texi (Running TeX and friends): Add
+       TeX-enable-toolbar.
 
        * tex-bar.el: Copy of tool bar stuff from LaTeX-*.
        (TeX-bar-TeX-buttons, TeX-bar-TeX-all-button-alists)
@@ -2892,8 +5383,8 @@
 
 2006-07-11  Ralf Angeli  <address@hidden>
 
-       * tex.el (TeX-find-macro-boundaries, TeX-find-macro-start):
-       Remove unused argument.
+       * tex.el (TeX-find-macro-boundaries, TeX-find-macro-start): Remove
+       unused argument.
        (TeX-find-macro-end-helper): Handle macros at the end of the
        buffer correctly.
 
@@ -3039,8 +5530,8 @@
 
 2006-06-06  Ralf Angeli  <address@hidden>
 
-       * style/pdfsync.el (LaTeX-pdfsync-output-page):
-       Initialize `sync-record' with a non-nil value.
+       * style/pdfsync.el (LaTeX-pdfsync-output-page): Initialize
+       `sync-record' with a non-nil value.
 
        * doc/auctex.texi (Viewing): Fix reference to Commands node
        looking ugly in info output.  Slightly rearrange forward/inverse
@@ -3076,8 +5567,8 @@
 
 2006-06-04  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-add-quotes):
-       Make `font-latex-quote-regexp-beg' buffer-local.
+       * font-latex.el (font-latex-add-quotes): Make
+       `font-latex-quote-regexp-beg' buffer-local.
 
 2006-06-04  Reiner Steib  <address@hidden>
 
@@ -3142,8 +5633,8 @@
 
        * font-latex.el (font-latex-quotes-internal): New variable.
        (font-latex-quotes-set-internal): New function.
-       (font-latex-match-quotation): Use it.
-       Use `font-latex-quotes-internal' instead of `font-latex-quotes'.
+       (font-latex-match-quotation): Use it.  Use
+       `font-latex-quotes-internal' instead of `font-latex-quotes'.
        (font-latex-setup): Remove code for figuring out type of
        language-specific quotation mark matching which is now in
        `font-latex-quotes-set-internal'.
@@ -3229,8 +5720,8 @@
 
 2006-04-26  Ralf Angeli  <address@hidden>
 
-       * tex-buf.el (TeX-TeX-sentinel-check, TeX-parse-error):
-       Support file-line-error error indicators.
+       * tex-buf.el (TeX-TeX-sentinel-check, TeX-parse-error): Support
+       file-line-error error indicators.
 
 2006-04-22  Ralf Angeli  <address@hidden>
 
@@ -3288,8 +5779,8 @@
 
 2006-03-14  Ralf Angeli  <address@hidden>
 
-       * configure.ac: Check for `make' and abort if not present.
-       Use `AC_PROG_MAKE_SET' instead of deprecated `AC_SET_MAKE'.
+       * configure.ac: Check for `make' and abort if not present.  Use
+       `AC_PROG_MAKE_SET' instead of deprecated `AC_SET_MAKE'.
 
        * latex.el (LaTeX-common-initialization): Add \dots to supported
        TeX symbols.
@@ -3370,8 +5861,8 @@
        "Clean" and "Clean All" options.  Add `TeX-run-function' as an
        option for the third element of an item and document it.
        (TeX-clean-default-intermediate-suffixes)
-       (TeX-clean-default-output-suffixes, TeX-clean-confirm):
-       New variables.
+       (TeX-clean-default-output-suffixes, TeX-clean-confirm): New
+       variables.
        (dired-mark-pop-up): Autoload.
        (TeX-clean): New function.
 
@@ -3423,7 +5914,7 @@
 
 2006-01-28  Ikumi Keita  <address@hidden>
 
-       * tex-buf.el (TeX-run-discard-foreground): Rename from
+       * tex-buf.el (TeX-run-discard-foreground): Renamed from
        TeX-run-dviout.
        (TeX-run-dviout): alias to TeX-run-discard-foreground.
 
@@ -3432,8 +5923,8 @@
 
 2006-01-25  Ralf Angeli  <address@hidden>
 
-       * style/csquotes.el (LaTeX-csquotes-insert-environment):
-       Set prompt for mandatory arguments.
+       * style/csquotes.el (LaTeX-csquotes-insert-environment): Set
+       prompt for mandatory arguments.
        ("csquotes"): Bring up to par with csquotes 3.2.
 
        * style/url.el ("url"): Support the \path macro.
@@ -3482,16 +5973,16 @@
        * latex.el (LaTeX-fill-move-to-break-point): Use TeX-espaced-p to
        check TeX escape char.
 
-       * tex.el (TeX-command-list): Remove TeX-run-dviout because dviout
+       * tex.el (TeX-command-list): Removed TeX-run-dviout because dviout
        here is only work with Emacs on MS-DOS.
 
-       * tex-buf.el (TeX-run-dviout): Remove.
+       * tex-buf.el (TeX-run-dviout): Removed.
 
        * tex-jp.el (japanese-TeX-command-list): Remove TeX-run-dviout.
        Commented out easy-menu-define (plain-TeX|LaTeX)-mode-command-nemu.
        (japanese-TeX-mode, japanese-plain-tex-mode)
        (japanese-latex-mode): Doc fix.
-       (japanese-TeX-self-insert-command): Rename from
+       (japanese-TeX-self-insert-command): Renamed from
        tex-jp-self-insert-command.
        (TeX-insert-punctuation): Follow the change.
        (TeX-error-description-list): Doc fix.
@@ -3649,8 +6140,8 @@
 
        * tex.el (TeX-toggle-debug-warnings): Use correct variable for
        state indication.
-       (TeX-kpathsea-format-alist): Add entry for "sty".
-       Prevents kpathsea-based search from failing e.g. in case of \usepackage
+       (TeX-kpathsea-format-alist): Add entry for "sty".  Prevents
+       kpathsea-based search from failing e.g. in case of \usepackage
        insertion.
 
        * doc/changes.texi: Document removal of
@@ -3702,13 +6193,13 @@
        the user is the respective options are non-nil.
        (TeX-parse-error): Conditionalize checking for warnings and bad
        boxes.  Find warnings without line numbers as well.
-       (TeX-warning): Doc fix (no need to return nil anymore).
-       Support warnings without line numbers.
+       (TeX-warning): Doc fix (no need to return nil anymore).  Support
+       warnings without line numbers.
 
        * tex.el (TeX-toggle-debug-boxes): Do not autoload.
        (TeX-debug-bad-boxes): Doc fix.
        (TeX-debug-warnings): New variable.
-       (TeX-toggle-debug-bad-boxes): Move here from tex-buf.el.
+       (TeX-toggle-debug-bad-boxes): Moved here from tex-buf.el.
        (TeX-toggle-debug-warnings): New function.
        (TeX-mode-map): Define new key bindings for
        `TeX-toggle-debug-bad-boxes' and `TeX-toggle-debug-warnings'.
@@ -3741,8 +6232,8 @@
        (TeX-mode-map): Use `TeX-insert-backslash' for `\'.
        (TeX-electric-escape): Adapt doc string.
 
-       * doc/auctex.texi (Mathematics):
-       Document `TeX-electric-sub-and-superscript'.
+       * doc/auctex.texi (Mathematics): Document
+       `TeX-electric-sub-and-superscript'.
 
        * doc/changes.texi: Advertise `TeX-electric-sub-and-superscript'.
 
@@ -3764,8 +6255,8 @@
 
 2005-10-28  Ralf Angeli  <address@hidden>
 
-       * tex.el (TeX-quote-language-alist, TeX-insert-quote):
-       Support functions as opening and closing quotation marks.
+       * tex.el (TeX-quote-language-alist, TeX-insert-quote): Support
+       functions as opening and closing quotation marks.
 
        * style/frenchb.el: New file.
 
@@ -3803,16 +6294,16 @@
 
        * style/amsbsy.el (LaTeX-amsbsy-package-options): New variable.
 
-       * style/fancyref.el (LaTeX-fancyref-package-options):
-       New variable.
+       * style/fancyref.el (LaTeX-fancyref-package-options): New
+       variable.
 
        * style/harvard.el: Updated GPL to version 2. Fixed FSF address.
        (LaTeX-harvard-package-options): New variable.
 
        * style/index.el (LaTeX-index-package-options): New variable.
 
-       * style/listings.el (LaTeX-listings-package-options):
-       New variable.
+       * style/listings.el (LaTeX-listings-package-options): New
+       variable.
 
        * style/makeidx.el (LaTeX-makeidx-package-options): New variable.
 
@@ -3822,16 +6313,16 @@
 
        * style/natbib.el (LaTeX-natbib-package-options): New variable.
 
-       * style/nicefrac.el (LaTeX-nicefrac-package-options):
-       New variable.
+       * style/nicefrac.el (LaTeX-nicefrac-package-options): New
+       variable.
 
-       * style/paralist.el (LaTeX-paralist-package-options):
-       New variable.
+       * style/paralist.el (LaTeX-paralist-package-options): New
+       variable.
 
        * style/units.el (LaTeX-units-package-options): New variable.
 
-       * style/scrpage2.el (LaTeX-scrpage2-package-options):
-       New variable.
+       * style/scrpage2.el (LaTeX-scrpage2-package-options): New
+       variable.
 
 2005-10-21  Reiner Steib  <address@hidden>
 
@@ -3866,31 +6357,31 @@
 
 2005-10-19  Arne J�rgensen  <address@hidden>
 
-       * latex.el (LaTeX-arg-usepackage):
-       If `LaTeX-<package>-package-options' is bound and nil don't ask for
+       * latex.el (LaTeX-arg-usepackage): If
+       `LaTeX-<package>-package-options' is bound and nil don't ask for
        package options.
 
-       * style/verbatim.el (LaTeX-verbatim-package-options):
-       New variable.
+       * style/verbatim.el (LaTeX-verbatim-package-options): New
+       variable.
 
-       * style/varioref.el (LaTeX-varioref-package-options):
-       New variable.
+       * style/varioref.el (LaTeX-varioref-package-options): New
+       variable.
 
        * style/url.el (LaTeX-url-package-options): New variable.
 
-       * style/subfigure.el (LaTeX-subfigure-package-options):
-       New variable.
+       * style/subfigure.el (LaTeX-subfigure-package-options): New
+       variable.
 
        * style/inputenc.el (LaTeX-arg-inputenc-inputenc): Doc fix.
        (LaTeX-inputenc-package-options): Doc fix.
 
        * style/dk-bib.el (LaTeX-dk-bib-package-options): Doc fix.
 
-       * style/captcont.el (LaTeX-captcont-package-options):
-       New variable.
+       * style/captcont.el (LaTeX-captcont-package-options): New
+       variable.
 
-       * style/booktabs.el (LaTeX-booktabs-package-options):
-       New variable.
+       * style/booktabs.el (LaTeX-booktabs-package-options): New
+       variable.
 
        * style/babel.el: Add doc string to `LaTeX-babel-package-options'
        and use `defvar' instead of `setq'.
@@ -3899,8 +6390,8 @@
 
 2005-10-13  Reiner Steib  <address@hidden>
 
-       * style/dk-bib.el, style/inputenc.el: Add coding cookie.
-       Delete trailing whitespace.  Reindent.
+       * style/dk-bib.el, style/inputenc.el: Add coding cookie.  Delete
+       trailing whitespace.  Reindent.
 
 2005-10-13  Ralf Angeli  <address@hidden>
 
@@ -3930,18 +6421,18 @@
 
        * style/dk-bib.el: New file.
 
-       * Makefile.in (STYLESRC): Add style/inputenc.el and
+       * Makefile.in (STYLESRC): Added style/inputenc.el and
        style/dk-bib.el.
 
 2005-10-10  Arne J�rgensen  <address@hidden>
 
-       * latex.el (LaTeX-auto-regexp-list): Remove spurious characters
+       * latex.el (LaTeX-auto-regexp-list): Removed spurious characters
        in variable definition.
 
 2005-10-10  Reiner Steib  <address@hidden>
 
-       * doc/auctex.texi (top): Index "tool bar" and "toolbar".
-       Use "tool bar" in the text.
+       * doc/auctex.texi (top): Index "tool bar" and "toolbar".  Use
+       "tool bar" in the text.
 
        * doc/changes.texi: Use "tool bar".
 
@@ -3958,11 +6449,11 @@
        (plain-TeX-auto-regexp-list): Use it.
        Suggested by Ikumi Keita <address@hidden>.
 
-       * latex.el (LaTeX-auto-regexp-list, BibTeX-auto-regexp-list):
-       Use it.
+       * latex.el (LaTeX-auto-regexp-list, BibTeX-auto-regexp-list): Use
+       it.
 
        * tex-jp.el (LaTeX-auto-regexp-list, plain-TeX-auto-regexp-list)
-       (BibTeX-auto-regexp-list): Remove.
+       (BibTeX-auto-regexp-list): Removed.
 
 2005-10-06  Reiner Steib  <address@hidden>
 
@@ -3989,12 +6480,12 @@
        (LaTeX-verbatim-environments, LaTeX-verbatim-environments-local):
        New variables.
        (LaTeX-verbatim-macro-boundaries, LaTeX-current-verbatim-macro)
-       (LaTeX-verbatim-p, LaTeX-search-forward-comment-start):
-       New functions.
+       (LaTeX-verbatim-p, LaTeX-search-forward-comment-start): New
+       functions.
        (LaTeX-verbatim-macros): Remove.
        (LaTeX-fill-region-as-para-do): Simplify.
-       (LaTeX-fill-move-to-break-point):
-       Use `LaTeX-verbatim-macros-with-delims'.
+       (LaTeX-fill-move-to-break-point): Use
+       `LaTeX-verbatim-macros-with-delims'.
        (LaTeX-fill-paragraph, LaTeX-fill-code-comment): Handle comment
        starters in verbatim constructs correctly.
 
@@ -4020,8 +6511,8 @@
 
        * style/url.el ("url"): Use new variables for verbatim constructs.
 
-       * latex.el (LaTeX-insert-environment): Mostly rewritten.
-       Improve handling of macrocode environments.
+       * latex.el (LaTeX-insert-environment): Mostly rewritten.  Improve
+       handling of macrocode environments.
 
 2005-10-02  Christian Schlauer  <address@hidden>
 
@@ -4037,7 +6528,7 @@
 
 2005-09-29  Masayuki Ataka  <address@hidden>
 
-       * doc/install.texi (Customizing): Remove "Contributed files"
+       * doc/install.texi (Customizing): Removed "Contributed files"
        section.
        Suggested by Ikumi Keita <address@hidden>.
 
@@ -4049,8 +6540,8 @@
 2005-09-27  Reiner Steib  <address@hidden>
 
        * auctex.spec: Add files in %{_datadir}/emacs/site-lisp.
-       Suggested by Jan-Ake Larsson.  Added startfiles.
-       Exclude %{_infodir}/dir.
+       Suggested by Jan-Ake Larsson.  Added startfiles.  Exclude
+       %{_infodir}/dir.
 
 2005-09-27  Ralf Angeli  <address@hidden>
 
@@ -4103,8 +6594,8 @@
 
 2005-09-24  David Kastrup  <address@hidden>
 
-       * doc/install.texi (Advice for package providers):
-       Suggest "anytex" instead of "notex" for without-texmf compilations.
+       * doc/install.texi (Advice for package providers): Suggest
+       "anytex" instead of "notex" for without-texmf compilations.
 
 2005-09-23  Reiner Steib  <address@hidden>
 
@@ -4127,8 +6618,8 @@
        * doc/changes.texi: Mention `font-latex-slide-title-face' and
        `font-latex-match-slide-title-keywords'.
 
-       * doc/auctex.texi (Font Locking):
-       Document `font-latex-slide-title-face' and
+       * doc/auctex.texi (Font Locking): Document
+       `font-latex-slide-title-face' and
        `font-latex-match-slide-title-keywords'.
 
 2005-09-10  Ralf Angeli  <address@hidden>
@@ -4143,8 +6634,8 @@
 
 2005-09-08  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-built-in-keyword-classes):
-       New `slide-title' class.
+       * font-latex.el (font-latex-built-in-keyword-classes): New
+       `slide-title' class.
        (font-latex-slide-title-face): New face.
        Specify :size for XEmacs.
 
@@ -4167,13 +6658,13 @@
 2005-08-26  Ralf Angeli  <address@hidden>
 
        * latex.el (LaTeX-common-initialization): Remove redundant call to
-       `make-local-variable' for `outline-heading-alist'.
-       Set `outline-heading-alist' only if it is already defined.
+       `make-local-variable' for `outline-heading-alist'.  Set
+       `outline-heading-alist' only if it is already defined.
 
 2005-08-26  Matthieu Moy  <address@hidden>  (tiny change)
 
-       * latex.el (LaTeX-common-initialization):
-       Set `outline-heading-alist'.
+       * latex.el (LaTeX-common-initialization): Set
+       `outline-heading-alist'.
 
 2005-08-24  Ralf Angeli  <address@hidden>
 
@@ -4188,8 +6679,8 @@
        names of non-existent variables.
 
        * tex.el (TeX-font-replace-macro): Do not use `TeX-find-macro-end'
-       for it may look too far in cases like "\emph{foo}{}".
-       Use `forward-sexp' with a stripped syntax table instead.
+       for it may look too far in cases like "\emph{foo}{}".  Use
+       `forward-sexp' with a stripped syntax table instead.
 
 2005-08-19  Ralf Angeli  <address@hidden>
 
@@ -4210,14 +6701,14 @@
 
        * latex.el (TeX-arg-input-file): Doc fix.
 
-       * tex.el (TeX-command-list): Remove `TeX-run-LaTeX'.
-       Add `TeX-run-ispell-on-document' in order to prevent mismatch in
+       * tex.el (TeX-command-list): Remove `TeX-run-LaTeX'.  Add
+       `TeX-run-ispell-on-document' in order to prevent mismatch in
        customization buffer.
 
 2005-08-05  David Kastrup  <address@hidden>
 
-       * font-latex.el (font-latex-doctex-preprocessor-face):
-       Remove `list' from already quoted list.
+       * font-latex.el (font-latex-doctex-preprocessor-face): Remove
+       `list' from already quoted list.
 
 2005-08-02  Ralf Angeli  <address@hidden>
 
@@ -4402,8 +6893,8 @@
 
        * latex.el (TeX-latex-mode): Use `TeX-run-mode-hooks'.
 
-       * context.el (ConTeXt-mode-common-initialization):
-       Use `TeX-run-mode-hooks'.
+       * context.el (ConTeXt-mode-common-initialization): Use
+       `TeX-run-mode-hooks'.
 
        * configure.ac: Make info about configuration clearer (in
        connection with the message for preview-latex).
@@ -4599,8 +7090,8 @@
 
        * doc/Makefile.in (TEXIFILES): Rename to AUCTEXTEXIFILES.
        (PERL, PREVIEWTEXIFILES): New variables.
-       (all): Now depends on `auctex' and `preview' targets.
-       Move AUCTeX-specific targets from original to `auctex'.
+       (all): Now depends on `auctex' and `preview' targets.  Move
+       AUCTeX-specific targets from original to `auctex'.
        (install): Now depends on `install-auctex' and `install-preview'
        targets.  Move AUCTeX-specific targets and content from original
        to `install-auctex'.
@@ -4725,8 +7216,8 @@
 2005-06-03  David Kastrup  <address@hidden>
 
        * doc/Makefile.in (TEXINFOINCLUDES, TEXIFILES, ../INSTALL)
-       (../INSTALL.windows, ../README, ../CHANGES, ../TODO, ../FAQ):
-       Move ../preview/doc/macros.texi to here again.
+       (../INSTALL.windows, ../README, ../CHANGES, ../TODO, ../FAQ): Move
+       ../preview/doc/macros.texi to here again.
 
 2005-06-02  Ralf Angeli  <address@hidden>
 
@@ -4769,8 +7260,8 @@
 
        * font-latex.el (font-latex-make-match-defun)
        (font-latex-make-built-in-keywords): Do not byte-compile generated
-       functions here but at the end of font-latex.el.
-       Prevents byte-compiler warnings due to possibly undefined functions.
+       functions here but at the end of font-latex.el.  Prevents
+       byte-compiler warnings due to possibly undefined functions.
 
 2005-05-24  David Kastrup  <address@hidden>
 
@@ -4786,8 +7277,8 @@
        instead of redefining it.
        (TeX-PDF-mode-parsed): New function replacing the previous extra
        functionality in `TeX-PDF-mode'.
-       (TeX-PDF-mode-on, TeX-PDF-mode-off): Warn in docstring.
-       Use `TeX-PDF-mode-parsed'.
+       (TeX-PDF-mode-on, TeX-PDF-mode-off): Warn in docstring.  Use
+       `TeX-PDF-mode-parsed'.
 
 2005-05-21  Ralf Angeli  <address@hidden>
 
@@ -4833,8 +7324,8 @@
        `dolist'.  Prevents console pop-ups with XEmacsen on Windows.
 
        * latex.el (LaTeX-fill-move-to-break-point): Check for
-       `charset-after' to make non-MULE XEmacsen happy.
-       Some reformatting.
+       `charset-after' to make non-MULE XEmacsen happy.  Some
+       reformatting.
 
 2005-05-18  David Kastrup  <address@hidden>
 
@@ -4914,8 +7405,8 @@
        * tex-fold.el (TeX-fold-make-overlay): Calculate priority before
        the overlay is instantiated.
 
-       * font-latex.el (font-latex-match-command-with-arguments):
-       Make XEmacs happy.
+       * font-latex.el (font-latex-match-command-with-arguments): Make
+       XEmacs happy.
 
        * latex.el (LaTeX-fill-newline-hook): New hook.
        (LaTeX-fill-newline): Use it.
@@ -4974,8 +7465,8 @@
        * font-latex.el (font-latex-forward-comment): New function.
        Prevent infinite loops and repair regexp.
        Simplify.  Code mainly by David Kastrup.
-       (font-latex-match-command-with-arguments): Use it.
-       Set fontification start of optional argument to opening bracket.
+       (font-latex-match-command-with-arguments): Use it.  Set
+       fontification start of optional argument to opening bracket.
        Apply restriction of region more globally.  Fix handling of
        multiple optional arguments.  Break if the end of the first
        mandatory argument could not be found.
@@ -4984,8 +7475,8 @@
 
        * tex.el (TeX-normal-mode): Ask for master file in 'shared case.
 
-       * font-latex.el (font-latex-built-in-keyword-classes):
-       Doc fix (typo).
+       * font-latex.el (font-latex-built-in-keyword-classes): Doc
+       fix (typo).
        (font-latex-match-command-with-arguments): Set macro end before
        any comments.  Do not move forward over comments if point is over
        the limit.
@@ -5138,8 +7629,8 @@
        * doc/Makefile.in (MAKEINFOINC): Use macros.texi in preview/doc
        directory.
        (auctex.dvi, auctex.pdf, auctex.info, ../INSTALL)
-       (../INSTALL.windows, ../README, ../CHANGES, ../TODO, ../FAQ):
-       Use MAKEINFOINC
+       (../INSTALL.windows, ../README, ../CHANGES, ../TODO, ../FAQ): Use
+       MAKEINFOINC
 
        * doc/macros.texi: Remove in lieu of version in preview/doc.
 
@@ -5167,8 +7658,8 @@
 
        * configure.ac: substitute auctexstartfile.  Export auctexdir as
        `..'.
-       If installing info into XEmacs package, disable install-info.
-       If makeinfo is disabled, don't check for macros.
+       If installing info into XEmacs package, disable install-info.  If
+       makeinfo is disabled, don't check for macros.
 
        * Makefile.in (auctexstartfile): autoconf variable.
        (subdirs): autoconf variable.
@@ -5224,8 +7715,8 @@
        * doc/auctex.texi (Font Locking): Adjust to new sectioning
        fontification.
 
-       * font-latex.el: Rename most *-title* stuff to *-sectioning*.
-       Old names: font-latex-title-%s-face, font-latex-title-fontify,
+       * font-latex.el: Rename most *-title* stuff to *-sectioning*.  Old
+       names: font-latex-title-%s-face, font-latex-title-fontify,
        font-latex-update-title-faces, font-latex-make-title-faces
        font-latex-title-max.  New names: font-latex-sectioning-%s-face,
        font-latex-fontify-sectioning, font-latex-update-sectioning-faces,
@@ -5274,8 +7765,8 @@
 
 2005-04-27  David Kastrup  <address@hidden>
 
-       * tex.el (TeX-lisp-directory, TeX-auto-global):
-       Don't `file-name-as-directory'fy.
+       * tex.el (TeX-lisp-directory, TeX-auto-global): Don't
+       `file-name-as-directory'fy.
        (TeX-style-global, TeX-auto-local, TeX-style-local)
        (TeX-macro-global, TeX-macro-private): Same here.
        (TeX-auto-private): Use expand-file-name.
@@ -5287,8 +7778,8 @@
        directory names.
        (TeX-ispell-document): Same here.
 
-       * tex.el (AUC-TeX-version, AUC-TeX-date):
-       Protect `make-obsolete-variable' against obsolete Emacsen.
+       * tex.el (AUC-TeX-version, AUC-TeX-date): Protect
+       `make-obsolete-variable' against obsolete Emacsen.
 
 2005-04-28  Masayuki Ataka  <address@hidden>
 
@@ -5304,8 +7795,8 @@
 
        * tex.el (info): Add "docTeX" to info prefixes.
        (AUCTeX-version, AUCTeX-date): removed to tex-site.el.
-       (AUC-TeX-version, AUC-TeX-date): Use `make-obsolete-variable'.
-       Is version 11.50 correct?
+       (AUC-TeX-version, AUC-TeX-date): Use `make-obsolete-variable'.  Is
+       version 11.50 correct?
 
        * tex-bar.el (LaTeX-install-toolbar): Adjust toolbarx-image-path.
 
@@ -5332,8 +7823,8 @@
 
 2005-04-20  David Kastrup  <address@hidden>
 
-       * configure.ac: don't bother about pre-2.50 autoconf.
-       Check version more fine-grainedly.
+       * configure.ac: don't bother about pre-2.50 autoconf.  Check
+       version more fine-grainedly.
 
 2005-04-19  David Kastrup  <address@hidden>
 
@@ -5360,8 +7851,8 @@
        (TeX-plain-tex-mode): rename from plain-tex-mode.
        (ams-tex-mode): Change autoload cookie.
 
-       * tex-jp.el (japanese-plain-tex-mode, japanese-latex-mode):
-       Change autoload cookies.
+       * tex-jp.el (japanese-plain-tex-mode, japanese-latex-mode): Change
+       autoload cookies.
 
        * tex-font.el (tex-font-setup): Add autoload cookie.
 
@@ -5371,7 +7862,7 @@
        * multi-prompt.el (multi-prompt): Add autoload cookie.
 
        * latex.el (auto-mode-alist): Add .drv to latex-mode.
-       (TeX-latex-mode): Change name from latex-mode.
+       (TeX-latex-mode): Changed name from latex-mode.
        (TeX-doctex-mode): Same here for doctex-mode.  Explicitly set
        major-mode to doctex-mode: we don't want different modes.
 
@@ -5437,10 +7928,10 @@
        * font-latex.el (font-latex-make-title-faces): Define the face,
        don't set size.  Set parent/inherit conditionally.
        (font-latex-update-title-faces): New function.
-       (font-latex-title-fontify): Add :initialize and :set.
-       Using `font-latex-update-title-faces' allows changing the height within
+       (font-latex-title-fontify): Add :initialize and :set.  Using
+       `font-latex-update-title-faces' allows changing the height within
        an Emacs session.
-       (font-latex-title-5-face): Rename from title-4-face.
+       (font-latex-title-5-face): Renamed from title-4-face.
        (font-latex-built-in-keyword-classes): Use title-0 and title-5
        faces.
 
@@ -5477,7 +7968,7 @@
 2005-04-14  Ikumi Keita  <address@hidden>
 
        * style/amsmath.el: Fix comment.
-       ("amsmath"): Remove duplicate settings of "alignat*" and
+       ("amsmath"): Removed duplicate settings of "alignat*" and
        "xalignat*" from LaTeX-add-environments.  Add "xalignat",
        "xalignat*", and "xxalignat" to LaTeX-item-list.
        (LaTeX-amsmath-env-alignat): Do not ask label if the tail of ENV
@@ -5485,8 +7976,8 @@
 
 2005-04-14  Masayuki Ataka  <address@hidden>
 
-       * latex.el (LaTeX-fill-move-to-break-point): Refactoring.
-       Set third argument of re-search-backward to 'move instead of using
+       * latex.el (LaTeX-fill-move-to-break-point): Refactoring.  Set
+       third argument of re-search-backward to 'move instead of using
        skip-chars-backward.
 
 2005-04-13  Ralf Angeli  <address@hidden>
@@ -5505,8 +7996,8 @@
        (LaTeX-math-abbrev-prefix): New function.
        (LaTeX-math-keymap, LaTeX-math-mode): Use it.
 
-       * doc/auctex.texi (Mathematics):
-       Explain `LaTeX-math-abbrev-prefix' more verbosely.
+       * doc/auctex.texi (Mathematics): Explain
+       `LaTeX-math-abbrev-prefix' more verbosely.
 
 2005-04-12  Reiner Steib  <address@hidden>
 
@@ -5544,8 +8035,8 @@
 
 2005-04-08  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-match-command-with-arguments):
-       Skip over comments as well as whitespace.
+       * font-latex.el (font-latex-match-command-with-arguments): Skip
+       over comments as well as whitespace.
 
        * tex.el (TeX-output-extension): Default to nil.
 
@@ -5574,8 +8065,8 @@
 
 2005-04-05  Ralf Angeli  <address@hidden>
 
-       * tex.el (TeX-PDF-mode, TeX-interactive-mode, TeX-Omega-mode):
-       Set customization group.
+       * tex.el (TeX-PDF-mode, TeX-interactive-mode, TeX-Omega-mode): Set
+       customization group.
 
        * latex.el (LaTeX-math-default): New entry and key for \colon.
        New "Punctuation" category.  Get rid of some entries in
@@ -5634,8 +8125,8 @@
 
 2005-04-02  Ralf Angeli  <address@hidden>
 
-       * doc/faq.texi (Frequently Asked Questions About AUCTeX):
-       Minor enhancements in wording.
+       * doc/faq.texi (Frequently Asked Questions About AUCTeX): Minor
+       enhancements in wording.
 
        * tex.el (TeX-open-quote, TeX-close-quote)
        (TeX-quote-after-quote): Doc fix.
@@ -5683,8 +8174,8 @@
 
 2005-03-31  Ralf Angeli  <address@hidden>
 
-       * doc/faq.texi (Frequently Asked Questions About AUCTeX):
-       Add general information about how to deal with bugs.  Adapt version
+       * doc/faq.texi (Frequently Asked Questions About AUCTeX): Add
+       general information about how to deal with bugs.  Adapt version
        numbers for Emacs.
 
 2005-03-31  Masayuki Ataka  <address@hidden>
@@ -5728,8 +8219,8 @@
        * tex-style.el (LaTeX-german-quote-after-quote)
        (LaTeX-german-open-quote, LaTeX-german-close-quote): Move here
        from style/german.el.
-       (LaTeX-german-hyphen, LaTeX-german-hyphen-after-hyphen):
-       New variables.
+       (LaTeX-german-hyphen, LaTeX-german-hyphen-after-hyphen): New
+       variables.
 
        * doc/auctex.texi (Font Locking): References are now fontified
        with `font-lock-constant-face' because `font-lock-reference-face'
@@ -5750,8 +8241,8 @@
        (font-latex-title-2-face, font-latex-title-3-face)
        (font-latex-title-4-face): Remove these face variables.
        (font-latex-title-fontify): Remove :set function.
-       (font-latex-built-in-keyword-classes):
-       Use `font-lock-constant-face' instead of `font-lock-reference-face'
+       (font-latex-built-in-keyword-classes): Use
+       `font-lock-constant-face' instead of `font-lock-reference-face'
        because the latter is deprecated in Emacs (and only an alias for
        the former which will not work if the quoted face name is used).
        Use new `title' specifier as type of keyword for the titling
@@ -5830,11 +8321,11 @@
        variants.
 
        * tex-fold.el (TeX-fold-make-overlay): Use `TeX-overlay-prioritize'.
-       (TeX-fold-priority-step, TeX-fold-prioritize): Rename and moved
+       (TeX-fold-priority-step, TeX-fold-prioritize): Renamed and moved
        to tex.el.
 
-       * tex-buf.el (TeX-region-create):
-       Transfer `buffer-file-coding-system' from master buffer to region.
+       * tex-buf.el (TeX-region-create): Transfer
+       `buffer-file-coding-system' from master buffer to region.
 
 2005-03-17  Ralf Angeli  <address@hidden>
 
@@ -5847,8 +8338,8 @@
        (LaTeX-menu-update): Remove.
        (LaTeX-section-menu, LaTeX-environment-menu)
        (LaTeX-environment-modify-menu): New variables.
-       (LaTeX-section-menu-filter, LaTeX-environment-menu-filter):
-       New functions.
+       (LaTeX-section-menu-filter, LaTeX-environment-menu-filter): New
+       functions.
        (LaTeX-mode-menu): Use them.
        (LaTeX-common-initialization): Move setting of
        `LaTeX-largest-level' upwards because it is needed when the menu
@@ -5873,7 +8364,7 @@
 
 2005-03-16  Masayuki Ataka  <address@hidden>
 
-       * latex.el (LaTeX-nospace-between-char-regexp): Change from
+       * latex.el (LaTeX-nospace-between-char-regexp): Changed from
        defcustom to defvar.
 
 2005-03-15  Ralf Angeli  <address@hidden>
@@ -5901,8 +8392,8 @@
 2005-03-11  Ralf Angeli  <address@hidden>
 
        * latex.el (LaTeX-paragraph-commands-regexp-make): New function.
-       (LaTeX-paragraph-commands-regexp, LaTeX-paragraph-commands):
-       Use it.
+       (LaTeX-paragraph-commands-regexp, LaTeX-paragraph-commands): Use
+       it.
        (LaTeX-paragraph-commands-add-locally): New function.
 
        * style/beamer.el ("beamer"): Use it.  Newline not needed anymore
@@ -5912,8 +8403,8 @@
        * context.el (ConTeXt-find-indent): Correct indentation of
        environments.
 
-       * latex.el (LaTeX-fill-region-as-para-do):
-       Use `remove-text-properties' instead of
+       * latex.el (LaTeX-fill-region-as-para-do): Use
+       `remove-text-properties' instead of
        `remove-list-of-text-properties' because the latter is not
        available in Emacs 21.
 
@@ -5944,11 +8435,11 @@
 
 2005-03-09  Masayuki Ataka  <address@hidden>
 
-       * style/amsmath.el ("amsmath"): Fix typo: "dotssc" -> "dotsc".
+       * style/amsmath.el ("amsmath"): Fixed typo: "dotssc" -> "dotsc".
        Added symbol "dots" and "dotsi".
 
-       * latex.el (LaTeX-insert-environment):
-       Call `TeX-math-input-method-off'.
+       * latex.el (LaTeX-insert-environment): Call
+       `TeX-math-input-method-off'.
        * style/amsmath.el (LaTeX-amsmath-env-alignat)
        (LaTeX-amsmath-env-aligned): Do not call
        `TeX-math-input-method-off' from here.
@@ -5977,24 +8468,24 @@
        * latex.el (LaTeX-includegraphics-extensions)
        (LaTeX-includegraphics-options-alist)
        (LaTeX-includegraphics-strip-extension-flag)
-       (LaTeX-includegraphics-read-file, LaTeX-beamer-themes): Move to
+       (LaTeX-includegraphics-read-file, LaTeX-beamer-themes): Moved to
        tex-style.el.
        (tex-style): Require.
 
-       * style/amsmath.el (LaTeX-amsmath-label): Move to tex-style.el.
+       * style/amsmath.el (LaTeX-amsmath-label): Moved to tex-style.el.
 
        * style/beamer.el: Remove install instructions.  Won't work
        properly outside current AUCTeX anymore.  Removed CVS Id.
        (LaTeX-beamer-section-labels-flag)
-       (LaTeX-beamer-item-overlay-flag): Move to tex-style.el.
+       (LaTeX-beamer-item-overlay-flag): Moved to tex-style.el.
 
        * style/csquotes.el (LaTeX-csquotes-quote-after-quote)
-       (LaTeX-csquotes-open-quote, LaTeX-csquotes-close-quote): Move to
+       (LaTeX-csquotes-open-quote, LaTeX-csquotes-close-quote): Moved to
        tex-style.el.
 
-       * style/emp.el (LaTeX-write18-enabled-p):  Move to tex-style.el.
+       * style/emp.el (LaTeX-write18-enabled-p):  Moved to tex-style.el.
 
-       * Makefile.in (AUCSRC): Add tex-style.el.
+       * Makefile.in (AUCSRC): Added tex-style.el.
 
 2005-03-07  Masayuki Ataka  <address@hidden>
 
@@ -6034,13 +8525,13 @@
 
        * tex.el (TeX-macro-global-internal): New function.
        (TeX-macro-global): Use it.
-       (TeX-kpathsea-format-alist): Remove duplicate line.
+       (TeX-kpathsea-format-alist): Removed duplicate line.
 
        * tex-jp.el: Use `TeX-macro-global-internal' and append path for
        Japanese TeX into TeX-macro-global.  Do not override
        `TeX-expand-list', no more.
-       (japanese-TeX-command-list): Add :help string.
-       Change `TeX-run-LaTeX' to `TeX-run-TeX'.
+       (japanese-TeX-command-list): Add :help string.  Change
+       `TeX-run-LaTeX' to `TeX-run-TeX'.
        (japanese-TeX-command-default, japanese-LaTeX-command-default):
        Quote symbol TeX-command in doc string.
 
@@ -6090,7 +8581,7 @@
 
 2005-02-23  Ikumi Keita  <address@hidden>  (tiny change)
 
-       * doc/auctex.texi (I18n): Remove FIXME comment.
+       * doc/auctex.texi (I18n): Removed FIXME comment.
 
 2005-02-22  Ikumi Keita  <address@hidden>  (tiny change)
 
@@ -6124,8 +8615,8 @@
 
 2005-02-19  Masayuki Ataka  <address@hidden>
 
-       * tex-jp.el (TeX-japanese-process-input-coding-system):
-       Remove garbage code.
+       * tex-jp.el (TeX-japanese-process-input-coding-system): Remove
+       garbage code.
        Reported by Ikumi Keita <address@hidden>.
 
        * latex.el (LaTeX-nospace-between-char-regexp): New variable.
@@ -6145,7 +8636,7 @@
 
 2005-02-16  Masayuki Ataka  <address@hidden>
 
-       * tex-jp.el (TeX-after-start-process-function): Remove code for
+       * tex-jp.el (TeX-after-start-process-function): Removed code for
        XEmacs.  `set-process-coding-system' is available in XEmacs 21.1.
        (TeX-japanese-process-input-coding-system)
        (TeX-japanese-process-output-coding-system): Change from defvar to
@@ -6165,8 +8656,8 @@
        * aclocal.m4 (AC_LISPIFY_DIR): new function.
        (AUCTEX_AUTO_DIR): Use it.
 
-       * tex-site.el.in (TeX-lisp-directory, TeX-auto-global):
-       put autoconfed expression on a line of its own.
+       * tex-site.el.in (TeX-lisp-directory, TeX-auto-global): put
+       autoconfed expression on a line of its own.
 
 2005-02-14  Masayuki Ataka  <address@hidden>
 
@@ -6179,8 +8670,8 @@
 
 2005-02-14  Ikumi Keita  <address@hidden>  (tiny change)
 
-       * tex-jp.el (LaTeX-auto-regexp-list):
-       Use `LaTeX-auto-class-regexp-list'.
+       * tex-jp.el (LaTeX-auto-regexp-list): Use
+       `LaTeX-auto-class-regexp-list'.
 
 2005-02-13  Ralf Angeli  <address@hidden>
 
@@ -6195,7 +8686,7 @@
        * tex.el (TeX-add-local-master): Insert "japanese-" before mode
        name if buffer local variable `japanese-TeX-mode' is non-nil.
        Suggested by Ikumi Keita <address@hidden>.
-       (japanese-slitex-mode): Remove obsolete autoload of slitex.
+       (japanese-slitex-mode): Removed obsolete autoload of slitex.
 
        * doc/auctex.texi (Japanese): Doc fix to follow the latest
        tex-jp.el.
@@ -6216,8 +8707,8 @@
        * latex.el (LaTeX-env-figure): Make function aware of active
        selections.  There are still some indentation issues left.
 
-       * style/epsf.el ("epsf"): Do not add epsffig environment.
-       Fixes error if latex.el(c) is not loaded.
+       * style/epsf.el ("epsf"): Do not add epsffig environment.  Fixes
+       error if latex.el(c) is not loaded.
        (LaTeX-env-epsffigure): Remove.
 
 2005-02-11  David Kastrup  <address@hidden>
@@ -6255,7 +8746,7 @@
 
 2005-02-09  Masayuki Ataka  <address@hidden>
 
-       * tex-jp.el (LaTeX-auto-regexp-list): Remove `usepackage' because
+       * tex-jp.el (LaTeX-auto-regexp-list): Removed `usepackage' because
        it is defined in `LaTeX-auto-minimal-regexp-list'.
        (plain-TeX-auto-regexp-list): Fix regexp; Use `\\|' instead of `|'.
        Fill lines in the same way in tex.el.
@@ -6329,8 +8820,8 @@
        * doc/changes.texi: Mention support for the jsarticle and jsbook
        classes.
 
-       * tex-jp.el (japanese-LaTeX-style-list):
-       Add jsclasses (jsarticle and jsbook).
+       * tex-jp.el (japanese-LaTeX-style-list): Added
+       jsclasses (jsarticle and jsbook).
 
 2005-01-31  Ralf Angeli  <address@hidden>
 
@@ -6363,7 +8854,7 @@
 
 2005-01-29  Masayuki Ataka  <address@hidden>
 
-       * tex-jp.el (LaTeX-fill-region-as-para-do): Remove.
+       * tex-jp.el (LaTeX-fill-region-as-para-do): Removed.
 
 2005-01-28  Reiner Steib  <address@hidden>
 
@@ -6469,8 +8960,8 @@
 
 2005-01-12  Ralf Angeli  <address@hidden>
 
-       * style/beamer.el: Update copyright information.
-       General clean-up.
+       * style/beamer.el: Update copyright information.  General
+       clean-up.
        ("beamer"): Support frame environment.
        The overprint has an optional "area width" argument, not a
        mandatory "overlay" argument.
@@ -6507,26 +8998,26 @@
        whitespace between comment starters.
 
        * latex.el: Update copyright information.
-       (LaTeX-indent-calculate-last, LaTeX-fill-region-as-para-do):
-       Do not widen.
+       (LaTeX-indent-calculate-last, LaTeX-fill-region-as-para-do): Do
+       not widen.
        (LaTeX-fill-region-as-paragraph, LaTeX-fill-region-as-para-do):
        Use a marker instead of narrowing the region.
        (LaTeX-indent-line, LaTeX-indent-inner-do)
-       (LaTeX-current-indentation, LaTeX-back-to-indentation):
-       Handle prefixes with whitespace between comment starters correctly.
+       (LaTeX-current-indentation, LaTeX-back-to-indentation): Handle
+       prefixes with whitespace between comment starters correctly.
 
 2005-01-05  Reiner Steib  <address@hidden>
 
-       * style/graphicx.el: Added completion of boxing macros.
-       Fontify some macros.
+       * style/graphicx.el: Added completion of boxing macros.  Fontify
+       some macros.
 
-       * font-latex.el (font-latex-built-in-keyword-classes): Fix typo
+       * font-latex.el (font-latex-built-in-keyword-classes): Fixed typo
        in doc string.
 
 2005-01-02  Reiner Steib  <address@hidden>
 
-       * toolbar-x.el (toolbarx-default-toolbar-meaning-alist):
-       Some checkdoc related fixes.  Still not checkdoc clean.
+       * toolbar-x.el (toolbarx-default-toolbar-meaning-alist): Some
+       checkdoc related fixes.  Still not checkdoc clean.
 
        * tex-bar.el (Commentary): Don't mention stuff done by
        configure/make in the instructions.
@@ -6587,8 +9078,8 @@
 
 2004-12-16  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-built-in-keyword-classes):
-       Move warning keywords up in order to save them from being covered by
+       * font-latex.el (font-latex-built-in-keyword-classes): Move
+       warning keywords up in order to save them from being covered by
        less important faces.  Include "include" in warning keywords.
 
        * aclocal.m4 (TEX_INPUT_DIRS): Change `IFS' temporarily for
@@ -6602,8 +9093,8 @@
 
        * doc/wininstall.texi: Quote value for --with-tex-input-dirs.
 
-       * tex.el (TeX-arg-opening-brace, TeX-arg-closing-brace):
-       New variables.
+       * tex.el (TeX-arg-opening-brace, TeX-arg-closing-brace): New
+       variables.
        (TeX-parse-arguments, TeX-parse-argument, TeX-argument-insert):
        Use them.
 
@@ -6682,8 +9173,8 @@
        `TeX-fold-buffer-type' but type parameter is not mandatory
        anymore.
        (TeX-fold-clearout-buffer): Now calls `TeX-fold-clearout-region'.
-       (TeX-fold-clearout-paragraph, TeX-fold-clearout-region):
-       New functions.
+       (TeX-fold-clearout-paragraph, TeX-fold-clearout-region): New
+       functions.
 
        * tex.el (TeX-fold-menu): Add menu entries for folding and
        unfolding of paragraphs.
@@ -6703,15 +9194,15 @@
        (LaTeX-fill-region-as-paragraph, LaTeX-fill-region-as-para-do)
        (LaTeX-fill-move-to-break-point, LaTeX-fill-paragraph)
        (LaTeX-fill-code-comment, LaTeX-fill-region)
-       (LaTeX-forward-paragraph, LaTeX-backward-paragraph):
-       Use `TeX-comment-start-regexp' instead of `comment-start'.
+       (LaTeX-forward-paragraph, LaTeX-backward-paragraph): Use
+       `TeX-comment-start-regexp' instead of `comment-start'.
        (LaTeX-backward-paragraph, LaTeX-indent-line): Simplify.
 
        * style/mdwlist.el ("mdwlist"): Use `TeX-comment-start-regexp'
        instead of `comment-start'.
 
-       * style/doc.el (LaTeX-env-no-comment):
-       Use `TeX-comment-start-regexp' instead of `comment-start'.
+       * style/doc.el (LaTeX-env-no-comment): Use
+       `TeX-comment-start-regexp' instead of `comment-start'.
 
 2004-12-07  Ralf Angeli  <address@hidden>
 
@@ -6721,8 +9212,8 @@
        * context.el (ConTeXt-paragraph-commands-regexp): New name for
        `ConTeXt-paragraph-commands'.  Doc fix.  Match escape character at
        front as well.
-       (ConTeXt-mode-common-initialization): Use it.
-       Set `LaTeX-paragraph-commands-regexp' instead of
+       (ConTeXt-mode-common-initialization): Use it.  Set
+       `LaTeX-paragraph-commands-regexp' instead of
        `LaTeX-paragraph-commands'.  Adapt definition of
        `paragraph-start'.
 
@@ -6737,8 +9228,8 @@
 
 2004-12-02  Ralf Angeli  <address@hidden>
 
-       * style/csquotes.el (LaTeX-csquotes-quote-after-quote):
-       Avoid interference with (n)german.el.
+       * style/csquotes.el (LaTeX-csquotes-quote-after-quote): Avoid
+       interference with (n)german.el.
 
 2004-12-01  Ralf Angeli  <address@hidden>
 
@@ -6771,7 +9262,7 @@
 
 2004-11-29  Reiner Steib  <address@hidden>
 
-       * tex.el (TeX-auto-insert): Add SKIP argument.
+       * tex.el (TeX-auto-insert): Added SKIP argument.
        (TeX-auto-store): Use it to avoid circular dependencies.
 
        * style/graphicx.el (LaTeX-arg-includegraphics): Add "page".
@@ -6869,8 +9360,8 @@
        (LaTeX-backward-paragraph): Do not unnecessarily jump to a (wrong)
        position after the macro start.
 
-       * tex.el: Move (nearly all) autoloads to a single place.
-       Remove redundant autoload for `TeX-region-file'.  Add autoload for
+       * tex.el: Move (nearly all) autoloads to a single place.  Remove
+       redundant autoload for `TeX-region-file'.  Add autoload for
        `TeX-view'.
        (TeX-parse-macro): Doc fix.
        Do not add braces for macros defined as `("foo" 0)'.
@@ -6931,8 +9422,8 @@
        (LaTeX-paragraph-commands-internal)
        (LaTeX-paragraph-commands-regexp): New variables.
        (LaTeX-forward-paragraph, LaTeX-backward-paragraph)
-       (LaTeX-common-initialization):
-       Use `LaTeX-paragraph-commands-regexp' instead of
+       (LaTeX-common-initialization): Use
+       `LaTeX-paragraph-commands-regexp' instead of
        `LaTeX-paragraph-commands'.
 
 2004-11-12  Ralf Angeli  <address@hidden>
@@ -6974,11 +9465,11 @@
        (LaTeX-env-minipage): Do not ask for the (optional) position if
        `LaTeX-default-position' is set to `nil'.  Behaviour agrees with
        LaTeX-env-array and LaTeX-env-tabular* now.
-       (LaTeX-env-array, LaTeX-env-tabular*): Change `setq'-assignment
+       (LaTeX-env-array, LaTeX-env-tabular*): Changed `setq'-assignment
        of `LaTeX-default-position' so that it works not only the first
        time in buffers with `LaTeX-default-position' set to `nil'.
-       (LaTeX-env-array, LaTeX-env-minipage, LaTeX-env-tabular*):
-       Use `LaTeX-optop', `TeX-grop', etc. instead of `{', `['.
+       (LaTeX-env-array, LaTeX-env-minipage, LaTeX-env-tabular*): Use
+       `LaTeX-optop', `TeX-grop', etc. instead of `{', `['.
        (LaTeX-env-picture): Don't delete whitespace after inserting the
        environment.  Cursor position corresponds to proper indentation
        now.
@@ -6996,8 +9487,8 @@
        * latex.el (TeX-arg-input-file): Use new name
        `TeX-delete-dups-by-car' instead of `TeX-delete-dups'.
 
-       * style/graphicx.el (LaTeX-includegraphics-read-file-TeX):
-       Use new name `TeX-delete-dups-by-car' instead of `TeX-delete-dups'.
+       * style/graphicx.el (LaTeX-includegraphics-read-file-TeX): Use
+       new name `TeX-delete-dups-by-car' instead of `TeX-delete-dups'.
 
 2004-11-02  Ralf Angeli  <address@hidden>
 
@@ -7029,8 +9520,8 @@
        * font-latex.el: Change maintainer information.
        (font-latex-keywords): New customization group.
        (font-latex-built-in-keyword-classes): New variable.
-       (font-latex-make-match-defun, font-latex-keyword-matcher):
-       New functions.
+       (font-latex-make-match-defun, font-latex-keyword-matcher): New
+       functions.
        (font-latex-make-built-in-keywords): New name for
        `font-latex-make-keywords'.
        Move default keyword definitions from
@@ -7070,7 +9561,7 @@
 
        * tex-bar.el: Remove defadvice's to TeX-run-TeX and
        TeX-TeX-sentinel-check.
-       (TeX-bar-error-handling-switches): Remove.
+       (TeX-bar-error-handling-switches): Removed.
        (TeX-bar-LaTeX-button-alist): next-error updated.
 
 2004-10-28  Reiner Steib  <address@hidden>
@@ -7110,8 +9601,8 @@
        (TeX-TeX-sentinel-check [tex-buf.el]): after-adviced to set error
        internals when error happens.
        (TeX-bar-LaTeX-button-alist): New button next-error, which is
-       resp. visible/active when error detected on Emacs/XEmacs.
-       All buttons received :help from TeX-command-list.
+       resp. visible/active when error detected on Emacs/XEmacs.  All
+       buttons received :help from TeX-command-list.
        (TeX-bar-LaTeX-buttons): next-error is default, and file is no
        longer default.
 
@@ -7121,8 +9612,8 @@
        Match "\DeclareRobustCommand\foo" besides
        "\DeclareRobustCommand{\foo}" as well.
        (LaTeX-auto-regexp-list): Use it.
-       (LaTeX-auto-cleanup): Do not consider key=value options.
-       Check for "Package" in addition to "package".
+       (LaTeX-auto-cleanup): Do not consider key=value options.  Check
+       for "Package" in addition to "package".
 
 2004-10-26  Reiner Steib  <address@hidden>
 
@@ -7130,13 +9621,13 @@
 
 2004-10-26  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-match-command-in-braces):
-       Remove references to non-existent variables.
+       * font-latex.el (font-latex-match-command-in-braces): Remove
+       references to non-existent variables.
 
 2004-10-26  Reiner Steib  <address@hidden>
 
        * latex.el (LaTeX-math-list): Improve doc string and custom type.
-       (LaTeX-math-default): Add doc string.
+       (LaTeX-math-default): Added doc string.
 
 2004-10-26  Frank K�ster  <address@hidden>
 
@@ -7163,7 +9654,7 @@
 
 2004-10-24  Reiner Steib  <address@hidden>
 
-       * Makefile.in (DOCFILES): Add doc/quickstart.texi.
+       * Makefile.in (DOCFILES): Added doc/quickstart.texi.
 
 2004-10-23  Miguel Frasson  <address@hidden>
 
@@ -7175,7 +9666,7 @@
        value for the :image property.
        (toolbarx-emacs-refresh): Nil cannot be a toolbar (menu) key
        anymore (fixed).
-       (toolbarx-install-toolbar): Improve documentation for the :image
+       (toolbarx-install-toolbar): Improved documentation for the :image
        property.
 
 2004-10-22  Miguel Frasson  <address@hidden>
@@ -7185,10 +9676,10 @@
        (tex-bar-latex-buttons): Improve comments.  Add custom :type.
        (tex-bar-latex-buttons): New command -- display a list of defined
        buttons.
-       (tex-bar-available-meaning-alists): Remove (renamed).
+       (tex-bar-available-meaning-alists): Removed (renamed).
        (tex-bar-latex-all-button-alists): New name of
        `tex-bar-available-meaning-alists'.  Add custom :type.
-       (tex-bar-meaning-alist): Remove (renamed).
+       (tex-bar-meaning-alist): Removed (renamed).
        (tex-bar-latex-button-alist): New name of `tex-bar-meaning-alist'.
        Add custom :type.  Renamed `latex-symbols' button to
        `latex-symbols-experimental'.
@@ -7226,7 +9717,7 @@
 
        * doc/macros.texi: New macro @sans.
 
-       * doc/intro.texi (Introduction): Remove sections obsoleted by
+       * doc/intro.texi (Introduction): Removed sections obsoleted by
        `Quick Start' (Indentation and filling, Completion, Editing your
        document, Outlines).
 
@@ -7236,7 +9727,7 @@
        doc/changes.texi, doc/auctex.texi: Remove optional arguments of
        all @node commands.
 
-       * doc/Makefile.in (TEXIFILES): Add quickstart.texi.
+       * doc/Makefile.in (TEXIFILES): Added quickstart.texi.
 
 2004-10-18  Frank K�ster  <address@hidden>
 
@@ -7248,7 +9739,7 @@
        * latex.el (LaTeX-env-figure, LaTeX-env-minipage): Point out to
        the user that the placement (figure) and position (minipage)
        specifiers are optional arguments.
-       (LaTeX-env-figure): Simplify.  Do not insert the (optional)
+       (LaTeX-env-figure): Simplified.  Do not insert the (optional)
        placement specifier `LaTeX-float' into the buffer if the user
        entered the empty string when asked for `float'.
 
@@ -7272,9 +9763,9 @@
 
 2004-10-16  Ralf Angeli  <address@hidden>
 
-       * tex-fold.el (TeX-fold-macro-nth-arg):
-       Use `TeX-find-closing-brace' instead of `forward-sexp'.
-       Fixes problems with comment characters in \url macros.
+       * tex-fold.el (TeX-fold-macro-nth-arg): Use
+       `TeX-find-closing-brace' instead of `forward-sexp'.  Fixes
+       problems with comment characters in \url macros.
 
        * latex.el (LaTeX-paragraph-commands): Use `regexp-opt' to
        generate the regexp.
@@ -7466,8 +9957,8 @@
 
        * doc/auctex.texi (Completion): Mention `C-c RET' for
        `TeX-insert-macro'.  Fixed typo.
-       (Parsing Files): Fix typo.
-       (European): Improve.
+       (Parsing Files): Fixed typo.
+       (European): Improved.
        From Frank K�ster <address@hidden>,     slightly modified.
 
        * latex.el (LaTeX-common-initialization): Use `LaTeX-env-tabular*'
@@ -7579,8 +10070,8 @@
 
 2004-10-05  Miguel Frasson  <address@hidden>
 
-       * toolbarx.el (toolbarx-default-toolbar-meaning-alist):
-       New constant, providing a MEANING-ALIST for the insertion of the
+       * toolbarx.el (toolbarx-default-toolbar-meaning-alist): New
+       constant, providing a MEANING-ALIST for the insertion of the
        default buttons and some extra ones in Emacs and XEmacs.
 
 2004-10-05  Ralf Angeli  <address@hidden>
@@ -7664,8 +10155,8 @@
 
        * auctb.el: Fix Copyright notice (to FSF).  Remove "AMS Special"
        from ppup menu.  Simplify.  Remove garbage comments from end.
-       (auctb-img-filename): Remove "symb-pics/" from return.
-       Add "symb-pics/" explicitly where it is needed in the defconst's.
+       (auctb-img-filename): Remove "symb-pics/" from return.  Add
+       "symb-pics/" explicitly where it is needed in the defconst's.
 
        * images, images/dropdown.xpm, images/ltx-symb-turn-off.xpm,
        * images/ltx-symb-turn-on.xpm: Add designed images for symbol
@@ -7838,8 +10329,8 @@
 
        * tex.el (TeX-delete-dups): New defun or defalias.
 
-       * style/graphicx.el (LaTeX-includegraphics-read-file-TeX):
-       Rename from `LaTeX-includegraphics-read-file'.  Remove duplicates using
+       * style/graphicx.el (LaTeX-includegraphics-read-file-TeX): Renamed
+       from `LaTeX-includegraphics-read-file'.  Remove duplicates using
        `TeX-delete-dups'.
        (LaTeX-includegraphics-read-file-relative): Insert relative
        filename.  From Dan Nicolaescu <address@hidden>.
@@ -7865,12 +10356,12 @@
 
 2004-08-27  Reiner Steib  <address@hidden>
 
-       * tex.el (TeX-kpathsea-format-alist):
-       Add LaTeX-includegraphics-extensions.
+       * tex.el (TeX-kpathsea-format-alist): Added
+       LaTeX-includegraphics-extensions.
        (TeX-search-files): Fix non-kpathsea case.
 
-       * style/graphicx.el (LaTeX-includegraphics-read-file):
-       Use completion based on TeX-search-files.
+       * style/graphicx.el (LaTeX-includegraphics-read-file): Use
+       completion based on TeX-search-files.
 
 2004-08-27  Ralf Angeli  <address@hidden>
 
@@ -7883,11 +10374,11 @@
 
 2004-08-26  Masayuki Ataka  <address@hidden>
 
-       * tex-site.el.in (japanese-slitex-mode): Remove obsolete autoload
+       * tex-site.el.in (japanese-slitex-mode): Removed obsolete autoload
        of slitex.
 
-       * tex-jp.el (japanese-plain-tex-mode, japanese-latex-mode):
-       Use `TeX-defun' for getting version info into mode doc.
+       * tex-jp.el (japanese-plain-tex-mode, japanese-latex-mode): Use
+       `TeX-defun' for getting version info into mode doc.
 
 2004-08-26  Ralf Angeli  <address@hidden>
 
@@ -7901,8 +10392,8 @@
        * tex.el (TeX-find-macro-boundaries): Detect the start of any
        macro, not just those consisting of address@hidden
        Remove some superfluous `goto-char' calls.
-       (TeX-find-macro-start-helper): Reimplement once again.
-       Original patch by David Kastrup; slightly modified.  Doc fix.
+       (TeX-find-macro-start-helper): Reimplement once again.  Original
+       patch by David Kastrup; slightly modified.  Doc fix.
        (TeX-find-macro-end-helper): Doc fix.  Handle macros not
        consisting of address@hidden correctly.
        (TeX-find-opening-brace): Improve performance.
@@ -7955,8 +10446,8 @@
        (TeX-find-macro-start-helper): Reimplement.  Should be much faster
        now.
 
-       * latex.el (LaTeX-current-environment):
-       Use `buffer-substring-no-properties'.
+       * latex.el (LaTeX-current-environment): Use
+       `buffer-substring-no-properties'.
        (LaTeX-indent-line): Revert last change.  Only multi-line overlays
        at the start of a line are affected by the XEmacs bug.
 
@@ -8112,8 +10603,8 @@
 2004-08-19  David Kastrup  <address@hidden>
 
        * aclocal.m4: `putative-existing-lisp-dir' is not a package
-       directory if `lisp' is not a path component.
-       Normalize whitespace.
+       directory if `lisp' is not a path component.  Normalize
+       whitespace.
        Remove trailing slash from packagedir.
 
        * tex-site.el.in (TeX-macro-global): Don't quote texinputdirs
@@ -8169,7 +10660,7 @@
 
 2004-08-17  Reiner Steib  <address@hidden>
 
-       * texmathp.el (texmathp-tex-commands-default): Add \label.
+       * texmathp.el (texmathp-tex-commands-default): Added \label.
        Various checkdoc-related fixes.
 
 2004-08-17  Ralf Angeli  <address@hidden>
@@ -8302,12 +10793,12 @@
 
        * tex.el (TeX-print-command): Use `%(o?)'.
        (TeX-command, TeX-Omega-command, LaTeX-command)
-       (LaTeX-Omega-command, ConTeXt-engine, ConTeXt-Omega-engine):
-       New customization strings to implement various expanders.
+       (LaTeX-Omega-command, ConTeXt-engine, ConTeXt-Omega-engine): New
+       customization strings to implement various expanders.
        (TeX-command-list): Use them.
        (LaTeX-command-style): Same here.
-       (TeX-printer-list, TeX-view-style, TeX-output-view-style):
-       Use `%(o?)'.
+       (TeX-printer-list, TeX-view-style, TeX-output-view-style): Use
+       `%(o?)'.
        (TeX-expand-list): New entries.
        (TeX-PDF-mode): Don't switch on in Omega mode.
        (TeX-Omega-mode): New minor mode.
@@ -8449,7 +10940,7 @@
 
 2004-08-12  David Kastrup  <address@hidden>
 
-       * tex-jp.el (japanese-TeX-command-list): Fix this to new style.
+       * tex-jp.el (japanese-TeX-command-list): Fixed this to new style.
        (LaTeX-command-style): Same here.  Hey, this should even make
        preview-latex work mostly with Japanese files and PDFTeX.
 
@@ -8503,8 +10994,8 @@
 
 2004-08-11  David Kastrup  <address@hidden>
 
-       * doc/tex-ref.tex: Move papersize stuff to the front.
-       Fiddle somewhat with the sizes, too.
+       * doc/tex-ref.tex: Move papersize stuff to the front.  Fiddle
+       somewhat with the sizes, too.
 
        * auctex.spec (Version): Change version, web sites, some build
        stuff (this is not yet finished).
@@ -8580,8 +11071,8 @@
        * tex-info.el (TeXinfo-mode-menu): Capitalize menu entries.
 
        * context.el (ConTeXt-project-structure-menu-name)
-       (ConTeXt-section-block-menu-name, ConTeXt-mode-menu):
-       Capitalize menu entries.
+       (ConTeXt-section-block-menu-name, ConTeXt-mode-menu): Capitalize
+       menu entries.
 
        * tex-info.el (TeXinfo-mode-menu): Add help strings.
 
@@ -8610,15 +11101,15 @@
 
        * tex.el (TeX-set-mode-name, TeX-source-specials-map)
        (TeX-source-specials-mode, TeX-source-specials-expand-options)
-       (TeX-source-specials-view-expand-options):
-       Rename `TeX-source-specials' to `TeX-source-specials-mode'.
+       (TeX-source-specials-view-expand-options): Rename
+       `TeX-source-specials' to `TeX-source-specials-mode'.
        (TeX-PDF-mode): Make first arg optional (actually, not sure this
        is a good idea).
        (tex-pdf-mode): alias for `TeX-PDF-mode'.
        (tex-interactive-mode): alias for `TeX-interactive-mode'
        (tex-fold-mode): add autoload.
-       (TeX-mode-map, TeX-mode-specific-command-menu-entries):
-       rename `TeX-source-specials' to `TeX-source-specials-mode'.
+       (TeX-mode-map, TeX-mode-specific-command-menu-entries): rename
+       `TeX-source-specials' to `TeX-source-specials-mode'.
        (TeX-command-list): Add help strings.
        (TeX-command-menu-entry): Splice help into command entries.
        (TeX-mode-specific-command-menu-entries): Remove help in XEmacs.
@@ -8667,8 +11158,8 @@
 
 2004-08-08  David Kastrup  <address@hidden>
 
-       * tex-buf.el (TeX-run-set-command):
-       Initialize `TeX-output-extension' based on `TeX-PDF-mode'.
+       * tex-buf.el (TeX-run-set-command): Initialize
+       `TeX-output-extension' based on `TeX-PDF-mode'.
 
        * tex.el (TeX-command-output-list): Don't look at pdf* commands.
        Don't have default mode "dvi".
@@ -8722,12 +11213,12 @@
        kpathsea based completion, `TeX-insert-macro-default-style'.
        Refer to installation nodes (autoconf installation).
 
-       * tex.el (TeX-submit-bug-report): Add more explanations.
+       * tex.el (TeX-submit-bug-report): Added more explanations.
 
        * latex.el (LaTeX-style-list): Improve doc-string.
 
-       * font-latex.el (font-latex-script-display): New variable.
-       Make raise of sub-/superscripts customizable.
+       * font-latex.el (font-latex-script-display): New variable.  Make
+       raise of sub-/superscripts customizable.
        (font-latex-unfontify-region, font-latex-script): Use it.
 
 2004-08-05  Ralf Angeli  <address@hidden>
@@ -8794,7 +11285,7 @@
        PDFTeX entries.
        (LaTeX-command-style): Add %(PDF) here.
        (TeX-expand-list): Expand %(PDF).
-       (TeX-mode-p): Move.
+       (TeX-mode-p): Moved.
        (TeX-PDF-mode, global-TeX-PDF-mode): New minor modes.
        (TeX-PDF-mode-on, TeX-PDF-mode-off): Shortcuts for calling.
        (TeX-PDF-mode-parsed): New variable.
@@ -8823,8 +11314,8 @@
        (TeX-source-specials-view-editor-flags): New customize option.
        (TeX-source-specials-view-expand-client): Return not only client
        but options as well.
-       (TeX-source-specials-view-expand-options):
-       Use `TeX-source-specials-view-editor-flags'.
+       (TeX-source-specials-view-expand-options): Use
+       `TeX-source-specials-view-editor-flags'.
 
 2004-08-03  Reiner Steib  <address@hidden>
 
@@ -8834,8 +11325,8 @@
 
        * latex.el (LaTeX-mode-menu): Add "Close Environment"
 
-       * tex.el (TeX-source-specials-view-gnuserv-p):
-       replaces `TeX-source-specials-view-guess-server'.
+       * tex.el (TeX-source-specials-view-gnuserv-p): replaces
+       `TeX-source-specials-view-guess-server'.
        (TeX-source-specials-view-expand-client)
        (TeX-source-specials-view-expand-options): Use this.
 
@@ -8855,8 +11346,8 @@
        `TeX-source-specials-view-expand-client'.
        (TeX-source-specials-view-start-server): New customize option.
        (TeX-source-specials-view-start-server-asked): New variable.
-       (TeX-source-specials-view-position-flags): New name.
-       Formerly known as `TeX-source-specials-viewer-flags'.
+       (TeX-source-specials-view-position-flags): New name.  Formerly
+       known as `TeX-source-specials-viewer-flags'.
        (TeX-source-specials-view-gnuclient-flags): New variable.
        (TeX-source-specials-view-emacsclient-flags): New variable.
        (TeX-source-specials-view-expand-client): New function.
@@ -8964,17 +11455,17 @@
        * doc/changes.texi: Add heading for `rawfile'.  Change `section'
        to `heading'.
 
-       * doc/faq.texi (Frequently Asked Questions About AUCTeX):
-       At least (X)Emacs 21 is needed.
+       * doc/faq.texi (Frequently Asked Questions About AUCTeX): At
+       least (X)Emacs 21 is needed.
 
        * doc/install.texi (Prerequisites): Ditto.
 
 2004-07-29  Ralf Angeli  <address@hidden>
 
-       * tex-fold.el (TeX-fold-macro-spec-list): Extend default.
-       Add specification for argument number.
+       * tex-fold.el (TeX-fold-macro-spec-list): Extend default.  Add
+       specification for argument number.
        (TeX-fold-env-spec-list): Ditto.
-       (TeX-fold-folded-face): Rename from
+       (TeX-fold-folded-face): Renamed from
        `TeX-fold-display-string-face'.
        (TeX-fold-unfolded-face): New face and variable.
        (TeX-fold-buffer-type): Move through buffer from bottom to top in
@@ -9157,12 +11648,12 @@
        * latex.el (LaTeX-mode-menu): Add entries for showing and hiding
        individual macros.
 
-       * tex-info.el (TeXinfo-mode-menu): Update and rearrange.
-       Add entries for "Show/Hide" functionality.
+       * tex-info.el (TeXinfo-mode-menu): Update and rearrange.  Add
+       entries for "Show/Hide" functionality.
 
        * doc/auc-tex.texi (Show/Hide): New section.
        (Folding): New subsection.
-       (Outline): Move under "Show/Hide".
+       (Outline): Moved under "Show/Hide".
 
 2004-07-10  Ralf Angeli  <address@hidden>
 
@@ -9230,7 +11721,7 @@
        * Makefile.in (tar-ball): Change permissions of auctex-$(TAG).
 
        * tex.el (TeX-source-specials-expand-view-options): New function.
-       (TeX-expand-list): Add new specifier (%dS) for
+       (TeX-expand-list): Added new specifier (%dS) for
        `TeX-source-specials-expand-view-options'.
        (TeX-view-style, TeX-output-view-style): Add %dS for source
        specials in all xdvi calls.
@@ -9392,11 +11883,11 @@
 
 2004-06-02  Reiner Steib  <address@hidden>
 
-       * tex.el (TeX-insert-macro-default-style): Fix typo in doc-string.
+       * tex.el (TeX-insert-macro-default-style): Fixed typo in doc-string.
 
 2004-06-01  Reiner Steib  <address@hidden>
 
-       * tex.el (TeX-no-braces-modes): Remove.  Revert unintened
+       * tex.el (TeX-no-braces-modes): Removed.  Revert unintened
        addition from 2004-04-19 commit.
        (TeX-insert-macro-default-style): New variable.
        (TeX-parse-arguments): Use it.
@@ -9425,10 +11916,10 @@
        `LaTeX-includegraphics-options-alist' now.
        (LaTeX-includegraphics-extensions)
        (LaTeX-includegraphics-read-file): New functions.
-       (TeX-include-graphics-simple): Remove; use
+       (TeX-include-graphics-simple): Removed; use
        `LaTeX-includegraphics-options-alist' instead.
-       (TeX-string-divide-number-unit, TeX-default-unit-for-image):
-       Move to `tex.el'.
+       (TeX-string-divide-number-unit, TeX-default-unit-for-image): Moved
+       to `tex.el'.
 
        * latex.el (LaTeX-includegraphics-extensions)
        (LaTeX-includegraphics-options-alist)
@@ -9438,17 +11929,17 @@
        * tex.el (TeX-kpathsea-path-delimiter): Fix doc-string.
        (TeX-insert-macro, TeX-parse-arguments): Skip optional macro
        arguments when called with a prefix.
-       (TeX-string-divide-number-unit, TeX-default-unit-for-image):
-       From `style/graphicx.el'.
+       (TeX-string-divide-number-unit, TeX-default-unit-for-image): From
+       `style/graphicx.el'.
        (TeX-arg-maybe): New function.
 
-       * latex.el (LaTeX-common-initialization): Add additional
+       * latex.el (LaTeX-common-initialization): Added additional
        arguments for \parbox.
 
 2004-05-26  Ralf Angeli  <address@hidden>
 
-       * tex.el (TeX-newline): New name for `TeX-indent-on-newline'.
-       It now holds function definitions and not mere symbols anymore.
+       * tex.el (TeX-newline): New name for `TeX-indent-on-newline'.  It
+       now holds function definitions and not mere symbols anymore.
        (TeX-mode-map): Use it.
 
        * doc/auc-tex.texi (Marking and formatting): Remove documentation
@@ -9459,8 +11950,8 @@
        * tex.el (TeX-indent-on-newline): New option.
        (TeX-mode-map): Use it.
 
-       * doc/auc-tex.texi (Marking and formatting):
-       Document `TeX-indent-on-newline' plus small corrections.
+       * doc/auc-tex.texi (Marking and formatting): Document
+       `TeX-indent-on-newline' plus small corrections.
 
 2004-05-25  David Kastrup  <address@hidden>
 
@@ -9473,8 +11964,8 @@
        * latex.el (LaTeX-mode-map): Inherit keymap instead of copying.
 
        * tex.el (TeX-source-specials-map): New variable.
-       (TeX-source-specials): Make a minor mode.
-       Replaces `TeX-toggle-source-specials' and
+       (TeX-source-specials): Make a minor mode.  Replaces
+       `TeX-toggle-source-specials' and
        `TeX-source-specials-active-flag'.
        (TeX-source-specials-expand-options): Adapt to that.
        (TeX-electric-macro-map): inherit from
@@ -9514,9 +12005,9 @@
 
 2004-05-21  Reiner Steib  <address@hidden>
 
-       * style/graphicx.el (TeX-string-divide-number-unit): Rename from
-       misspelled `TeX-string-divide-nuber-unit'.  Reformat file.
-       Fix some doc-strings and comments.
+       * style/graphicx.el (TeX-string-divide-number-unit): Renamed from
+       misspelled `TeX-string-divide-nuber-unit'.  Reformat file.  Fix
+       some doc-strings and comments.
 
 2004-05-20  Ralf Angeli  <address@hidden>
 
@@ -9590,7 +12081,7 @@
 
        * doc/install.texi (Configure): Document `--with-auto-dir'.
 
-       * Makefile.in (DOCFILES): Add `doc/macros.texi'.
+       * Makefile.in (DOCFILES): Added `doc/macros.texi'.
 
        * doc/Makefile.in (distclean): New.
 
@@ -9623,7 +12114,7 @@
        * lpath.el: Bind `TeX-auto-global'.
 
        * style/italian.el: New file.
-       * doc/auc-tex.texi (Font Specifiers): Remove two sentences
+       * doc/auc-tex.texi (Font Specifiers): Removed two sentences
        referring to the old behavior of the short-cuts for easy
        insertions of fonts changing macros.  (At that time they added
        things like `{\it --!--}', now they add things like
@@ -9631,7 +12122,7 @@
        (Marking and formatting): Reflect renaming of
        `LaTeX-format-comment-syntax-aware' to `LaTeX-syntactic-comments'.
        (European): Document `italian.el'.
-       * Makefile.in (STYLESRC): Add `italian.el'.
+       * Makefile.in (STYLESRC): Added `italian.el'.
 
        * lpath.el: Bind `TeX-macro-global'.
        * tex.el: No need to `(require 'tex-site)' at compilation time,
@@ -9685,12 +12176,12 @@
 
 2004-05-09  Reiner Steib  <address@hidden>
 
-       * tex.el (TeX-source-specials-check-function): Add "Always on"
+       * tex.el (TeX-source-specials-check-function): Added "Always on"
        choice.
 
 2004-05-09  Ralf Angeli  <address@hidden>
 
-       * font-latex.el (font-latex-doctex-syntactic-keywords): Move to
+       * font-latex.el (font-latex-doctex-syntactic-keywords): Moved to
        the right place and corrected quoting.
 
        * context.el (ConTeXt-indent-syntax-table): Create with
@@ -9703,15 +12194,15 @@
        address@hidden@' in `tex-site.el.in'.
 
        * tex-site.el.in: Updated header.
-       (TeX-macro-global): Move here from `tex.el'.
-       Use address@hidden@'.
+       (TeX-macro-global): Moved here from `tex.el'.  Use
+       address@hidden@'.
 
        * tex.el: Require `tex-site' at compile time.
-       (TeX-macro-global): Move to `tex-site.el.in'.
+       (TeX-macro-global): Moved to `tex-site.el.in'.
 
 2004-05-09  Reiner Steib  <address@hidden>
 
-       * tex.el (TeX-toggle-source-specials): Add missing call to
+       * tex.el (TeX-toggle-source-specials): Added missing call to
        `TeX-maybe-set-source-specials' in last commit.
 
 2004-05-08  Ralf Angeli  <address@hidden>
@@ -9733,7 +12224,7 @@
        * latex.el (doctex-mode): Call `TeX-install-font-lock' to
        activate special fontification in docTeX mode.
 
-       * style/alltt.el (TeX-add-style-hook): Add "alltt" to
+       * style/alltt.el (TeX-add-style-hook): Added "alltt" to
        `font-latex-verbatim-environments'.
 
        * context.el: Updated header.
@@ -9749,7 +12240,7 @@
 
 2004-05-06  Ralf Angeli  <address@hidden>
 
-       * Makefile.in (DOCFILES): Add `todo.texi'.
+       * Makefile.in (DOCFILES): Added `todo.texi'.
 
 2004-05-05  Reiner Steib  <address@hidden>
 
@@ -9794,13 +12285,13 @@
        where appropriate.
        (LaTeX-command-style): Setting removed.
 
-       * doc/auc-tex.texi (Checking): Update URL's for lacheck and
+       * doc/auc-tex.texi (Checking): Updated URL's for lacheck and
        chktex.
 
 2004-05-02  Ralf Angeli  <address@hidden>
 
        * tex.el: Header updated.
-       (TeX-master-file): Remove bogus test for `TeX-header-end'.
+       (TeX-master-file): Removed bogus test for `TeX-header-end'.
 
        * doc/auc-tex.texi (ToDo): New name for node/section formerly
        known as `Projects' or `Wishlist' respectively.
@@ -9810,14 +12301,14 @@
 
        * doc/Makefile.in (TEXIFILES): New constant.
        (auctex): Use it.
-       (dist): Add `TODO'.
+       (dist): Added `TODO'.
        (TODO): New target.
-       (clean): Add `TODO'.
+       (clean): Added `TODO'.
        Some formattig changes.
 
        * doc/todo.texi: New file.
 
-       * Makefile.in (tar-ball): Add `TODO'.
+       * Makefile.in (tar-ball): Added `TODO'.
 
        * doc/changes.texi: Advertise support for `beamer.cls'.
 
@@ -9833,7 +12324,7 @@
        (LaTeX-indent-environment-list): Remove `alltt' and add support
        for it in `alltt.el' instead.
 
-       * Makefile.in (STYLESRC): Add `alltt.el'.
+       * Makefile.in (STYLESRC): Added `alltt.el'.
 
        * style/alltt.el: New file.
 
@@ -9851,12 +12342,12 @@
 2004-04-27  Reiner Steib  <address@hidden>
 
        * tex-buf.el (TeX-style-check, TeX-output-style-check): Check for
-       source special stuff here instead of `TeX-expand-list'.
-       Honor `TeX-source-specials-places'.
+       source special stuff here instead of `TeX-expand-list'.  Honor
+       `TeX-source-specials-places'.
 
        * tex.el (AUCTeX): Fix URL.
        (TeX-default-mode, TeX-force-default-mode, TeX-install-font-lock)
-       (TeX-source-specials-active-flag): Change custom group.
+       (TeX-source-specials-active-flag): Changed custom group.
        (TeX-expand-list): Move source special stuff to `TeX-style-check'
        and `TeX-output-style-check'.
        (TeX-source-specials-tex-flags): Make it customizable.
@@ -9941,15 +12432,15 @@
 2004-04-20  Reiner Steib  <address@hidden>
 
        * tex.el (TeX-output-view-style): Move "dvips && gv" element to
-       the top of the list (not shadowed by a4paper anymore).
-       Added "pst-" in this element.
+       the top of the list (not shadowed by a4paper anymore).  Added
+       "pst-" in this element.
 
 2004-04-20  Ralf Angeli  <address@hidden>
 
        * latex.el (LaTeX-current-environment): Respect value of
        `LaTeX-syntactic-comments' and mode by narrowing the region if
-       necessary and checking necessary conditions.
-       Use `TeX-forward-comment-skip' and `TeX-backward-comment-skip' for
+       necessary and checking necessary conditions.  Use
+       `TeX-forward-comment-skip' and `TeX-backward-comment-skip' for
        narrowing.
        (LaTeX-find-matching-end): Ditto.
        (LaTeX-find-matching-begin): Ditto.
@@ -9970,8 +12461,8 @@
        * tex.el, latex.el: Make almost checkdoc clean.  See "FIXME" for
        remaining issues.
 
-       * context.el, context-en.el, context-nl.el: Reindent.
-       Coding conventions fixes (but files are still far from being checkdoc
+       * context.el, context-en.el, context-nl.el: Reindent.  Coding
+       conventions fixes (but files are still far from being checkdoc
        clean).
 
 2004-04-19  Berend de Boer  <address@hidden>
@@ -9991,8 +12482,8 @@
 
 2004-04-16  Reiner Steib  <address@hidden>
 
-       * tex-info.el (TeXinfo-command-menu):
-       Use `TeX-mode-specific-command-menu'.
+       * tex-info.el (TeXinfo-command-menu): Use
+       `TeX-mode-specific-command-menu'.
 
        * tex-jp.el (plain-TeX-mode-command-menu)
        (LaTeX-mode-command-menu): Ditto.
@@ -10063,7 +12554,7 @@
 
 2004-04-13  Reiner Steib  <address@hidden>
 
-       * Makefile.in (DOCFILES, EXTRAFILES): Add files needed for the
+       * Makefile.in (DOCFILES, EXTRAFILES): Added files needed for the
        configure based installation.
 
 2004-04-12  Reiner Steib  <address@hidden>
@@ -10072,7 +12563,7 @@
        and `tar-ball'.
        (snapshot): New.  Use `check-dist' and `tar-ball'.
        (release-commit): Fix mail address.
-       (REMOVE, MINMAPSRC, min-map): Remove.
+       (REMOVE, MINMAPSRC, min-map): Removed.
        (DIST_PREFIX): Derive FTPDIR and WWWDIR from this.
 
        * doc/Makefile.in (dist): Use INSTALL and INSTALL.windows instead
@@ -10106,7 +12597,7 @@
 
        * IRIX: Removed.
 
-       * Makefile.in (EXTRAFILES): Remove IRIX.
+       * Makefile.in (EXTRAFILES): Removed IRIX.
 
        * COPYING: Updated to current incarnation.
 
@@ -10136,8 +12627,8 @@
        * latex.el (LaTeX-fill-paragraph): Fix check for code comment.
        (LaTeX-fill-code-comment): Ditto.
 
-       * tex.el (TeX-in-commented-line): Don't alter match data.
-       Fixes problems with `LaTeX-find-matching-end'.
+       * tex.el (TeX-in-commented-line): Don't alter match data.  Fixes
+       problems with `LaTeX-find-matching-end'.
        (TeX-in-line-comment): Ditto.  (Prophylactic.)
 
 2004-04-08  Berend de Boer  <address@hidden>
@@ -10157,13 +12648,13 @@
        * latex.el (LaTeX-default-position, LaTeX-env-array)
        (LaTeX-env-tabular*): Implement "don't prompt" option.
 
-       * doc/auc-tex.texi (Tabular-like): Add `LaTeX-default-format'
+       * doc/auc-tex.texi (Tabular-like): Added `LaTeX-default-format'
        and `LaTeX-default-position'.
 
 2004-04-07  Ralf Angeli  <address@hidden>
 
-       * latex.el (LaTeX-fill-break-at-separators): New name.
-       Formerly known as `LaTeX-fill-distinct-contents'.
+       * latex.el (LaTeX-fill-break-at-separators): New name.  Formerly
+       known as `LaTeX-fill-distinct-contents'.
        Changed 'braced and 'math options to various symbols for opening
        and closing separators (braces, brackets, math switches) which
        can be activated independently.
@@ -10212,8 +12703,8 @@
        * tex.el (TeX-mode-specific-command-list): New function.
        (TeX-mode-specific-command-menu): Use it.
 
-       * tex-buf.el (TeX-command-query):
-       Use `TeX-mode-specific-command-list' to get a command list specific
+       * tex-buf.el (TeX-command-query): Use
+       `TeX-mode-specific-command-list' to get a command list specific
        to the current mode for command completion.
 
 2004-04-04  Ralf Angeli  <address@hidden>
@@ -10228,8 +12719,8 @@
 
 2004-04-04  David Kastrup  <address@hidden>
 
-       * latex.el (LaTeX-find-matching-end, LaTeX-find-matching-end):
-       Try to keep track of in-comment-ness
+       * latex.el (LaTeX-find-matching-end, LaTeX-find-matching-end): Try
+       to keep track of in-comment-ness
 
 2004-04-03  David Kastrup  <address@hidden>
 
@@ -10304,8 +12795,8 @@
        (LaTeX-fill-region): Use `LaTeX-forward-paragraph' and
        `LaTeX-backward-paragraph' instead of the old code which
        determined paragraph boundaries manually.
-       (LaTeX-forward-paragraph, LaTeX-backward-paragraph):
-       Improve handling of paragraph commands.
+       (LaTeX-forward-paragraph, LaTeX-backward-paragraph): Improve
+       handling of paragraph commands.
        (LaTeX-paragraph-command-p): Get rid of the test for the opening
        brace because there doesn't have to be one.
        (LaTeX-find-macro-start): New function.
@@ -10331,8 +12822,8 @@
 
 2004-03-21  David Kastrup  <address@hidden>
 
-       * tex.el (VirTeX-common-initialization):
-       Set sentence-end-double-space and sentence-end to more appropriate
+       * tex.el (VirTeX-common-initialization): Set
+       sentence-end-double-space and sentence-end to more appropriate
        values for TeX.
 
 2004-03-21  Ralf Angeli  <address@hidden>
@@ -10352,22 +12843,22 @@
 
 2004-03-19  David Kastrup  <address@hidden>
 
-       * tex-site.el.in (texinfo-mode): Autoload tex-info again.
-       I suppose we will get to know why it was disabled when someone
+       * tex-site.el.in (texinfo-mode): Autoload tex-info again.  I
+       suppose we will get to know why it was disabled when someone
        complains.
 
 2004-03-19  Davide G. M. Salvetti  <address@hidden>
 
        * doc/Makefile.in (clean): Add HISTORY.
 
-       * tex.el (TeX-lisp-directory): Remove, it's already defined in
+       * tex.el (TeX-lisp-directory): Removed, it's already defined in
        tex-site.el.in.
 
 2004-03-19  Ralf Angeli  <address@hidden>
 
        * latex.el (LaTeX-current-environment): Use correct regexp for
        determination of a comment.
-       (LaTeX-format-comment-syntax-aware): Rename from
+       (LaTeX-format-comment-syntax-aware): Renamed from
        `LaTeX-fill-comment-syntax-aware' because it affects both filling
        and indentation.
        (LaTeX-indent-line): Add support for doing outer and inner
@@ -10388,8 +12879,8 @@
        different filling methods by a `cond' statement and putting code
        for the determination of the region to fill in case of
        syntax-aware filling into the separate functions
-       `LaTeX-forward-paragraph' and `LaTeX-backward-paragraph'.
-       Better handling of code comments.
+       `LaTeX-forward-paragraph' and `LaTeX-backward-paragraph'.  Better
+       handling of code comments.
        (LaTeX-fill-code-comment): New function.
        (LaTeX-forward-paragraph): New function.
        (LaTeX-backward-paragraph): New function.
@@ -10510,8 +13001,8 @@
 2004-02-28  David Kastrup  <address@hidden>
 
        * Makefile.in (install-lisp): Overwrite old tex-site.el if it has
-       the "Don't edit" comment in it.  Rename it otherwise.
-       Use $(auctexdir) instead of $(lispdir) for replacing @AUCTEX.
+       the "Don't edit" comment in it.  Rename it otherwise.  Use
+       $(auctexdir) instead of $(lispdir) for replacing @AUCTEX.
 
        * tex-buf.el (TeX-command-query): Allow doctex-mode for .bbl file
        checking.
@@ -10565,10 +13056,10 @@
        (LaTeX-fill-move-to-break-point): Fix filling of nested braces and
        math.
        (TeX-find-closing-brace, TeX-find-opening-brace)
-       (TeX-forward-comment-skip): Move to `tex.el'.
+       (TeX-forward-comment-skip): Moved to `tex.el'.
 
        * tex.el (TeX-find-closing-brace, TeX-find-opening-brace)
-       (TeX-forward-comment-skip): Move from `latex.el'.
+       (TeX-forward-comment-skip): Moved from `latex.el'.
 
 2004-02-26  David Kastrup  <address@hidden>
 
@@ -10594,7 +13085,7 @@
 
 2004-02-17  Reiner Steib  <address@hidden>
 
-       * font-latex.el (font-latex-title-4-face): Add missing :weight
+       * font-latex.el (font-latex-title-4-face): Added missing :weight
        and :inherit for color displays.
 
 2004-02-15  Peter S Galbraith  <address@hidden>
@@ -10613,14 +13104,14 @@
 
        * tex.el (TeX-comment-region): Map to `comment-region' instead of
        `TeX-comment-or-uncomment-region'.
-       (TeX-uncomment-region): New name for `TeX-un-comment-region'.
-       Not mapped to `TeX-comment-or-uncomment-region' anymore.
-       (TeX-uncomment): New name for `TeX-un-comment'.
-       Use `TeX-uncomment-region' instead of `uncomment-region' which is not
+       (TeX-uncomment-region): New name for `TeX-un-comment-region'.  Not
+       mapped to `TeX-comment-or-uncomment-region' anymore.
+       (TeX-uncomment): New name for `TeX-un-comment'.  Use
+       `TeX-uncomment-region' instead of `uncomment-region' which is not
        available in Emacs 20.
        (TeX-comment-or-uncomment-paragraph): New name for
-       `TeX-comment-paragraph' which explains its function better.
-       Use new name `TeX-uncomment'.
+       `TeX-comment-paragraph' which explains its function better.  Use
+       new name `TeX-uncomment'.
        (TeX-mode-map): Bind key chains to `TeX-comment-or-uncomment-*'
        functions.
        (plain-TeX-mode-menu): Adapt function calls in menu entries.
@@ -10648,7 +13139,7 @@
 
 2004-01-27  Masayuki Ataka  <address@hidden>
 
-       * tex-jp.el (TeX-command-list): Fix previous change.
+       * tex-jp.el (TeX-command-list): Fixed previous change.
 
 2004-01-25  Masayuki Ataka  <address@hidden>
 
@@ -10661,7 +13152,7 @@
        double.  We get reasonable results under both Windows and Unix.
        See also log of TeX-command-list in tex.el on 2002-12-19.
 
-       * tex.el (TeX-toggle-off-input-method): Remove some Japanese
+       * tex.el (TeX-toggle-off-input-method): Removed some Japanese
        input methods (Canna, Wnn, SKK) because their code is copied from
        YaTeX, which is not GPL program.  Toggle off CJK (Chinese, Japanese,
        Korean) input methods in LEIM.
@@ -10669,7 +13160,7 @@
 
 2004-01-13  Ralf Angeli  <address@hidden>
 
-       * latex.el (LaTeX-mode-menu): Remove menu filters in the submenus
+       * latex.el (LaTeX-mode-menu): Removed menu filters in the submenus
        for inserting and modifying environments which call
        `LaTeX-menu-update'.
        (LaTeX-common-initialization): Add `LaTeX-menu-update' to
@@ -10684,7 +13175,7 @@
 2004-01-12  Ralf Angeli  <address@hidden>
 
        * tex.el (TeX-command-menu-name): New constant.
-       (TeX-mode-specific-command-menu): Reimplement the loop which
+       (TeX-mode-specific-command-menu): Reimplemented the loop which
        builds the menu.
        (TeX-mode-command-menu): Use new constant and call
        `TeX-mode-specific-command-menu' via `:filter'.
@@ -10708,21 +13199,21 @@
 2004-01-09  Ralf Angeli  <address@hidden>
 
        * doc/auc-tex.texi: AUC TeX to AUCTeX.  Use `%%%' instead of a
-       single `%' character in examples for Local Variables.
-       Add information about new behavior in respect to the query for the
+       single `%' character in examples for Local Variables.  Add
+       information about new behavior in respect to the query for the
        master file.  Explain new function `TeX-master-file-ask'.
 
-       * doc/changes.texi: Advertise new master file behavior.
-       Remove news about new commenting behavior which is not true anymore.
+       * doc/changes.texi: Advertise new master file behavior.  Remove
+       news about new commenting behavior which is not true anymore.
 
        * doc/intro.tex.: AUC TeX to AUCTeX.
 
-       * tex.el (TeX-local-master-p): Remove one `%' character in regexp
+       * tex.el (TeX-local-master-p): Removed one `%' character in regexp
        to let it find "% TeX-master:" as well.
 
 2004-01-07  Ralf Angeli  <address@hidden>
 
-       * tex.el (TeX-command-list): Change defcustom definition to one
+       * tex.el (TeX-command-list): Changed defcustom definition to one
        which allows the specification of several modes for one command
        and adapted the defaults to it.  Thanks to David Kastrup for most
        of the code.
@@ -10771,13 +13262,13 @@
        (plain-TeX-mode-map): New map to be used by plain-tex-mode.
        (plain-TeX-mode-command-menu): New menu used instead of
        `TeX-mode-menu' which utilizes `TeX-mode-specific-command-menu'.
-       (TeX-mode-menu): Remove in favor of
+       (TeX-mode-menu): Removed in favor of
        `plain-TeX-mode-command-menu'.
        (AmSTeX-mode-map): New map to be used by ams-tex-mode.
        (AmSTeX-mode-command-menu): New menu.
-       (ams-tex-mode): Move and grouped with other AmSTeX-related code.
+       (ams-tex-mode): Moved and grouped with other AmSTeX-related code.
        Added code to use new menu.
-       (TeX-command-list): Add new choice for the selection of the mode
+       (TeX-command-list): Added new choice for the selection of the mode
        for the respective command.  Adapted doc string.  Added respective
        symbols to command definitions.  Rearranged command definitions.
        Changed `LaTeX PDF' to `PDFLaTeX'.
@@ -10793,16 +13284,16 @@
        * tex-info.el (TeXinfo-command-menu): Adapted for using
        `TeX-mode-specific-command-menu'.
 
-       * tex-jp.el (japanese-TeX-command-list): Add symbols to command
+       * tex-jp.el (japanese-TeX-command-list): Added symbols to command
        definitions needed for assigning them to the respective mode.
-       (TeX-mode-menu): Remove.
+       (TeX-mode-menu): Removed.
        (plain-TeX-mode-command-menu): New menu utilizing
        `TeX-mode-specific-command-menu'.
        (LaTeX-mode-command-menu): New menu utilizing
        `TeX-mode-specific-command-menu'.
-       (LaTeX-mode-map): Remove key definition for `TeX-mode-menu'.
+       (LaTeX-mode-map): Removed key definition for `TeX-mode-menu'.
 
-       * tex-fptex.el (TeX-command-list): Add symbols to command
+       * tex-fptex.el (TeX-command-list): Added symbols to command
        definitions needed for assigning them to the respective mode.
        Changed `LaTeX PDF' to `PDFLaTeX'.
 
@@ -10827,26 +13318,26 @@
 
 2003-12-30  Ralf Angeli  <address@hidden>
 
-       * tex.el (TeX-master-file): Add new parameter `ask' which is
+       * tex.el (TeX-master-file): Added new parameter `ask' which is
        to be used if the user shall be asked when the function is
        called.  Took out the code which provides the functionality for
        asking the respective question and added it to the newly created
        function `TeX-master-file-ask'.
        (TeX-master-file-ask): New function.
        (TeX-local-master-p): New function.
-       (tex-mode): Remove the call of `TeX-master-file' via the hook
+       (tex-mode): Removed the call of `TeX-master-file' via the hook
        `hack-local-variables-hook'.
-       (VirTeX-common-initialization): Add the call to
+       (VirTeX-common-initialization): Added the call to
        `TeX-master-file' via the hook `find-file-hooks'.  Additionally
        `TeX-update-style' will be called to activate the respective style
        files.
-       (TeX-mode-map): Add key binding for calling
+       (TeX-mode-map): Added key binding for calling
        `TeX-master-file-ask'.  This is a temporary solution.
        (TeX-mode-menu): Took out redundant entry for `TeX-home-buffer'.
-       Added entry "Set Master File" for `TeX-master-file-ask'.
-       Grouped menu entries relevant for multifile handling.
+       Added entry "Set Master File" for `TeX-master-file-ask'.  Grouped
+       menu entries relevant for multifile handling.
 
-       * latex.el (LaTeX-mode-menu): Change analogously to
+       * latex.el (LaTeX-mode-menu): Changed analogously to
        `TeX-mode-menu'.
 
 2003-12-29  David Kastrup  <address@hidden>
@@ -10910,7 +13401,7 @@
 
        * style/paralist.el: Removed coding cookie in first line.
        Removed obsolete comment regarding placement of file.
-       (LaTeX-paralist-env-item-opt-label): Rename from
+       (LaTeX-paralist-env-item-opt-label): Renamed from
        `pl-LaTeX-env-item-opt-label' and changed references accordingly.
        Added docstring.
        Let `itemize' and `enumerate' environments use this function.
@@ -10918,24 +13409,24 @@
 
 2003-11-26  Reiner Steib  <address@hidden>
 
-       * latex.el (LaTeX-section-label): Add "part" and
+       * latex.el (LaTeX-section-label): Added "part" and
        "subsubsection".  Sync "chapter" with fancyref.sty.
 
-       * style/fancyref.el ("fancyref"): Add font-lock keywords.
+       * style/fancyref.el ("fancyref"): Added font-lock keywords.
 
 2003-11-25  Reiner Steib  <address@hidden>
 
-       * latex.el (LaTeX-math-default): Add greek \var... symbols.
-       (LaTeX-common-initialization): Remove "SLiTeX", added spacing
+       * latex.el (LaTeX-math-default): Added greek \var... symbols.
+       (LaTeX-common-initialization): Removed "SLiTeX", added spacing
        commands and "appendix".
 
-       * font-latex.el (font-latex-match-function-keywords):
-       Add spacing commands, "nonumber", "centering", "TeX", and "LaTeX".
-       (font-latex-match-textual-keywords): Add textsuperscript.
+       * font-latex.el (font-latex-match-function-keywords): Added
+       spacing commands, "nonumber", "centering", "TeX", and "LaTeX".
+       (font-latex-match-textual-keywords): Added textsuperscript.
 
 2003-11-17  Ralf Angeli  <address@hidden>
 
-       * Makefile.in (STYLESRC): Add scrpage2.el.
+       * Makefile.in (STYLESRC): Added scrpage2.el.
 
 2003-11-17  Peter S Galbraith  <address@hidden>
 
@@ -10948,7 +13439,7 @@
 
 2003-11-17  Ralf Angeli  <address@hidden>
 
-       * style/scrbase.el (TeX-add-style-hook): Add further symbols to
+       * style/scrbase.el (TeX-add-style-hook): Added further symbols to
        `TeX-add-symbols' and rearranged them alphabetically.
        Added macros with parameters to
        `font-latex-match-<type>-keywords-local'.
@@ -10982,7 +13473,7 @@
 
        * style/paralist.el: New file.
 
-       * Makefile.in (STYLESRC): Add paralist.el.
+       * Makefile.in (STYLESRC): Added paralist.el.
 
 2003-10-18  Peter S Galbraith  <address@hidden>
 
@@ -10996,7 +13487,7 @@
        match the beginning of a quote.
        (font-latex-quote-end-list): New variable.  Holds the list of
        strings to end a matched quote.
-       (font-latex-match-quotation): Fix to use above variables.
+       (font-latex-match-quotation): Fixed to use above variables.
 
 2003-09-18  Peter S Galbraith  <address@hidden>
 
@@ -11020,8 +13511,8 @@
 
        * Changelog: Added coding cookie.
 
-       * doc/Makefile.in (install): Check if auctex-* exists.
-       Needed because default split size changed in texinfo 4.6.
+       * doc/Makefile.in (install): Check if auctex-* exists.  Needed
+       because default split size changed in texinfo 4.6.
 
 2003-07-25  Peter S Galbraith  <address@hidden>
 
@@ -11081,7 +13572,7 @@
        * style/amsmath.el (LaTeX-amsmath-env-alignat)
        (LaTeX-amsmath-env-aligned): Ditto.
 
-       * tex.el (TeX-toggle-off-input-method): Remove interactive.
+       * tex.el (TeX-toggle-off-input-method): Removed interactive.
        (TeX-math-input-method-off): New function.
        (TeX-insert-dollar): Use it.  Do not call function
        TeX-toggle-off-input-method directly.
@@ -11107,11 +13598,11 @@
 
 2003-06-02  Masayuki Ataka  <address@hidden>
 
-       * tex.el (TeX-near-bobp): Fix typo in doc-string.
+       * tex.el (TeX-near-bobp): Fixed typo in doc-string.
 
 2003-05-27  Piet van Oostrum  <address@hidden>
 
-       * latex.el (LaTeX-auto-minimal-regexp-list): Change regexp to
+       * latex.el (LaTeX-auto-minimal-regexp-list): Changed regexp to
                  allow \documentclass[]{someclass}.
 
 2003-05-02  Patrick Gundlach  <address@hidden>
@@ -11128,7 +13619,7 @@
 
 2003-04-15  Patrick Gundlach  <address@hidden>
 
-       * tex.el (TeX-command-list): Change %v to %V in View. Now
+       * tex.el (TeX-command-list): Changed %v to %V in View. Now
        TeX-output-view-style is used for setting viewer preferences. See
        changes from 2003-02-06 below.
 
@@ -11136,7 +13627,7 @@
 
        * .cvsignore: Added INSTALL and INSTALL.windows
 
-       * Makefile.in (STYLESRC): Add captcont.el and subfigure.el
+       * Makefile.in (STYLESRC): Added captcont.el and subfigure.el
 
 2003-04-15  Jan-�ke Larsson  <address@hidden>
 
@@ -11181,7 +13672,7 @@
 
 2003-04-09  Patrick Gundlach  <address@hidden>
 
-       * tex.el (TeX-command-list): Change ConTeXt Clean from purge to
+       * tex.el (TeX-command-list): Changed ConTeXt Clean from purge to
        purgeall; I guess this behaves as users would expect.
 
        * context.el: minor cleanups, switched to the name "AUCTeX" where
@@ -11222,8 +13713,8 @@
 2003-03-13  David Kastrup  <address@hidden>
 
        * style/german.el (LaTeX-german-quote-after-quote)
-       (LaTeX-german-open-quote, LaTeX-german-close-quote):
-       New variables to initialize quote stuff from.  If you set these in
+       (LaTeX-german-open-quote, LaTeX-german-close-quote): New
+       variables to initialize quote stuff from.  If you set these in
        file local variables, they will propagate accordingly to
        `TeX-quote-after-quote' et al.
 
@@ -11327,7 +13818,7 @@
 
 2003-02-11  Patrick Gundlach  <address@hidden>
 
-       * tex.el (TeX-command-list): Change TeX-run-LaTeX to
+       * tex.el (TeX-command-list): Changed TeX-run-LaTeX to
        TeX-run-TeX.
 
        * tex-buf.el (TeX-run-TeX): TeX-run-TeX gets the
@@ -11340,17 +13831,17 @@
        * latex.el (latex-mode): Sets TeX-sentinel-default-function
        instead of TeX-sentinel-function.
 
-       * tex-mik.el (TeX-command-list): Change TeX-run-LaTeX to
+       * tex-mik.el (TeX-command-list): Changed TeX-run-LaTeX to
        TeX-run-TeX.
 
-       * tex-fptex.el (TeX-command-list): Change TeX-run-LaTeX to
+       * tex-fptex.el (TeX-command-list): Changed TeX-run-LaTeX to
        TeX-run-TeX.
 
 2003-02-08  Patrick Gundlach  <address@hidden>
 
        * tex-site.el: Added simple ConTeXt support.
 
-       * latex.el (latex-mode): Add explicit set of
+       * latex.el (latex-mode): Added explicit set of
        TeX-sentinel-function to be used in TeX-run-interactive.
 
        * tex-buf.el: Added TeX-run-ConTeXt. Removed explicit call to
@@ -11376,8 +13867,8 @@
 
 2003-02-08  Piet van Oostrum  <address@hidden>
 
-       * tex.el (TeX-output-extension, TeX-view-extension):
-       Change defcustom into defvar, as these are intermediate variables.
+       * tex.el (TeX-output-extension, TeX-view-extension): Changed
+       defcustom into defvar, as these are intermediate variables.
 
 2003-02-07  Piet van Oostrum  <address@hidden>
 
@@ -11388,7 +13879,7 @@
        * tex-buf.el
        (TeX-save-document, TeX-command-query)
        (TeX-output-style-check, TeX-run-format, TeX-TeX-sentinel-check):
-       Add support for pdftex (and others)
+       Added support for pdftex (and others)
        (TeX-run-set-command, TeX-output-extension)
        (TeX-view-extension, TeX-view-output-file): new functions.
 
@@ -11414,7 +13905,7 @@
 2003-01-24  Reiner Steib  <address@hidden>
 
        * tex.el (TeX-kpathsea-path-delimiter, TeX-search-files-kpathsea):
-       Fix braces.
+       Fixed braces.
 
 2003-01-22  David Kastrup  <address@hidden>
 
@@ -11428,7 +13919,7 @@
 
 2003-01-16  Reiner Steib  <address@hidden>
 
-       * style/varioref.el ("varioref"): Fix typo.
+       * style/varioref.el ("varioref"): Fixed typo.
 
        * Makefile.in (ELCC): `-no-init-file' is the same as `-q'
 
@@ -11512,12 +14003,12 @@
 
 2002-12-13  Reiner Steib  <address@hidden>
 
-       * latex.el (LaTeX-label): Add completing for labels.
-       Avoid inserting an empty label.
+       * latex.el (LaTeX-label): Added completing for labels.  Avoid
+       inserting an empty label.
 
 2002-12-12  Reiner Steib  <address@hidden>
 
-       * style/amsopn.el ("amsopn"): Add \operatorname.
+       * style/amsopn.el ("amsopn"): Added \operatorname.
 
 2002-12-12  David Kastrup  <address@hidden>
 
@@ -11544,7 +14035,7 @@
 
        * tex.el:  Ditto.
 
-       * style/amsmath.el (LaTeX-amsmath-label): Improve doc-string.
+       * style/amsmath.el (LaTeX-amsmath-label): Improved doc-string.
 
        * doc/auc-tex.texi (Equations): New @subsection documenting
        LaTeX-equation-label, LaTeX-eqnarray-label and LaTeX-amsmath-label.
@@ -11568,9 +14059,9 @@
 
 2002-12-10  Reiner Steib  <address@hidden>
 
-       * font-latex.el (font-latex-match-textual): Fix typo in doc-string.
+       * font-latex.el (font-latex-match-textual): Fixed typo in doc-string.
 
-       * latex.el (LaTeX-section-label): Fix typos in doc-string.
+       * latex.el (LaTeX-section-label): Fixed typos in doc-string.
 
 2002-12-10  David Kastrup  <address@hidden>
 
@@ -11596,7 +14087,7 @@
 
 2002-12-09  Reiner Steib  <address@hidden>
 
-       * latex.el (LaTeX-style-list): Add some supported classes.
+       * latex.el (LaTeX-style-list): Added some supported classes.
        Fixed a typo.
 
        * style/amsmath.el ("amsmath"): environment "xxalignat*" doesn't
@@ -11604,7 +14095,7 @@
        (LaTeX-amsmath-env-alignat):  environment "xxalignat" should not
        get a \label.
 
-       * Makefile (BATCH): Add `-no-site-file' to batch options.
+       * Makefile (BATCH): Added `-no-site-file' to batch options.
 
 2002-12-07  David Kastrup  <address@hidden>
 
@@ -11659,7 +14150,7 @@
 2002-10-24  Masayuki Ataka  <address@hidden>
 
        * latex.el (LaTeX-env-contents): New function.
-       (LaTeX-common-initialization): Add 26 LaTeX commands, 2 LaTeX2e
+       (LaTeX-common-initialization): Added 26 LaTeX commands, 2 LaTeX2e
        environments, and 41 LaTeX2e commands.
 
 2002-10-08  David Kastrup  <address@hidden>
@@ -11724,7 +14215,7 @@
 
 2002-03-21  Per Abrahamsen  <address@hidden>
 
-       * tex-site.el (eamcs-major-version): Change if to when.
+       * tex-site.el (eamcs-major-version): Changed if to when.
        Suggested by Martin Thornquist <address@hidden>.
 
 2002-03-15  David Kastrup  <address@hidden>
@@ -11739,12 +14230,12 @@
        * tex.el (TeX-auto-generate): Expand file name.
        Suggested by "Dr. Mark A. Friedman" <address@hidden>.
 
-       * latex.el (LaTeX-common-initialization):
-       Set `fill-paragraph-function'.
+       * latex.el (LaTeX-common-initialization): Set
+       `fill-paragraph-function'.
        (LaTeX-mode-map): Don't bind M-q.
        Suggested by Nils Klarlund <address@hidden>.
 
-       * tex.el (TeX-printer-list): Fix spelling.
+       * tex.el (TeX-printer-list): Fixed spelling.
        Reported by Nils Klarlund <address@hidden>.
 
 2002-02-14  Per Abrahamsen  <address@hidden>
@@ -11807,7 +14298,7 @@
 
        * style/prosper.el: New file.
        Contributed by Phillip Lord <address@hidden>.
-       * Makefile (STYLESRC): Add it.
+       * Makefile (STYLESRC): Added it.
 
 2001-11-27  Per Abrahamsen  <address@hidden>
 
@@ -11845,7 +14336,7 @@
 
 2001-10-19  Masayuki Ataka  <address@hidden>
 
-       * tex-jp.el (japanese-TeX-command-list): Fix for mendex.
+       * tex-jp.el (japanese-TeX-command-list): Fixed for mendex.
        * doc/auc-tex.texi (Japanese): Doc fix.
 
 2001-10-17  Per Abrahamsen  <address@hidden>
@@ -11943,7 +14434,7 @@
 
        * tex-fptex.el: New file.
        Contributed by Fabrice Popineau <address@hidden>.
-       * Makefile (CONTRIB): Add it.
+       * Makefile (CONTRIB): Added it.
 
 2001-10-04  Peter S Galbraith  <address@hidden>
 
@@ -11982,7 +14473,7 @@
 
 2001-10-01  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-submenu-name-format): Fix spelling error.
+       * latex.el (LaTeX-submenu-name-format): Fixed spelling error.
        Reported by address@hidden
 
 2001-10-01  David Kastrup  <address@hidden>
@@ -11994,8 +14485,8 @@
        C-r command itself was definitely sometimes wrong).  Corrected that.
 
        * style/graphicx.el (TeX-arg-includegraphics):
-       Fix an obvious typo complained about by the byte-compiler.
-       checkdoc removed a few spaces.
+       Fixed an obvious typo complained about by the byte-compiler.  checkdoc
+       removed a few spaces.
 
        * auc-old.el (TeX-region): Correct offset calculation.
 
@@ -12034,7 +14525,7 @@
 
 2001-03-26  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-expand-list): Change default to lazy evaluation of
+       * tex.el (TeX-expand-list): Changed default to lazy evaluation of
        `TeX-view-style' and `LaTeX-command-style'.
        Suggested by Peter Neergaard <address@hidden>.
 
@@ -12102,7 +14593,7 @@
        * MSDOS: Removed.
        * VMS: Removed.
        * OS2: Removed.
-       * Makefile (EXTRAFILES): Remove above files.
+       * Makefile (EXTRAFILES): Removed above files.
 
 2000-10-20  Per Abrahamsen  <address@hidden>
 
@@ -12112,9 +14603,9 @@
 2000-10-19  Per Abrahamsen  <address@hidden>
 
        * style/graphics.el: New file.
-       * Makefile (STYLESRC): Add it.
+       * Makefile (STYLESRC): Added it.
        * style/graphicx.el: Renamed from `style/graphicx.el'.
-       * Makefile (STYLESRC): Update.
+       * Makefile (STYLESRC): Updated.
        Reported by "Dr. Thomas Baumann" <address@hidden>.
 
 2000-10-09  Per Abrahamsen  <address@hidden>
@@ -12149,7 +14640,7 @@
 2000-06-13  Per Abrahamsen  <address@hidden>
 
        * IRIX: New file.
-       * Makefile (EXTRAFILES): Add it.
+       * Makefile (EXTRAFILES): Added it.
 
 2000-05-10  Per Abrahamsen  <address@hidden>
 
@@ -12175,7 +14666,7 @@
 2000-03-30  Per Abrahamsen  <address@hidden>
 
        * style/graphicsx.el: New file.
-       * Makefile (STYLESRC): Add it.
+       * Makefile (STYLESRC): Added it.
        Donated by Ryuichi Arafune <address@hidden>.
 
 2000-04-14  Per Abrahamsen  <address@hidden>
@@ -12192,7 +14683,7 @@
 
 2000-02-23  Per Abrahamsen  <address@hidden>
 
-       * tex-info.el (TeXinfo-environment-list): Add more missing
+       * tex-info.el (TeXinfo-environment-list): Added more missing
        environments.  Patch by Akim Demaille <address@hidden>.
 
 2000-02-22  Per Abrahamsen  <address@hidden>
@@ -12207,10 +14698,10 @@
 
 2000-01-20  Per Abrahamsen  <address@hidden>
 
-       * tex-info.el (TeXinfo-mode-map): Add "\e\r" binding for
+       * tex-info.el (TeXinfo-mode-map): Added "\e\r" binding for
        address@hidden'.
        Reported by Akim Demaille <address@hidden>.
-       (TeXinfo-mode-menu, texinfo-mode): Change menu name and mode name
+       (TeXinfo-mode-menu, texinfo-mode): Changed menu name and mode name
        to `Texinfo'.
        Suggested by Akim Demaille <address@hidden>.
 
@@ -12238,7 +14729,7 @@
 
        * bib-cite.el: Updated to 3.15 (20 Dec 99).
 
-       * tex-mik.el (TeX-command-list): Fix default PDF LaTeX command.
+       * tex-mik.el (TeX-command-list): Fixed default PDF LaTeX command.
        Reported by "Christian Schlauer" <address@hidden>.
 
        * Version 9.10o released.
@@ -12254,7 +14745,7 @@
 
 1999-12-03  Per Abrahamsen  <address@hidden>
 
-       * tex-info.el (texinfo-mode): Add `kill-all-local-variables'.
+       * tex-info.el (texinfo-mode): Added `kill-all-local-variables'.
        Reported by Stefan Monnier <address@hidden>.
 
        * Version 9.10n released.
@@ -12270,7 +14761,7 @@
 
 1999-12-01  Per Abrahamsen  <address@hidden>
 
-       * Makefile (AUCSRC, AUCELC): Add `tex-mik.el'.
+       * Makefile (AUCSRC, AUCELC): Added `tex-mik.el'.
 
 1999-11-26  Per Abrahamsen  <address@hidden>
 
@@ -12318,7 +14809,7 @@
 
 1999-11-03  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-command-list): Add `LaTeX PDF' command.
+       * tex.el (TeX-command-list): Added `LaTeX PDF' command.
 
 1999-10-28  Per Abrahamsen  <address@hidden>
 
@@ -12341,12 +14832,12 @@
 
        * style/ngerman.el: New style.
        Suggested by Torsten Schuetze <address@hidden>.
-       * Makefile (STYLESRC): Add it.
+       * Makefile (STYLESRC): Added it.
 
-       * tex-buf.el (TeX-command-query): Add history argument.
+       * tex-buf.el (TeX-command-query): Added history argument.
        Suggested by Werner LEMBERG <address@hidden>.
 
-       * latex.el (LaTeX-environment): Add history argument.
+       * latex.el (LaTeX-environment): Added history argument.
 
        * tex.el (TeX-add-style-hook): Don't add the same hook twice.
        Suggested by Jarl Friis <address@hidden>.
@@ -12369,7 +14860,7 @@
 
        * style/mdwlist.el: New file.
        Patch by Stephen Heilbronner <address@hidden>.
-       * Makefile (STYLESRC): Add it.
+       * Makefile (STYLESRC): Added it.
 
 1999-08-20  Per Abrahamsen  <address@hidden>
 
@@ -12383,8 +14874,8 @@
 
 1999-08-19  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-hide-environment, LaTeX-show-environment):
-       make them work with new outline mode.
+       * latex.el (LaTeX-hide-environment, LaTeX-show-environment): make
+       them work with new outline mode.
        Reported by Thomas Schick <address@hidden>.
 
        * tex.el (match-string): New compatibility function.
@@ -12442,7 +14933,7 @@
 
 1999-05-14  Per Abrahamsen  <address@hidden>
 
-       * tex.el: (TeX-auto-generate): Reimplement support for numeric
+       * tex.el: (TeX-auto-generate): Reimplemented support for numeric
        `TeX-file-recurse'.
        (TeX-search-files): Ditto.
 
@@ -12466,7 +14957,7 @@
        * tex.el (TeX-insert-dollar): Better error message when trying
        to insert a dollar in math-mode.
 
-       * texmathp.el (texmathp-tex-commands-default): Add more default
+       * texmathp.el (texmathp-tex-commands-default): Added more default
        macros.
 
 1999-03-12  Carsten Dominik  <address@hidden>
@@ -12475,9 +14966,9 @@
        index.el and multind.el style files.
        (LaTeX-auto-index-regexp-list): Now matches both \index and
        \glossary.
-       (TeX-arg-index): Rename from TeX-arg-define-index.
+       (TeX-arg-index): Renamed from TeX-arg-define-index.
        (TeX-arg-define-index): Now an alias for `TeX-arg-index'.
-       (LaTeX-common-initialization): Add a regexp for index and
+       (LaTeX-common-initialization): Added a regexp for index and
        glossary to `TeX-complete-list'.  Added entry for glossary with
        `Tex-add-symbols'.
        * style/index.el: New file.
@@ -12485,7 +14976,7 @@
        * style/multind.el: New file.
        * style/varioref.el: New file.
        * style/fancyref.el: New file.
-       * Makefile (STYLESRC): Add `style/index.el', `style=makeidx.el',
+       * Makefile (STYLESRC): Added `style/index.el', `style=makeidx.el',
        `style/multind.el', `style/varioref.el', `style/fancyref.el'.
 
 1999-02-23  Per Abrahamsen  <address@hidden>
@@ -12516,12 +15007,12 @@
        * tex-jp.el (TeX-format-list): Fix JLATEX format.
        Patch by Tsutomu OKUMURA <address@hidden>.
 
-       * style/foils.el (LaTeX-style-foils): Remove spurious `\n'.
+       * style/foils.el (LaTeX-style-foils): Removed spurious `\n'.
        Reported by Bernt Guldbrandtsen <address@hidden>.
 
 1999-02-05  Per Abrahamsen  <address@hidden>
 
-       * Makefile (install-contrib): Add `$(CONTRIBELC)' dependency.
+       * Makefile (install-contrib): Added `$(CONTRIBELC)' dependency.
        Suggested by Nils Ackermann <address@hidden>.
 
 1999-01-29  Per Abrahamsen  <address@hidden>
@@ -12530,7 +15021,7 @@
 
 1999-01-12  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-font-replace-macro): Rename from
+       * tex.el (TeX-font-replace-macro): Renamed from
        `LaTeX2e-font-replace'.  Use `TeX-esc'.
        * latex.el (LaTeX-common-initialization): Use it.
        * tex-info.el (texinfo-mode): Ditto.
@@ -12543,7 +15034,7 @@
 
 1999-01-11  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-insert-braces, TeX-command-list): Fix custom types.
+       * tex.el (TeX-insert-braces, TeX-command-list): Fixed custom types.
        Patch by Markus Rost <address@hidden>.
 
 1999-01-09  Christoph Wedler  <address@hidden>
@@ -12569,7 +15060,7 @@
 
 1998-12-12  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-file-recurse): Add right parenthesis.
+       * tex.el (TeX-file-recurse): Added right parenthesis.
        Reported by Bernt Guldbrandtsen <address@hidden>.
 
 1998-12-11  Per Abrahamsen  <address@hidden>
@@ -12594,7 +15085,7 @@
 
 1998-11-23  Carsten Dominik  <address@hidden>
 
-       * texmathp.el (texmathp): Add autoload cookie.
+       * texmathp.el (texmathp): Added autoload cookie.
 
 1998-11-20  Per Abrahamsen  <address@hidden>
 
@@ -12615,7 +15106,7 @@
 
 1998-10-15  Per Abrahamsen  <address@hidden>
 
-       * doc/auc-tex.texi (European): Remove references to obsolete
+       * doc/auc-tex.texi (European): Removed references to obsolete
        packages.
 
 1998-07-29  Per Abrahamsen  <address@hidden>
@@ -12633,8 +15124,8 @@
 
 1998-07-29  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-parse-macro, TeX-arg-string, TeX-parse-argument):
-       If region is active, put it inside empty brackets.
+       * tex.el (TeX-parse-macro, TeX-arg-string, TeX-parse-argument): If
+       region is active, put it inside empty brackets.
        Patch by Peter Thiemann <address@hidden>.
 
 1998-07-16  Per Abrahamsen  <address@hidden>
@@ -12685,7 +15176,7 @@
 
        * latex.el (LaTeX-font-list): Default value now contains special
        math font commands.
-       (LaTeX2e-font-replace): Add support for math fonts.
+       (LaTeX2e-font-replace): Added support for math fonts.
 
        * tex.el (TeX-font-list): Docstring changed.  Extra prefix and
        suffix for math fonts allowed.
@@ -12723,14 +15214,14 @@
 
 1998-06-10  Per Abrahamsen  <address@hidden>
 
-       * tex.el (texmathp): Add autoload.
-       (TeX-math-mode-p): Delete.
+       * tex.el (texmathp): Added autoload.
+       (TeX-math-mode-p): Deleted.
        (TeX-parse-macro): Use `texmathp' instead of `TeX-math-mode-p'.
 
        * texmathp.el: New file by Carsten Dominik
        <address@hidden>.
-       * Makefile (AUCSRC): Add.
-       (AUCELC): Add.
+       * Makefile (AUCSRC): Added.
+       (AUCELC): Added.
 
 1998-06-05  Per Abrahamsen  <address@hidden>
 
@@ -12862,7 +15353,7 @@
 
        * tex-buf.el (TeX-run-silent): New function.
 
-       * tex.el (TeX-command-list): Change default for view from
+       * tex.el (TeX-command-list): Changed default for view from
        `TeX-run-background' to `TeX-run-silent'.
 
 1997-09-10  "Dr. Werner Fink" <address@hidden>
@@ -12875,11 +15366,11 @@
 
 1997-08-29  David J. Rowe  <address@hidden>
 
-       * latex.el (LaTeX-auto-regexp-list): Add support so newcommand*,
+       * latex.el (LaTeX-auto-regexp-list): Added support so newcommand*,
        renewcommand*, providecommand*, newenvironment* and
        renewenvironment* are recognized by TeX-auto-generate and
        TeX-auto-generate-global.
-       (LaTeX-common-initialization): Add all of above "starred"
+       (LaTeX-common-initialization): Added all of above "starred"
        commands to symbol list and added providecommand to symbol list.
 
 1997-08-29  Per Abrahamsen  <address@hidden>
@@ -12888,7 +15379,7 @@
 
 1997-08-29  Carsten Dominik  <address@hidden>
 
-       * amsmath.el ("amsmath"): Add environments xalignat and
+       * amsmath.el ("amsmath"): Added environments xalignat and
        xxalignat, and starred forms
 
 1997-08-22  Christoph Wedler  <address@hidden>
@@ -12902,7 +15393,7 @@
 
 1997-07-14  Per Abrahamsen  <address@hidden>
 
-       * Makefile (STYLESRC): Add `style/natbib.el'.
+       * Makefile (STYLESRC): Added `style/natbib.el'.
 
 1997-07-13  Berwin Turlach  <address@hidden>
 
@@ -13006,7 +15497,7 @@
 
 1997-06-05  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-auto-minimal-regexp-list): Add `usepackage'.
+       * latex.el (LaTeX-auto-minimal-regexp-list): Added `usepackage'.
        (LaTeX-auto-minimal-regexp-list): Ditto.
        Patch by Carsten Dominik <address@hidden>.
 
@@ -13015,7 +15506,7 @@
        * style/amsbsy.el: New file.
        * style/amsopn.el : New file.
        * style/amsthm.el: New file.
-       * Makefile (STYLESRC): Add them.
+       * Makefile (STYLESRC): Added them.
        Files provided by Carsten Dominik <address@hidden>.
 
 1997-06-03  Per Abrahamsen  <address@hidden>
@@ -13067,7 +15558,7 @@
 
 1997-03-26  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-math-default): Fix hebrew delimiters.
+       * latex.el (LaTeX-math-default): Fixed hebrew delimiters.
        Patch by John Griffith <address@hidden>.
 
 1997-03-26  Per Abrahamsen  <address@hidden>
@@ -13085,13 +15576,13 @@
        (TeX-auto-generate-global): Ditto.
        Patch by Helmut Geyer <address@hidden>.
 
-       * Makefile (install-contrib): Don't move elc files twice.
-       Patch by Helmut Geyer <address@hidden>.
+       * Makefile (install-contrib): Don't move elc files twice.  Patch
+       by Helmut Geyer <address@hidden>.
 
 1997-03-13  Per Abrahamsen  <address@hidden>
 
        * style/danish.el: Copied from `style/dk.el'.
-       * Makefile (STYLESRC): Add `style/danish.el'.
+       * Makefile (STYLESRC): Added `style/danish.el'.
        Suggested by Lars Frellesen <address@hidden>.
 
 1997-03-04  Per Abrahamsen  <address@hidden>
@@ -13138,7 +15629,7 @@
 
 1997-02-15  Per Abrahamsen  <address@hidden>
 
-       * tex-buf.el (TeX-lisp-directory): Remove.
+       * tex-buf.el (TeX-lisp-directory): Removed.
 
 1997-02-07  Per Abrahamsen  <address@hidden>
 
@@ -13152,12 +15643,12 @@
 
 1997-01-30  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-math-default): uparow -> uparrow.
-       Reported by Kyeong Soo Kim <address@hidden>.
+       * latex.el (LaTeX-math-default): uparow -> uparrow.  Reported by
+       Kyeong Soo Kim <address@hidden>.
 
 1997-01-29  Per Abrahamsen  <address@hidden>
 
-       * Makefile (AUCSRC): Remove `ltx-help.el'.
+       * Makefile (AUCSRC): Removed `ltx-help.el'.
 
 1997-01-27  Per Abrahamsen  <address@hidden>
 
@@ -13210,7 +15701,7 @@
        shell-command-switch.  Suggested by address@hidden (Fabio
        Somenzi).
 
-       * latex.el (LaTeX-mode-menu): Add sans serif.  Patch by Ralf
+       * latex.el (LaTeX-mode-menu): Added sans serif.  Patch by Ralf
        Fassel <address@hidden>.
 
 1997-01-03  Per Abrahamsen  <address@hidden>
@@ -13268,7 +15759,7 @@
 
 1996-11-14  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-common-initialization): Add eqref to
+       * latex.el (LaTeX-common-initialization): Added eqref to
        LaTeX-label-list.  Suggested by Martin Hagstrom
        <address@hidden>.
 
@@ -13279,7 +15770,7 @@
 
 1996-11-05  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-file-extensions): Add "texinfo".
+       * tex.el (TeX-file-extensions): Added "texinfo".
 
 1996-09-30  Per Abrahamsen  <address@hidden>
 
@@ -13333,28 +15824,28 @@
 
 1996-08-22  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-current-environment): Ignore comments.
-       Reported by Stephen Eglen <address@hidden>.
+       * latex.el (LaTeX-current-environment): Ignore comments.  Reported
+       by Stephen Eglen <address@hidden>.
 
-       * tex.el (TeX-directory-absolute-p): Add `windows-nt'.
+       * tex.el (TeX-directory-absolute-p): Added `windows-nt'.
 
-       * tex-buf.el (TeX-shell): Add `windows-nt'.
-       (TeX-shell-command-option): Add `emx' and `windows-nt'.
+       * tex-buf.el (TeX-shell): Added `windows-nt'.
+       (TeX-shell-command-option): Added `emx' and `windows-nt'.
        Reported by Ulrich Poetter <address@hidden>.
 
 1996-08-21  Per Abrahamsen  <address@hidden>
 
-       * tex.el (VirTeX-common-initialization): Remove duplicate
+       * tex.el (VirTeX-common-initialization): Removed duplicate
        initialization of `words-include-escapes'.  Reperted by Mark Hovey
        <address@hidden>.
 
 1996-08-14  Per Abrahamsen  <address@hidden>
 
-       * Makefile (CONTRIB): Add `font-latex.el'.
+       * Makefile (CONTRIB): Added `font-latex.el'.
 
 1996-07-30  Per Abrahamsen  <address@hidden>
 
-       * Makefile (aucdir): Change `lib' to `share' per new emacs
+       * Makefile (aucdir): Changed `lib' to `share' per new emacs
        conventions.  Reported by "Edward J. Huff"
        <address@hidden>.
 
@@ -13365,8 +15856,8 @@
 
 1996-07-15  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-parse-path): Ignore tralining //.
-       Suggested by G�ran Uddeborg <address@hidden>.
+       * tex.el (TeX-parse-path): Ignore tralining //.  Suggested by
+       G�ran Uddeborg <address@hidden>.
 
 1996-05-05  Per Abrahamsen  <address@hidden>
 
@@ -13389,8 +15880,8 @@
 
 1996-04-24  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-close-environment):
-       Bind `next-line-add-newlines' to t.  Patch by Fritz Knabe
+       * latex.el (LaTeX-close-environment): Bind
+       `next-line-add-newlines' to t.  Patch by Fritz Knabe
        <address@hidden>.
 
 1996-04-01  Per Abrahamsen  <address@hidden>
@@ -13411,8 +15902,8 @@
 1996-02-20  Per Abrahamsen  <address@hidden>
 
        * tex.el (TeX-command-menu-queue, TeX-command-menu-queue-entry):
-       New functions supporting printer queue queries from the menu.
-       By Ulrik Dickow <address@hidden>
+       New functions supporting printer queue queries from the menu.  By
+       Ulrik Dickow <address@hidden>
        (TeX-command-menu-entry): Use them.
 
 1996-02-13  Per Abrahamsen  <address@hidden>
@@ -13422,12 +15913,12 @@
 
 1995-12-21  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-math-default): Add more definitions by Mehmet
+       * latex.el (LaTeX-math-default): Added more definitions by Mehmet
        Balcilar <address@hidden>.
 
 1995-12-18  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-fill-region-as-paragraph): Remove old version.
+       * latex.el (LaTeX-fill-region-as-paragraph): Removed old version.
        (LaTeX-math-menu): Redefined the math mode menu.
 
 1995-12-14  Per Abrahamsen  <address@hidden>
@@ -13446,8 +15937,8 @@
        * PROBLEMS: Some easymenu explanations.
 
        * tex.el: Require easymenu.el instead of auc-menu.el.
-       * Makefile (AUCSRC): Remove easymenu.el and auc-menu.el.
-       (MINMAPSRC): Remove easymenu.el, column.el and cpp.el.
+       * Makefile (AUCSRC): Removed easymenu.el and auc-menu.el.
+       (MINMAPSRC): Removed easymenu.el, column.el and cpp.el.
        * easymenu.el: File deleted.
        * column.el: File deleted.
        * cpp.el: File deleted.
@@ -13473,8 +15964,8 @@
 
 1995-02-12  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-byte-compile): Make it default to nil.
-       Suggested by address@hidden (Michal Jaegermann).
+       * tex.el (TeX-byte-compile): Make it default to nil.  Suggested by
+       address@hidden (Michal Jaegermann).
 
        * tex-buf.el (TeX-command-query): Also offer to save files when
        started from a menu.  Reported by address@hidden (Anton
@@ -13488,21 +15979,21 @@
        different buffer.  Patch by Michael Kifer
        <address@hidden>.
 
-       * latex.el (LaTeX-math-default): Move `Phi' from V to F in
+       * latex.el (LaTeX-math-default): Moved `Phi' from V to F in
        LaTeX-math-mode.   Suggested by address@hidden (David
        Kastrup).
        * doc/math-ref.tex: Documented it.
 
 1995-02-02  Per Abrahamsen  <address@hidden>
 
-       * tex-buf.el (TeX-home-buffer): Add interactive, reported by
+       * tex-buf.el (TeX-home-buffer): Added interactive, reported by
        address@hidden
 
 1995-02-01  Per Abrahamsen  <address@hidden>
 
        * hilit-LaTeX.el: Upgraded to 1.06.
 
-       * Makefile (CONTRIB, EXTRAFILES): Move tex-jp.el to CONTRIB.
+       * Makefile (CONTRIB, EXTRAFILES): Moved tex-jp.el to CONTRIB.
 
 1995-01-27  Per Abrahamsen  <address@hidden>
 
@@ -13514,13 +16005,13 @@
        * latex.el (LaTeX-fill-region): Use marker to mark end of region
        instead of integer, as the formatting may change the size of the
        region.
-       (LaTeX-common-initialization): Fix bug in paragraph definitions.
+       (LaTeX-common-initialization): Fixed bug in paragraph definitions.
        Reported by Steve Anderson <address@hidden>.
 
-       * tex.el (save-match-data): Add by address@hidden
+       * tex.el (save-match-data): Added by address@hidden
        (Kobayashi Shinji).
-       (bibtex-mode-hook): Don't use add-hook yet.
-       Reported by address@hidden (Kobayashi Shinji).
+       (bibtex-mode-hook): Don't use add-hook yet.  Reported by
+       address@hidden (Kobayashi Shinji).
 
 1995-01-25  Per Abrahamsen  <address@hidden>
 
@@ -13537,23 +16028,23 @@
        * tex.el (change-major-mode-hook): Forgot a set of parentheses.
        Reported by Frederic Devernay <address@hidden>.
 
-       * tex-buf.el (TeX-current-pages): Remove extra parentheses.
+       * tex-buf.el (TeX-current-pages): Removed extra parentheses.
        Reported by address@hidden (Michelangelo Grigni).
 
 1995-01-24  Per Abrahamsen  (address@hidden)
 
-       * tex.el (change-major-mode-hook): Add workaround for error in
+       * tex.el (change-major-mode-hook): Added workaround for error in
        XEmacs 19.11's `kill-all-local-variables'.
 
 1995-01-23  Per Abrahamsen  <address@hidden>
 
-       * latex.el (LaTeX-common-initialization): Remove unnecessary
+       * latex.el (LaTeX-common-initialization): Removed unnecessary
        regexp quotes of `TeX-esc'.
 
        * style/amsart.el: Move `eqref' definition to `style/amstex.el'
        and load that style hook.
        * style/amstex.el: New file.
-       * Makefile (STYLESRC): Add it.
+       * Makefile (STYLESRC): Added it.
        Suggested by address@hidden (Victor Boyko).
 
 1995-01-22  Per Abrahamsen  <address@hidden>
@@ -13577,9 +16068,9 @@
 
        * Makefile (CONTRIB): New macro for user contributed emacs lisp
        packages, initialized with `bib-cite.el' and `hilit-LaTeX.el'.
-       (EXTRAFILES): Add $(CONTRIB) to the list.
+       (EXTRAFILES): Added $(CONTRIB) to the list.
 
-       * tex.el (TeX-directory-absolute-p): Move definition before
+       * tex.el (TeX-directory-absolute-p): Moved definition before
        `TeX-macro-private'.  Reported by Frederic Devernay
        <address@hidden>.
 
@@ -13594,8 +16085,8 @@
        (TeX-region-create): More outline-mode safe. Patch by
        address@hidden (Willi Langenberger).
 
-       * Makefile (dist): Put version number in WWW page.
-       Suggested by several people.
+       * Makefile (dist): Put version number in WWW page.  Suggested by
+       several people.
 
        * latex.el (LaTeX-auto-regexp-list): Ignore first optional
        argument to newenvironment if there is a second.  Problem reported
@@ -13611,7 +16102,7 @@
        R. Dodd)
        (TeX-current-pages): New function.
        (TeX-LaTeX-sentinel, TeX-TeX-sentinel): Use it.
-       (TeX-format-filter): Remove unnecessary check before assignment.
+       (TeX-format-filter): Removed unnecessary check before assignment.
 
 1995-01-03  Per Abrahamsen  <address@hidden>
 
@@ -13698,8 +16189,8 @@
 
        * OEMACS: Removed.
 
-       * tex.el (VirTeX-common-initialization):
-       Make `words-include-escapes' a local variable before setting it.
+       * tex.el (VirTeX-common-initialization): Make
+       `words-include-escapes' a local variable before setting it.
        Reported by Bo Nygaard Bai <address@hidden>.
 
 1994-11-15  Per Abrahamsen  <address@hidden>
@@ -13728,7 +16219,7 @@
        * Makefile (dist): Automatically update AUC-TeX-version and
        AUC-TeX-date in tex.el
 
-       * tex.el (AUC-TeX-version): Add AUC-TeX-version and
+       * tex.el (AUC-TeX-version): Added AUC-TeX-version and
        AUC-TeX-date from auc-ver.el.
 
        * auc-ver.el: File removed.
@@ -13739,7 +16230,7 @@
 
 1994-10-25  Per Abrahamsen  <address@hidden>
 
-       * doc/auc-tex.texi (Projects): Remove an implemented item.
+       * doc/auc-tex.texi (Projects): Removed an implemented item.
 
        * tex.el (TeX-command-current): New variable.
        (TeX-command-select-master): New function.
@@ -13749,13 +16240,13 @@
        file argument.
        (TeX-command-menu-print): Remove file argument.
        (TeX-command-menu-printer-entry): Don't pass file argument.
-       (TeX-command-create-menu): Remove.
+       (TeX-command-create-menu): Removed.
        (TeX-mode-menu): New menu.
-       (plain-TeX-mode-menu): Remove entries now in TeX-mode-menu.
+       (plain-TeX-mode-menu): Removed entries now in TeX-mode-menu.
        (plain-TeX-mode-menu): Use `toggle' for bad boxes.
        (plain-TeX-common-initialization): Enable TeX-mode-menu.
 
-       * latex.el (LaTeX-mode-menu): Remove entries now in
+       * latex.el (LaTeX-mode-menu): Removed entries now in
        TeX-mode-menu.
        (LaTeX-mode-menu): Use `toggle' for bad boxes.
        (LaTeX-common-initialization): Enable TeX-mode-menu.
@@ -13767,8 +16258,8 @@
 
 1994-10-24  Per Abrahamsen  <address@hidden>
 
-       * Makefile (AUCSRC): Remove auc-menu.el from AUC TeX distribution.
-       (MINMAPSRC): Add easymenu.el temporarily to min-map distribution.
+       * Makefile (AUCSRC): Removed auc-menu.el from AUC TeX distribution.
+       (MINMAPSRC): Added easymenu.el temporarily to min-map distribution.
 
        * auc-menu.el: Just load easymenu.el when using GNU Emacs.
 
@@ -13798,7 +16289,7 @@
 
        * latex.el (LaTeX-indent-calculate): Allow nil second element in
        `LaTeX-indent-environment-list'.
-       (LaTeX-indent-environment-list): Add special environments
+       (LaTeX-indent-environment-list): Added special environments
        suggested by address@hidden (Peter
        Thiemann).
 
@@ -13820,7 +16311,7 @@
        * tex.el (TeX-add-local-master): Use three %'s when adding buffer
        local variables.  Suggested by Raymond Toy <address@hidden>.
 
-       * tex.el (TeX-format-list): Add entry for AmSTeX by Ulf Juergens
+       * tex.el (TeX-format-list): Added entry for AmSTeX by Ulf Juergens
        <address@hidden>.
 
        * tex.el (ams-tex-mode): Run AmS-TeX-mode-hook, not
@@ -13850,7 +16341,7 @@
 
 1994-09-05  Per Abrahamsen  <address@hidden>
 
-       * tex.el (TeX-file-extensions): Add LaTeX2 `cls' extension after
+       * tex.el (TeX-file-extensions): Added LaTeX2 `cls' extension after
        query by address@hidden (Jose Manuel Valenca).
 
 1994-08-30  Per Abrahamsen  <address@hidden>
@@ -13874,7 +16365,7 @@
 
 1994-08-26  Per Abrahamsen  (address@hidden)
 
-       * doc/auc-tex.texi (Projects): Remove preceding item from
+       * doc/auc-tex.texi (Projects): Removed preceding item from
        wishlist.
 
        * latex.el (LaTeX-common-initialization): Fix to comments
@@ -13903,8 +16394,8 @@
 
 1994-08-18  Per Abrahamsen  (address@hidden)
 
-       * latex.el (TeX-arg-cite): Prompt for multiple keys.
-       Suggested by Masahiro Kitagawa <address@hidden>.
+       * latex.el (TeX-arg-cite): Prompt for multiple keys.  Suggested by
+       Masahiro Kitagawa <address@hidden>.
 
 1994-08-17  Per Abrahamsen  (address@hidden)
 
@@ -13940,7 +16431,7 @@
 
 1994-08-10  Per Abrahamsen  (address@hidden)
 
-       * Makefile (MINMAPSRC): Add `all.el'.
+       * Makefile (MINMAPSRC): Added `all.el'.
 
        * all.el: New file.
 
@@ -13961,12 +16452,12 @@
 1994-08-06  Per Abrahamsen  (address@hidden)
 
        * latex.el (LaTeX-paragraph-commands): New variable.
-       (LaTeX-common-initialization): Use it.
-       Suggested by address@hidden (Yuan P. Li).
+       (LaTeX-common-initialization): Use it.  Suggested by
+       address@hidden (Yuan P. Li).
 
        * auc-menu.el (easy-menu-add): Check that `x-popup-menu' is bound
-       and that we are running under X before calling it.
-       Reported by Adrian F. Clark <address@hidden>
+       and that we are running under X before calling it.  Reported by
+       Adrian F. Clark <address@hidden>
 
 1994-08-04  Per Abrahamsen  (address@hidden)
 
@@ -13981,10 +16472,10 @@
 
        * doc/history.texi: New file.
 
-       * doc/Makefile (HISTORY): Add rule.
+       * doc/Makefile (HISTORY): Added rule.
 
-       * Makefile (EXTRAFILES): Add `ChangeLog'.
-       (DOCFILES): Add `history.texi'.
+       * Makefile (EXTRAFILES): Added `ChangeLog'.
+       (DOCFILES): Added `history.texi'.
 
        * doc/auc-tex.texi (History): Made ready for 9.2.  Move history to
        `history.texi'.
diff --git a/Makefile.in b/Makefile.in
index 8cc4be3..13a05ff 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,7 +2,7 @@
 
 # Maintainer: address@hidden
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software
+# Copyright (C) 2003-2008, 2010, 2013, 2014 Free Software
 #   Foundation, Inc.
 
 # This file is part of AUCTeX.
@@ -58,8 +58,8 @@ AUTOLOAD=--eval '(let ((generated-autoload-file 
(expand-file-name "$@"))) \
   (save-buffers-kill-emacs t))'
 DESCEND=test -z "$(subdirs)" || (OLDPWD="`pwd`";for i in ""$(subdirs);do cd 
$$i;echo "Descending into `pwd`";$(MAKE) 'DESTDIR=$(DESTDIR)' 
PACKAGE=$(PACKAGE) $@ || exit $$?;cd "$$OLDPWD";echo "Ascending into 
$$OLDPWD";done)
 
-CVSFILES=autogen.sh .cvsignore doc/.cvsignore preview/.cvsignore \
-       preview/latex/.cvsignore README.CVS
+EXCLUDEDFILES=autogen.sh .cvsignore .gitignore doc/.gitignore 
preview/.gitignore \
+       preview/latex/.gitignore README.GIT tests
 
 .SUFFIXES: .el .elc .texi
 
@@ -70,9 +70,10 @@ CP_A = $(CP) -R
 DIST_PREFIX=$(PWD)/auctex-dist
 FTPDIR = $(DIST_PREFIX)/ftp
 WWWDIR = $(DIST_PREFIX)/www
+CTANDIR = $(DIST_PREFIX)/ctan
 XEMACS_BUILD_DIR = xemacs-build
 PREVIEW_BUILD_DIR = preview-build
-COMMITTER="David Kastrup  <address@hidden>"
+COMMITTER="`git config --get user.name`\ \ \<`git config --get user.email`\>"
 RPMROOT = /usr/src/redhat
 RPM_SIGN = --sign
 
@@ -121,13 +122,26 @@ STYLESRC = style/prosper.el \
           style/pst-plot.el  style/pst-slpe.el  style/shortvrb.el \
           style/austrian.el  style/naustrian.el style/french.el \
           style/lettrine.el  style/multicol.el  style/xspace.el \
-          style/setspace.el  style/biblatex.el
+          style/setspace.el  style/biblatex.el  style/siunitx.el \
+          style/bm.el        style/footmisc.el  style/ulem.el \
+          style/bigdelim.el  style/bigstrut.el  style/everysel.el \
+          style/mathtools.el style/ragged2e.el  style/amssymb.el \
+          style/lscape.el    style/epigraph.el  style/mflogo.el \
+          style/multirow.el  style/imakeidx.el  style/afterpage.el \
+          style/longtable.el style/lipsum.el    style/kantlipsum.el \
+          style/memoir.el    style/placeins.el  style/nameref.el \
+          style/fancynum.el  style/fancyhdr.el  style/filecontents.el \
+          style/array.el     style/kpfonts.el   style/acro.el \
+          style/acronym.el   style/xparse.el    style/fancyvrb.el \
+          style/tabulary.el  style/fontspec.el  style/unicode-math.el \
+          style/luacode.el   style/metalogo.el  style/english.el \
+          style/exercise.el  style/plext.el     style/cleveref.el
 STYLEELC = $(STYLESRC:.el=.elc)
 
 CLEANFILES = $(AUCELC) $(STYLEELC) $(MULEELC)
 DISTCLEANFILES = Makefile tex-site.el tex-site.el.out auctex.el \
-       auto-loads.el config.*
-DISTTEXTS = FAQ INSTALL INSTALL.windows README TODO
+       auto-loads.el config.* preview/preview.el
+DISTTEXTS = FAQ INSTALL INSTALL.windows README TODO PROBLEMS.preview
 
 NOSEARCH = style/.nosearch
 
@@ -204,7 +218,7 @@ install-startup:
 
 install-el:
        -$(MKINSTALLDIRS) $(DESTDIR)$(lispdir)
-       rm -f $(DESTDIR)$(packagelispdir)/tex-site.el # Remove old 
(CVS-version) mistakes
+       rm -f $(DESTDIR)$(packagelispdir)/tex-site.el # Remove old 
(Git-version) mistakes
        test ! -f $(DESTDIR)$(lispdir)/tex-site.el || { \
           if grep -q "tex-site.*Don't edit." $(DESTDIR)$(lispdir)/tex-site.el; 
then \
            echo "Overwriting old tex-site.el" ; \
@@ -317,28 +331,32 @@ wc:
 # intended to be used only by the maintainers.
 
 # Steps for making a release:
-# 
+#
 # 1) release-commit TAG=<tag> COMMITTER=<committer>
 #    Tag the release.
-#    
+#    Pass `COMMITTER=<committer>' argument only if it is different from
+#    your git name and email.  `<committer>' should be in the form
+#        "John Doe  <address@hidden>"
+#
 # 2) dist TAG=<tag>
-#    Create the tar ball.
+#    Create the tar ball and other release files and put them into $FTPDIR.
 #
 # 3) xemacs-package TAG=<tag>
 #    Create the precompiled XEmacs package.
 #
 # 4) windows-package WEMACSVER=<emacs-version> TAG=<tag>
 #    Create the precompiled AUCTeX package for Windows.
-# 
-# 5) release-sign
+#    This requires a compiled Emacs of the same version at location $WEMACS.
+#
+# 5) release-sign TAG=<tag>
 #    Sign the tar ball and create directive files for upload.
-# 
+#
 # 6) release-upload
 #    Upload files to GNU FTP server.
 #
 # 7) www-doc TAG=<tag> GENDOCSPATCH=<patch-file>
 #    Create documentation for AUCTeX home page.
-# 
+#
 # 8) preview-ball TAG=<tag>
 #    Create preview package.  (Not for GNU FTP server but for CTAN.)
 
@@ -350,26 +368,33 @@ check-tag:
        @if [ "X$(TAG)" = "X" ]; then echo "*** Error: No TAG ***"; exit 1; fi
 
 release-commit: check-tag
-       @echo "Tagging release $(TAG) in CVS ..."
+       @echo "Tagging release $(TAG) in Git ..."
        sleep 5
        mv ChangeLog ChangeLog.old
-       echo `date "+%Y-%m-%d "`" "${COMMITTER} > ChangeLog
+       mv preview/ChangeLog preview/ChangeLog.old
+# Make sure the release ChangeLog entry is encoded with ISO-8859-1.  This
+# requires the `iconv' program.
+       echo `date "+%Y-%m-%d "`" ${COMMITTER}" | iconv -t ISO-8859-1 - > 
ChangeLog
        echo >> ChangeLog
        echo "  * Version" $(TAG) released. >> ChangeLog
        echo >> ChangeLog
+       cp ChangeLog preview/ChangeLog
        cat ChangeLog.old >> ChangeLog
-       cvs commit -m 'Release_$(TAG)' ChangeLog
-       cvs tag release_`echo $(TAG) | sed -e 's/[.]/_/g'`
+       cat preview/ChangeLog.old >> preview/ChangeLog
+       git commit -m 'Release_$(TAG)' -- ChangeLog preview/ChangeLog
+       git tag release_`echo $(TAG) | sed -e 's/[.]/_/g'`
+       @echo
+       @echo "Congratulations!  Release $(TAG) of AUCTeX is ready."
+       @echo "Please, remember to run"
+       @echo "    git push --tags origin master"
+       @echo "to propagate release commit and tag to the remote repository."
 
 tar-ball: doc/Makefile
        test ! -d auctex-$(TAG) || rm -r auctex-$(TAG)
        mkdir auctex-$(TAG)
 # Use TAG_EXPORT if set (for snapshots)
-       cvs export -d auctex-$(TAG) \
-          `echo $${TAG_EXPORT:=$(TAG)} | \
-         sed -e '/^\([-0-9]*[0-9]\)[-a-z]*$$/s//-D \1/' \
-              -e '/[.]/{s/^/-r release_/;s/[.]/_/g}'` auctex
-       cd auctex-$(TAG) && AUCTEXVERSION=$(TAG) AUCTEXDATE=$(AUCTEXDATE) 
./autogen.sh && rm $(CVSFILES)
+       git archive $${TAG_EXPORT:=`echo release_$(TAG) | sed 's/[.]/_/g'`} | 
tar -xC auctex-$(TAG)
+       cd auctex-$(TAG) && AUCTEXVERSION=$(TAG) AUCTEXDATE=$(AUCTEXDATE) 
./autogen.sh && rm -rf $(EXCLUDEDFILES)
        chmod -R go-w+rX auctex-$(TAG)
        rm -rf $(FTPDIR)
        mkdir -p $(FTPDIR)
@@ -454,7 +479,7 @@ windows-package: check-tag
        cd $(WBUILDDIR)/emacs-$(WEMACSVER) \
        && zip -r $(FTPDIR)/$(WPACKAGE) $(WPACKAGEFILES)
 
-release-sign:
+release-sign: check-tag
        rm -f $(FTPDIR)/*.{directive,asc,sig}
        if [ "x$$GPG_AGENT_INFO" = "x" ]; then \
          read -sp "Enter pass phrase: " phrase ; \
@@ -500,12 +525,12 @@ preview-ball: check-tag
        test ! -d $(PREVIEW_BUILD_DIR) || rm -r $(PREVIEW_BUILD_DIR)
        mkdir $(PREVIEW_BUILD_DIR)
 # Use TAG_EXPORT if set (for snapshots)
-       cvs export -d $(PREVIEW_BUILD_DIR) \
-          `echo $${TAG_EXPORT:=$(TAG)} | \
-         sed -e '/^\([-0-9]*[0-9]\)[-a-z]*$$/s//-D \1/' \
-              -e '/[.]/{s/^/-r release_/;s/[.]/_/g}'` auctex/preview/latex
+       git archive $${TAG_EXPORT:=`echo release_$(TAG) | sed 's/[.]/_/g'`} \
+         preview/latex | tar -xC $(PREVIEW_BUILD_DIR) --strip-components=2
        cd $(PREVIEW_BUILD_DIR) && make -f ../preview/latex/Makefile 
preview.ins preview.pdf
        chmod -R go-w+rX $(PREVIEW_BUILD_DIR)
-       test -d $(FTPDIR) || mkdir -p $(FTPDIR)
-       cd $(PREVIEW_BUILD_DIR) && \
-       tar -cf - --owner=root --group=root README preview.dtx preview.ins 
preview.pdf | gzip --best > $(FTPDIR)/preview-$(TAG).tar.gz
+       test -d $(CTANDIR) || mkdir -p $(CTANDIR)
+# CTAN requires a top level directory "preview/" for the archive.
+       cd $(PREVIEW_BUILD_DIR) && mkdir -p preview && \
+       cp README preview.dtx preview.ins preview.pdf preview/ && \
+       tar -cf - --owner=root --group=root preview/ | gzip --best > 
$(CTANDIR)/preview-$(TAG).tar.gz
diff --git a/README b/README
index 0a1f331..e74a20f 100644
--- a/README
+++ b/README
@@ -213,7 +213,7 @@ should already be integrated into AUCTeX, so no separate 
download will
 be necessary.
 
 You will also find '.rpm' files there for Fedora and possibly SuSE.
-Anonymous CVS is available as well.
+Anonymous Git is available as well.
 
 7 Contacts
 **********
diff --git a/RELEASE b/RELEASE
index 93ca64f..6517532 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-Release notes for AUCTeX 11.87 with preview-latex
+Release notes for AUCTeX 11.88 with preview-latex
 =================================================
 
 AUCTeX provides by far the most wide-spread and sophisticated
@@ -25,27 +25,91 @@ sleuth work, testing.
 New features and fixed bugs in this release
 -------------------------------------------
 
-AUCTeX now supports Biber in conjunction with biblatex in addition to
-BibTeX.
+'TeX-PDF-mode' is now enabled by default.
 
-Each AUCTeX mode now has its own abbrev table.  On Emacsen which
-provide the possibility to inherit abbrevs from other tables, the
-abbrevs from the Text mode abbrev table are available as well.  Newly
-defined abbrevs are written to the mode-specific tables, though.
+Now 'TeX-previous-error' works with TeX commands if the new option
+'TeX-parse-all-errors' is non-nil, which is the default.  When this
+option is non-nil, an overview of errors and warnings reported by the
+TeX compiler can be opened with 'M-x TeX-error-overview <RET>'.
 
-The file tex-fptex.el was removed.
+Style file authors are encouraged to distinguish common from expert
+macros and environments, and mark the latter using
+'TeX-declare-expert-macros' and 'LaTeX-declare-expert-environments'.
+Users can then restrict completion using
+'TeX-complete-expert-commands'.
 
-Forward/backward search for Evince has been improved.  If Emacs is
-compiled with DBUS support and a recent Evince version (3.x) is
-installed, the communication goes over the desktop bus instead of the
-command line, resulting in more accurate positioning of point in Emacs
-and highlighting of the target paragraph in Evince.
+Management of LaTeX package options in the parser was improved.  You
+might need to reparse your documents, especially if you loaded the
+'babel' package with language options.
 
-A problem where Ghostscript threw an /invalidfileaccess error when
-running preview-latex was fixed.
+Now you can insert '$...$' or '\(...\)' by typing a single '$'.  To do
+this, customize the new option 'TeX-electric-math'.
+'TeX-math-close-double-dollar' was removed.
 
-A lot of smaller fixes and additions have been made.
+'C-c <RET> documentclass <RET>' completes with all available LaTeX
+classes, if the 'TeX-arg-input-file-search' variable is non-nil.
+Completion for class options of the standard LaTeX classes is provided
+as well.
 
+New user options 'LaTeX-default-author',
+'LaTeX-fontspec-arg-font-search', 'LaTeX-fontspec-font-list-default',
+'TeX-date-format', and 'TeX-insert-braces-alist'.  A new possible value
+('show-all-optional-args') for 'TeX-insert-macro-default-style' was
+added.  The default value of 'TeX-source-correlate-method' has been
+changed.
+
+'biblatex' support was greatly expanded.  If parsing is enabled, AUCTeX
+looks at 'backend' option to decide whether to use Biber or BibTeX. The
+'LaTeX-biblatex-use-Biber' variable was changed to be file local only
+and is no more customizable.
+
+With some LaTeX classes, the default environment suggested by
+'LaTeX-environment' ('C-c C-e') when the current environment is
+'document' was changed.  With 'beamer' class the default environment is
+'frame', with 'letter' it is 'letter', with 'slides' it is 'slide'.
+
+Brace pairing feature was enhanced in LaTeX documents.  Support for
+'\bigl', '\Bigl', '\biggl' and '\Biggl', the same as the one for
+'\left', was added to 'TeX-insert-macro'.  For example, 'C-c <RET> bigl
+<RET> ( <RET>' inserts '\bigl(\bigr)'.
+
+You can insert brace pair '()', '{}' and '[]' by typing a single left
+brace if the new user option 'LaTeX-electric-left-right-brace' is
+enabled.
+
+Macros '\langle', '\lfloor' and '\lceil', which produce the left part
+of the paired braces, are treated similarly as '(', '{' and '[' during
+the course of 'TeX-insert-macro'.
+
+Support for dozens of LaTeX packages was added.
+
+Tabular-like environments (tabular, tabular*, tabularx, tabulary,
+array, align, ...)  are indented in a nicer and more informative way
+when the column values of a table line are written across multiple
+lines in the tex file.
+
+The suitable number of ampersands are inserted when you insert array,
+tabular and tabular* environments with 'C-c C-e'.  Similar experience
+is obtained if you terminate rows in these environments with 'C-c
+<LFD>'.  It supplies line break macro '\\' and inserts the suitable
+number of ampersands on the next line.  Similar supports are provided
+for various amsmath environments.
+
+Commands for narrowing to a group ('TeX-narrow-to-group') and to LaTeX
+environments ('LaTeX-narrow-to-environment') were added.
+
+Now arbitrary options can be passed to the TeX processor on a per file
+basis using the 'TeX-command-extra-options' option.
+
+Now 'C-c C-e document <RET>', in an empty document, prompts for
+'\usepackage' macros in addition to '\documentclass'.
+
+'TeX-add-style-hook' has now a third argument to tell AUCTeX for which
+dialect (LaTeX, Texinfo or BibTeX) the style hook is registers.
+Labelling style hook by dialect will avoid applying them not in the
+right context.
+
+There have been lots of bug fixes and feature additions.
 
 Requirements
 ------------
@@ -113,15 +177,18 @@ developer list (see above).  Other than that, 
volunteering for tasks
 remains the most effective way of helping AUCTeX development.
 
 The following people contributed to this release series (in
-alphabetical order): Ralf Angeli, Masayuki Ataka, Thomas Baumann,
-Vincent Bela�che, Berend de Boer, Ken Brown, Joshua Buhl, Patrice
-Dumas, Miguel Frasson, Peter S. Galbraith, Patrick Gundlach, Tassilo
+alphabetical order): Ivan Andrus, Ralf Angeli, Masayuki Ataka, Fabrice
+Ben Hamouda, Thomas Baumann, Vincent Bela�che, Berend de Boer, Ken
+Brown, Joshua Buhl, Patrice Dumas, Werner Fink, Miguel Frasson, Peter
+S. Galbraith, Mos� Giordano, Patrick Gundlach, Jobst Hoffmann, Tassilo
 Horn, Yvon Hevel, Mads Jensen, Arne J�rgensen, David Kastrup, Ikumi
-Keita, Philip Kime, Joost Kremers, Frank K�ster, Jan-�ke Larsson,
-Antoine Levitt, Dan Nicolaescu, Piet van Oostrum, Augusto Ritter
-Stoffel, Davide G. M. Salvetti, Holger Sparr, Mike Sperber, Reiner
-Steib, Christian Schlauer, Shiro Takeda, Mark Trettin (Please accept
-our apologies if we forgot somebody.)
+Keita, Philip Kime, Oleh Krehel, Joost Kremers, Frank K�ster, Jan-�ke
+Larsson, Matthew Leach, Antoine Levitt, Leo Liu, Vladimir Lomov, Stefan
+Monnier, Dan Nicolaescu, Piet van Oostrum, Nicolas Richard, Augusto
+Ritter Stoffel, Florent Rougon, Davide G. M. Salvetti, R�diger
+Sonderfeld, Holger Sparr, Mike Sperber, Reiner Steib, Christian
+Schlauer, Shiro Takeda, Mark Trettin (Please accept our apologies if we
+forgot somebody.)
 
 Footnotes: 
 
diff --git a/aclocal.m4 b/aclocal.m4
index f492cc2..9b29ec0 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -94,14 +94,14 @@ fi
 
 AC_DEFUN(AC_DATE_VERSION_FROM_CHANGELOG, [
 AC_MSG_CHECKING([for date in ChangeLog])
-$1=[`sed -n '1s/^\([-0-9][-0-9]*\).*/\1/p' ChangeLog`]
+$1=[`sed -n '1s/^\([-0-9][-0-9]*\).*/\1/p' "$3"`]
 if test "X${$1}" = X
 then
   AC_MSG_ERROR([[not found]])
 fi
 AC_MSG_RESULT(${$1})
 AC_MSG_CHECKING([for release in ChangeLog])
-$2=[`sed -n '2,/^[0-9]/s/.*Version \(.*\) released\..*/\1/p' ChangeLog`]
+$2=[`sed -n '2,/^[0-9]/s/.*Version \(.*\) released\..*/\1/p' "$3"`]
 if test "X${$2}" = X
 then
   $2=${$1}
diff --git a/auctex.el b/auctex.el
index 42c4ca7..4165ed3 100644
--- a/auctex.el
+++ b/auctex.el
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2014 Free Software Foundation, Inc.
 
-;; Version: 11.87.7
+;; Version: 11.88.0
 ;; URL: http://www.gnu.org/software/auctex/
 
 ;; This file is part of GNU Emacs.
diff --git a/auctex.spec b/auctex.spec
index 3d5f7bc..a482661 100644
--- a/auctex.spec
+++ b/auctex.spec
@@ -104,7 +104,7 @@ probably best solved by not installing this package).
 %setup
 
 %build
-# The below will make the package build from a tar straight from CVS
+# The below will make the package build from a tar straight from Git
 # NOT RECOMMENDED, but useful for testing!
 test -f ./configure || ./autogen.sh
 %configure --with-emacs INSTALL_INFO=: --without-texmf-dir
diff --git a/autogen.sh b/autogen.sh
index 94b3903..99c32a7 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -35,7 +35,7 @@ cd ..
 rm -rf autom4te.cache preview/autom4te.cache
 if test "x${AUCTEXDATE}" = x
 then
-    AUCTEXDATE=`LANG=C sed -n '1s/^\([-0-9][-0-9]*\).*/\1/p' ChangeLog`
+    AUCTEXDATE=`LC_ALL=C sed -n '1s/^\([-0-9][-0-9]*\).*/\1/p' ChangeLog`
     test "X${AUCTEXDATE}" != X || { echo "Can't find date in ChangeLog" >&2 ; 
exit 1; }
 fi
 
diff --git a/bib-cite.el b/bib-cite.el
index 0f94332..612641c 100644
--- a/bib-cite.el
+++ b/bib-cite.el
@@ -38,8 +38,8 @@
 
 ;; New versions of this package (if they exist) may be found at:
 ;;   http://people.debian.org/~psg/elisp/bib-cite.el
-;; and in AUCTeX's CVS archive at
-;;   http://savannah.gnu.org/cgi-bin/viewcvs/auctex/auctex/
+;; and in AUCTeX's Git archive at
+;;   http://git.savannah.gnu.org/cgit/auctex.git
 
 ;; Operating Systems:
 ;;  Works in unix, DOS and OS/2.  Developped under Linux.
@@ -756,14 +756,14 @@ runs bib-find, and [mouse-3] runs bib-display."
     ;; Added for version 2.19
     (if (boundp 'tags-always-exact)
        (progn
-         (make-local-variable 'tags-always-exact)
-         (setq tags-always-exact nil)))
+         (set (make-local-variable 'tags-always-exact) nil)))
     ;; mouse overlay
     (if bib-highlight-mouse-t
        (progn
          (bib-cite-setup-highlight-mouse-keymap)
          (bib-highlight-mouse)
-         (make-local-hook 'after-change-functions)
+         (when bib-cite-is-XEmacs
+           (make-local-hook 'after-change-functions))
          (add-hook 'after-change-functions
                    'bib-cite-setup-mouse-function nil t)))
     (if bib-cite-is-XEmacs
@@ -794,8 +794,7 @@ runs bib-find, and [mouse-3] runs bib-display."
 ;; own.
 (defun bib-cite-setup-highlight-mouse-keymap ()
   "Set up the bib-cite text in the current buffer to be clickable."
-  (make-local-variable 'bib-highlight-mouse-keymap)
-  (setq bib-highlight-mouse-keymap
+  (set (make-local-variable 'bib-highlight-mouse-keymap)
    ;;; First, copy the local keymap so we don't have `disappearing' menus
    ;;; when the mouse is moved over a \ref, \label or \cite command.
 
@@ -942,6 +941,7 @@ runs bib-find, and [mouse-3] runs bib-display."
   (eval-after-load
    "bibtex"
    '(progn
+      (add-hook 'bibtex-mode-hook 'TeX-bibtex-set-BibTeX-dialect)
       (cond
        ((lookup-key bibtex-mode-map [menu-bar move/edit])
        (define-key-after
@@ -1144,8 +1144,7 @@ by using bib-apropos sequentially."
                            (not (string-equal "*Help*" (buffer-name)))))
         (bib-buffer (or (and new-buffer-f (bib-get-bibliography nil))
                         (current-buffer))))
-    (save-excursion
-      (set-buffer bib-buffer)
+    (with-current-buffer bib-buffer
       (goto-char (point-min))
       (while (and (re-search-forward "^[ \t]*@" nil t)
                  (re-search-forward keyword nil t))
@@ -1232,8 +1231,7 @@ to create a bibtex file containing only the references 
used in the document."
       (progn
        (copy-face 'bold 'red-bold)
        (set-face-foreground 'red-bold "red")))
-  (save-excursion
-    (set-buffer "*Help*")
+  (with-current-buffer "*Help*"
     (let ((before-change-functions) (after-change-functions))
       (put-text-property (point-min)(or limit (point-max))
                         'face 'red-bold))))
@@ -1332,8 +1330,7 @@ See variables bib-etags-command and bib-etags-filename"
        (concat bib-etags-append-command the-tags-file " " the-file))
       (setq the-file-list (cdr the-file-list)))
     (if the-tags-buffer                 ;buffer existed; we must refresh it.
-       (save-excursion
-         (set-buffer the-tags-buffer)
+       (with-current-buffer the-tags-buffer
          (revert-buffer t t)))
 
     ;; Check value of tags-file-name against the-tags-file
@@ -1352,8 +1349,7 @@ See variables bib-etags-command and bib-etags-filename"
     ;; Skip this in XEmacs (Changed by Anders Stenman)
     (if (and (not (string-match "XEmacs\\|Lucid" emacs-version))
             (get-file-buffer the-tags-file))
-       (save-excursion
-         (set-buffer (get-file-buffer the-tags-file))
+       (with-current-buffer (get-file-buffer the-tags-file)
          (set (make-local-variable 'tags-file-name) the-tags-file))))
 
 
@@ -2186,8 +2182,7 @@ Sets global variable bib-document-TeX-files-warnings."
          (kill-buffer tex-buffer)
          (error
           "Sorry, but this is not a multi-file document (Try C-u C-c C-n if 
using auctex)")))
-    (save-excursion
-      (set-buffer tex-buffer)
+    (with-current-buffer tex-buffer
       ;; set its directory so relative includes work without expanding
       (setq default-directory dir)
       (insert-file-contents masterfile)
@@ -2237,8 +2232,7 @@ Sets global variable 
bib-document-citekeys-obarray-warnings."
                         master-aux master-tex)))
       (let ((work-buffer (get-buffer-create "*bib-cite-work*"))
            (keys-obarray (make-vector 201 0)))
-       (save-excursion
-         (set-buffer work-buffer)
+       (with-current-buffer work-buffer
          (insert-file-contents master-aux)
          ;; Because we will be looking for \input statements, we need to set
          ;; the default directory to that of the master file.
@@ -2353,10 +2347,9 @@ accents embeded in bibtex entries."
        ;; Path is relative to the master directory
        (default-directory (bib-master-directory))
        (the-name)(the-warnings)(the-file))
-    (save-excursion
+    (with-current-buffer bib-buffer
       ;; such that forward-sexp works with embeeded \" in german,
       ;; and unbalanced ()
-      (set-buffer bib-buffer)
       (erase-buffer)
       (set-syntax-table text-mode-syntax-table)
 ;;      (if (boundp 'bibtex-mode-syntax-table)
@@ -2385,14 +2378,12 @@ accents embeded in bibtex entries."
                (and (boundp 'TeX-check-path)
                     (psg-checkfor-file-list the-name TeX-check-path))))
       (if the-file
-         (progn
-           (save-excursion
-             (set-buffer bib-buffer)
-             (goto-char (point-max))
-             (if include-filenames-f
-                 (insert "%%%Filename: " the-file "\n"))
-             (insert-file-contents the-file nil)
-             (goto-char 1)))
+         (with-current-buffer bib-buffer
+           (goto-char (point-max))
+           (if include-filenames-f
+               (insert "%%%Filename: " the-file "\n"))
+           (insert-file-contents the-file nil)
+           (goto-char 1))
        (setq the-warnings
              (concat the-warnings "Could not read file: " the-name "\n"))))
     (if the-warnings
diff --git a/configure.ac b/configure.ac
index 7add2aa..06bea48 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,16 +21,20 @@ dnl along with AUCTeX; see the file COPYING.  If not, write 
to the Free
 dnl Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 dnl MA 02110-1301, USA.
 
-AC_INIT(auctex,11.87,address@hidden)
+AC_INIT(auctex,11.88,address@hidden)
 
 AC_CHECK_PROGS_REQUIRED(MAKECMD, make, [make not found, aborting!])
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
 
-AC_DATE_VERSION_FROM_CHANGELOG(AUCTEXDATE,AUCTEXVERSION)
+AC_DATE_VERSION_FROM_CHANGELOG(AUCTEXDATE,AUCTEXVERSION,ChangeLog)
 AC_SUBST(AUCTEXDATE)
 AC_SUBST(AUCTEXVERSION)
 
+AC_DATE_VERSION_FROM_CHANGELOG(PREVIEWDATE,PREVIEWVERSION,preview/ChangeLog)
+AC_SUBST(PREVIEWDATE)
+AC_SUBST(PREVIEWVERSION)
+
 EMACS_PROG_EMACS
 
 if test ${EMACS_FLAVOR} = xemacs
@@ -197,7 +201,7 @@ AC_SHELL_QUOTIFY(TEXI2HTML)
 AC_SHELL_QUOTIFY(TEXI2DVI)
 AC_SHELL_QUOTIFY(TEXI2PDF)
 
-AC_OUTPUT(Makefile tex-site.el.out:tex-site.el.in doc/Makefile auctex.el)
+AC_OUTPUT(Makefile tex-site.el.out:tex-site.el.in preview/preview.el 
doc/Makefile auctex.el)
 
 
 cat >&2 <<EOF
diff --git a/context-en.el b/context-en.el
index aba1d8c..865ca71 100644
--- a/context-en.el
+++ b/context-en.el
@@ -140,17 +140,25 @@
 ;; the level is used to find the section name, so the alternative
 ;; names are never found. Have to start using the section name instead
 ;; of the number.
-(defvar ConTeXt-section-list-en
+(defvar ConTeXt-numbered-section-list-en
   '(("part" 0)
     ("chapter" 1)
     ("section" 2)
     ("subsection" 3)
     ("subsubsection" 4))
-  ;; ("title" 1)
-  ;; ("subject" 2)
-  ;; ("subsubject" 3)
-  ;; ("subsubsubject" 4)
-  "List of the names of ConTeXt sections for its en interface.")
+  "List of the names of ConTeXt numbered sections for its en interface.")
+
+(defvar ConTeXt-unnumbered-section-list-en
+  '(("title" 1)
+    ("subject" 2)
+    ("subsubject" 3)
+    ("subsubsubject" 4))
+  "List of the names of ConTeXt unnumbered sections for its en interface.")
+
+(defvar ConTeXt-section-list-en
+  (append ConTeXt-numbered-section-list-en ConTeXt-unnumbered-section-list-en)
+)
+
 
 (defvar ConTeXt-text-en "text"
   "The ConTeXt en interface body text group.")
diff --git a/context.el b/context.el
index 3a2622b..b9ce2c0 100644
--- a/context.el
+++ b/context.el
@@ -1,6 +1,6 @@
 ;;; context.el --- Support for ConTeXt documents.
 
-;; Copyright (C) 2003-2006, 2008, 2010, 2012
+;; Copyright (C) 2003-2006, 2008, 2010, 2012, 2014
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: Berend de Boer <address@hidden>
@@ -301,12 +301,12 @@ The following variables can be set to customize:
                      ((< val 0)
                       (ConTeXt-up-section (- val)))
                      (t val)))
-        (name (ConTeXt-section-name level))
+        (name (ConTeXt-numbered-section-name level))
         (toc nil)
         (title "")
         (done-mark (make-marker)))
     (newline)
-    (run-hooks 'ConTeXt-section-hook)
+    (run-hooks 'ConTeXt-numbered-section-hook)
     (newline)
     (if (marker-position done-mark)
        (goto-char (marker-position done-mark)))
@@ -356,31 +356,53 @@ section."
                                        nil t)))
        (ConTeXt-up-section (1- arg))))))
 
-(defvar ConTeXt-section-list ()
+(defvar ConTeXt-numbered-section-list ()
   "ConTeXt-XX-section-list where XX is the current interface.")
 
-(defun ConTeXt-section-name (level)
+(defvar ConTeXt-unnumbered-section-list ()
+  "ConTeXt-XX-section-list where XX is the current interface.")
+
+(defvar ConTeXt-section-list
+  (append ConTeXt-numbered-section-list ConTeXt-unnumbered-section-list)
+)
+
+(defun ConTeXt-numbered-section-name (level)
+  "Return the name of the section corresponding to LEVEL."
+  (let ((entry (TeX-member level ConTeXt-numbered-section-list
+                          (function (lambda (a b) (equal a (nth 1 b)))))))
+    (if entry
+       (nth 0 entry)
+      nil)))
+
+(defun ConTeXt-unnumbered-section-name (level)
   "Return the name of the section corresponding to LEVEL."
-  (let ((entry (TeX-member level ConTeXt-section-list
+  (let ((entry (TeX-member level ConTeXt-unnumbered-section-list
                           (function (lambda (a b) (equal a (nth 1 b)))))))
     (if entry
        (nth 0 entry)
       nil)))
 
-(defun ConTeXt-section-level (name)
+(defun ConTeXt-numbered-section-level (name)
   "Return the level of the section NAME."
-  (let ((entry (TeX-member name ConTeXt-section-list
-                          (function (lambda (a b) (equal a (nth 0 b)))))))
+  (let ((entry (TeX-member name ConTeXt-numbered-section-list
+                           (function (lambda (a b) (equal a (nth 0 b)))))))
+    (if entry
+        (nth 1 entry)
+      nil)))
 
+(defun ConTeXt-unnumbered-section-level (name)
+  "Return the level of the section NAME."
+  (let ((entry (TeX-member name ConTeXt-numbered-section-list
+                           (function (lambda (a b) (equal a (nth 0 b)))))))
     (if entry
-       (nth 1 entry)
+        (nth 1 entry)
       nil)))
 
 
 ;;; Section Hooks.
 
-(defcustom ConTeXt-section-hook
-  '(ConTeXt-section-heading
+(defcustom ConTeXt-numbered-section-hook
+  '(ConTeXt-numbered-section-heading
     ConTeXt-section-title
     ConTeXt-section-ref
     ConTeXt-section-section)
@@ -409,8 +431,8 @@ ConTeXt-section-ref: Insert a reference for this section 
command.
 
 To get a full featured `ConTeXt-section' command, insert
 
- (setq ConTeXt-section-hook
-                        '(ConTeXt-section-heading
+ (setq ConTeXt-numbered-section-hook
+                        '(ConTeXt-numbered-section-heading
                                 ConTeXt-section-title
                                 ConTeXt-section-section
                                 ConTeXt-section-ref))
@@ -419,18 +441,75 @@ in your .emacs file."
   :group 'ConTeXt-macro
   :type 'hook
   :options
-  '(ConTeXt-section-heading
+  '(ConTeXt-numbered-section-heading
     ConTeXt-section-title
     ConTeXt-section-ref
     ConTeXt-section-section))
 
-(defun ConTeXt-section-heading ()
+(defcustom ConTeXt-unnumbered-section-hook
+  '(ConTeXt-unnumbered-section-heading
+    ConTeXt-section-title
+    ConTeXt-section-ref
+    ConTeXt-section-section)
+  "List of hooks to run when a new section is inserted.
+
+The following variables are set before the hooks are run
+
+level - numeric section level, see the documentation of `ConTeXt-section'.
+name - name of the sectioning command, derived from `level'.
+title - The title of the section, default to an empty string.
+`done-mark' - Position of point afterwards, default nil (meaning end).
+
+The following standard hook exist -
+
+ConTeXt-section-heading: Query the user about the name of the
+sectioning command.  Modifies `level' and `name'.
+
+ConTeXt-section-title: Query the user about the title of the
+section.  Modifies `title'.
+
+ConTeXt-section-section: Insert ConTeXt section command according to
+`name', `title', and `reference'.  If `title' is an empty string,
+`done-mark' will be placed at the point they should be inserted.
+
+ConTeXt-section-ref: Insert a reference for this section command.
+
+To get a full featured `ConTeXt-section' command, insert
+
+ (setq ConTeXt-unnumbered-section-hook
+                        '(ConTeXt-unnumbered-section-heading
+                                ConTeXt-section-title
+                                ConTeXt-section-section
+                                ConTeXt-section-ref))
+
+in your .emacs file."
+  :group 'ConTeXt-macro
+  :type 'hook
+  :options
+  '(ConTeXt-unnumbered-section-heading
+    ConTeXt-section-title
+    ConTeXt-section-ref
+    ConTeXt-section-section))
+
+(defun ConTeXt-numbered-section-heading ()
+  "Hook to prompt for ConTeXt section name.
+Insert this hook into `ConTeXt-numbered-section-hook' to allow the user to 
change
+the name of the sectioning command inserted with `\\[ConTeXt-section]'."
+  (let ((string (completing-read
+                (concat "Select level: (default " name ") ")
+                ConTeXt-numbered-section-list
+                nil nil nil)))
+    ;; Update name
+    (if (not (zerop (length string)))
+       (setq name string))))
+
+(defun ConTeXt-unnumbered-section-heading ()
   "Hook to prompt for ConTeXt section name.
-Insert this hook into `ConTeXt-section-hook' to allow the user to change
+Insert this hook into `ConTeXt-unnumbered-section-hook' to allow the user to 
change
 the name of the sectioning command inserted with `\\[ConTeXt-section]'."
   (let ((string (completing-read
                 (concat "Select level: (default " name ") ")
-                ConTeXt-section-list
+                ConTeXt-unnumbered-section-list
                 nil nil nil)))
     ;; Update name
     (if (not (zerop (length string)))
@@ -438,7 +517,7 @@ the name of the sectioning command inserted with 
`\\[ConTeXt-section]'."
 
 (defun ConTeXt-section-title ()
   "Hook to prompt for ConTeXt section title.
-Insert this hook into `ConTeXt-section-hook' to allow the user to change
+Insert this hook into `ConTeXt-(un)numbered-section-hook' to allow the user to 
change
 the title of the section inserted with `\\[ConTeXt-section]."
   (setq title (read-string "What title: ")))
 
@@ -520,11 +599,8 @@ inserted after the sectioning command."
 
 (TeX-auto-add-type "environment" "ConTeXt")
 
-(fset 'ConTeXt-add-environments-auto
-      (symbol-function 'ConTeXt-add-environments))
-(defun ConTeXt-add-environments (&rest environments)
+(defadvice ConTeXt-add-environments (after ConTeXt-invalidate-menu (&rest 
environments) activate)
   "Add ENVIRONMENTS to the list of known environments."
-  (apply 'ConTeXt-add-environments-auto environments)
   (setq ConTeXt-menu-changed t))
 
 ;; (defvar ConTeXt-environment-list ()
@@ -763,7 +839,7 @@ the contents."
   (interactive)
   (let ((cur (point)))
     (ConTeXt-find-matching-stop inner)
-    (set-mark (point))
+    (push-mark (point))
     (goto-char cur)
     (ConTeXt-find-matching-start inner)
     (TeX-activate-region)))
@@ -912,7 +988,8 @@ If OPTIONAL, only insert it if not empty, and then use 
square brackets."
    "[][]\\|"  ; display math delimitors (is this applicable to ConTeXt??)
    (ConTeXt-environment-start-name) "\\|"
    (ConTeXt-environment-stop-name) "\\|"
-   (mapconcat 'car ConTeXt-section-list "\\b\\|") "\\b\\|"
+   (mapconcat 'car ConTeXt-numbered-section-list "\\b\\|") "\\b\\|"
+   (mapconcat 'car ConTeXt-unnumbered-section-list "\\b\\|") "\\b\\|"
    (mapconcat 'identity ConTeXt-extra-paragraph-commands "\\b\\|")
    "\\b\\|"
    (mapconcat 'identity ConTeXt-item-list "\\b\\|") "\\b\\)"))
@@ -936,7 +1013,8 @@ header is at the start of a line."
    (regexp-quote TeX-esc)
    "\\("
    (mapconcat 'ConTeXt-environment-full-start-name ConTeXt-section-block-list 
"\\|") "\\|"
-   (mapconcat 'car ConTeXt-section-list "\\|")
+   (mapconcat 'car ConTeXt-numbered-section-list "\\|")
+   (mapconcat 'car ConTeXt-unnumbered-section-list "\\|")
    "\\)\\b"
    (if TeX-outline-extra
        "\\|"
@@ -1314,7 +1392,8 @@ else.  There might be text before point."
 
 ;; section menu entries
 
-(defvar ConTeXt-section-menu-name "Section  (C-c C-s)")
+(defvar ConTeXt-numbered-section-menu-name "Numbered section  (C-c C-s)")
+(defvar ConTeXt-unnumbered-section-menu-name "Unnumbered section")
 
 (defun ConTeXt-section-enable-symbol (level)
   "Symbol used to enable section LEVEL in the menu bar."
@@ -1326,17 +1405,29 @@ else.  There might be text before point."
     (set (ConTeXt-section-enable-symbol level)
         (>= level ConTeXt-largest-level))))
 
-(defun ConTeXt-section-menu (level)
-  "Insert section from menu."
-  (let ((ConTeXt-section-hook (delq 'ConTeXt-section-heading
-                                   (copy-sequence ConTeXt-section-hook))))
+(defun ConTeXt-numbered-section-menu (level)
+  "Insert numbered section from menu."
+  (let ((ConTeXt-numbered-section-hook (delq 'ConTeXt-numbered-section-heading
+                                   (copy-sequence 
ConTeXt-numbered-section-hook))))
+    (ConTeXt-section level)))
+
+(defun ConTeXt-unnumbered-section-menu (level)
+  "Insert unnumbered section from menu."
+  (let ((ConTeXt-unnumbered-section-hook (delq 
'ConTeXt-unnumbered-section-heading
+                                   (copy-sequence 
ConTeXt-unnumbered-section-hook))))
     (ConTeXt-section level)))
 
-(defun ConTeXt-section-menu-entry (entry)
-  "Create an ENTRY for the section menu."
+(defun ConTeXt-numbered-section-menu-entry (entry)
+  "Create an ENTRY for the numbered section menu."
   (let ((enable (ConTeXt-section-enable-symbol (nth 1 entry))))
     (set enable t)
-    (vector (car entry) (list 'ConTeXt-section-menu (nth 1 entry)) enable)))
+    (vector (car entry) (list 'ConTeXt-numbered-section-menu (nth 1 entry)) 
enable)))
+
+(defun ConTeXt-unnumbered-section-menu-entry (entry)
+  "Create an ENTRY for the unnumbered section menu."
+  (let ((enable (ConTeXt-section-enable-symbol (nth 1 entry))))
+    (set enable t)
+    (vector (car entry) (list 'ConTeXt-unnumbered-section-menu (nth 1 entry)) 
enable)))
 
 
 ;; etexshow support
@@ -1368,7 +1459,8 @@ else.  There might be text before point."
    `("ConTeXt"
      (,ConTeXt-project-structure-menu-name)
      (,ConTeXt-section-block-menu-name)
-     (,ConTeXt-section-menu-name)
+     (,ConTeXt-numbered-section-menu-name)
+     (,ConTeXt-unnumbered-section-menu-name)
      ["Add Table of Contents to Emacs Menu" (imenu-add-to-menubar "TOC") t]
      "-"
      ["Macro ..." TeX-insert-macro
@@ -1467,10 +1559,14 @@ else.  There might be text before point."
                           (mapcar 'ConTeXt-section-block-menu-entry
                                   ConTeXt-section-block-list)))
        (message "Updating section menu...")
-       (easy-menu-change '("ConTeXt") ConTeXt-section-menu-name
+       (easy-menu-change '("ConTeXt") ConTeXt-numbered-section-menu-name
+                         (LaTeX-split-long-menu
+                          (mapcar 'ConTeXt-numbered-section-menu-entry
+                                  ConTeXt-numbered-section-list)))
+       (easy-menu-change '("ConTeXt") ConTeXt-unnumbered-section-menu-name
                          (LaTeX-split-long-menu
-                          (mapcar 'ConTeXt-section-menu-entry
-                                  ConTeXt-section-list)))
+                          (mapcar 'ConTeXt-unnumbered-section-menu-entry
+                                  ConTeXt-unnumbered-section-list)))
        (message "Updating...done")
        (and menu (easy-menu-return-item ConTeXt-mode-menu menu))
        )))
@@ -1481,7 +1577,7 @@ else.  There might be text before point."
   "Command line option for texexec to use nonstopmode.")
 
 (defun ConTeXt-expand-options ()
-  "Expand options for texexec command."
+  "Expand options for context command."
   (concat
    (let ((engine (eval (nth 4 (assq TeX-engine (TeX-engine-alist))))))
      (when engine
@@ -1490,7 +1586,7 @@ else.  There might be text before point."
      (format "--interface=%s " ConTeXt-current-interface))
    (when TeX-source-correlate-mode
      (format "--passon=\"%s\" "
-            (if (eq TeX-source-correlate-method-active 'synctex)
+            (if (eq (TeX-source-correlate-method-active) 'synctex)
                 TeX-synctex-tex-flags
               TeX-source-specials-tex-flags)))
    (unless TeX-interactive-mode
@@ -1508,6 +1604,8 @@ else.  There might be text before point."
     ConTeXt-other-macro-list
     ConTeXt-project-structure-list
     ConTeXt-section-block-list
+    ConTeXt-numbered-section-list
+    ConTeXt-unnumbered-section-list
     ConTeXt-section-list
     ConTeXt-text
     ConTeXt-item-list
@@ -1651,7 +1749,7 @@ Special commands:
 
 Entering `context-mode' calls the value of `text-mode-hook',
 then the value of `TeX-mode-hook', and then the value
-of context-mode-hook."
+of ConTeXt-mode-hook."
   (interactive)
   (context-guess-current-interface)
   (require (intern (concat "context-" ConTeXt-current-interface)))
diff --git a/doc/Makefile.in b/doc/Makefile.in
index d2be29e..8507821 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -35,7 +35,21 @@ address@hidden@
 address@hidden@
 address@hidden@
 DESTDIR=
address@hidden@
+# If `texi2html' is not available, use `makeinfo' when possible.  Set the ToC
+# file accordingly.  Actually, makeinfo >= 5 is needed, but we don't check the
+# version.
+ifneq (@TEXI2HTML@,:)
+       address@hidden@
+       TEXI2HTML_TOC=auctex_toc.html
+else
+       ifneq (@MAKEINFO@,:)
+               address@hidden@ --html
+               TEXI2HTML_TOC=index.html
+       else
+               address@hidden@
+               TEXI2HTML_TOC=auctex_toc.html
+       endif
+endif
 address@hidden@
 address@hidden@
 MKINSTALLDIRS = ../mkinstalldirs
@@ -51,7 +65,8 @@ AUCTEXTEXIFILES = auctex.texi install.texi wininstall.texi 
intro.texi \
 PREVIEWTEXIFILES = copying.texi preview-faq.texi macros.texi \
        preview-dtxdoc.texi preview-latex.texi preview-problems.texi \
        preview-readme.texi preview-todo.texi version.texi
-DISTTEXTS = ../README ../INSTALL ../TODO ../INSTALL.windows ../FAQ ../CHANGES
+DISTTEXTS = ../README ../INSTALL ../TODO ../INSTALL.windows ../FAQ ../CHANGES  
\
+       ../PROBLEMS.preview
 
 all: dist
 
@@ -72,17 +87,17 @@ install-man:
 
 dist: $(DISTTEXTS) preview-latex.info auctex.info tex-ref.pdf
 
-extradist: html/auctex_toc.html auctex.ps auctex.pdf tex-ref.ps tex-ref.pdf
+extradist: html/$(TEXI2HTML_TOC) auctex.ps auctex.pdf tex-ref.ps tex-ref.pdf
 
 .PHONY: all info dvi dist install-auctex disttexts clean distclean \
        maintainer-clean install-preview install-man html-docs extradist
 
 # AUCTeX
 
-html/auctex_toc.html: auctex.texi
+html/$(TEXI2HTML_TOC): auctex.texi
        rm -rf html
        mkdir html
-       cd html && $(TEXI2HTML) -split_node -I .. ../auctex.texi && \
+       cd html && $(TEXI2HTML) --split=node -I .. ../auctex.texi && \
        test ! -d auctex || { mv auctex/* . && rm -rf auctex ; }
 
 tex-ref.dvi: tex-ref.tex
@@ -180,7 +195,7 @@ install-preview: preview-latex.info
        $(MAKEINFO) $(MAKEINFO_PLAIN) faq.texi --output $@
        $(MAKEINFO) $(MAKEINFO_PLAIN) --number-sections preview-faq.texi 
--output - >> $@
 
-../PROBLEMS: preview-problems.texi macros.texi
+../PROBLEMS.preview: preview-problems.texi macros.texi
        $(MAKEINFO) $(MAKEINFO_PLAIN) --number-sections preview-problems.texi 
--output $@
 
 # clean
diff --git a/doc/auctex.texi b/doc/auctex.texi
index 539a683..08bf8cf 100644
--- a/doc/auctex.texi
+++ b/doc/auctex.texi
@@ -12,7 +12,7 @@ This manual is for @AUCTeX{}
 (version @value{VERSION} from @value{UPDATED}),
 a sophisticated TeX environment for Emacs.
 
-Copyright @copyright{} 1992-1995, 2001, 2002, 2004-2012
+Copyright @copyright{} 1992-1995, 2001, 2002, 2004-2014
 Free Software Foundation, Inc.
 
 @quotation
@@ -81,8 +81,8 @@ reasons to despair.  You can continue to write @TeX{} and 
@LaTeX{}
 documents the way you are used to, and only start using the multiple
 features in small steps.  @AUCTeX{} is not monolithic, each feature
 described in this manual is useful by itself, but together they provide
-an environment where you will make very few @LaTeX{} errors, and makes it
-easy to find the errors that may slip through anyway.
+an environment where you will make very few @LaTeX{} errors, and makes
+it easy to find the errors that may slip through anyway.
 
 It is a good idea to make a printout of @AUCTeX{}'s reference card
 @file{tex-ref.tex} or one of its typeset versions.
@@ -163,6 +163,7 @@ Controlling Screen Display
 * Font Locking::                Font Locking
 * Folding::                     Folding Macros and Environments
 * Outline::                     Outlining the Document
+* Narrowing::                   Restricting display and editing to a portion 
of the buffer
 
 Font Locking
 
@@ -315,7 +316,7 @@ entering more specialized sorts of text, for formatting the 
source by
 indenting and filling and for navigating through the document.
 
 @menu
-* Quotes::                      Inserting double quotes
+* Quotes::                      Inserting quotes, dollars, and braces
 * Font Specifiers::             Inserting Font Specifiers
 * Sectioning::                  Inserting chapters, sections, etc.
 * Environments::                Inserting Environment Templates
@@ -397,31 +398,68 @@ language-specific ones.
 
 In @AUCTeX{}, dollar signs should match like they do in @TeX{}.  This
 has been partially implemented, we assume dollar signs always match
-within a paragraph.  The first @samp{$} you insert in a paragraph will
-do nothing special.  The second @samp{$} will match the first.  This
-will be indicated by moving the cursor temporarily over the first dollar
-sign.
+within a paragraph.  By default, the first @samp{$} you insert in a
+paragraph will do nothing special.  The second @samp{$} will match the
+first.  This will be indicated by moving the cursor temporarily over the
+first dollar sign.
 
 @deffn Command TeX-insert-dollar @var{arg}
 @kindex $
 (@kbd{$}) Insert dollar sign.
 
 Show matching dollar sign if this dollar sign end the @TeX{} math mode.
-Ensure double dollar signs match up correctly by inserting extra dollar
-signs when needed if @code{TeX-math-close-double-dollar} is non-nil.
 
 With optional @var{arg}, insert that many dollar signs.
 @end deffn
 
address@hidden TeX-math-close-double-dollar
-Control the insertion of double dollar signs for delimiting display
-math.  (Note that you should not use double dollar signs in @LaTeX{}
-because this practice can lead to wrong spacing in typeset documents.)
-If the variable is non-nil and you enter a dollar sign that matches a
-double dollar sign @samp{$$} @AUCTeX{} will automatically insert two
-dollar signs.
address@hidden and @LaTeX{} users often look for a way to insert inline
+equations like @samp{$...$} or @samp{\(...\)} simply typing @kbd{$}.
address@hidden helps them through the customizable variable
address@hidden
+
address@hidden TeX-electric-math
+If the variable is non-nil and you type @kbd{$} outside math mode,
address@hidden will automatically insert the opening and closing symbols for
+an inline equation and put the point between them.  The opening symbol
+will blink when @code{blink-matching-paren} is non-nil.  If
address@hidden is nil, typing @kbd{$} simply inserts @samp{$}
+at point, this is the default.
+
+Besides @code{nil}, possible values for this variable are @code{(cons
+"$" "$")} for @TeX{} inline equations @samp{$...$}, and @code{(cons
+"\\(" "\\)")} for @LaTeX{} inline equations @samp{\(...\)}.
+
+If the variable is non-nil and point is inside math mode right between a
+couple of single dollars, pressing @kbd{$} will insert another pair of
+dollar signs and leave the point between them.  Thus, if
address@hidden is set to @code{(cons "$" "$")} you can easily
+obtain a @TeX{} display equation @samp{$$...$$} by pressing @kbd{$}
+twice in a row.  (Note that you should not use double dollar signs in
address@hidden because this practice can lead to wrong spacing in typeset
+documents.)
+
+In addition, when the variable is non-nil and there is an active region
+outside math mode, typing @kbd{$} will put around the active region
+symbols for opening and closing inline equation and keep the region
+active, leaving point after the closing symbol.  By pressing repeatedly
address@hidden while the region is active you can toggle between an inline
+equation, a display equation, and no equation.  To be precise,
address@hidden is replaced by @samp{$$...$$}, whereas @samp{\(...\)} is
+replaced by @samp{\[...\]}.
 @end defopt
 
+If you want to automatically insert @samp{$...$} in plain @TeX{} files,
+and @samp{\(...\)} in @LaTeX{} files by pressing @kbd{$}, add the
+following to your init file
address@hidden
+(add-hook 'plain-TeX-mode-hook
+         (lambda () (set (make-variable-buffer-local 'TeX-electric-math)
+                         (cons "$" "$"))))
+(add-hook 'LaTeX-mode-hook
+         (lambda () (set (make-variable-buffer-local 'TeX-electric-math)
+                         (cons "\\(" "\\)"))))
address@hidden lisp
+
 @subheading Braces
 
 To avoid unbalanced braces, it is useful to insert them pairwise.  You
@@ -434,6 +472,110 @@ to type inside of them.  If there is an active region, 
put braces around
 it and leave point after the closing brace.
 @end deffn
 
+When writing complex math formulas in @LaTeX{} documents, you
+sometimes need to adjust the size of braces with pairs of macros like
address@hidden@samp{\right}, @address@hidden and so on.  You
+can avoid unbalanced pairs with the help of @code{TeX-insert-macro},
+bound to @kbd{C-c C-m} or @kbd{C-c @key{RET}} (@pxref{Completion}).
+If you insert left size adjusting macros such as @samp{\left},
address@hidden etc. with @code{TeX-insert-macro}, it asks for left brace
+to use and supplies automatically right size adjusting macros such as
address@hidden, @samp{\bigr} etc. and corresponding right brace in
+addtion to the intended left macro and left brace.
+
+The completion by @code{TeX-insert-macro} also applies when entering
+macros such as @samp{\langle}, @samp{\lfloor} and @samp{\lceil}, which
+produce the left part of the paired braces.  For example, inserting
address@hidden by @kbd{C-c C-m} is immediately followed by the
+insertion of @samp{\rfloor}.  In addition, if the point was located
+just after @samp{\left} or its friends, the corresponding
address@hidden etc. will be inserted in front of @samp{\rfloor}.
+In both cases, active region is honored.
+
+As a side effect, when @code{LaTeX-math-mode} (@pxref{Mathematics}) is
+on, just typing @kbd{`(} inserts not only @samp{\langle}, but also
address@hidden
+
+If you do not like such auto completion at all, it can be disabled by a
+user option.
+
address@hidden TeX-arg-right-insert-p
+If this option is turned off, the automatic supply of the right macros
+and braces is suppressed.
address@hidden defopt
+
+When you edit @LaTeX{} documents, you can enable automatic brace
+pairing when typing @kbd{(}, @address@hidden and @kbd{[}.
+
address@hidden LaTeX-electric-left-right-brace
+If this option is on, just typing @kbd{(}, @address@hidden or @kbd{[}
+immediately adds the corresponding right brace @samp{)}, @address@hidden or
address@hidden  The point is left after the opening brace.  If there is an
+active region, braces are put around it.
+
+They recognize the preceeding backslash or size adjusting macros such
+as @samp{\left}, @samp{\bigl} etc., so the following completions will
+occur:
address@hidden @bullet
+
address@hidden
+(when typing single left brace)
address@hidden @minus
+
address@hidden
address@hidden(} -> @samp{()}
+
address@hidden
address@hidden@{} -> @address@hidden@}}
+
address@hidden
address@hidden -> @samp{[]}
address@hidden itemize
+
address@hidden
+(when typing left brace just after a backslash)
address@hidden @minus
+
address@hidden
address@hidden(} -> @samp{\(\)}
+
address@hidden
address@hidden@{} -> @address@hidden@}}
+
address@hidden
address@hidden -> @samp{\[\]}
address@hidden itemize
+
address@hidden
+(when typing just after @samp{\left} or @samp{\bigl})
address@hidden @minus
+
address@hidden
address@hidden(} -> @samp{\left(\right)}
+
address@hidden
address@hidden -> @samp{\bigl[\bigr]}
address@hidden itemize
+
address@hidden
+(when typing just after @samp{\Bigl\})
address@hidden @minus
+
address@hidden
address@hidden@{} -> @address@hidden@}}
+
address@hidden itemize
+
address@hidden itemize
+
+This auto completion feature may be a bit annoying when editing an
+already existing @LaTeX{} document.  In that case, use @kbd{C-u 1} or
address@hidden before typing @kbd{(}, @address@hidden or @kbd{[}.  Then no
+completion is done and just a single left brace is inserted.  In fact,
+with optional prefix @var{arg}, just that many open braces are
+inserted without any completion.
address@hidden defopt
+
 @node Font Specifiers
 @section Inserting Font Specifiers
 
@@ -542,9 +684,9 @@ either: at the top of the document; the top level 
sectioning for that
 document style, and any other place: The same as the last occurring
 sectioning command.
 
-Next, you will be asked for the actual name of that section, and
-last you will be asked for a label to be associated with that section.
-The label will be prefixed by the value specified in
+Next, you will be asked for the actual name of that section, and last
+you will be asked for a label to be associated with that section.  The
+label will be prefixed by the value specified in
 @code{LaTeX-section-hook}.
 
 @deffn Command LaTeX-section @var{arg}
@@ -602,7 +744,8 @@ The following variables are set before the hooks are run
 
 @table @var
 @item level
-Numeric section level, default set by prefix arg to @code{LaTeX-section}.
+Numeric section level, default set by prefix arg to
address@hidden
 @item name
 Name of the sectioning command, derived from @var{level}.
 @item title
@@ -684,6 +827,9 @@ specific document.  This is achieved by examining your
 @samp{\documentclass} command, and consulting a precompiled list of
 environments available in a large number of styles.
 
+Most of these are described further in the following sections, and you
+may easily specify more.  @xref{Customizing Environments}.
+
 You insert an environment with @kbd{C-c C-e}, and select an environment
 type.  Depending on the environment, @AUCTeX{} may ask more questions
 about the optional parts of the selected environment type.  With
@@ -702,20 +848,70 @@ prefix argument), the current environment is modified and 
no new
 environment is inserted.
 @end deffn
 
address@hidden helps you adding labels to environments which use them, such
+as @samp{equation}, @samp{figure}, @samp{table}, address@hidden  When you
+insert one of the supported environments with @kbd{C-c C-e}, you will be
+automatically prompted for a label.  You can select the prefix to be
+used for such environments with the @code{LaTeX-label-alist} variable.
address@hidden LaTeX-label-alist
+List the prefixes to be used for the label of each supported
+environment.
+
+This is an alist whose car is the environment name, and the cdr either
+the prefix or a symbol referring to one.
+
+If the name is not found, or if the cdr is nil, no label is
+automatically inserted for that environment.
+
+If you want to automatically insert a label for a environment but with
+an empty prefix, use the empty string @code{""} as the cdr of the
+corresponding entry.
address@hidden defopt
+
 As a default selection, @AUCTeX{} will suggest the environment last
 inserted or, as the first choice the value of the variable
 @code{LaTeX-default-environment}.
 
 @defopt LaTeX-default-environment
 Default environment to insert when invoking @samp{LaTeX-environment}
-first time.
+first time.  When the current environment is @samp{document}, it is
+overriden by @code{LaTeX-default-document-environment}.
 @end defopt
 
address@hidden LaTeX-default-document-environment
+Default environment when invoking @samp{LaTeX-environment} and the
+current environment is @samp{document}.  It is intended to be used in
address@hidden class style files.  For example, in @file{beamer.el} it is set
+to @code{frame}, in @file{letter.el} to @code{letter}, and in
address@hidden to @code{slide}.
address@hidden defvar
+
 If the document is empty, or the cursor is placed at the top of the
-document, @AUCTeX{} will default to insert a `document' environment.
+document, @AUCTeX{} will default to insert a @samp{document} environment
+prompting also for the insertion of @samp{\documentclass} and
address@hidden macros.  You will be prompted for a new package until
+you enter nothing.  If you do not want to insert any @samp{\usepackage}
+at all, just press @key{RET} at the first @samp{Packages} prompt.
+
address@hidden distinguishes normal and expert environments.  By default, it
+will offer completion only for normal environments.  This behavior is
+controlled by the user option @code{TeX-complete-expert-commands}.
+
address@hidden TeX-complete-expert-commands
+Complete macros and environments marked as expert commands.
+
+Possible values are nil, t, or a list of style names.
+
address@hidden @asis
address@hidden nil
+Don't complete expert commands (default).
address@hidden t
+Always complete expert commands.
address@hidden (STYLES @dots{})
+Only complete expert commands of STYLES.
address@hidden table
address@hidden defopt
 
-Most of these are described further in the following sections, and you
-may easily specify more.  @xref{Customizing Environments}.
 
 @menu
 * Equations::                   Equations
@@ -733,6 +929,27 @@ that you use @kbd{C-c C-e} to insert complete environments 
instead.
 (@kbd{C-c ]}) Insert an @samp{\end} that matches the current environment.
 @end deffn
 
address@hidden offers keyboard shortcuts for moving point to the beginning
+and to the end of the current environment.
address@hidden Command LaTeX-find-matching-begin
address@hidden C-M-a
+(@kbd{C-M-a}) Move point to the @samp{\begin} of the current
+environment.
+
+If this command is called inside a comment and
address@hidden is enabled, try to find the environment
+in commented regions with the same comment prefix.
address@hidden deffn
+
address@hidden Command LaTeX-find-matching-end
address@hidden C-M-e
+(@kbd{C-M-e}) Move point to the @samp{\end} of the current environment.
+
+If this command is called inside a comment and
address@hidden is enabled, try to find the environment
+in commented regions with the same comment prefix.
address@hidden deffn
+
 @node Equations
 @subsection Equations
 @cindex Equations
@@ -834,8 +1051,14 @@ insert an appropriate @samp{\item} for the current 
environment. That is,
 `description' will have @samp{\item[]} inserted.
 @end deffn
 
address@hidden TeX-arg-item-label-p
+If non-nil, you will always be asked for optional label in items.
+Otherwise, you will be asked only in description environments.
address@hidden defopt
+
 @node Tabular-like
 @subsection Tabular-like Environments
address@hidden amsmath
 
 When inserting Tabular-like environments, that is, `tabular' `array'
 etc., you will be prompted for a template for that environment.
@@ -845,11 +1068,35 @@ Related variables:
 Default format string for array and tabular environments.
 @end defopt
 
address@hidden LaTeX-default-width
+Default width for minipage and tabular* environments.
address@hidden defopt
+
 @defopt LaTeX-default-position
 Default position string for array and tabular environments.  If nil,
 act like the empty string is given, but don't prompt for a position.
 @end defopt
 
address@hidden calculates the number of columns from the format string and
+inserts the suitable number of ampersands.
+
+You can use @kbd{C-c @key{LFD}} (@code{LaTeX-insert-item}) to terminate
+rows in these environments.  It supplies line break macro @samp{\\} and
+inserts the suitable number of ampersands on the next line.
+
address@hidden Command LaTeX-insert-item
address@hidden C-c @key{LFD}
+(@kbd{C-c @key{LFD}}) Close the current row with @samp{\\}, move to the
+next line and insert an appropriate number of ampersands for the current
+environment.
address@hidden deffn
+
+Similar supports are provided for various amsmath environments such as
address@hidden, @samp{gather}, @samp{alignat}, @samp{matrix} etc.  Try
+typing @kbd{C-c @key{LFD}} in these environments.  It recognizes the
+current environment and does the appropriate job depending on the
+context.
+
 @node Customizing Environments
 @subsection Customizing Environments
 
@@ -986,13 +1233,16 @@ Specifies whether @code{TeX-insert-macro} will ask for 
all optional
 arguments.
 
 If set to the symbol @code{show-optional-args}, @code{TeX-insert-macro}
-asks for optional arguments of @TeX{} macros.  If set to
address@hidden, @code{TeX-insert-macro} asks only for
-mandatory arguments.  When @code{TeX-insert-macro} is called with prefix
-argument (@kbd{C-u}), it's the other way round.
+asks for optional arguments of @TeX{} marcos, unless the previous
+optional argument has been rejected.  If set to
address@hidden, @code{TeX-insert-macro} asks for all
+optional arguments.  @code{mandatory-args-only}, @code{TeX-insert-macro}
+asks only for mandatory arguments.  When @code{TeX-insert-macro} is
+called with prefix argument (@kbd{C-u}), it's the other way round.
 
 Note that for some macros, there are special mechanisms, e.g.
address@hidden
address@hidden and
address@hidden
 
 @end defopt
 
@@ -1030,10 +1280,43 @@ This can be stopped by entering @code{LaTeX-math-mode},
 If non-nil, append a empty pair of braces after inserting a macro.
 @end defopt
 
address@hidden TeX-insert-braces-alist
+Control the insertion of a pair of braces after a macro on a per macro
+basis.
+
+This variable is an alist.  Each element is a cons cell, whose car is
+the macro name, and the cdr is non-nil or nil, depending on whether a
+pair of braces should be, respectively, appended or not to the macro.
+
+If a macro has an element in this variable, @code{TeX-parse-macro} will
+use its value to decided what to do, whatever the value of the variable
address@hidden
address@hidden defopt
+
 Completions work because @AUCTeX{} can analyze @TeX{} files, and store
 symbols in Emacs Lisp files for later retrieval.  @xref{Automatic}, for
 more information.
 
address@hidden distinguishes normal and expert macros.  By default, it will
+offer completion only for normal commands.  This behavior can be
+controlled using the user option @code{TeX-complete-expert-commands}.
+
address@hidden TeX-complete-expert-commands
+Complete macros and environments marked as expert commands.
+
+Possible values are nil, t, or a list of style names.
+
address@hidden @asis
address@hidden nil
+Don't complete expert commands (default).
address@hidden t
+Always complete expert commands.
address@hidden (STYLES @dots{})
+Only complete expert commands of STYLES.
address@hidden table
address@hidden defopt
+
+
 @cindex \cite, completion of
 @cindex address@hidden, completion
 @cindex cite, completion of
@@ -1462,7 +1745,7 @@ the line becomes overfull.
 @chapter Controlling Screen Display
 
 It is often desirable to get visual help of what markup code in a text
-actually does whithout having to decipher it explicitely.  For this
+actually does without having to decipher it explicitly.  For this
 purpose Emacs and @AUCTeX{} provide font locking (also known as syntax
 highlighting) which visually sets off markup code like macros or
 environments by using different colors or fonts.  For example text to be
@@ -1480,10 +1763,15 @@ for Emacs' outline mode which lets you narrow the 
buffer content to
 certain sections of your text by hiding the parts not belonging to these
 sections.
 
+Moreover, you can focus in a specific portion of the code by narrowing
+the buffer to the desired region.  @AUCTeX{} provides also functions to
+narrow the buffer to the current group and to @LaTeX{} environments.
+
 @menu
 * Font Locking::                Font Locking
 * Folding::                     Folding Macros and Environments
 * Outline::                     Outlining the Document
+* Narrowing::                   Restricting display and editing to a portion 
of the buffer
 @end menu
 
 @node Font Locking
@@ -1984,6 +2272,12 @@ forced fontification by customizing the variable
 @code{TeX-fold-force-fontify}.
 @end defopt
 
address@hidden TeX-fold-auto
+By default, a macro inserted with @code{TeX-insert-macro} (@kbd{C-c
+C-m}) will not be folded.  Set this variable to a non-nil value to
+aumatically fold macros as soon as they are inserted.
address@hidden defopt
+
 @defopt TeX-fold-preserve-comments
 By default items found in comments will be folded.  If your comments
 often contain unfinished code this might lead to problems.  Give this
@@ -1991,6 +2285,11 @@ variable a non-nil value and foldable items in your 
comments will be
 left alone.
 @end defopt
 
address@hidden TeX-fold-unfold-around-mark
+When this variable is non-nil and there is an active regione, text
+around the mark will be kept unfolded.
address@hidden defopt
+
 @deffn Command TeX-fold-region
 @kindex C-c C-o C-r
 (@kbd{C-c C-o C-r}) Hide all configured macros in the marked region.
@@ -2208,6 +2507,34 @@ You may want to check out the unbundled @file{out-xtra} 
package for even
 better outline support.  It is available from your favorite emacs lisp
 archive.
 
address@hidden Narrowing
address@hidden Narrowing
+
+Sometimes you want to focus your attention to a limited region of the
+code.  You can do that by restricting the text addressable by editing
+commands and hiding the rest of the buffer with the narrowing functions,
address@hidden,,,emacs,GNU Emacs Manual}.  In addition, AUCTeX
+provides a couple of other commands to narrow the buffer to a group,
+i.e. a region enclosed in a pair of curly braces, and to @LaTeX{}
+environments.
+
address@hidden Command TeX-narrow-to-group
address@hidden C-x n g
+(@kbd{C-x n g}) Make text outside current group invisible.
address@hidden deffn
+
address@hidden Command LaTeX-narrow-to-environment @var{count}
address@hidden C-x n e
+(@kbd{C-x n e}) Make text outside current environment invisible.  With
+optional argument @var{count} keep visible that number of enclosing
+environmens.
address@hidden deffn
+
+Like other standard narrowing functions, the above commands are
+disabled.  Attempting to use them asks for confirmation and gives you
+the option of enabling them; if you enable the commands, confirmation
+will no longer be required for them.
+
 @node Processing
 @chapter Starting Processors, Viewers and Other Programs
 
@@ -2420,11 +2747,18 @@ The default command to run in this buffer.  Must be an 
entry in
 
 @cindex Biber
 @cindex biblatex
address@hidden LaTeX-biblatex-use-Biber
-In case you use biblatex in a document, @AUCTeX{} switches from
address@hidden to Biber for bibliography processing.  In case you want to
-keep using address@hidden, set the variable @code{LaTeX-biblatex-use-Biber}
-to nil.
+In case you use biblatex in a document, when automatic parsing is
+enabled @AUCTeX{} checks the value of @samp{backend} option given to
+biblatex at load time to decide whether to use address@hidden or Biber for
+bibliography processing.  Should @AUCTeX{} fail to detect the right
+backend, you can use the file local @code{LaTeX-biblatex-use-Biber}
+variable.
address@hidden Variable LaTeX-biblatex-use-Biber
+If this boolean variable is set as file local, it tells to @AUCTeX{}
+whether to use Biber with biblatex.  In this case, the autodetection of
+the biblatex backend will be overridden.  You may want to set locally
+this variable if automatic parsing is not enabled.
address@hidden defvr
 
 After confirming a command to execute, @AUCTeX{} will try to save any
 buffers related to the document, and check if the document needs to be
@@ -2460,10 +2794,10 @@ address@hidden
 @cindex PDF mode
 (@kbd{C-c C-t C-p})
 This command toggles the @acronym{PDF} mode of @AUCTeX{}, a buffer-local
-minor mode.  You can customize @code{TeX-PDF-mode} to give it a
-different default.  The default is used when @AUCTeX{} does not have
-additional clue about what a document might want.  This option usually
-results in calling either address@hidden or ordinary @TeX{}.
+minor mode which is enabled by default.  You can customize
address@hidden to give it a different default or set it as a file
+local variable on a per-document basis.  This option usually results in
+calling either address@hidden or ordinary @TeX{}.
 @end deffn
 
 @defopt TeX-DVI-via-PDFTeX
@@ -2571,6 +2905,23 @@ command can either be a variable or a string.  An empty 
string or nil
 means there is no command available.
 @end defopt
 
+As shown above, @AUCTeX{} handles in a special way most of the main
+options that can be given to the @TeX{} processors.  When you need to
+pass to the @TeX{} processor arbitrary options not handled by @AUCTeX{},
+you can use the file local variable @code{TeX-command-extra-options}.
address@hidden TeX-command-extra-options
+String with the extra options to be given to the TeX processor.  For
+example, if you need to enable the shell escape feature to compile a
+document, add the following line to the list of local variables of the
+source file:
address@hidden
+%%% TeX-command-extra-options: "-shell-escape"
address@hidden example
+By default this option is not safe as a file-local variable because a
+specially crafted document compiled with shell escape enabled can be
+used for malicious purposes.
address@hidden defopt
+
 You can customize @AUCTeX{} to show the processor output as it is
 produced.
 
@@ -2735,7 +3086,33 @@ output) and address@hidden (any type of output).  If you 
want to make use of
 forward and inverse searching with source specials or address@hidden, switch
 on @code{TeX-source-correlate-mode}.  @xref{Processor Options}, on how
 to do that.  The use of the pdfsync package is detected automatically if
-document parsing is enabled.
+document parsing is enabled.  Customize the variable
address@hidden to select the method to use.
+
address@hidden TeX-source-correlate-method
+Method to use for enabling forward and inverse search.  This can be
address@hidden if source specials should be used, @samp{synctex}
+if SyncTeX should be used, or @samp{auto} if @AUCTeX{} should decide.
+
+When the variable is set to @samp{auto}, @AUCTeX{} will always use
+SyncTeX if your @code{latex} processor supports it, source specials
+otherwise.  You must make sure your viewer supports the same method.
+
+It is also possible to specify a different method depending on the
+output, either DVI or PDF, by setting the variable to an alist of the
+kind
address@hidden
+((dvi . <source-specials or synctex>)
+ (pdf . <source-specials or synctex>))
address@hidden lisp
+in which the CDR of each entry is a symbol specifying the method to be
+used in the corresponding mode.  The default value of the variable is
address@hidden
+((dvi . source-specials)
+ (pdf . synctex))
address@hidden lisp
+which is compatible with the majority of viewers.
address@hidden defopt
 
 @findex TeX-view
 Forward search happens automatically upon calling the viewer, e.g. by
@@ -2781,14 +3158,44 @@ to do exactly.  In xdvi you normally have to use 
@kbd{C-down-mouse-1}.
 Once you've formatted your document you may `debug' it, i.e. browse
 through the errors (La)@TeX{} reported.
 
address@hidden Command TeX-next-error
address@hidden Command TeX-next-error @var{arg} @var{reparse}
 @kindex C-c `
 (@kbd{C-c `})  Go to the next error reported by @TeX{}.  The view will
 be split in two, with the cursor placed as close as possible to the
 error in the top view.  In the bottom view, the error message will be
 displayed along with some explanatory text.
+
+An optional numeric @var{arg}, positive or negative, specifies how many
+error messages to move.  A negative @var{arg} means to move back to
+previous error messages, see also @code{TeX-previous-error}.
+
+The optional @var{reparse} argument makes @AUCTeX{} reparse the error
+message buffer and start the debugging from the first error.  This can
+also be achieved by calling the function with a prefix argument
+(@kbd{C-u}).
address@hidden deffn
+
address@hidden Command TeX-previous-error @var{arg}
address@hidden M-g p
+(@kbd{M-g p}) Go to the previous error reported by @TeX{}.  An optional
+numeric @var{arg} specifies how many error messages to move backward.
+This is like calling @code{TeX-next-error} with a negative argument.
 @end deffn
 
+The command @code{TeX-previous-error} works only if @AUCTeX{} can parse
+the whole @TeX{} log buffer.  This is controlled by the
address@hidden variable.
+
address@hidden TeX-parse-all-errors
+If t, @AUCTeX{} automatically parses the whole output log buffer right
+after running a @TeX{} command, in order to collect all warnings and
+errors.  This makes it possible to navigate back and forth between the
+error messages using @code{TeX-next-error} and
address@hidden  This is the default.  If nil, @AUCTeX{} does
+not parse the whole output log buffer and @code{TeX-previous-error}
+cannot be used.
address@hidden defopt
+
 Normally @AUCTeX{} will only report real errors, but you may as well
 ask it to report `bad boxes' and warnings as well.
 
@@ -2816,6 +3223,45 @@ terse information about the error is displayed in the 
echo area.  If
 @TeX{} output.
 @end defopt
 
+When the option @code{TeX-parse-all-errors} is non-nil, you will be also
+able to open an overview of all errors and warnings reported by the TeX
+compiler.  This feature requires @code{tabulated-list-mode}, shipped
+with GNU Emacs 24 or later.
+
address@hidden Command TeX-error-overview
+Show an overview of the errors and warnings occurred in the last TeX
+run.
+
+In this window you can visit the error on which point is on by pressing
address@hidden, and visit the next or previous issue by pressing @key{n} or
address@hidden respectively.  A prefix argument to these keys specifies how
+many errors to move forward or backward.  You can visit an error also by
+clicking on its message.  Press @key{q} to quit the overview.
address@hidden deffn
+
address@hidden TeX-error-overview-open-after-TeX-run
+When this boolean variable is non-nil, the error overview will be
+automatically opened after running TeX if there are errors or warnings
+to show.
address@hidden defopt
+
+The error overview is opened in a new window of the current frame by
+default, but you can change this behavior by customizing the option
address@hidden
+
address@hidden TeX-error-overview-setup
+Controls the frame setup of the error overview.  The possible value is:
address@hidden; with a nil value the current frame is used
+instead.
+
+The parameters of the separate frame can be set with the
address@hidden option.
+
+If the display does not support multi frame, the current frame
+will be used regardless of the value of this variable.
address@hidden TeX-error-overview-frame-parameters
address@hidden defopt
+
 @node Checking
 @section Checking for problems
 @cindex Checking
@@ -2829,23 +3275,22 @@ terse information about the error is displayed in the 
echo area.  If
 
 Running @TeX{} or @LaTeX{} will only find regular errors in the
 document, not examples of bad style.  Furthermore, description of the
-errors may often be confusing.  The utility @code{lacheck} can be used
-to find style errors, such as forgetting to escape the space after an
-abbreviation or using @samp{...} instead of @samp{\ldots} and many other
-problems like that.  You start @code{lacheck} with @kbd{C-c C-c Check
+errors may often be confusing.  The utilities @code{lacheck} and
address@hidden can be used to find style errors, such as forgetting to
+escape the space after an abbreviation or using @samp{...} instead of
address@hidden and other similar problems.  You start @code{lacheck} with
address@hidden C-c Check @key{RET}} and @code{chktex} with @kbd{C-c C-c ChkTeX
 @key{RET}}.  The result will be a list of errors in the
 @samp{*compilation*} buffer.  You can go through the errors with
 @kbd{C-x `} (@code{next-error}, @pxref{Compilation,,,emacs,The Emacs
 Editor}), which will move point to the location of the next error.
 
-Another newer program which can be used to find errors is @code{chktex}.
-It is much more configurable than @code{lacheck}, but doesn't find all
-the problems @code{lacheck} does, at least in its default configuration.
-You must install the programs before using them, and for @code{chktex}
-you may also need modify @code{TeX-command-list} unless you use its
address@hidden compatibility wrapper.  You can get @code{lacheck} from
address@hidden<URL:ftp://ftp.ctan.org/tex-archive/support/lacheck/>} or
-alternatively @code{chktex} from
+Each of the two utilities will find some errors the other doesn't, but
address@hidden is more configurable, allowing you to create your own
+errors.  You may need to install the programs before using them.  You
+can get @code{lacheck} from
address@hidden<URL:ftp://ftp.ctan.org/tex-archive/support/lacheck/>} and
address@hidden from
 @file{<URL:ftp://ftp.ctan.org/tex-archive/support/chktex/>}.
 
 @node Control
@@ -2975,6 +3420,18 @@ functions and hooks.
 @item Texinfo      @tab @code{Texinfo-mode}   @tab @code{Texinfo-mode-hook}
 @item address@hidden    @tab @code{docTeX-mode}    @tab @code{docTeX-mode-hook}
 @end multitable
address@hidden plain-TeX-mode
address@hidden plain-TeX-mode-hook
address@hidden LaTeX-mode
address@hidden LaTeX-mode-hook
address@hidden AmS-TeX-mode
address@hidden AmS-TeX-mode-hook
address@hidden ConTeXt-mode
address@hidden ConTeXt-mode-hook
address@hidden Texinfo-mode
address@hidden Texinfo-mode-hook
address@hidden docTeX-mode
address@hidden docTeX-mode-hook
 
 If you need to make a customization via a hook which is only relevant
 for one of the modes listed above, put it into the respective mode hook,
@@ -3233,6 +3690,30 @@ Only parse @LaTeX{} class and packages.
 Only parse @LaTeX{} labels.
 @end defvr
 
address@hidden Constant LaTeX-auto-index-regexp-list
+Only parse @LaTeX{} index and glossary entries.
address@hidden defvr
+
address@hidden Constant LaTeX-auto-class-regexp-list
+Only parse macros in @LaTeX{} classes and packages.
address@hidden defvr
+
address@hidden Constant LaTeX-auto-pagestyle-regexp-list
+Only parse @LaTeX{} pagestyles.
address@hidden defvr
+
address@hidden Constant LaTeX-auto-counter-regexp-list
+Only parse @LaTeX{} counters.
address@hidden defvr
+
address@hidden Constant LaTeX-auto-length-regexp-list
+Only parse @LaTeX{} lengths.
address@hidden defvr
+
address@hidden Constant LaTeX-auto-savebox-regexp-list
+Only parse @LaTeX{} saveboxes.
address@hidden defvr
+
 @defvr Constant LaTeX-auto-regexp-list
 Parse common @LaTeX{} commands.
 @end defvr
@@ -3364,6 +3845,7 @@ The following style files are recognized:
 @vindex TeX-language-bg-hook
 @vindex TeX-language-cz-hook
 @vindex TeX-language-dk-hook
address@hidden TeX-language-en-hook
 @vindex TeX-language-nl-hook
 @vindex TeX-language-de-hook
 @vindex TeX-language-it-hook
@@ -3376,6 +3858,7 @@ The following style files are recognized:
 @cindex Italian
 @cindex Danish
 @cindex Dutch
address@hidden English
 @cindex German
 @cindex Polish
 @cindex Slovak
@@ -3404,13 +3887,8 @@ in the composing words.
 @item dutch
 Runs style hook @code{TeX-language-nl-hook}.
 
address@hidden german
address@hidden ngerman
-Runs style hook @code{TeX-language-de-hook}.  Gives @samp{"} word
-syntax, makes the @key{"} key insert a literal @samp{"}.  Pressing the
-key twice will give you opening or closing German quotes (@samp{"`} or
address@hidden"'}).  Typing @key{-} twice will insert @samp{"=}, three times
address@hidden
address@hidden english
+Runs style hook @code{TeX-language-en-hook}.
 
 @item frenchb
 @itemx francais
@@ -3419,6 +3897,14 @@ insert @samp{\\og} and @samp{\\fg} depending on context. 
 Note that the
 language name for customizing @code{TeX-quote-language-alist} is
 @samp{french}.
 
address@hidden german
address@hidden ngerman
+Runs style hook @code{TeX-language-de-hook}.  Gives @samp{"} word
+syntax, makes the @key{"} key insert a literal @samp{"}.  Pressing the
+key twice will give you opening or closing German quotes (@samp{"`} or
address@hidden"'}).  Typing @key{-} twice will insert @samp{"=}, three times
address@hidden
+
 @item icelandic
 Runs style hook @code{TeX-language-is-hook}.  Gives @samp{"} word
 syntax, makes the @key{"} key insert a literal @samp{"}.  Typing @key{"}
@@ -3783,7 +4269,8 @@ Here is a simple example of a style file.
 (TeX-add-style-hook
  "book"
  (lambda () 
-   (LaTeX-largest-level-set "chapter")))
+   (LaTeX-largest-level-set "chapter"))
+ LaTeX-dialect)
 @end lisp
 
 The example is from the @AUCTeX{} sources and is loaded for any @LaTeX{}
@@ -3802,11 +4289,59 @@ hooks will be called for each buffer using the style 
file.
 Note that the basename of the style file and the name of the style hook
 should usually be identical.
 
address@hidden TeX-add-style-hook @var{style} @var{hook}
address@hidden TeX-add-style-hook @var{style} @var{hook} &optional 
@var{dialect-expr}
 Add @var{hook} to the list of functions to run when we use the @TeX{}
-file @var{style}.
+file @var{style} and the current dialect is one in the set derived from
address@hidden When @var{dialect-expr} is omitted, then @var{hook}
+is allowed to be run whatever the current dialect is.
+
address@hidden may be one of:
+
address@hidden
address@hidden
+A symbol indicating a singleton containing one basic @TeX{} dialect,
+this symbol shall be selected among:
address@hidden @code
address@hidden :latex
+For all files in @LaTeX{} mode, or any mode derived thereof
address@hidden :bibtex
+For all files in address@hidden mode, or any mode derived thereof
address@hidden :texinfo
+For all files in @acronym{Texinfo} mode.
address@hidden table
address@hidden
+A logical expression like:
address@hidden @code
address@hidden (or @var{dialect-expression1} @dots{} @address@hidden)
+For union of the sets of dialects corresponding to  @var{dialect-expression1}
+through @address@hidden
address@hidden (and @var{dialect-expression1} @dots{} @address@hidden)
+For intersection of the sets of dialects corresponding to
address@hidden through @address@hidden
address@hidden (nor @var{dialect-expression1} @dots{} @address@hidden)
+For complement of the union sets of dialects corresponding to
address@hidden through @address@hidden
+relatively to the set of all supported dialects
address@hidden (not @var{dialect-expr})
+For complement set of dialect corresponding to @var{dialect-expr}
+relatively to the set of all supported dialects
address@hidden table
address@hidden itemize
+
 @end defun
 
+In case of adding a style hook for @LaTeX{}, when calling function
address@hidden it is thought more futureproof for argument
address@hidden to pass constant @code{LaTeX-dialect} currently
+defined to @code{:latex}, rather than passing @code{:latex} directly.
+
address@hidden Constant LaTeX-dialect
+Default dialect for use with function @code{TeX-add-style-hook} for
+argument @var{dialect-expr} when the hook is to be run only on LaTeX
+file, or any mode derived thereof.
address@hidden defvr
+
+
 @node Adding Macros
 @subsection Adding Support for Macros
 @cindex Adding macros
@@ -3826,7 +4361,7 @@ Here are a few examples from @file{latex.el}.
    (TeX-add-symbols
     '("arabic" TeX-arg-counter)
     '("label" TeX-arg-define-label)
-    '("ref" TeX-arg-label)
+    '("ref" TeX-arg-ref)
     '("newcommand" TeX-arg-define-macro [ "Number of arguments" ] t)
     '("newtheorem" TeX-arg-define-environment
       [ TeX-arg-environment "Numbered like" ]
@@ -3855,7 +4390,7 @@ Thus, to overwrite
 @end example
 you can specify
 @example
-       '("tref" TeX-arg-label ignore) ; two arguments
+       '("tref" TeX-arg-ref ignore) ; two arguments
 @end example
 
 @code{ignore} is a function that does not do anything, so when you
@@ -3917,27 +4452,64 @@ Parse its arguments but use no braces when they are 
inserted.
 Evaluate arguments and insert the result in the buffer.
 
 @item TeX-arg-label
-Prompt for a label completing with known labels.
+Prompt for a label completing with known labels.  If address@hidden is
+active, prompt for the reference format.
+
address@hidden TeX-arg-ref
+Prompt for a label completing with known labels.  If address@hidden is
+active, do not prompt for the reference format.  Usually, reference
+macros should use this function instead of @code{TeX-arg-label}.
+
address@hidden TeX-arg-index-tag
+Prompt for an index tag.  This is the name of an index, not the entry.
+
address@hidden TeX-arg-index
+Prompt for an index entry completing with known entries.
+
address@hidden TeX-arg-length
+Prompt for a @LaTeX{} length completing with known lengths.
 
 @item TeX-arg-macro
 Prompt for a @TeX{} macro with completion.
 
address@hidden TeX-arg-date
address@hidden TeX-date-format
+Prompt for a date, defaulting to the current date.  The format of the
+date is specified by the @code{TeX-date-format} option.  If you want to
+change the format when the @samp{babel} package is loaded with a
+specific language, set @code{TeX-date-format} inside the appropriate
+language hook, for details @pxref{European}.
+
address@hidden TeX-arg-version
+Prompt for the version of a file, using as initial input the current
+date.
+
 @item TeX-arg-environment
 Prompt for a @LaTeX{} environment with completion.
 
 @item TeX-arg-cite
-Prompt for a address@hidden citation.
address@hidden TeX-arg-cite-note-p
+Prompt for a address@hidden citation.  If the variable
address@hidden is non-nil, ask also for optional note in citations.
 
 @item TeX-arg-counter
-Prompt for a @LaTeX{} counter.
+Prompt for a @LaTeX{} counter completing with known counters.
 
 @item TeX-arg-savebox
-Prompt for a @LaTeX{} savebox.
+Prompt for a @LaTeX{} savebox completing with known saveboxes.
 
 @item TeX-arg-file
 Prompt for a filename in the current directory, and use it without the
 extension.
 
address@hidden TeX-arg-file-name
+Prompt for a filename and use as initial input the name of the file
+being visited in the current buffer, with extension.
+
address@hidden TeX-arg-file-name-sans-extension
+Prompt for a filename and use as initial input the name of the file
+being visited in the current buffer, without extension.
+
 @item TeX-arg-input-file
 @vindex TeX-arg-input-file-search
 Prompt for the name of an input file in @TeX{}'s search path, and use it
@@ -3949,6 +4521,11 @@ be controlled by the variable 
@code{TeX-arg-input-file-search}.)
 Prompt for a label completing with known labels.  Add label to list of
 defined labels.
 
address@hidden TeX-arg-define-length
+Prompt for a @LaTeX{} length completing with known lengths.  Add length
+to list of defined lengths.
+
+
 @item TeX-arg-define-macro
 Prompt for a @TeX{} macro with completion.  Add macro to list of defined
 macros.
@@ -3966,6 +4543,34 @@ Prompt for a @LaTeX{} counter.
 @item TeX-arg-define-savebox
 Prompt for a @LaTeX{} savebox.
 
address@hidden TeX-arg-document
address@hidden LaTeX-default-style
address@hidden LaTeX-default-options
address@hidden TeX-arg-input-file-search
address@hidden LaTeX-style-list
+Prompt for a @LaTeX{} document class, using @code{LaTeX-default-style}
+as default value and @code{LaTeX-default-options} as default list of
+options.  If the variable @code{TeX-arg-input-file-search} is t, you
+will be able to complete with all @LaTeX{} classes available on your
+system, otherwise classes listed in the variable @code{LaTeX-style-list}
+will be used for completion.  It is also provided completion for options
+of many common classes.
+
address@hidden LaTeX-arg-usepackage
address@hidden TeX-arg-input-file-search
+Prompt for @LaTeX{} packages.  If the variable
address@hidden is t, you will be able to complete with
+all @LaTeX{} packages available on your system.  It is also provided
+completion for options of many common packages.
+
address@hidden TeX-arg-bibstyle
+Prompt for a address@hidden style file completing with all style available on
+your system.
+
address@hidden TeX-arg-bibliography
+Prompt for BibTeX database files completing with all databases available
+on your system.
+
 @item TeX-arg-corner
 Prompt for a @LaTeX{} side or corner position with completion.
 
@@ -3990,6 +4595,18 @@ Insert width and height as a pair.  No arguments.
 
 @item TeX-arg-coordinate
 Insert x and y coordinates as a pair.  No arguments.
+
address@hidden LaTeX-arg-author
address@hidden LaTeX-default-author
+Prompt for document author, using @code{LaTeX-default-author} as initial
+input.
+
address@hidden TeX-read-key-val
+Prompt for a key=value list of options and return them.
+
address@hidden TeX-arg-key-val
+Prompt for a key=value list of options and insert it as a @TeX{} macro
+argument.
 @end ftable
 
 If you add new hooks, you can assume that point is placed directly after
@@ -3999,6 +4616,17 @@ inserting.  If you want point to be located somewhere 
else after all
 hooks have been processed, set the value of @code{exit-mark}.  It will
 point nowhere, until the argument hook sets it.
 
+Some packages provide macros that are rarely useful to non-expert users.
+Those should be marked as expert macros using
address@hidden
+
address@hidden TeX-declare-expert-macros @var{style} @var{macros}...
+Declare MACROS as expert macros of STYLE.
+
+Expert macros are completed depending on `TeX-complete-expert-commands'.
address@hidden defun
+
+
 @node Adding Environments
 @subsection Adding Support for Environments
 @cindex Adding environments
@@ -4132,11 +4760,22 @@ an optional argument of the @samp{lstlisting} 
environment:
 
 @lisp
 (LaTeX-add-environments
- `("lstlisting" LaTeX-env-args
-   [TeX-arg-key-val ,LaTeX-listings-key-val-options]))
+ '("lstlisting" LaTeX-env-args
+   [TeX-arg-key-val LaTeX-listings-key-val-options]))
 @end lisp
 @end ftable
 
+Some packages provide environments that are rarely useful to non-expert
+users.  Those should be marked as expert environments using
address@hidden
+
address@hidden LaTeX-declare-expert-environments @var{style} 
@var{ENVIRONMENTS}...
+Declare ENVIRONMENTS as expert environments of STYLE.
+
+Expert environments are completed depending on `TeX-complete-expert-commands'.
address@hidden defun
+
+
 @node Adding Other
 @subsection Adding Other Information
 @cindex Adding bibliographies
@@ -4551,3 +5190,8 @@ used by @AUCTeX{} for sectioning.
 @printindex cp
 
 @bye
+
address@hidden Local Variables:
address@hidden mode: texinfo
address@hidden TeX-master: t
address@hidden End:
diff --git a/doc/changes.texi b/doc/changes.texi
index 6495401..056177e 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -1,5 +1,6 @@
 @c This is part of the AUCTeX manual.
address@hidden Copyright (C) 1994-2002, 2004-2010, 2012 Free Software 
Foundation, Inc.
address@hidden Copyright (C) 1994-2002, 2004-2010, 2012-2014 Free Software
address@hidden Foundation, Inc.
 @c See file auctex.texi for copying conditions.
 @include macros.texi
 @ifset rawfile
@@ -7,6 +8,137 @@
 
 @end ifset
 
address@hidden News in 11.88
+
address@hidden @bullet
address@hidden
address@hidden is now enabled by default.
+
address@hidden
+Now @code{TeX-previous-error} works with @TeX{} commands if the new
+option @code{TeX-parse-all-errors} is non-nil, which is the default.
+When this option is non-nil, an overview of errors and warnings reported
+by the TeX compiler can be opened with @kbd{M-x TeX-error-overview
address@hidden
address@hidden rawfile
address@hidden, for details.
address@hidden ifclear
+
address@hidden
+Style file authors are encouraged to distinguish common from expert
+macros and environments, and mark the latter using
address@hidden and
address@hidden
+
+Users can then restrict completion using
address@hidden
+
address@hidden
+Management of @LaTeX{} package options in the parser was improved.  You
+might need to reparse your documents, especially if you loaded the
address@hidden package with language options.
+
address@hidden
+Now you can insert @samp{$...$} or @samp{\(...\)} by typing a single
address@hidden  To do this, customize the new option @samp{TeX-electric-math}.
address@hidden was removed.
address@hidden rawfile
address@hidden, for details.
address@hidden ifclear
+
address@hidden
address@hidden @key{RET} documentclass @key{RET}} completes with all available
address@hidden classes, if the @code{TeX-arg-input-file-search} variable is
+non-nil.  Completion for class options of the standard @LaTeX{} classes
+is provided as well.
+
address@hidden
+New user options @code{LaTeX-default-author},
address@hidden,
address@hidden, @code{TeX-date-format}, and
address@hidden  A new possible value
+(@code{show-all-optional-args}) for
address@hidden was added.  The default value of
address@hidden has been changed.
+
address@hidden
address@hidden support was greatly expanded.  If parsing is enabled,
address@hidden looks at @samp{backend} option to decide whether to use Biber
+or BibTeX.  The @code{LaTeX-biblatex-use-Biber} variable was changed to
+be file local only and is no more customizable.
+
address@hidden
+With some @LaTeX{} classes, the default environment suggested by
address@hidden (@kbd{C-c C-e}) when the current environment is
address@hidden was changed.  With @samp{beamer} class the default
+environment is @samp{frame}, with @samp{letter} it is @samp{letter},
+with @samp{slides} it is @samp{slide}.
+
address@hidden
+Brace pairing feature was enhanced in @LaTeX{} documents.  Support for
address@hidden, @samp{\Bigl}, @samp{\biggl} and @samp{\Biggl}, the same
+as the one for @samp{\left}, was added to @code{TeX-insert-macro}.
+For example, @kbd{C-c @key{RET} bigl @key{RET} ( @key{RET}} inserts
address@hidden(\bigr)}.
+
+You can insert brace pair @samp{()}, @address@hidden@}} and @samp{[]} by typing
+a single left brace if the new user option
address@hidden is enabled.
+
+Macros @samp{\langle}, @samp{\lfloor} and @samp{\lceil}, which produce
+the left part of the paired braces, are treated similarly as @samp{(},
address@hidden@{} and @samp{[} during the course of @code{TeX-insert-macro}.
address@hidden rawfile
address@hidden, for details.
address@hidden ifclear
+
address@hidden
+Support for dozens of @LaTeX{} packages was added.
+
address@hidden
+Tabular-like environments (tabular, tabular*, tabularx, tabulary, array,
+align, ...) are indented in a nicer and more informative way when the
+column values of a table line are written across multiple lines in the
+tex file.
+
address@hidden
+The suitable number of ampersands are inserted when you insert array,
+tabular and tabular* environments with @kbd{C-c C-e}.  Similar
+experience is obtained if you terminate rows in these environments with
address@hidden @key{LFD}}.  It supplies line break macro @samp{\\} and inserts
+the suitable number of ampersands on the next line.
+
+Similar supports are provided for various amsmath environments.
+
address@hidden rawfile
address@hidden, for details.
address@hidden ifclear
+
address@hidden
+Commands for narrowing to a group (@code{TeX-narrow-to-group}) and to
address@hidden environments (@code{LaTeX-narrow-to-environment}) were added.
+
address@hidden
+Now arbitrary options can be passed to the @TeX{} processor on a
+per file basis using the @code{TeX-command-extra-options} option.
address@hidden rawfile
address@hidden Options}, for details.
address@hidden ifclear
+
address@hidden
+Now @kbd{C-c C-e document @key{RET}}, in an empty document, prompts for
address@hidden macros in addition to @samp{\documentclass}.
+
address@hidden
address@hidden has now a third argument to tell AUCTeX for
+which dialect (LaTeX, Texinfo or BibTeX) the style hook is
+registers. Labelling style hook by dialect will avoid applying them not
+in the right context.
+
address@hidden
+There have been lots of bug fixes and feature additions.
address@hidden itemize
+
 @heading News since 11.87
 
 @itemize @bullet
@@ -829,3 +961,8 @@ Added by David Kastrup <David.Kastrup@@t-online.de>.
 @item
 Bug fixes.
 @end itemize
+
address@hidden Local Variables:
address@hidden mode: texinfo
address@hidden TeX-master: "auctex"
address@hidden End:
diff --git a/doc/install.texi b/doc/install.texi
index dd3eb5e..24fda96 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -125,14 +125,7 @@ The default configuration of @AUCTeX{} is tailored for 
address@hidden or
 
 This is needed for operation of @previewlatex{} in both @acronym{DVI}
 and @acronym{PDF} mode.  Most versions of Ghostscript nowadays in use
-should work fine (version 7.0 and newer).  If you encounter problems,
-check
address@hidden rawfile
-the @file{PROBLEMS} file.
address@hidden ifset
address@hidden rawfile
address@hidden with Ghostscript,,,preview-latex,the @previewlatex{} manual}.
address@hidden ifclear
+should work fine (version 7.0 and newer).
 
 @item The @code{texinfo} package
 
@@ -161,9 +154,9 @@ various files will be.  To do so, run
 ./configure @var{options}
 @end example
 
-(Note: if you have fetched @AUCTeX{} from @acronym{CVS} rather than
+(Note: if you have fetched @AUCTeX{} from @acronym{Git} rather than
 a regular release, you will have to first follow the instructions in
address@hidden).
address@hidden).
 
 On many machines, you will not need to specify any options, but if
 @command{configure} cannot determine something on its own, you'll need to
diff --git a/doc/preview-problems.texi b/doc/preview-problems.texi
index a039351..d01ca8e 100644
--- a/doc/preview-problems.texi
+++ b/doc/preview-problems.texi
@@ -3,7 +3,7 @@
 @c documentencoding is used by makeinfo in our --no-headers output.
 @documentencoding ISO-8859-1
 @node Known problems,,(dir),(dir)
address@hidden Known problems
address@hidden Known problems with preview-latex
 
 @end ifset
 @c -----------------------
@@ -15,9 +15,7 @@ other software. Some of the known problems can be solved by 
moving to
 newer versions of the problematic software or by simple patches.
 
 @menu
-* Problems with Ghostscript::   
 * Font problems with Dvips::    
-* Emacs problems::              
 * Too small bounding boxes::    
 * x-symbol interoperation::     
 * Middle-clicks paste instead of toggling::  
@@ -30,61 +28,15 @@ information interesting to us and send it to the
 if at all possible.
 
 @ifset rawfile
address@hidden Problems with Ghostscript
address@hidden Problems with Ghostscript
address@hidden Font problems with Dvips
address@hidden Font problems with Dvips
 @raisesections
 @end ifset
 @ifclear rawfile
address@hidden Problems with Ghostscript
address@hidden Problems with Ghostscript
address@hidden ifclear
-
-Most of the problems encountered come from interaction with Ghostscript.
-It is a good idea to have a fairly recent version of Ghostscript
-installed.  One problem occurs if you have specified the wrong
-executable under Windows: the command line version of Ghostscript is
-called @file{GSWIN32C.EXE}, not @file{GSWIN32.EXE}.
-
-When Ghostscript fails, the necessary information and messages from
-Ghostscript go somewhere.  If Ghostscript fails before starting to
-process images, you'll find the information at the end of the process
-buffer you can see with @kbd{C-c C-l}.  If Ghostscript fails while
-processing a particular image, this image will be tagged with clickable
-buttons for the error description and for the corresponding source file.
-
-The default options configurable with
-
address@hidden
address@hidden customize-variable @key{RET} preview-gs-options @key{RET}}
address@hidden display
address@hidden preview-gs-options
address@hidden
-include the options @option{-dTextAlphaBits=4} and
address@hidden  These options have been reported to
-make Ghostscript 5.50 fail, but should work under Ghostscript 6.51 and
-later.  If you are experiencing problems, it might help to customize
-them away.  Of course, this also takes away the joy of antialiasing, so
-upgrading Ghostscript might not be the worst idea after all.
-
-The device names have changed over time, so when using an old
-Ghostscript, you may have problems with the devices demanded by the
-customizable variable @code{preview-image-creators}.
address@hidden preview-image-creators
-In that case, make sure they fit your version of Ghostscript, at least
-the entry corresponding to the current value of
address@hidden
address@hidden preview-image-type
-While not being best in file size and image quality, setting
address@hidden to @code{jpeg} should probably be one of
-the best bets for the purpose of checking basic operation, since that
-device name has not changed in quite some time.  But @acronym{JPEG} is
-not intended for text, but for photographic images.  On a more
-permanent time scale, the best choice is to use @acronym{PNG} and
-complain to your suppliers if either Emacs or Ghostscript fail to
-properly accommodate this format.
-
 @node Font problems with Dvips
 @section Font problems with Dvips
address@hidden ifclear
+
 Some fonts have been reported to produce wrong characters with
 @previewlatex{}.  @previewlatex{} calls Dvips by default with the option
 @option{-Pwww} in order to get scalable fonts for nice results.  If you
@@ -111,56 +63,6 @@ rendered as @address@hidden (British Pounds sign) in 
several fonts,
 unless your version of Dvips has a long-standing bug in its
 implementation fixed (only very recent versions of Dvips have).
 
address@hidden Emacs problems
address@hidden Emacs problems
-
address@hidden @bullet
address@hidden GNU Emacs versions
-
-Don't use Emacsen older than 21.3 on X11-based systems.  On most other
-systems, you'll need at least @w{Emacs 22.1} or one of the developer
-versions leading up to it.  Details can be found in
address@hidden rawfile
-in the @file{INSTALL} file.
address@hidden ifset
address@hidden rawfile
address@hidden,,,auctex,the @AUCTeX{} manual}.
address@hidden ifclear
-
address@hidden Emacsen on Windows operating systems
-
-For @w{Emacs 21}, no image support is available in Emacs under Windows.
-Without images, @previewlatex{} is useless.  The current @acronym{CVS}
-version of Emacs available from
address@hidden://savannah.gnu.org/projects/emacs} now supports images
-including the @acronym{PNG} format, so @w{Emacs 22} should work out of
-the box once it is released.  Precompiled versions are available from
address@hidden://crasseux.com/emacs} and @uref{http://nqmacs.sf.net}.
-
-For detailed installation instructions for Windows, see
address@hidden rawfile
-the file @file{INSTALL.windows}
address@hidden ifset
address@hidden rawfile
address@hidden under MS Windows,,,auctex,the @AUCTeX{} manual}.
address@hidden ifclear
-
address@hidden XEmacs
-
-There is are two larger problems known with older XEmacs releases.  One
-leads to seriously mispositioned baselines and previews hanging far
-above other text on the same line.  This should be fixed as of
-XEmacs-21.4.9.
-
-The other core bug causes a huge delay when XEmacs's idea of the state of
-processes (like ghostscript) is wrong, and can lead to nasty spurious
-error messages.  It should be fixed in version 21.4.8.
-
-Previews will only remain from one session to the next if you have
-version 1.81 or above of the @file{edit-utils} package, first released
-in the 2002-03-12 sumo tarball.
address@hidden itemize
-
 @node Too small bounding boxes
 @section Too small bounding boxes
 The bounding box of a preview is determined by the @LaTeX{} package
diff --git a/doc/preview-readme.texi b/doc/preview-readme.texi
index 4f67e04..a70fc92 100644
--- a/doc/preview-readme.texi
+++ b/doc/preview-readme.texi
@@ -190,7 +190,7 @@ will display it.
 @node  Availability, Contacts, More documentation, Introduction
 @section Availability
 @cindex Download
address@hidden @sc{cvs} access
address@hidden @sc{git} access
 
 The @previewlatex{} project is now part of @AUCTeX{} and accessible as
 part of the @uref{http://savannah.gnu.org/projects/auctex,@AUCTeX{}
@@ -200,7 +200,7 @@ project page}.  You can get its files from the
 @AUCTeX{}, so no separate download will be necessary.
 
 You will also find @file{.rpm} files there for Fedora and possibly
-SuSE. Anonymous @acronym{CVS} is available as well.
+SuSE. Anonymous @acronym{Git} is available as well.
 
 @node  Contacts,  , Availability, Introduction
 @section Contacts
diff --git a/doc/tex-ref.tex b/doc/tex-ref.tex
index 6c4e814..3ca96bc 100644
--- a/doc/tex-ref.tex
+++ b/doc/tex-ref.tex
@@ -1,4 +1,4 @@
-% Reference Card for AUCTeX version 11.87
+% Reference Card for AUCTeX version 11.88
 %**start of header
 \newcount\columnsperpage
 
@@ -42,9 +42,9 @@
 % Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
 % for creating the GNU Emacs Reference Card from which this was mutated
 
-\def\versionnumber{11.87}
-\def\year{2012}
-\def\version{November \year\ v\versionnumber}
+\def\versionnumber{11.88}
+\def\year{2014}
+\def\version{October \year\ v\versionnumber}
 
 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
   \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
@@ -53,7 +53,7 @@
 \def\copyrightnotice{%
 \vskip 1ex plus 2 fill\begingroup\small
 \centerline{Copyright \copyright\ 1987, 1992, 1993, 2004, 2005, 2008,}
-\centerline{2010, 2012 Free Software Foundation, Inc.}
+\centerline{2010, 2012, 2014 Free Software Foundation, Inc.}
 \centerline{for AUC\TeX\ version \versionnumber}
 
 Permission is granted to make and distribute copies of
@@ -241,6 +241,7 @@ are preserved on all copies.
 \key{Kill job}{C-c C-k}
 \key{Recenter output buffer}{C-c C-l}
 \key{Next error in \TeX/\LaTeX\ session}{C-c `}
+\key{Previous error in \TeX/\LaTeX\ session}{M-g p}
 \key{Toggle debug of bad boxes}{C-c C-t C-b}
 \key{Toggle debug of warnings}{C-c C-t C-w}
 \key{View output file}{C-c C-v}
@@ -265,7 +266,7 @@ are not available in all modes):
 \key{Make (PostScript) File}{File}
 \key{Ispell}{Spell}
 \key{Delete intermediate files}{Clean}
-\key{Delete all output files files}{Clean All}
+\key{Delete all output files}{Clean All}
 
 \section{\TeX ing options}
 \TeX\ runs can come in various types, which may be toggled and are
@@ -278,6 +279,7 @@ indicated in the mode line.
 \section{Miscellaneous}
 
 \key{Read AUC\TeX\ manual}{C-c TAB}
+\key{Find documentation}{C-c ?}
 \key{Math Mode}{C-c \string~}
 \key{Reset Buffer}{C-c C-n}
 \key{Reset AUC\TeX}{C-u C-c C-n}
@@ -295,7 +297,7 @@ indicated in the mode line.
 \key{Insert item}{C-c LFD}
 \key{Insert item (alias)}{M-RET}
 \key{Close \LaTeX\ environment}{C-c ]}
-\key{Insert \TeX\ macro \kbd{\\\{\}} }{C-c C-m}
+\key{Insert \TeX\ macro \kbd{\{\}} }{C-c C-m}
 \key{Insert double brace}{C-c \{}
 \key{Complete \TeX\ macro}{M-TAB}
 \key{Smart ``quote''}{"}
@@ -384,7 +386,7 @@ LaTeX-math-list before loading LaTeX-math-mode.
 \keycs\omega{w}
 \keycs\Delta{D}
 \keycs\Gamma{G}
-\keycs\Theta{Q}
+\keycs\Theta{J}
 \keycs\Lambda{L}
 \keycs\Xi{X}
 \keycs\Pi{P}
@@ -404,6 +406,7 @@ LaTeX-math-list before loading LaTeX-math-mode.
 \keycs\leq{<}
 \keycs\geq{>}
 \keycs\tilde x{\string~}
+\keycs\hat x{^}
 \keycs\nabla{N}
 \keycs\infty{I}
 \keycs\forall{A}
@@ -412,6 +415,7 @@ LaTeX-math-list before loading LaTeX-math-mode.
 \keycs\in{i}
 \keycs\times{*}
 \keycs\cdot{.}
+\keycs\colon{:}
 \keycs\subset{\{}
 \keycs\supset{\}}
 \keycs\subseteq{[}
@@ -430,7 +434,6 @@ LaTeX-math-list before loading LaTeX-math-mode.
 \keycs\det{C-d}
 \keycs\lim{C-l}
 \keycs\tan{C-t}
-\keycs\hat x{^}
 \keycs\vee{|}
 \keycs\wedge{\&}
 
@@ -574,7 +577,6 @@ RefTeX is part of [X]Emacs.  To activate and make it 
interact with
 AUCTeX, insert the following lines in .emacs.
 \vskip-3mm
 \beginexample
-(add-hook 'latex-mode-hook 'turn-on-reftex)
 (add-hook 'LaTeX-mode-hook 'turn-on-reftex)
 (setq reftex-plug-into-auctex t)
 \endexample
@@ -623,7 +625,7 @@ variables
 \vskip-3mm
 \beginexample
 reftex-label-alist
-reftex-section-lecels
+reftex-section-levels
 reftex-index-macros
 reftex-cite-format
 \endexample
@@ -641,7 +643,6 @@ consistent.
 
 \vskip-4mm
 \beginexample
-(add-hook 'latex-mode-hook 'turn-on-reftex)
 (add-hook 'LaTeX-mode-hook 'turn-on-reftex)
 (setq reftex-plug-into-auctex t)
 \endexample
diff --git a/doc/todo.texi b/doc/todo.texi
index 5ac6703..cd5b2de 100644
--- a/doc/todo.texi
+++ b/doc/todo.texi
@@ -1,5 +1,6 @@
 @c This is part of the AUCTeX Manual.
address@hidden Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
address@hidden Copyright (C) 2004-2006, 2008, 2009, 2013, 2014 Free Software
address@hidden Foundation, Inc.
 @c See the file auctex.texi for copying conditions.
 @ifset rawfile
 @include macros.texi
@@ -43,15 +44,6 @@ Further integration will happen at the backend.  This 
involves folding
 of error parsing and task management of both packages which will ease
 development efforts and avoid redundant work.
 
address@hidden More flexible option and command handling
-
-The current state of command handling with @code{TeX-command-list} is
-not very flexible because there is no distinction between executables
-and command line options to be passed to them.
-
-Customization of @code{TeX-command-list} by the user will interfere with
-updates of @AUCTeX{}.
-
 @item Error help catalogs
 
 Currently, the help for errors is more or less hardwired into
@@ -88,11 +80,9 @@ requested yet.
 
 A special ispell dictionary for macros could be nice to have.
 
address@hidden Quick error overviews
address@hidden Improvements to error reporting
 
-An error overview window (extract from the log file with just the error
-lines, clickable like a ``grep'' buffer) and/or fringe indicators for
-errors in the main text would be nice.
+Fringe indicators for errors in the main text would be nice.
 
 @item A math entry grid
 
@@ -113,21 +103,6 @@ code of the @file{.dtx} file.
 For starters, @code{LaTeX-math-mode} is not very @LaTeX{}-specific in
 the first place, and similar holds for indentation and formatting.
 
address@hidden Poor man's Source Specials
-In particular in PDF mode (and where Source Specials cause problems),
-alternatives would be desirable.  One could implement inverse search by
-something like Heiko Oberdiek's @file{vpe.sty}, and forward search by
-using the @file{.aux} file info to correlate labels in the text
-(possibly in cooperation with address@hidden) with previewer pages.
-
-In @AUCTeX{} 11.83, support for forward search with PDF files was added.
-Currently this only works if you use the pdfsync @LaTeX{} package and
-xpdf as your PDF viewer.
address@hidden rawfile
address@hidden
address@hidden ifclear
-
-
 @item
 Page count when compiling should (optionally) go to modeline of the
 window where the compilation command was invoked, instead of the output
@@ -163,10 +138,6 @@ This default value for TeX-master could then be controled 
with mapping
 based on the extension.
 
 @item
-Multiple argument completion for @samp{\bibliography}.  In general, I
-ought to make @kbd{,} special for these kind of completions.
-
address@hidden
 Suggest @samp{makeindex} when appropriate.
 
 @item
@@ -252,9 +223,6 @@ Here is the start of such a list.
 @end table
 
 @item
-Completion for counters and sboxes.
-
address@hidden
 Outline should be (better) supported in @TeX{} mode.
 
 At least, support headers, trailers, as well as TeX-outline-extra.
@@ -278,10 +246,8 @@ of the standard @code{TeX-mode} would help convince some 
people to
 change to @AUCTeX{}.
 
 @item
-Make @code{TeX-next-error} parse ahead and store the results in a list,
-using markers to remember buffer positions in order to be more robust
-with regard to line numbers and changed files.  This is what
address@hidden does. (Or did, until Emacs 19).
+Use markers in @code{TeX-error-list} to remember buffer positions in
+order to be more robust with regard to line numbers and changed files.
 
 @item
 Finish the Texinfo mode.  For one thing, many Texinfo mode commands do
@@ -298,9 +264,11 @@ Hook up the letter environment with @file{bbdb.el}.
 @c FIXME: Are those bugs still present?
 
 @itemize @bullet
address@hidden The parsed files and style hooks for @file{example.dtx},
address@hidden, @file{example.drv} and @file{example.bib} all
-clash.  Bad.
address@hidden
+The style hooks automatically generated by parsing files for
address@hidden, @file{example.sty}, @file{example.drv} and
address@hidden all clash.  Bad.  Clash with hand-written style hooks
+should be removed by dialect discrimination --- to be checked.
 
 @item
 @kbd{C-c `} should always stay in the current window, also when it finds
@@ -343,3 +311,8 @@ signs and the like spilling out of the verbatim content. 
(XEmacs only)
 Folding of @LaTeX{} constructs spanning more than one line may result in
 overfull lines. (XEmacs only)
 @end itemize
+
address@hidden Local Variables:
address@hidden mode: texinfo
address@hidden TeX-master: "auctex"
address@hidden End:
diff --git a/doc/wininstall.texi b/doc/wininstall.texi
index 38cb35e..f396184 100644
--- a/doc/wininstall.texi
+++ b/doc/wininstall.texi
@@ -183,7 +183,7 @@ MiKTeX apparently comes with its own Ghostscript called 
@samp{mgs.exe}.
 
 @item
 @uref{http://www.perl.org,Perl} is needed for rebuilding the
-documentation if you are working with a copy from @acronym{CVS} or have
+documentation if you are working with a copy from @acronym{Git} or have
 touched documentation source files in the @previewlatex{} part.  If the
 line endings of the file @file{preview/latex/preview.dtx} don't
 correspond with what Perl calls @code{\n} when reading text files,
diff --git a/font-latex.el b/font-latex.el
index 96a4823..0a1b8ad 100644
--- a/font-latex.el
+++ b/font-latex.el
@@ -127,8 +127,7 @@ If nil, quoted content will not be fontified."
 QUOTES has to be a list adhering to the format of an element of
 `font-latex-quote-list'."
   (setq font-latex-quotes-control nil)
-  (make-local-variable 'font-latex-quote-list)
-  (add-to-list 'font-latex-quote-list quotes))
+  (add-to-list (make-local-variable 'font-latex-quote-list) quotes))
 
 (defun font-latex-quotes-set-internal ()
   "Set `font-latex-quotes-internal' according to `font-latex-quotes'.
@@ -182,7 +181,10 @@ correct value from document properties."
   "Update sectioning commands faces."
   (unless height-scale
     (setq height-scale (if (numberp font-latex-fontify-sectioning)
-                          font-latex-fontify-sectioning
+                          ;; Make sure `height-scale' is a floating point
+                          ;; number because `set-face-attribute' treats
+                          ;; integers differently from floating points.
+                          (float font-latex-fontify-sectioning)
                         1.1)))
   (unless max
     (setq max font-latex-sectioning-max))
@@ -236,7 +238,10 @@ Emacs."
   (unless max (setq max font-latex-sectioning-max))
   (unless height-scale
     (setq height-scale (if (numberp font-latex-fontify-sectioning)
-                          font-latex-fontify-sectioning
+                          ;; Make sure `height-scale' is a floating point
+                          ;; number because the integer type is treated
+                          ;; differently.
+                          (float font-latex-fontify-sectioning)
                         1.1)))
   (dotimes (num max)
     (let* (;; reverse for XEmacs:
@@ -804,7 +809,7 @@ Generated by `font-latex-make-user-keywords'.")))
              (1 (get-text-property (match-end 1) 'face) t))))
     (add-to-list 'font-latex-keywords-1 item)
     (add-to-list 'font-latex-keywords-2 item))
-  (dolist (item 
+  (dolist (item
           '((font-latex-match-math-env
              (0 'font-latex-warning-face t t)
              (1 'font-latex-math-face append t))
@@ -898,8 +903,25 @@ have changed."
          font-latex-syntactic-keywords nil)
     (unless (= (length verb-envs) 0)
       (add-to-list 'font-latex-syntactic-keywords
-                  `(,(concat "^[ \t]*\\\\begin *{\\(?:" verb-envs
-                             "\\)}.*\\(\n\\)")
+                  `(,(concat
+                      "^[ \t]*\\\\begin *{\\(?:" verb-envs "\\)}"
+                      ;; Some environments accept an optional and/or mandatory
+                      ;; argument that can span over more lines.  Between
+                      ;; "\begin{<envname>}" and the optional argument there
+                      ;; can be whitespaces and the newline can be commented
+                      ;; by a "%" character.
+                      "[ \t]*\\(?:%.*\n[ \t]*\\)?"
+                      ;; The following line of the regexp matches the optional
+                      ;; argument and allows for up to one level of brackets
+                      ;; inside the argument (e.g., the dialect of a language
+                      ;; in the `lstlisting' environment by the `listings'
+                      ;; package).
+                      "\\(?:\\[[^\]\[]*\\(?:\\[[^\]\[]*\\][^\]\[]*\\)*\\]\\)?"
+                      ;; After the optional argument, there may also be
+                      ;; another mandatory argument (e.g. with VerbatimOut or
+                      ;; the minted envs).
+                      "\\(?:{[^}]+}\\)?"
+                      "\\(\n\\)")
                     (1 "|" t)))
       (add-to-list 'font-latex-syntactic-keywords
                   ;; Using the newline character for the syntax
diff --git a/latex.el b/latex.el
index 8bf283a..af1c676 100644
--- a/latex.el
+++ b/latex.el
@@ -1,7 +1,6 @@
 ;;; latex.el --- Support for LaTeX documents.
 
-;; Copyright (C) 1991, 1993-1997, 1999, 2000, 2003-2012
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1993-2014 Free Software Foundation, Inc.
 
 ;; Maintainer: address@hidden
 ;; Keywords: tex
@@ -48,8 +47,8 @@
   :type 'string)
 
 (defcustom LaTeX-default-options nil
-  "Default options to documentstyle.
-A list of strings."
+  "Default options to documentclass.
+A comma-seperated list of strings."
   :group 'LaTeX-environment
   :type '(repeat (string :format "%v")))
 
@@ -81,8 +80,14 @@ This depends on `LaTeX-insert-into-comments'."
                   (concat "[ \t]*" TeX-comment-start-regexp "+[ \t]*")))
             (delete-region (match-beginning 0) (match-end 0))
             (indent-new-comment-line))
+           ;; `indent-new-comment-line' does nothing when
+           ;; `comment-auto-fill-only-comments' is non-il, so we must be sure
+           ;; to be in a comment before calling it.  In any other case
+           ;; `newline' is used.
+           ((TeX-in-comment)
+            (indent-new-comment-line))
            (t
-            (indent-new-comment-line)))
+            (newline)))
     (newline)))
 
 
@@ -281,6 +286,16 @@ SECTION has to be a string contained in 
`LaTeX-section-list'.
 Additionally the function will invalidate the section submenu in
 order to let the menu filter regenerate it."
   (setq LaTeX-largest-level (LaTeX-section-level section))
+  (let ((offset (LaTeX-outline-offset)))
+    (when (and (> offset 0)
+              ;; XEmacs does not know `outline-heading-alist'.
+              (boundp 'outline-heading-alist))
+      (let (lst)
+       (dolist (tup outline-heading-alist)
+         (setq lst (cons (cons (car tup)
+                               (+ offset (cdr tup)))
+                         lst)))
+       (setq outline-heading-alist (nreverse lst)))))
   (setq LaTeX-section-menu nil))
 
 (defun LaTeX-outline-offset ()
@@ -314,8 +329,7 @@ If so, return the second element, otherwise return nil."
                ((TeX-look-at LaTeX-section-list)
                 (max 1 (+ (TeX-look-at LaTeX-section-list)
                           (LaTeX-outline-offset))))
-               (t
-                (error "Unrecognized header")))))))
+               (t (outline-level)))))))
 
 (defun LaTeX-outline-name ()
   "Guess a name for the current header line."
@@ -481,7 +495,7 @@ Insert this hook into `LaTeX-section-hook' to prompt for a 
label to be
 inserted after the sectioning command.
 
 The behaviour of this hook is controlled by variable `LaTeX-section-label'."
-  (and (LaTeX-label name)
+  (and (LaTeX-label name 'section)
        (LaTeX-newline)))
 
 ;;; Environments
@@ -491,10 +505,23 @@ The behaviour of this hook is controlled by variable 
`LaTeX-section-label'."
   :group 'LaTeX-macro)
 
 (defcustom LaTeX-default-environment "itemize"
-  "*The default environment when creating new ones with `LaTeX-environment'."
+  "*The default environment when creating new ones with `LaTeX-environment'.
+It is overridden by `LaTeX-default-document-environment' when it
+is non-nil and the current environment is \"document\"."
   :group 'LaTeX-environment
   :type 'string)
- (make-variable-buffer-local 'LaTeX-default-environment)
+(make-variable-buffer-local 'LaTeX-default-environment)
+
+(defvar LaTeX-default-document-environment nil
+  "The default environment when creating new ones with
+`LaTeX-environment' and the current one is \"document\".  This
+variable overrides `LaTeX-default-environment'.")
+(make-variable-buffer-local 'LaTeX-default-document-environment)
+
+(defvar LaTeX-default-tabular-environment "tabular"
+  "The default tabular-like environment used when inserting a table env.
+Styles such as tabularx may set it according to their needs.")
+(make-variable-buffer-local 'LaTeX-default-tabular-environment)
 
 (defvar LaTeX-environment-history nil)
 
@@ -521,22 +548,20 @@ It may be customized with the following variables:
 `LaTeX-default-position'          Position for array and tabular."
 
   (interactive "*P")
-  (let ((environment (completing-read (concat "Environment type: (default "
-                                              (if (TeX-near-bobp)
-                                                  "document"
-                                                LaTeX-default-environment)
-                                              ") ")
-                                     (LaTeX-environment-list)
-                                     nil nil nil
-                                     'LaTeX-environment-history)))
-    ;; Get default
-    (cond ((and (zerop (length environment))
-               (TeX-near-bobp))
-          (setq environment "document"))
-         ((zerop (length environment))
-          (setq environment LaTeX-default-environment))
-         (t
-          (setq LaTeX-default-environment environment)))
+  (let* ((default (cond
+                  ((TeX-near-bobp) "document")
+                  ((and LaTeX-default-document-environment
+                        (string-equal (LaTeX-current-environment) "document"))
+                   LaTeX-default-document-environment)
+                  (t LaTeX-default-environment)))
+        (environment (completing-read (concat "Environment type: (default "
+                                              default ") ")
+                                      (LaTeX-environment-list-filtered) nil nil
+                                      nil 'LaTeX-environment-history default)))
+    ;; Use `environment' as default for the next time only if it is different
+    ;; from the current default.
+    (unless (equal environment default)
+      (setq LaTeX-default-environment environment))
 
     (let ((entry (assoc environment (LaTeX-environment-list))))
       (if (null entry)
@@ -596,9 +621,8 @@ With prefix-argument, reopen environment afterwards."
                 (save-excursion (beginning-of-line 2)
                                 (not (TeX-in-commented-line)))))
        (LaTeX-newline)
-      (let ((next-line-add-newlines t))
-       (next-line 1)
-       (beginning-of-line)))
+      (unless (= (forward-line 1) 0)
+       (insert "\n")))
     (indent-according-to-mode)
     (when reopen
       (save-excursion
@@ -679,7 +703,6 @@ environment just inserted, the buffer position just before
       (newline))
     (when active-mark (goto-char (mark)))
     (when prefix (insert prefix))
-    (setq env-end (point))
     (insert TeX-esc "end" TeX-grop environment TeX-grcl)
     (end-of-line 0)
     (if active-mark
@@ -690,6 +713,11 @@ environment just inserted, the buffer position just before
       (indent-according-to-mode))
     (save-excursion (beginning-of-line 2) (indent-according-to-mode))
     (TeX-math-input-method-off)
+    (setq env-end (save-excursion
+                   (search-forward
+                    (concat TeX-esc "end" TeX-grop
+                            environment TeX-grcl))
+                   (match-beginning 0)))
     (run-hook-with-args 'LaTeX-after-insert-env-hooks
                        environment env-start env-end)))
 
@@ -726,7 +754,8 @@ The functions `LaTeX-find-matching-begin' and 
`LaTeX-find-matching-end'
 work analogously."
   (setq arg (if arg (if (< arg 1) 1 arg) 1))
   (let* ((in-comment (TeX-in-commented-line))
-        (comment-prefix (and in-comment (TeX-comment-prefix))))
+        (comment-prefix (and in-comment (TeX-comment-prefix)))
+        (case-fold-search nil))
     (save-excursion
       (while (and (/= arg 0)
                  (re-search-backward
@@ -746,12 +775,13 @@ work analogously."
 
 (defun docTeX-in-macrocode-p ()
   "Determine if point is inside a macrocode environment."
-  (save-excursion
-    (re-search-backward
-     (concat "^%    " (regexp-quote TeX-esc)
-            "\\(begin\\|end\\)[ \t]*{macrocode\\*?}") nil 'move)
-    (not (or (bobp)
-            (= (char-after (match-beginning 1)) ?e)))))
+  (let ((case-fold-search nil))
+    (save-excursion
+      (re-search-backward
+       (concat "^%    " (regexp-quote TeX-esc)
+              "\\(begin\\|end\\)[ \t]*{macrocode\\*?}") nil 'move)
+      (not (or (bobp)
+              (= (char-after (match-beginning 1)) ?e))))))
 
 
 ;;; Environment Hooks
@@ -763,12 +793,29 @@ To insert a hook here, you must insert it in the 
appropiate style file.")
 
 (defun LaTeX-env-document (&optional ignore)
   "Create new LaTeX document.
+Also inserts a \\documentclass macro if there's none already and
+prompts for the insertion of \\usepackage macros.
+
 The compatibility argument IGNORE is ignored."
-  (TeX-insert-macro "documentclass")
-  (LaTeX-newline)
-  (LaTeX-newline)
-  (LaTeX-newline)
-  (end-of-line 0)
+  ;; just assume a single valid \\documentclass, i.e., one not in a
+  ;; commented line
+  (let ((found nil))
+    (save-excursion
+      (while (and (not found)
+                 (re-search-backward
+                  
"\\\\documentclass\\(\\[[a-z0-9A-Z\-\_,]*\\]\\)?\\({[^}]+}\\)"
+                  nil t))
+       (and (not (TeX-in-commented-line))
+            (setq found t))))
+    (when (not found)
+      (TeX-insert-macro "documentclass")
+      (LaTeX-newline)
+      (LaTeX-newline)
+      ;; Add a newline only if some `\usepackage' has been inserted.
+      (if (LaTeX-insert-usepackages)
+         (LaTeX-newline))
+      (LaTeX-newline)
+      (end-of-line 0)))
   (LaTeX-insert-environment "document")
   (run-hooks 'LaTeX-document-style-hook)
   (setq LaTeX-document-style-hook nil))
@@ -886,41 +933,43 @@ either the prefix or a symbol referring to one."
 
 (make-variable-buffer-local 'LaTeX-label-alist)
 
-(defun LaTeX-label (environment)
-  "Insert a label for ENVIRONMENT at point.
-If `LaTeX-label-function' is a valid function, LaTeX label will transfer the
-job to this function."
-  (let (label)
-    (if (and (boundp 'LaTeX-label-function)
-            LaTeX-label-function
-            (fboundp LaTeX-label-function))
-
-       (setq label (funcall LaTeX-label-function environment))
-      (let ((prefix
-            (or (cdr (assoc environment LaTeX-label-alist))
-                (if (assoc environment LaTeX-section-list)
-                    (if (stringp LaTeX-section-label)
-                        LaTeX-section-label
-                      (and (listp LaTeX-section-label)
-                           (cdr (assoc environment LaTeX-section-label))))
-                  ""))))
-       (when prefix
-         (when (symbolp prefix)
-           (setq prefix (symbol-value prefix)))
-         ;; Use completing-read as we do with `C-c C-m \label RET'
-         (setq label (completing-read
-                      (TeX-argument-prompt t nil "What label")
-                      (LaTeX-label-list) nil nil prefix))
-         ;; No label or empty string entered?
-         (if (or (string= prefix label)
-                 (string= "" label))
-             (setq label nil)
-           (insert TeX-esc "label" TeX-grop label TeX-grcl))))
-      (if label
-         (progn
-           (LaTeX-add-labels label)
-           label)
-       nil))))
+(defun LaTeX-label (name type)
+  "Insert a label for NAME at point.
+TYPE can be either environment or section.  If
+`LaTeX-label-function' is a valid function, LaTeX label will
+transfer the job to this function."
+  (let ((prefix (cond
+                ((eq type 'environment)
+                 (cdr (assoc name LaTeX-label-alist)))
+                ((eq type 'section)
+                 (if (assoc name LaTeX-section-list)
+                     (if (stringp LaTeX-section-label)
+                         LaTeX-section-label
+                       (and (listp LaTeX-section-label)
+                            (cdr (assoc name LaTeX-section-label))))
+                   ""))))
+       label)
+    (when (symbolp prefix)
+      (setq prefix (symbol-value prefix)))
+    (when prefix
+      (if (and (boundp 'LaTeX-label-function)
+              LaTeX-label-function
+              (fboundp LaTeX-label-function))
+         (setq label (funcall LaTeX-label-function name))
+       ;; Use completing-read as we do with `C-c C-m \label RET'
+       (setq label (completing-read
+                    (TeX-argument-prompt t nil "What label")
+                    (LaTeX-label-list) nil nil prefix))
+       ;; No label or empty string entered?
+       (if (or (string= prefix label)
+               (string= "" label))
+           (setq label nil)
+         (insert TeX-esc "label" TeX-grop label TeX-grcl))
+       (if label
+           (progn
+             (LaTeX-add-labels label)
+             label)
+         nil)))))
 
 (defun LaTeX-env-figure (environment)
   "Create ENVIRONMENT with \\caption and \\label commands."
@@ -948,51 +997,45 @@ job to this function."
       (insert TeX-esc "centering")
       (indent-according-to-mode)
       (LaTeX-newline))
-    (if (member environment LaTeX-top-caption-list)
-       ;; top caption -- do nothing if user skips caption
-       (unless (zerop (length caption))
-         (insert TeX-esc "caption" TeX-grop caption TeX-grcl)
+    ;; Insert caption and ask for a label, do nothing if user skips caption
+    (unless (zerop (length caption))
+      (if (member environment LaTeX-top-caption-list)
+         ;; top caption
+         (progn
+           (insert TeX-esc "caption" TeX-grop caption TeX-grcl)
+           ;; If `auto-fill-mode' is active, fill the caption.
+           (if auto-fill-function (LaTeX-fill-paragraph))
+           (LaTeX-newline)
+           (indent-according-to-mode)
+           ;; ask for a label and insert a new line only if a label is
+           ;; actually inserted
+           (when (LaTeX-label environment 'environment)
+             (LaTeX-newline)
+             (indent-according-to-mode)))
+       ;; bottom caption (default)
+       (when active-mark (goto-char end-marker))
+       (save-excursion
          (LaTeX-newline)
          (indent-according-to-mode)
-         ;; ask for a label and insert a new line only if a label is
-         ;; actually inserted
-         (when (LaTeX-label environment)
+         ;; If there is an active region point is before the backslash of
+         ;; "\end" macro, go one line upwards.
+         (when active-mark (forward-line -1) (indent-according-to-mode))
+         (insert TeX-esc "caption" TeX-grop caption TeX-grcl)
+         ;; If `auto-fill-mode' is active, fill the caption.
+         (if auto-fill-function (LaTeX-fill-paragraph))
+         ;; ask for a label and if necessary insert a new line between caption
+         ;; and label
+         (when (save-excursion (LaTeX-label environment 'environment))
            (LaTeX-newline)
            (indent-according-to-mode)))
-      ;; bottom caption (default) -- do nothing if user skips caption
-      (unless (zerop (length caption))
-       (when active-mark (goto-char end-marker))
-       (LaTeX-newline)
-       (indent-according-to-mode)
-       (insert TeX-esc "caption" TeX-grop caption TeX-grcl)
-       (LaTeX-newline)
-       (indent-according-to-mode)
-       ;; ask for a label -- if user skips label, remove the last new
-       ;; line again
-       (if (LaTeX-label environment)
-           (progn
-             (unless (looking-at "[ \t]*$")
-               (LaTeX-newline)
-               (end-of-line 0)))
-         (delete-blank-lines)
-         (end-of-line 0))
-       ;; if there is a caption or a label, move point upwards again
-       ;; so that it is placed above the caption or the label (or
-       ;; both) -- search the current line (even long captions are
-       ;; inserted on a single line, even if auto-fill is turned on,
-       ;; so it is enough to search the current line) for \label or
-       ;; \caption and go one line upwards if any of them is found
-       (while (re-search-backward
-               (concat "^\\s-*" (regexp-quote TeX-esc)
-                       "\\(label\\|caption\\)")
-               (line-beginning-position) t)
-         (end-of-line 0)
-         (indent-according-to-mode))))
+       ;; Insert an empty line between caption and marked region, if any.
+       (when active-mark (LaTeX-newline) (forward-line -1))
+       (indent-according-to-mode)))
     (when (and (member environment '("table" "table*"))
               ;; Suppose an existing tabular environment should just
               ;; be wrapped into a table if there is an active region.
               (not active-mark))
-      (LaTeX-env-array "tabular"))))
+      (LaTeX-environment-menu LaTeX-default-tabular-environment))))
 
 (defun LaTeX-env-array (environment)
   "Insert ENVIRONMENT with position and column specifications.
@@ -1007,12 +1050,13 @@ Just like array and tabular."
                              (concat
                               (unless (zerop (length pos))
                                 (concat LaTeX-optop pos LaTeX-optcl))
-                              (concat TeX-grop fmt TeX-grcl)))))
+                              (concat TeX-grop fmt TeX-grcl)))
+    (LaTeX-item-array t)))
 
 (defun LaTeX-env-label (environment)
   "Insert ENVIRONMENT and prompt for label."
   (LaTeX-insert-environment environment)
-  (when (LaTeX-label environment)
+  (when (LaTeX-label environment 'environment)
     (LaTeX-newline)
     (indent-according-to-mode)))
 
@@ -1055,7 +1099,8 @@ Just like array and tabular."
                               (concat TeX-grop width TeX-grcl) ;; not optional!
                               (unless (zerop (length pos))
                                 (concat LaTeX-optop pos LaTeX-optcl))
-                              (concat TeX-grop fmt TeX-grcl)))))
+                              (concat TeX-grop fmt TeX-grcl)))
+    (LaTeX-item-tabular* t)))
 
 (defun LaTeX-env-picture (environment)
   "Insert ENVIRONMENT with width, height specifications."
@@ -1088,8 +1133,8 @@ Just like array and tabular."
 (defun LaTeX-env-contents (environment)
   "Insert ENVIRONMENT with filename for contents."
   (save-excursion
-    (when (re-search-backward "^\\\\documentclass.*{" nil t)
-      (error "Put %s environment before \\documentclass" environment)))
+    (when (re-search-backward LaTeX-header-end nil t)
+      (error "Put %s environment before \\begin{document}" environment)))
   (LaTeX-insert-environment environment
                            (concat TeX-grop
                                    (read-string "File: ")
@@ -1133,8 +1178,143 @@ You may use `LaTeX-item-list' to change the routines 
used to insert the item."
   "Insert a new bibitem."
   (TeX-insert-macro "bibitem"))
 
+(defvar LaTeX-array-skipping-regexp (regexp-opt '("[t]" "[b]" ""))
+   "Regexp matching between \\begin{xxx} and column specification.
+For array and tabular environments.  See `LaTeX-insert-ampersands' for
+detail.")
+
+(defvar LaTeX-tabular*-skipping-regexp
+  ;; Assume width specification contains neither nested curly brace
+  ;; pair nor escaped "}".
+  (concat "{[^}]*}[ \t]*" (regexp-opt '("[t]" "[b]" "")))
+   "Regexp matching between \\begin{tabular*} and column specification.
+For tabular* environment only.  See `LaTeX-insert-ampersands' for detail.")
+
+(defun LaTeX-item-array (&optional suppress)
+  "Insert line break macro on the last line and suitable number of &'s.
+For array and tabular environments.
+
+If SUPPRESS is non-nil, do not insert line break macro."
+  (unless suppress
+    (save-excursion
+      (end-of-line 0)
+      (just-one-space)
+      (TeX-insert-macro "\\")))
+  (LaTeX-insert-ampersands
+   LaTeX-array-skipping-regexp 'LaTeX-array-count-columns))
+
+(defun LaTeX-item-tabular* (&optional suppress)
+  "Insert line break macro on the last line and suitable number of &'s.
+For tabular* environment only.
+
+If SUPPRESS is non-nil, do not insert line break macro."
+  (unless suppress
+    (save-excursion
+      (end-of-line 0)
+      (just-one-space)
+      (TeX-insert-macro "\\")))
+  (LaTeX-insert-ampersands
+   LaTeX-tabular*-skipping-regexp 'LaTeX-array-count-columns))
+
+(defun LaTeX-insert-ampersands (regexp func)
+  "Insert suitable number of ampersands for the current environment.
+The number is calculated from REGEXP and FUNC.
+
+Example 1:
+Consider the case that the current environment begins with
+\\begin{array}[t]{|lcr|}
+.  REGEXP must be chosen to match \"[t]\", i.e., the text between just
+after \"\\begin{array}\" and just before \"{|lcr|}\", which encloses
+the column specification.  FUNC must return the number of ampersands to
+be inserted, which is 2 since this example specifies three columns.
+FUNC is called with two arguments START and END, which spans the column
+specification (without enclosing braces.)  REGEXP is used to determine
+these START and END.
+
+Example 2:
+This time the environment begins with
address@hidden,}p{5ex}}
+.  REGEXP must match \"{1.0\\linewidth}[b]\" and FUNC must return 1 from
+the text \"address@hidden,}p{5ex}\" between START and END specified two 
columns.
+
+FUNC should return nil if it cannot determine the number of ampersands."
+  (let* ((cur (point))
+        (num
+         (save-excursion
+           (ignore-errors
+             (LaTeX-find-matching-begin)
+             ;; Skip over "\begin{xxx}" and possible whitespaces.
+             (forward-list 1)
+             (skip-chars-forward " \t")
+             ;; Skip over the text specified by REGEXP and whitespaces.
+             (when (let ((case-fold-search nil))
+                     (re-search-forward regexp cur))
+               (skip-chars-forward " \t")
+               (when (eq (following-char) ?{)
+                 ;; We have reached the target "{yyy}" part.
+                 (forward-char 1)
+                 ;; The next line doesn't move point, so point
+                 ;; is left just after the opening brace.
+                 (let ((pos (TeX-find-closing-brace)))
+                   (if pos
+                       ;; Calculate number of ampersands to be inserted.
+                       (funcall func (point) (1- pos))))))))))
+    (if (natnump num)
+       (save-excursion (insert (make-string num ?&))))))
+
+(defvar LaTeX-array-column-letters "clrp"
+  "Column letters for array-like environments.
+See `LaTeX-array-count-columns' for detail.")
+
+(defun LaTeX-array-count-columns (start end)
+  "Count number of ampersands to be inserted.
+The columns are specified by the letters found in the string
+`LaTeX-array-column-letters' and the number of those letters within the
+text between START and END is basically considered to be the number of
+columns.  The arguments surrounded between braces such as p{30pt} do not
+interfere the count of columns.
+
+Return one less number than the columns, or nil on failing to count the
+right number."
+  (save-excursion
+    (let (p (cols 0))
+      (goto-char start)
+      (while (< (setq p (point)) end)
+
+       ;; The below block accounts for one unit of move for
+       ;; one column.
+       (setq cols (+ cols (skip-chars-forward
+                           LaTeX-array-column-letters end)))
+       (skip-chars-forward (concat
+                            "^" LaTeX-array-column-letters
+                            TeX-grop) end)
+       (if (eq (following-char) ?{) (forward-list 1))
+
+       ;; Not sure whether this is really necessary or not, but
+       ;; prepare for possible infinite loop anyway.
+       (when (eq p (point))
+         (setq cols nil)
+         (goto-char end)))
+      ;; The number of ampersands is one less than column.
+      (if cols (1- cols)))))
+
 ;;; Parser
 
+(defvar LaTeX-auto-style nil)
+(defvar LaTeX-auto-arguments nil)
+(defvar LaTeX-auto-optional nil)
+(defvar LaTeX-auto-env-args nil)
+
+(TeX-auto-add-type "label" "LaTeX")
+(TeX-auto-add-type "bibitem" "LaTeX")
+(TeX-auto-add-type "environment" "LaTeX")
+(TeX-auto-add-type "bibliography" "LaTeX" "bibliographies")
+(TeX-auto-add-type "index-entry" "LaTeX" "index-entries")
+(TeX-auto-add-type "pagestyle" "LaTeX")
+(TeX-auto-add-type "counter" "LaTeX")
+(TeX-auto-add-type "length" "LaTeX")
+(TeX-auto-add-type "savebox" "LaTeX" "saveboxes")
+
 (defvar LaTeX-auto-minimal-regexp-list
   '(("\\\\document\\(style\\|class\\)\
 \\(\\[\\(\\([^#\\%]\\|%[^\n\r]*[\n\r]\\)*\\)\\]\\)?\
@@ -1190,6 +1370,23 @@ This is necessary since index entries may contain 
commands and stuff.")
      1 TeX-auto-symbol))
   "List of regular expressions matching macros in LaTeX classes and packages.")
 
+(defvar LaTeX-auto-pagestyle-regexp-list
+  '(("address@hidden([A-Za-z]+\\)" 1 LaTeX-auto-pagestyle))
+  "List of regular expressions matching LaTeX pagestyles only.")
+
+(defvar LaTeX-auto-counter-regexp-list
+  '(("\\\\newcounter *{\\([A-Za-z]+\\)}" 1 LaTeX-auto-counter)
+    ("address@hidden([A-Za-z]+\\)}" 1 LaTeX-auto-counter))
+  "List of regular expressions matching LaTeX counters only.")
+
+(defvar LaTeX-auto-length-regexp-list
+  '(("\\\\newlength *{?\\\\\\([A-Za-z]+\\)}?" 1 LaTeX-auto-length))
+  "List of regular expressions matching LaTeX lengths only.")
+
+(defvar LaTeX-auto-savebox-regexp-list
+  '(("\\\\newsavebox *{?\\\\\\([A-Za-z]+\\)}?" 1 LaTeX-auto-savebox))
+  "List of regular expressions matching LaTeX saveboxes only.")
+
 (defvar LaTeX-auto-regexp-list
   (append
    (let ((token TeX-token-char))
@@ -1223,7 +1420,11 @@ This is necessary since index entries may contain 
commands and stuff.")
    LaTeX-auto-class-regexp-list
    LaTeX-auto-label-regexp-list
    LaTeX-auto-index-regexp-list
-   LaTeX-auto-minimal-regexp-list)
+   LaTeX-auto-minimal-regexp-list
+   LaTeX-auto-pagestyle-regexp-list
+   LaTeX-auto-counter-regexp-list
+   LaTeX-auto-length-regexp-list
+   LaTeX-auto-savebox-regexp-list)
   "List of regular expression matching common LaTeX macro definitions.")
 
 (defun LaTeX-split-bibs (match)
@@ -1231,7 +1432,7 @@ This is necessary since index entries may contain 
commands and stuff.")
 Split the string at commas and remove Biber file extensions."
   (let ((bibs (TeX-split-string " *, *" (TeX-match-buffer match))))
     (dolist (bib bibs)
-      (LaTeX-add-bibliographies (replace-regexp-in-string 
+      (LaTeX-add-bibliographies (replace-regexp-in-string
                                 (concat "\\(?:\\."
                                         (mapconcat 'regexp-quote
                                                    TeX-Biber-file-extensions
@@ -1286,9 +1487,42 @@ The input string may include LaTeX comments and 
newlines."
                         (line-beginning-position 2)))
         ;; Get rid of newlines.
         ((or (string= match "\n") (string= match "\r"))
-         (delete-backward-char 1)))))
+         (delete-char -1)))))
     opts))
 
+(defvar LaTeX-provided-class-options nil
+  "Alist of options provided to LaTeX classes.
+For each element, the CAR is the name of the class, the CDR is
+the list of options provided to it.
+
+E.g., its value will be
+  \(\(\"book\" \"a4paper\" \"11pt\" \"openany\" \"fleqn\"\)
+   ...\)
+See also `LaTeX-provided-package-options'.")
+(make-variable-buffer-local 'LaTeX-provided-class-options)
+
+(defun LaTeX-provided-class-options-member (class option)
+  "Return non-nil if OPTION has been given to CLASS at load time.
+The value is actually the tail of the list of options given to CLASS."
+  (member option (cdr (assoc class LaTeX-provided-class-options))))
+
+(defvar LaTeX-provided-package-options nil
+  "Alist of options provided to LaTeX packages.
+For each element, the CAR is the name of the package, the CDR is
+the list of options provided to it.
+
+E.g., its value will be
+  \(\(\"babel\" \"german\"\)
+   \(\"geometry\" \"a4paper\" \"top=2cm\" \"bottom=2cm\" \"left=2.5cm\" 
\"right=2.5cm\"\)
+   ...\)
+See also `LaTeX-provided-class-options'.")
+(make-variable-buffer-local 'LaTeX-provided-package-options)
+
+(defun LaTeX-provided-package-options-member (package option)
+  "Return non-nil if OPTION has been given to PACKAGE at load time.
+The value is actually the tail of the list of options given to PACKAGE."
+  (member option (cdr (assoc package LaTeX-provided-package-options))))
+
 (defun LaTeX-auto-cleanup ()
   "Cleanup after LaTeX parsing."
 
@@ -1298,6 +1532,10 @@ The input string may include LaTeX comments and 
newlines."
                                 (TeX-split-string "," arg))
                               LaTeX-auto-bibliography)))
 
+  ;; Reset class and packages options for the current buffer
+  (setq LaTeX-provided-class-options nil)
+  (setq LaTeX-provided-package-options nil)
+
   ;; Cleanup document classes and packages
   (unless (null LaTeX-auto-style)
     (while LaTeX-auto-style
@@ -1312,18 +1550,20 @@ The input string may include LaTeX comments and 
newlines."
        ;; Get the options.
        (setq options (LaTeX-listify-package-options options))
 
-       ;; Add them, to the style list.
-       (dolist (elt options)
-         (add-to-list 'TeX-auto-file elt))
-
-       ;; Treat documentclass/documentstyle specially.
-       (if (or (string-equal "package" class)
-               (string-equal "Package" class))
-           (dolist (elt (TeX-split-string
-                          "\\([ \t\r\n]\\|%[^\n\r]*[\n\r]\\|,\\)+" style))
-             (add-to-list 'TeX-auto-file elt))
+        ;; Treat documentclass/documentstyle specially.
+        (if (or (string-equal "package" class)
+                (string-equal "Package" class))
+            (dolist (elt (TeX-split-string
+                          "\\([ \t\r\n]\\|%[^\n\r]*[\n\r]\\|,\\)+" style))
+             ;; Append style to the style list.
+             (add-to-list 'TeX-auto-file elt t)
+              ;; Append to `LaTeX-provided-package-options' the name of the
+              ;; package and the options provided to it at load time.
+             (unless (equal options '(""))
+               (TeX-add-to-alist 'LaTeX-provided-package-options
+                                 (list (cons elt options)))))
          ;; And a special "art10" style file combining style and size.
-         (add-to-list 'TeX-auto-file style)
+         (add-to-list 'TeX-auto-file style t)
          (add-to-list 'TeX-auto-file
                       (concat
                        (cond ((string-equal "article" style)
@@ -1350,7 +1590,10 @@ The input string may include LaTeX comments and 
newlines."
                              ((member "12pt" options)
                               "12")
                              (t
-                              "10")))))
+                              "10"))) t)
+         (unless (equal options '(""))
+           (TeX-add-to-alist 'LaTeX-provided-class-options
+                             (list (cons style options)))))
 
        ;; The third argument if "class" indicates LaTeX2e features.
        (cond ((equal class "class")
@@ -1405,29 +1648,10 @@ The input string may include LaTeX comments and 
newlines."
 
 (add-hook 'TeX-auto-cleanup-hook 'LaTeX-auto-cleanup)
 
-(TeX-auto-add-type "label" "LaTeX")
-(TeX-auto-add-type "bibitem" "LaTeX")
-(TeX-auto-add-type "environment" "LaTeX")
-(TeX-auto-add-type "bibliography" "LaTeX" "bibliographies")
-(TeX-auto-add-type "index-entry" "LaTeX" "index-entries")
-
-(fset 'LaTeX-add-bibliographies-auto
-      (symbol-function 'LaTeX-add-bibliographies))
-(defun LaTeX-add-bibliographies (&rest bibliographies)
+(defadvice LaTeX-add-bibliographies (after run-bib-style-hooks (&rest 
bibliographies) activate)
   "Add BIBLIOGRAPHIES to the list of known bibliographies and style files."
-  (apply 'LaTeX-add-bibliographies-auto bibliographies)
   (apply 'TeX-run-style-hooks bibliographies))
 
-(fset 'LaTeX-add-environments-auto
-      (symbol-function 'LaTeX-add-environments))
-(defun LaTeX-add-environments (&rest environments)
-  "Add ENVIRONMENTS to the list of known environments.
-Additionally invalidate the environment submenus to let them be
-regenerated by the respective menu filter."
-  (apply 'LaTeX-add-environments-auto environments)
-  (setq LaTeX-environment-menu nil)
-  (setq LaTeX-environment-modify-menu nil))
-
 ;;; Biber support
 
 (defvar LaTeX-using-Biber nil
@@ -1445,21 +1669,15 @@ It will setup BibTeX to store keys in an auto file."
   (if (boundp 'local-write-file-hooks)
       (add-hook 'local-write-file-hooks 'TeX-safe-auto-write)
     (add-hook 'write-file-hooks 'TeX-safe-auto-write))
-  (make-local-variable 'TeX-auto-update)
-  (setq TeX-auto-update 'BibTeX)
-  (make-local-variable 'TeX-auto-untabify)
-  (setq TeX-auto-untabify nil)
-  (make-local-variable 'TeX-auto-parse-length)
-  (setq TeX-auto-parse-length 999999)
-  (make-local-variable 'TeX-auto-regexp-list)
-  (setq TeX-auto-regexp-list BibTeX-auto-regexp-list)
-  (make-local-variable 'TeX-master)
-  (setq TeX-master t))
+  (set (make-local-variable 'TeX-auto-update) 'BibTeX)
+  (set (make-local-variable 'TeX-auto-untabify) nil)
+  (set (make-local-variable 'TeX-auto-parse-length) 999999)
+  (set (make-local-variable 'TeX-auto-regexp-list) BibTeX-auto-regexp-list)
+  (set (make-local-variable 'TeX-master) t))
 
 (defvar BibTeX-auto-regexp-list
-  `(("@[Ss][Tt][Rr][Ii][Nn][Gg]" 1 ignore)
-    (,(concat "@[a-zA-Z]+[{(][ \t]*\\(" TeX-token-char "[^, 
\n\r\t%\"#'()={}]*\\)")
-     1 LaTeX-auto-bibitem))
+  '(("@[Ss][Tt][Rr][Ii][Nn][Gg]" 1 ignore)
+    ("@[a-zA-Z]+[{(][ \t]*\\([^, \n\r\t%\"#'()={}]*\\)" 1 LaTeX-auto-bibitem))
   "List of regexp-list expressions matching BibTeX items.")
 
 ;;; Macro Argument Hooks
@@ -1492,7 +1710,14 @@ list of defined labels."
        (LaTeX-add-labels label))
     (TeX-argument-insert label optional optional)))
 
-(defalias 'TeX-arg-ref 'TeX-arg-label)
+(defun TeX-arg-ref (optional &optional prompt definition)
+  "Let-bind `reftex-ref-macro-prompt' to nil and pass arguments
+to `TeX-arg-label'.
+
+See the documentation of `TeX-arg-label' for details on the
+arguments: OPTIONAL, PROMPT, and DEFINITION."
+  (let ((reftex-ref-macro-prompt nil))
+    (TeX-arg-label optional prompt definition)))
 
 (defun TeX-arg-index-tag (optional &optional prompt &rest args)
   "Prompt for an index tag.
@@ -1501,12 +1726,8 @@ This is the name of an index, not the entry.
 If OPTIONAL is non-nil, insert the resulting value as an optional
 argument, otherwise as a mandatory one.  Use PROMPT as the prompt
 string.  ARGS is unused."
-  (let (tag)
-    (setq prompt (concat (if optional "(Optional) " "")
-                        (if prompt prompt "Index tag")
-                        ": (default none) "))
-    (setq tag (read-string prompt))
-    (TeX-argument-insert tag optional)))
+  (TeX-argument-insert
+   (read-string (TeX-argument-prompt optional prompt "Index tag")) optional))
 
 (defun TeX-arg-index (optional &optional prompt &rest args)
   "Prompt for an index entry completing with known entries.
@@ -1545,7 +1766,7 @@ string.  If DEFINITION is non-nil, add the chosen 
environment to
 the list of defined environments."
   (let ((environment (completing-read (TeX-argument-prompt optional prompt
                                                           "Environment")
-                                     (TeX-symbol-list))))
+                                     (LaTeX-environment-list))))
     (if (and definition (not (string-equal "" environment)))
        (LaTeX-add-environments environment))
 
@@ -1557,36 +1778,61 @@ the list of defined environments."
 If OPTIONAL is non-nil, insert the resulting value as an optional
 argument, otherwise as a mandatory one.  Use PROMPT as the prompt
 string.  DEFINITION is unused."
-  (setq prompt (concat (if optional "(Optional) " "")
-                      (if prompt prompt "Add key")
-                      ": (default none) "))
-  (let ((items (multi-prompt "," t prompt (LaTeX-bibitem-list))))
+  (let ((items (multi-prompt "," t (TeX-argument-prompt optional prompt "Key")
+                            (LaTeX-bibitem-list))))
     (apply 'LaTeX-add-bibitems items)
     (TeX-argument-insert (mapconcat 'identity items ",") optional optional)))
 
-;; Why is DEFINITION unused?
 (defun TeX-arg-counter (optional &optional prompt definition)
   "Prompt for a LaTeX counter.
 If OPTIONAL is non-nil, insert the resulting value as an optional
 argument, otherwise as a mandatory one.  Use PROMPT as the prompt
-string.  DEFINITION is unused."
-  ;; Completion not implemented yet.
-  (TeX-argument-insert
-   (read-string (TeX-argument-prompt optional prompt "Counter"))
-   optional))
+string.  If DEFINITION is non-nil, add the chosen counter to
+the list of defined counters."
+  (let ((counter (completing-read (TeX-argument-prompt optional prompt
+                                                      "Counter")
+                                 (LaTeX-counter-list))))
+    (if (and definition (not (string-equal "" counter)))
+       (LaTeX-add-counters counter))
+    (TeX-argument-insert counter optional)))
 
-;; Why is DEFINITION unused?
 (defun TeX-arg-savebox (optional &optional prompt definition)
   "Prompt for a LaTeX savebox.
 If OPTIONAL is non-nil, insert the resulting value as an optional
 argument, otherwise as a mandatory one.  Use PROMPT as the prompt
-string.  DEFINITION is unused."
-  ;; Completion not implemented yet.
-  (TeX-argument-insert
-   (read-string (TeX-argument-prompt optional prompt
-                                    (concat "Savebox: " TeX-esc)
-                                    t))
-   optional TeX-esc))
+string.  If definition is non-nil, the savebox is added to the
+list of defined saveboxes."
+  (let ((savebox (completing-read (TeX-argument-prompt optional prompt
+                                                      (concat "Savebox: "
+                                                              TeX-esc) t)
+                                   (LaTeX-savebox-list))))
+    (if (and definition (not (zerop (length savebox))))
+        (LaTeX-add-saveboxes savebox))
+    (TeX-argument-insert savebox optional TeX-esc)))
+
+(defun TeX-arg-length (optional &optional prompt initial-input definition)
+  "Prompt for a LaTeX length.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string.  If INITIAL-INPUT is non-nil, insert it in the minibuffer
+initially, with point positioned at the end.  If DEFINITION is
+non-nil, the length is added to the list of defined length."
+  (let ((length (completing-read (TeX-argument-prompt optional prompt "Length")
+                                ;; A valid length can be a macro or a length of
+                                ;; the form <value><dimension>.  Input starting
+                                ;; with a `\' can be completed with length
+                                ;; macros.
+                                (mapcar (lambda(elt) (concat TeX-esc (car 
elt)))
+                                        (LaTeX-length-list))
+                                ;; Some macros takes as argument only a length
+                                ;; macro (e.g., `\setlength' in its first
+                                ;; argument, and `\newlength'), in this case is
+                                ;; convenient to set `\\' as initial input.
+                                nil nil initial-input)))
+    (if (and definition (not (zerop (length length))))
+       ;; Strip leading TeX-esc from macro name
+        (LaTeX-add-lengths (substring length 1)))
+    (TeX-argument-insert length optional)))
 
 (defun TeX-arg-file (optional &optional prompt)
   "Prompt for a filename in the current directory.
@@ -1598,6 +1844,29 @@ string."
                                       "" "" nil)
                       optional))
 
+(defun TeX-arg-file-name (optional &optional prompt)
+  "Prompt for a file name.
+Initial input is the name of the file being visited in the
+current buffer, with extension.  If OPTIONAL is non-nil, insert
+it as an optional argument.  Use PROMPT as the prompt string."
+  (TeX-argument-insert
+   (TeX-read-string
+    (TeX-argument-prompt optional prompt "Name")
+    (file-name-nondirectory buffer-file-name))
+   optional))
+
+(defun TeX-arg-file-name-sans-extension (optional &optional prompt)
+  "Prompt for a file name.
+Initial input is the name of the file being visited in the
+current buffer, without extension.  If OPTIONAL is non-nil,
+insert it as an optional argument.  Use PROMPT as the prompt
+string."
+  (TeX-argument-insert
+   (TeX-read-string
+    (TeX-argument-prompt optional prompt "Name")
+    (file-name-sans-extension (file-name-nondirectory buffer-file-name)))
+   optional))
+
 (defun TeX-arg-define-label (optional &optional prompt)
   "Prompt for a label completing with known labels.
 If OPTIONAL is non-nil, insert the resulting value as an optional
@@ -1640,6 +1909,13 @@ argument, otherwise as a mandatory one.  Use PROMPT as 
the prompt
 string."
   (TeX-arg-savebox optional prompt t))
 
+(defun TeX-arg-define-length (optional &optional prompt)
+  "Prompt for a LaTeX length.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string."
+  (TeX-arg-length optional prompt "\\" t))
+
 (defcustom LaTeX-style-list '(("amsart")
                              ("amsbook")
                              ("article")
@@ -1657,72 +1933,163 @@ string."
                              ("scrlttr2")
                              ("scrreprt")
                              ("slides"))
-  "List of document classes offered when inserting a document environment."
+  "List of document classes offered when inserting a document environment.
+
+If `TeX-arg-input-file-search' is set to `t', you will get
+completion with all LaTeX classes available in your distribution
+and this variable will be ignored."
   :group 'LaTeX-environment
   :type '(repeat (group (string :format "%v"))))
 
+(defvar LaTeX-global-class-files nil
+  "List of the LaTeX class files.
+Initialized once at the first time you prompt for a LaTeX class.
+May be reset with `\\[universal-argument] \\[TeX-normal-mode]'.")
+
+(defvar TeX-after-document-hook nil
+  "List of functions to be run at the end of `TeX-arg-document'.
+
+To insert a hook here, you must insert it in the appropiate style file.")
+
 (defun TeX-arg-document (optional &optional ignore)
   "Insert arguments to documentclass.
 OPTIONAL and IGNORE are ignored."
-  (let ((style (completing-read
-               (concat "Document class: (default " LaTeX-default-style ") ")
-               LaTeX-style-list))
-       (options (read-string "Options: "
+  (let* ((TeX-file-extensions '("cls"))
+        (crm-separator ",")
+        style var options)
+    (unless LaTeX-global-class-files
+      (if (if (eq TeX-arg-input-file-search 'ask)
+             (not (y-or-n-p "Find class yourself? "))
+           TeX-arg-input-file-search)
+         (progn
+           (message "Searching for LaTeX classes...")
+           (setq LaTeX-global-class-files
+                 (mapcar 'identity (TeX-search-files-by-type 'texinputs 
'global t t))))
+       LaTeX-style-list))
+    (setq style (completing-read
+                (concat "Document class: (default " LaTeX-default-style ") ")
+                LaTeX-global-class-files nil nil nil nil LaTeX-default-style))
+    ;; Clean up hook before use.
+    (setq TeX-after-document-hook nil)
+    (TeX-run-style-hooks style)
+    (setq var (intern (format "LaTeX-%s-class-options" style)))
+    (if (or (and (boundp var)
+                (listp (symbol-value var)))
+           (fboundp var))
+       (if (functionp var)
+           (setq options (funcall var))
+         (when (symbol-value var)
+           (setq options
+                 (mapconcat 'identity
+                            (TeX-completing-read-multiple
+                             "Options: " (mapcar 'list (symbol-value var)) nil 
nil
                              (if (stringp LaTeX-default-options)
                                  LaTeX-default-options
-                               (mapconcat 'identity
-                                          LaTeX-default-options
-                                          ",")))))
-    (if (zerop (length style))
-       (setq style LaTeX-default-style))
-    (if (not (zerop (length options)))
-       (insert LaTeX-optop options LaTeX-optcl))
+                               (mapconcat 'identity LaTeX-default-options 
",")))
+                            ","))))
+      (setq options (read-string "Options: ")))
+    (unless (zerop (length options))
+      (insert LaTeX-optop options LaTeX-optcl)
+      (let ((opts (LaTeX-listify-package-options options)))
+       (TeX-add-to-alist 'LaTeX-provided-class-options
+                         (list (cons style opts)))))
     (insert TeX-grop style TeX-grcl))
 
   ;; remove old information
   (TeX-remove-style)
 
   ;; defined in individual style hooks
-  (TeX-update-style))
+  (TeX-update-style)
+  (run-hooks 'TeX-after-document-hook))
+
+(defvar LaTeX-after-usepackage-hook nil
+  "List of functions to be run at the end of `LaTeX-arg-usepackage'.
+
+To insert a hook here, you must insert it in the appropiate style file.")
+
+(defun LaTeX-arg-usepackage-read-packages-with-options ()
+  "Read the packages and the options for the usepackage macro.
+
+If at least one package is provided, this function returns a cons
+cell, whose CAR is the list of packages and the CDR is the string
+of the options, nil otherwise."
+  (let* ((TeX-file-extensions '("sty"))
+        (crm-separator ",")
+        packages var options)
+    (unless TeX-global-input-files
+      (if (if (eq TeX-arg-input-file-search 'ask)
+             (not (y-or-n-p "Find packages yourself? "))
+           TeX-arg-input-file-search)
+         (progn
+           (message "Searching for LaTeX packages...")
+           (setq TeX-global-input-files
+                 (mapcar 'list (TeX-search-files-by-type
+                                'texinputs 'global t t))))))
+    (setq packages (TeX-completing-read-multiple
+                   "Packages: " TeX-global-input-files))
+    ;; Clean up hook before use in `LaTeX-arg-usepackage-insert'.
+    (setq LaTeX-after-usepackage-hook nil)
+    (mapc 'TeX-run-style-hooks packages)
+    ;; Prompt for options only if at least one package has been supplied, 
return
+    ;; nil otherwise.
+    (when packages
+      (setq var (if (= 1 (length packages))
+                   (intern (format "LaTeX-%s-package-options" (car packages)))
+                 ;; Something like `\usepackage[options]{pkg1,pkg2,pkg3,...}' 
is
+                 ;; allowed (provided that pkg1, pkg2, pkg3, ... accept same
+                 ;; options).  When there is more than one package, set `var' 
to
+                 ;; a dummy value so next `if' enters else form.
+                 t))
+      (if (or (and (boundp var)
+                  (listp (symbol-value var)))
+             (fboundp var))
+         (if (functionp var)
+             (setq options (funcall var))
+           (when (symbol-value var)
+             (setq options
+                   (mapconcat 'identity
+                              (TeX-completing-read-multiple
+                               "Options: " (mapcar 'list (symbol-value var)))
+                              ","))))
+       (setq options (read-string "Options: ")))
+      (cons packages options))))
+
+(defun LaTeX-arg-usepackage-insert (packages options)
+  "Actually insert arguments to usepackage."
+  (unless (zerop (length options))
+    (let ((opts (LaTeX-listify-package-options options)))
+      (mapc (lambda (elt)
+             (TeX-add-to-alist 'LaTeX-provided-package-options
+                               (list (cons elt opts))))
+           packages))
+    (insert LaTeX-optop options LaTeX-optcl))
+  (insert TeX-grop (mapconcat 'identity packages ",") TeX-grcl)
+  (run-hooks 'LaTeX-after-usepackage-hook))
 
 (defun LaTeX-arg-usepackage (optional)
   "Insert arguments to usepackage.
 OPTIONAL is ignored."
-  (let ((TeX-file-extensions '("sty"))
-       (TeX-input-file-search t))
-    (TeX-arg-input-file nil "Package")
-    (save-excursion
-      (search-backward-regexp "{\\(.*\\)}")
-      (let* ((package (match-string 1))
-            (var (intern (format "LaTeX-%s-package-options" package)))
-            (crm-separator ",")
-            (TeX-arg-opening-brace LaTeX-optop)
-            (TeX-arg-closing-brace LaTeX-optcl)
-            options)
-       (if (or (and (boundp var)
-                    (listp (symbol-value var)))
-               (fboundp var))
-           (if (functionp var)
-               (setq options (funcall var))
-             (when (symbol-value var)
-               (setq options
-                     (mapconcat 'identity
-                                (TeX-completing-read-multiple
-                                 "Options: " (mapcar 'list (symbol-value var)))
-                                ","))))
-         (setq options (read-string "Options: ")))
-       (when options
-         ;; XXX: The following statement will add the options
-         ;; supplied to the LaTeX package to the style list.  This is
-         ;; consistent with the way the parser works (see
-         ;; `LaTeX-auto-cleanup').  But in a revamped style system
-         ;; such options should be associated with their LaTeX
-         ;; package to avoid confusion.  For example a `german' entry
-         ;; in the style list can come from documentclass options and
-         ;; does not necessarily mean that the babel-related
-         ;; extensions should be activated.
-         (mapc 'TeX-run-style-hooks (LaTeX-listify-package-options options))
-         (TeX-argument-insert options t))))))
+  (let* ((packages-options (LaTeX-arg-usepackage-read-packages-with-options))
+        (packages (car packages-options))
+        (options (cdr packages-options)))
+    (LaTeX-arg-usepackage-insert packages options)))
+
+(defun LaTeX-insert-usepackages ()
+  "Prompt for the insertion of usepackage macros until empty
+input is reached.
+
+Return t if at least one \\usepackage has been inserted, nil
+otherwise."
+  (let (packages-options packages options (inserted nil))
+    (while (setq packages-options
+                (LaTeX-arg-usepackage-read-packages-with-options))
+      (setq packages (car packages-options))
+      (setq options (cdr packages-options))
+      (insert TeX-esc "usepackage")
+      (LaTeX-arg-usepackage-insert packages options)
+      (LaTeX-newline)
+      (setq inserted t))
+    inserted))
 
 (defcustom LaTeX-search-files-type-alist
   '((texinputs "${TEXINPUTS.latex}" ("tex/generic/" "tex/latex/")
@@ -1731,6 +2098,7 @@ OPTIONAL is ignored."
     (graphics "${TEXINPUTS}" ("tex/") LaTeX-includegraphics-extensions)
     (bibinputs "${BIBINPUTS}" ("bibtex/bib/") BibTeX-file-extensions)
     (bstinputs "${BSTINPUTS}" ("bibtex/bst/") BibTeX-style-extensions)
+    (bbxinputs "" ("tex/latex/") BibLaTeX-style-extensions)
     (biberinputs "${BIBINPUTS}" ("bibtex/bib/") TeX-Biber-file-extensions))
   "Alist of filetypes with locations and file extensions.
 Each element of the alist consists of a symbol expressing the
@@ -1812,6 +2180,12 @@ files."
 Initialized once at the first time you prompt for an input file.
 May be reset with `\\[universal-argument] \\[TeX-normal-mode]'.")
 
+(defvar BibLaTeX-global-style-files nil
+  "Association list of BibLaTeX style files.
+
+Initialized once at the first time you prompt for a BibLaTeX
+style.  May be reset with `\\[universal-argument] \\[TeX-normal-mode]'.")
+
 (defun TeX-arg-bibstyle (optional &optional prompt)
   "Prompt for a BibTeX style file.
 If OPTIONAL is non-nil, insert the resulting value as an optional
@@ -1841,30 +2215,24 @@ Initialized once at the first time you prompt for an 
Biber file.
 May be reset with `\\[universal-argument] \\[TeX-normal-mode]'.")
 
 (defun TeX-arg-bibliography (optional &optional prompt)
-  "Prompt for a BibTeX or Biber database file.
+  "Prompt for a BibTeX database file.
 If OPTIONAL is non-nil, insert the resulting value as an optional
 argument, otherwise as a mandatory one.  Use PROMPT as the prompt
 string."
-  (let (name files inputs styles)
-    (if LaTeX-using-Biber
-       (progn
-         (setq name "Biber"
-               files 'TeX-Biber-global-files
-               inputs 'biberinputs))
-      (setq name "BibTeX"
-           files 'BibTeX-global-files
-           inputs 'bibinputs))
-    (message "Searching for %s files..." name)
-    (or (symbol-value files)
-       (set files (mapcar 'list (TeX-search-files-by-type
-                                 'biberinputs 'global t t))))
-    (setq styles (multi-prompt
-                 "," t
-                 (TeX-argument-prompt optional prompt (concat name " files"))
-                 (append (mapcar 'list (TeX-search-files-by-type
-                                        inputs 'local t t))
-                         (symbol-value files))))
+  (message "Searching for BibTeX files...")
+  (or BibTeX-global-files
+      (setq BibTeX-global-files
+           (mapcar 'list (TeX-search-files-by-type 'bibinputs 'global t t))))
+  (let ((styles (multi-prompt
+                "," t
+                (TeX-argument-prompt optional prompt "BibTeX files")
+                (append (mapcar 'list (TeX-search-files-by-type
+                                       'bibinputs 'local t t))
+                        BibTeX-global-files))))
     (apply 'LaTeX-add-bibliographies styles)
+    ;; Run style files associated to the bibliography database files in order 
to
+    ;; immediately fill `LaTeX-bibitem-list'.
+    (mapc 'TeX-run-style-hooks styles)
     (TeX-argument-insert (mapconcat 'identity styles ",") optional)))
 
 (defun TeX-arg-corner (optional &optional prompt)
@@ -1900,16 +2268,46 @@ string."
                    nil t)
    optional))
 
-(defun TeX-arg-pagestyle (optional &optional prompt)
-  "Prompt for a LaTeX pagestyle with completion.
+(defcustom TeX-date-format "%Y/%m/%d"
+  "The default date format prompted by `TeX-arg-date'."
+  :group 'LaTeX-macro
+  :type 'string)
+
+(defun TeX-arg-date (optional &optional prompt)
+  "Prompt for a date, defaulting to the current date.
 If OPTIONAL is non-nil, insert the resulting value as an optional
 argument, otherwise as a mandatory one.  Use PROMPT as the prompt
 string."
+  (let ((default (format-time-string TeX-date-format (current-time))))
+    (TeX-argument-insert
+     (TeX-read-string (TeX-argument-prompt
+                      optional prompt (format "Date (default %s)" default))
+                     nil nil default)
+     optional)))
+
+(defun TeX-arg-version (optional &optional prompt)
+  "Prompt for the version of a file.
+Use as initial input the current date.  If OPTIONAL is non-nil,
+insert the resulting value as an optional argument, otherwise as
+a mandatory one.  Use PROMPT as the prompt string."
   (TeX-argument-insert
-   (completing-read (TeX-argument-prompt optional prompt "Pagestyle")
-                   '(("plain") ("empty") ("headings") ("myheadings")))
+   (TeX-read-string (TeX-argument-prompt optional prompt "Version")
+                   (format-time-string "%Y/%m/%d" (current-time)))
    optional))
 
+(defun TeX-arg-pagestyle (optional &optional prompt definition)
+  "Prompt for a LaTeX pagestyle with completion.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string.  If DEFINITION is non-nil, add the chosen pagestyle to
+the list of defined pagestyles."
+  (let ((pagestyle (completing-read (TeX-argument-prompt optional prompt
+                                                        "Pagestyle")
+                                   (LaTeX-pagestyle-list))))
+    (if (and definition (not (string-equal "" pagestyle)))
+       (LaTeX-add-pagestyles pagestyle))
+    (TeX-argument-insert pagestyle optional)))
+
 (defcustom LaTeX-default-verb-delimiter ?|
   "Default delimiter for `\\verb' macros."
   :group 'LaTeX-macro
@@ -1985,6 +2383,11 @@ the cdr is the brace used with \\right."
 The car of each entry is the brace used with \\left,
 the cdr is the brace used with \\right.")
 
+(defcustom LaTeX-electric-left-right-brace nil
+  "If non-nil, insert right brace with suitable macro after typing left brace."
+  :group 'LaTeX-macro
+  :type 'boolean)
+
 (defvar TeX-left-right-braces
   '(("[") ("]") ("\\{") ("\\}") ("(") (")") ("|") ("\\|")
     ("/") ("\\backslash") ("\\lfloor") ("\\rfloor")
@@ -1993,51 +2396,219 @@ the cdr is the brace used with \\right.")
     ("\\updownarrow") ("\\Updownarrow") ("."))
   "List of symbols which can follow the \\left or \\right command.")
 
+(defvar LaTeX-left-right-macros-association
+  '(("left" . "right")
+    ("bigl" . "bigr") ("Bigl" . "Bigr")
+    ("biggl" . "biggr") ("Biggl" . "Biggr"))
+  "Alist of macros for adjusting size of left and right braces.
+The car of each entry is for left brace and the cdr is for right brace.")
+
 (defun TeX-arg-insert-braces (optional &optional prompt)
   "Prompt for a brace for \\left and insert the corresponding \\right.
 If OPTIONAL is non-nil, insert the resulting value as an optional
 argument, otherwise as a mandatory one.  Use PROMPT as the prompt
 string."
-  (save-excursion
-    (backward-word 1)
-    (backward-char)
-    (LaTeX-newline)
-    (indent-according-to-mode)
-    (beginning-of-line 0)
-    (if (looking-at "^[ \t]*$")
-       (progn (delete-horizontal-space)
-              (delete-char 1))))
-  (let ((left-brace (completing-read
-                    (TeX-argument-prompt optional prompt "Which brace")
-                    TeX-left-right-braces)))
-    (insert left-brace)
-    (LaTeX-newline)
-    (indent-according-to-mode)
+  (let (left-macro)
     (save-excursion
-      (let ((right-brace (cdr (assoc left-brace
-                                    TeX-braces-association))))
-       (LaTeX-newline)
-       (insert TeX-esc "right")
-       (if (and TeX-arg-right-insert-p
-                right-brace)
-           (insert right-brace)
-         (insert (completing-read
-                  (TeX-argument-prompt optional prompt "Which brace")
-                  TeX-left-right-braces)))
-       (indent-according-to-mode)))))
-
-(defun TeX-arg-key-val (optional key-val-alist)
+      ;; Obtain macro name such as "left", "bigl" etc.
+      (setq left-macro (buffer-substring-no-properties
+                        (point)
+                        (progn (backward-word 1) (point))))
+      (backward-char)
+      (LaTeX-newline)
+      (indent-according-to-mode)
+      ;; Delete possibly produced blank line.
+      (beginning-of-line 0)
+      (if (looking-at "^[ \t]*$")
+          (progn (delete-horizontal-space)
+                 (delete-char 1))))
+    (let ((left-brace (completing-read
+                       (TeX-argument-prompt optional prompt
+                                           "Which brace")
+                       TeX-left-right-braces)))
+      (insert left-brace)
+      (LaTeX-newline)
+      (save-excursion
+       (if (TeX-active-mark)
+           (goto-char (mark)))
+        (LaTeX-newline)
+        (LaTeX-insert-corresponding-right-macro-and-brace
+         left-macro left-brace optional prompt)
+        (indent-according-to-mode))
+      (indent-according-to-mode))))
+
+(defun TeX-arg-insert-right-brace-maybe (optional)
+  "Insert the suitable right brace macro such as \\rangle.
+Insertion is done when `TeX-arg-right-insert-p' is non-nil.
+If the left brace macro is preceeded by \\left, \\bigl etc.,
+supply the corresponding macro such as \\right before the right brace macro.
+OPTIONAL is ignored."
+  ;; Nothing is done when TeX-arg-right-insert-p is nil.
+  (when TeX-arg-right-insert-p
+    (let (left-brace left-macro)
+      (save-excursion
+       ;; Obtain left brace macro name such as "\langle".
+       (setq left-brace (buffer-substring-no-properties
+                         (point)
+                         (progn (backward-word) (backward-char)
+                                (point)))
+             ;; Obtain the name of preceeding left macro, if any,
+             ;; such as "left", "bigl" etc.
+             left-macro (LaTeX-find-preceeding-left-macro-name)))
+      (save-excursion
+       (if (TeX-active-mark)
+           (goto-char (mark)))
+       (LaTeX-insert-corresponding-right-macro-and-brace
+        left-macro left-brace optional)))))
+
+(defun LaTeX-insert-left-brace (arg)
+  "Insert typed left brace ARG times and possibly a correspondig right brace.
+Automatic right brace insertion is done only if no prefix ARG is given and
+`LaTeX-electric-left-right-brace' is non-nil.
+Normally bound to keys \(, { and [."
+  (interactive "*P")
+  (let ((auto-p (and LaTeX-electric-left-right-brace (not arg))))
+    (if (and auto-p
+            (TeX-active-mark)
+            (> (point) (mark)))
+       (exchange-point-and-mark))
+    (self-insert-command (prefix-numeric-value arg))
+    (if auto-p
+      (let ((lbrace (char-to-string last-command-event)) lmacro skip-p)
+        (save-excursion
+          (backward-char)
+         ;; The brace "{" is exceptional in two aspects.
+         ;; 1. "\{" should be considered as a single brace
+         ;;    like "(" and "[".
+         ;; 2. "\left{" is nonsense while "\left\{" and
+         ;;    "\left(" are not.
+         (if (string= lbrace TeX-grop)
+             ;; If "{" follows "\", set lbrace to "\{".
+             (if (TeX-escaped-p)
+                 (progn
+                   (backward-char)
+                   (setq lbrace (concat TeX-esc TeX-grop)))
+               ;; Otherwise, don't search for left macros.
+               (setq skip-p t)))
+         (unless skip-p
+           ;; Obtain the name of preceeding left macro, if any,
+           ;; such as "left", "bigl" etc.
+           (setq lmacro (LaTeX-find-preceeding-left-macro-name))))
+        (let ((TeX-arg-right-insert-p t)
+              ;; "{" and "}" are paired temporally so that typing
+             ;; a single "{" should insert a pair "{}".
+              (TeX-braces-association
+               (cons (cons TeX-grop TeX-grcl) TeX-braces-association)))
+         (save-excursion
+           (if (TeX-active-mark)
+               (goto-char (mark)))
+           (LaTeX-insert-corresponding-right-macro-and-brace
+            lmacro lbrace)))))))
+
+(defun LaTeX-insert-corresponding-right-macro-and-brace
+  (lmacro lbrace &optional optional prompt)
+  "Insert right macro and brace correspoinding to LMACRO and LBRACE.
+Left-right association is determined through
+`LaTeX-left-right-macros-association' and `TeX-braces-association'.
+
+If brace association can't be determined or `TeX-arg-right-insert-p'
+is nil, consult user which brace should be used."
+  ;; This function is called with LMACRO being one of the following
+  ;; possibilities.
+  ;;  (1) nil, which means LBRACE is isolated.
+  ;;  (2) null string, which means LBRACE follows right after "\" to
+  ;;      form "\(" or "\[".
+  ;;  (3) a string in CARs of `LaTeX-left-right-macros-association'.
+  (let ((rmacro (cdr (assoc lmacro LaTeX-left-right-macros-association)))
+       (rbrace (cdr (assoc lbrace TeX-braces-association))))
+    ;; Since braces like "\(" and "\)" should be paired, RMACRO
+    ;; should be considered as null string in the case (2).
+    (if (string= lmacro "")
+       (setq rmacro ""))
+    ;; Insert right macros such as "\right", "\bigr" etc., if necessary.
+    ;; Even single "\" will be inserted so that "\)" or "\]" is
+    ;; inserted after "\(", "\[".
+    (if rmacro
+       (insert TeX-esc rmacro))
+    (cond
+     ((and TeX-arg-right-insert-p rbrace)
+      (insert rbrace))
+     (rmacro
+      (insert (completing-read
+              (TeX-argument-prompt
+               optional prompt
+               (format "Which brace (default %s)"
+                       (or rbrace "."))) TeX-left-right-braces
+                       nil nil nil nil (or rbrace ".")))))))
+
+(defun LaTeX-find-preceeding-left-macro-name ()
+  "Return the left macro name just before the point, if any.
+If the preceeding macro isn't left macros such as \\left, \\bigl etc.,
+return nil.
+If the point is just after unescaped `TeX-esc', return the null string."
+  ;; \left-!- => "left"
+  ;; \-!- => ""
+  ;; \infty-!- => nil
+  ;; \&-!- => nil
+  ;; \mathrm{abc}-!- => nil
+  ;; {blah blah blah}-!- => nil
+  ;; \\-!- => nil
+  (let ((name (buffer-substring-no-properties
+              (point)
+              ;; This is only a helper function, so we do not
+              ;; preserve point by save-excursion.
+              (progn
+                ;; Assume left macro names consist of only A-Z and a-z.
+                (skip-chars-backward "A-Za-z")
+                (point)))))
+    (if (and (TeX-escaped-p)
+            (or (string= name "")
+                (assoc name LaTeX-left-right-macros-association)))
+       name)))
+
+(defcustom LaTeX-default-author 'user-full-name
+  "Initial input to `LaTeX-arg-author' prompt.
+If nil, do not prompt at all."
+  :group 'LaTeX-macro
+  :type '(choice (const :tag "User name in Emacs" user-full-name)
+                (const :tag "Do not prompt" nil)
+                string))
+
+(defun LaTeX-arg-author (optional &optional prompt)
+  "Prompt for author name.
+Insert the given value as a TeX macro argument.  If OPTIONAL is
+non-nil, insert it as an optional argument.  Use PROMPT as the
+prompt string.  `LaTeX-default-author' is the initial input."
+  (let ((author (if LaTeX-default-author
+                   (read-string
+                    (TeX-argument-prompt optional prompt "Author(s)")
+                    (if (symbolp LaTeX-default-author)
+                        (symbol-value LaTeX-default-author)
+                      LaTeX-default-author))
+                 "")))
+    (TeX-argument-insert author optional nil)))
+
+(defun TeX-read-key-val (optional key-val-alist &optional prompt)
+  "Prompt for keys and values in KEY-VAL-ALIST and return them.
+If OPTIONAL is non-nil, indicate in the prompt that we are
+reading an optional argument.  KEY-VAL-ALIST is an alist.  The
+car of each element should be a string representing a key and the
+optional cdr should be a list with strings to be used as values
+for the key.  Use PROMPT as the prompt string."
+  (multi-prompt-key-value
+   (TeX-argument-prompt optional prompt "Options (k=v)")
+   (if (symbolp key-val-alist)
+       (eval key-val-alist)
+     key-val-alist)))
+
+(defun TeX-arg-key-val (optional key-val-alist &optional prompt)
   "Prompt for keys and values in KEY-VAL-ALIST.
 Insert the given value as a TeX macro argument.  If OPTIONAL is
 non-nil, insert it as an optional argument.  KEY-VAL-ALIST is an
 alist.  The car of each element should be a string representing a
 key and the optional cdr should be a list with strings to be used
-as values for the key."
-  (let ((options (multi-prompt-key-value
-                 (TeX-argument-prompt optional "Options (k=v)" nil)
-                 (if (symbolp key-val-alist)
-                     (eval key-val-alist)
-                   key-val-alist))))
+as values for the key.  Use PROMPT as the prompt string."
+  (let ((options (TeX-read-key-val optional key-val-alist prompt)))
     (TeX-argument-insert options optional)))
 
 
@@ -2260,20 +2831,22 @@ consideration just as is in the non-commented source 
code."
 (defcustom LaTeX-indent-environment-list
   '(("verbatim" current-indentation)
     ("verbatim*" current-indentation)
-    ;; The following should have there own, smart indentation function.
+    ("tabular" LaTeX-indent-tabular)
+    ("tabular*" LaTeX-indent-tabular)
+    ("align" LaTeX-indent-tabular)
+    ("align*" LaTeX-indent-tabular)
+    ("array" LaTeX-indent-tabular)
+    ("eqnarray" LaTeX-indent-tabular)
+    ("eqnarray*" LaTeX-indent-tabular)
+    ;; The following should have their own, smart indentation function.
     ;; Some other day.
-    ("array")
     ("displaymath")
-    ("eqnarray")
-    ("eqnarray*")
     ("equation")
     ("equation*")
     ("picture")
     ("tabbing")
     ("table")
-    ("table*")
-    ("tabular")
-    ("tabular*"))
+    ("table*"))
     "Alist of environments with special indentation.
 The second element in each entry is the function to calculate the
 indentation level in columns."
@@ -2434,6 +3007,7 @@ outer indentation in case of a commented line.  The 
symbols
     (LaTeX-back-to-indentation force-type)
     (let ((i 0)
          (list-length (safe-length docTeX-indent-inner-fixed))
+         (case-fold-search nil)
          entry
          found)
       (cond ((save-excursion (beginning-of-line) (bobp)) 0)
@@ -2680,7 +3254,7 @@ recognized."
 
 ;;; Filling
 
-(defcustom LaTeX-fill-break-at-separators nil
+(defcustom LaTeX-fill-break-at-separators '(\\\( \\\) \\\[ \\\])
   "List of separators before or after which respectively a line
 break will be inserted if they do not fit into one line."
   :group 'LaTeX
@@ -2834,7 +3408,7 @@ space does not end a sentence, so don't break a line 
there."
       (if (and oneleft
               (not (and use-hard-newlines
                         (get-text-property (1- (point)) 'hard))))
-         (delete-backward-char 1)
+         (delete-char -1)
        (backward-char 1)
        (setq oneleft t)))
     (setq to (copy-marker (point) t))
@@ -3513,7 +4087,8 @@ environment in commented regions with the same comment 
prefix."
   (let* ((regexp (concat (regexp-quote TeX-esc) "\\(begin\\|end\\)\\b"))
         (level 1)
         (in-comment (TeX-in-commented-line))
-        (comment-prefix (and in-comment (TeX-comment-prefix))))
+        (comment-prefix (and in-comment (TeX-comment-prefix)))
+        (case-fold-search nil))
     (save-excursion
       (skip-chars-backward "a-zA-Z \t{")
       (unless (bolp)
@@ -3547,7 +4122,8 @@ environment in commented regions with the same comment 
prefix."
   (let* ((regexp (concat (regexp-quote TeX-esc) "\\(begin\\|end\\)\\b"))
         (level 1)
         (in-comment (TeX-in-commented-line))
-        (comment-prefix (and in-comment (TeX-comment-prefix))))
+        (comment-prefix (and in-comment (TeX-comment-prefix)))
+        (case-fold-search nil))
     (skip-chars-backward "a-zA-Z \t{")
     (unless (bolp)
       (backward-char 1)
@@ -3586,7 +4162,7 @@ environments."
       (goto-char cur)
       (dotimes (c count) (LaTeX-find-matching-begin))
       (setq beg (point)))
-    (set-mark end)
+    (push-mark end)
     (goto-char beg)
     (TeX-activate-region)))
 
@@ -3653,7 +4229,7 @@ value of NO-SUBSECTIONS."
   '("[" "]" ; display math
     "appendix" "begin" "caption" "chapter" "end" "include" "includeonly"
     "label" "maketitle" "noindent" "par" "paragraph" "part" "section"
-    "subsection" "subsubsection" "tableofcontents")
+    "subsection" "subsubsection" "tableofcontents" "newpage" "clearpage")
   "Internal list of LaTeX macros that should have their own line.")
 
 (defun LaTeX-paragraph-commands-regexp-make ()
@@ -3850,44 +4426,114 @@ of verbatim constructs are not considered."
   "Mathematics in AUCTeX."
   :group 'LaTeX-macro)
 
-(defcustom LaTeX-math-list nil
-  "Alist of your personal LaTeX math symbols.
-
-Each entry should be a list with up to four elements, KEY, VALUE,
-MENU and CHARACTER.
+(defvar LaTeX-math-keymap (make-sparse-keymap)
+  "Keymap used for `LaTeX-math-mode' commands.")
 
-KEY is the key (after `LaTeX-math-abbrev-prefix') to be redefined
-in math minor mode.  If KEY is nil, the symbol has no associated
-keystroke \(it is available in the menu, though\).
+(defun LaTeX-math-abbrev-prefix ()
+  "Make a key definition from the variable `LaTeX-math-abbrev-prefix'."
+  (if (stringp LaTeX-math-abbrev-prefix)
+      (read-kbd-macro LaTeX-math-abbrev-prefix)
+    LaTeX-math-abbrev-prefix))
 
-VALUE can be a string with the name of the macro to be inserted,
-or a function to be called.  The macro must be given without the
-leading backslash.
+(defvar LaTeX-math-menu
+  '("Math"
+    ("Greek Uppercase") ("Greek Lowercase") ("Binary Op") ("Relational")
+    ("Arrows") ("Punctuation") ("Misc Symbol") ("Var Symbol") ("Log-like")
+    ("Delimiters") ("Constructs") ("Accents") ("AMS"))
+  "Menu containing LaTeX math commands.
+The menu entries will be generated dynamically, but you can specify
+the sequence by initializing this variable.")
 
-The third element MENU is the name of the submenu where the
-command should be added.  MENU can be either a string
-\(e.g. \"greek\"\), a list (e.g. \(\"AMS\" \"Delimiters\"\)\) or
-nil.  If MENU is nil, no menu item will be created.
+(defcustom LaTeX-math-menu-unicode
+  (or (string-match "\\<GTK\\>" (emacs-version))
+      (eq window-system 'w32))
+  "Whether the LaTeX menu should try using Unicode for effect."
+  :type 'boolean
+  :group 'LaTeX-math)
 
-The fourth element CHARACTER is a Unicode character position for
-menu display.  When nil, no character is shown.
+(defcustom LaTeX-math-abbrev-prefix "`"
+  "Prefix key for use in `LaTeX-math-mode'.
+This has to be a string representing a key sequence in a format
+understood by the `kbd' macro.  This corresponds to the syntax
+usually used in the Emacs and Elisp manuals.
 
-See also `LaTeX-math-menu'."
+Setting this variable directly does not take effect;
+use \\[customize]."
   :group 'LaTeX-math
-  :type '(repeat (group (choice :tag "Key"
-                               (const :tag "none" nil)
-                               (choice (character)
-                                       (string :tag "Key sequence")))
-                       (choice :tag "Value"
-                               (string :tag "Macro")
-                               (function))
-                       (choice :tag "Menu"
-                               (string :tag "Top level menu" )
-                               (repeat :tag "Submenu"
-                                       (string :tag "Menu")))
-                       (choice :tag "Unicode character"
-                               (const :tag "none" nil)
-                               (integer :tag "Number")))))
+  :initialize 'custom-initialize-default
+  :set '(lambda (symbol value)
+         (define-key LaTeX-math-mode-map (LaTeX-math-abbrev-prefix) t)
+         (set-default symbol value)
+         (define-key LaTeX-math-mode-map
+           (LaTeX-math-abbrev-prefix) LaTeX-math-keymap))
+  :type '(string :tag "Key sequence"))
+
+(defun LaTeX-math-initialize ()
+  (let ((math (reverse (append LaTeX-math-list LaTeX-math-default)))
+       (map LaTeX-math-keymap)
+       (unicode (and LaTeX-math-menu-unicode (fboundp 'decode-char))))
+    (while math
+      (let* ((entry (car math))
+            (key (nth 0 entry))
+            (prefix
+             (and unicode
+                  (nth 3 entry)))
+            value menu name)
+       (setq math (cdr math))
+       (if (and prefix
+                (setq prefix (decode-char 'ucs (nth 3 entry))))
+           (setq prefix (concat (string prefix) " \\"))
+         (setq prefix "\\"))
+       (if (listp (cdr entry))
+           (setq value (nth 1 entry)
+                 menu (nth 2 entry))
+         (setq value (cdr entry)
+               menu nil))
+       (if (stringp value)
+           (progn
+             (setq name (intern (concat "LaTeX-math-" value)))
+             (fset name (list 'lambda (list 'arg) (list 'interactive "*P")
+                              (list 'LaTeX-math-insert value 'arg))))
+         (setq name value))
+       (if key
+           (progn
+             (setq key (cond ((numberp key) (char-to-string key))
+                             ((stringp key) (read-kbd-macro key))
+                             (t (vector key))))
+             (define-key map key name)))
+       (if menu
+           (let ((parent LaTeX-math-menu))
+             (if (listp menu)
+                 (progn
+                   (while (cdr menu)
+                     (let ((sub (assoc (car menu) LaTeX-math-menu)))
+                       (if sub
+                           (setq parent sub)
+                         (setcdr parent (cons (list (car menu)) (cdr parent))))
+                       (setq menu (cdr menu))))
+                   (setq menu (car menu))))
+             (let ((sub (assoc menu parent)))
+               (if sub
+                   (if (stringp value)
+                       (setcdr sub (cons (vector (concat prefix value)
+                                                 name t)
+                                         (cdr sub)))
+                     (error "Cannot have multiple special math menu items"))
+                 (setcdr parent
+                         (cons (if (stringp value)
+                                   (list menu (vector (concat prefix value)
+                                                      name t))
+                                 (vector menu name t))
+                               (cdr parent)))))))))
+    ;; Make the math prefix char available if it has not been used as a prefix.
+    (unless (lookup-key map (LaTeX-math-abbrev-prefix))
+      (define-key map (LaTeX-math-abbrev-prefix) 'self-insert-command))))
+
+(defconst LaTeX-dialect :latex
+  "Default dialect for use with function `TeX-add-style-hook' for
+argument DIALECT-EXPR when the hook is to be run only on LaTeX
+file, or any mode derived thereof. See variable
+`TeX-style-hook-dialect'." )
 
 (defconst LaTeX-math-default
   '((?a "alpha" "Greek Lowercase" 945) ;; #X03B1
@@ -3953,10 +4599,10 @@ See also `LaTeX-math-menu'."
     (nil "bigtriangledown" "Binary Op" 9661) ;; #X25BD
     (nil "triangleleft" "Binary Op" 9665) ;; #X25C1
     (nil "triangleright" "Binary Op" 9655) ;; #X25B7
-    (nil "lhd" "Binary Op")
-    (nil "rhd" "Binary Op")
-    (nil "unlhd" "Binary Op")
-    (nil "unrhd" "Binary Op")
+    (nil "lhd" "Binary Op" 8882) ;; #X22B2
+    (nil "rhd" "Binary Op" 8883) ;; #X22B3
+    (nil "unlhd" "Binary Op" 8884) ;; #X22B4
+    (nil "unrhd" "Binary Op" 8885) ;; #X22B5
     (nil "oplus" "Binary Op" 8853) ;; #X2295
     (nil "ominus" "Binary Op" 8854) ;; #X2296
     (nil "otimes" "Binary Op" 8855) ;; #X2297
@@ -4048,10 +4694,10 @@ See also `LaTeX-math-menu'."
     (?0 "emptyset" "Misc Symbol" 8709) ;; #X2205
     (?E "exists" "Misc Symbol" 8707) ;; #X2203
     (nil "surd" "Misc Symbol" 8730) ;; #X221A
-    (nil "Box" "Misc Symbol")
+    (nil "Box" "Misc Symbol" 9633) ;; #X25A1
     (nil "triangle" "Misc Symbol" 9651) ;; #X25B3
-    (nil "Diamond" "Misc Symbol")
-    (nil "imath" "Misc Symbol" 305) ;; #X0131
+    (nil "Diamond" "Misc Symbol" 9671) ;; #X25C7
+    (nil "imath" "Misc Symbol" 120484) ;; #X1D6A4
     (nil "jmath" "Misc Symbol" 120485) ;; #X1D6A5
     (nil "ell" "Misc Symbol" 8467) ;; #X2113
     (nil "neg" "Misc Symbol" 172) ;; #X00AC
@@ -4117,8 +4763,8 @@ See also `LaTeX-math-menu'."
     (?\C-^ "sup" "Log-like")
     (?\C-t "tan" "Log-like")
     (nil "tanh" "Log-like")
-    (nil "{" "Delimiters")
-    (nil "}" "Delimiters")
+    (nil "{" "Delimiters" ?{)
+    (nil "}" "Delimiters" ?})
     (nil "lfloor" "Delimiters" 8970) ;; #X230A
     (nil "rfloor" "Delimiters" 8971) ;; #X230B
     (nil "lceil" "Delimiters" 8968) ;; #X2308
@@ -4127,10 +4773,10 @@ See also `LaTeX-math-menu'."
     (?\) "rangle" "Delimiters" 10217) ;; #X27E9
     (nil "rmoustache" "Delimiters" 9137) ;; #X23B1
     (nil "lmoustache" "Delimiters" 9136) ;; #X23B0
-    (nil "rgroup" "Delimiters")
-    (nil "lgroup" "Delimiters")
+    (nil "rgroup" "Delimiters" 9133) ;; #X23AD
+    (nil "lgroup" "Delimiters" 9129) ;; #X23A9
     (nil "backslash" "Delimiters" 92) ;; #X005C
-    (nil "|" "Delimiters")
+    (nil "|" "Delimiters" 8214) ;; #X2016)
     (nil "arrowvert" "Delimiters")
     (nil "Arrowvert" "Delimiters")
     (nil "bracevert" "Delimiters")
@@ -4138,8 +4784,8 @@ See also `LaTeX-math-menu'."
     (nil "widehat" "Constructs" 770) ;; #X0302
     (nil "overleftarrow" "Constructs" 8406) ;; #X20D6
     (nil "overrightarrow" "Constructs")
-    (nil "overline" "Constructs")
-    (nil "underline" "Constructs")
+    (nil "overline" "Constructs" 773) ;; #X0305
+    (nil "underline" "Constructs" 818) ;; #X0332
     (nil "overbrace" "Constructs" 65079) ;; #XFE37
     (nil "underbrace" "Constructs" 65080) ;; #XFE38
     (nil "sqrt" "Constructs" 8730) ;; #X221A
@@ -4154,22 +4800,23 @@ See also `LaTeX-math-menu'."
     (nil "vec" "Accents" 8407) ;; #X20D7
     (nil "ddot" "Accents" 776) ;; #X0308
     (?~ "tilde" "Accents" 771) ;; #X0303
-    (nil "digamma" ("AMS" "Hebrew") 989) ;; #X03DD
-    (nil "varkappa" ("AMS" "Hebrew") 1008) ;; #X03F0
+    (nil "mathring" "Accents" 778) ;; #X030A
     (nil "beth" ("AMS" "Hebrew") 8502) ;; #X2136
     (nil "daleth" ("AMS" "Hebrew") 8504) ;; #X2138
     (nil "gimel" ("AMS" "Hebrew") 8503) ;; #X2137
-    ("v G" "varGamma" ("AMS" "Greek Uppercase"))
-    ("v D" "varDelta" ("AMS" "Greek Uppercase"))
-    ("v J" "varTheta" ("AMS" "Greek Uppercase"))
-    ("v L" "varLambda" ("AMS" "Greek Uppercase"))
-    ("v X" "varXi" ("AMS" "Greek Uppercase"))
-    ("v P" "varPi" ("AMS" "Greek Uppercase"))
-    ("v S" "varSigma" ("AMS" "Greek Uppercase"))
-    ("v U" "varUpsilon" ("AMS" "Greek Uppercase"))
-    ("v F" "varPhi" ("AMS" "Greek Uppercase"))
-    ("v Y" "varPsi" ("AMS" "Greek Uppercase"))
-    ("v W" "varOmega" ("AMS" "Greek Uppercase"))
+    (nil "digamma" ("AMS" "Greek Lowercase") 989) ;; #X03DD
+    ("v k" "varkappa" ("AMS" "Greek Lowercase") 1008) ;; #X03F0
+    ("v G" "varGamma" ("AMS" "Greek Uppercase") 120548) ;; #X1D6E4
+    ("v D" "varDelta" ("AMS" "Greek Uppercase") 120549) ;; #X1D6E5
+    ("v J" "varTheta" ("AMS" "Greek Uppercase") 120553) ;; #X1D6E9
+    ("v L" "varLambda" ("AMS" "Greek Uppercase") 120556) ;; #X1D6EC
+    ("v X" "varXi" ("AMS" "Greek Uppercase") 120559) ;; #X1D6EF
+    ("v P" "varPi" ("AMS" "Greek Uppercase") 120561) ;; #X1D6F1
+    ("v S" "varSigma" ("AMS" "Greek Uppercase") 120564) ;; #X1D6F4
+    ("v U" "varUpsilon" ("AMS" "Greek Uppercase") 120566) ;; #X1D6F6
+    ("v F" "varPhi" ("AMS" "Greek Uppercase") 120567) ;; #X1D6F7
+    ("v Y" "varPsi" ("AMS" "Greek Uppercase") 120569) ;; #X1D6F9
+    ("v W" "varOmega" ("AMS" "Greek Uppercase") 120570) ;; #X1D6FA
     (nil "dashrightarrow" ("AMS" "Arrows"))
     (nil "dashleftarrow" ("AMS" "Arrows"))
     (nil "leftleftarrows" ("AMS" "Arrows") 8647) ;; #X21C7
@@ -4180,7 +4827,7 @@ See also `LaTeX-math-menu'."
     (nil "looparrowleft" ("AMS" "Arrows") 8619) ;; #X21AB
     (nil "leftrightharpoons" ("AMS" "Arrows") 8651) ;; #X21CB
     (nil "curvearrowleft" ("AMS" "Arrows") 8630) ;; #X21B6
-    (nil "circlearrowleft" ("AMS" "Arrows"))
+    (nil "circlearrowleft" ("AMS" "Arrows") 8634) ;; #X21BA
     (nil "Lsh" ("AMS" "Arrows") 8624) ;; #X21B0
     (nil "upuparrows" ("AMS" "Arrows") 8648) ;; #X21C8
     (nil "upharpoonleft" ("AMS" "Arrows") 8639) ;; #X21BF
@@ -4213,7 +4860,7 @@ See also `LaTeX-math-menu'."
     (nil "lessgtr" ("AMS" "Relational I") 8822) ;; #X2276
     (nil "lesseqgtr" ("AMS" "Relational I") 8922) ;; #X22DA
     (nil "lesseqqgtr" ("AMS" "Relational I") 10891) ;; #X2A8B
-    (nil "doteqdot" ("AMS" "Relational I"))
+    (nil "doteqdot" ("AMS" "Relational I") 8785) ;; #X2251
     (nil "risingdotseq" ("AMS" "Relational I") 8787) ;; #X2253
     (nil "fallingdotseq" ("AMS" "Relational I") 8786) ;; #X2252
     (nil "backsim" ("AMS" "Relational I") 8765) ;; #X223D
@@ -4413,106 +5060,47 @@ See also `LaTeX-math-menu'."
 Each entry should be a list with upto four elements, KEY, VALUE,
 MENU and CHARACTER, see `LaTeX-math-list' for details.")
 
-(defcustom LaTeX-math-abbrev-prefix "`"
-  "Prefix key for use in `LaTeX-math-mode'.
-This has to be a string representing a key sequence in a format
-understood by the `kbd' macro.  This corresponds to the syntax
-usually used in the Emacs and Elisp manuals.
+(defcustom LaTeX-math-list nil
+  "Alist of your personal LaTeX math symbols.
 
-Setting this variable directly does not take effect;
-use \\[customize]."
-  :group 'LaTeX-math
-  :initialize 'custom-initialize-default
-  :set '(lambda (symbol value)
-         (define-key LaTeX-math-mode-map (LaTeX-math-abbrev-prefix) t)
-         (set-default symbol value)
-         (define-key LaTeX-math-mode-map
-           (LaTeX-math-abbrev-prefix) LaTeX-math-keymap))
-  :type '(string :tag "Key sequence"))
+Each entry should be a list with up to four elements, KEY, VALUE,
+MENU and CHARACTER.
 
-(defun LaTeX-math-abbrev-prefix ()
-  "Make a key definition from the variable `LaTeX-math-abbrev-prefix'."
-  (if (stringp LaTeX-math-abbrev-prefix)
-      (read-kbd-macro LaTeX-math-abbrev-prefix)
-    LaTeX-math-abbrev-prefix))
+KEY is the key (after `LaTeX-math-abbrev-prefix') to be redefined
+in math minor mode.  If KEY is nil, the symbol has no associated
+keystroke \(it is available in the menu, though\).
 
-(defvar LaTeX-math-keymap (make-sparse-keymap)
-  "Keymap used for `LaTeX-math-mode' commands.")
+VALUE can be a string with the name of the macro to be inserted,
+or a function to be called.  The macro must be given without the
+leading backslash.
 
-(defvar LaTeX-math-menu
-  '("Math"
-    ("Greek Uppercase") ("Greek Lowercase") ("Binary Op") ("Relational")
-    ("Arrows") ("Punctuation") ("Misc Symbol") ("Var Symbol") ("Log-like")
-    ("Delimiters") ("Constructs") ("Accents") ("AMS"))
-  "Menu containing LaTeX math commands.
-The menu entries will be generated dynamically, but you can specify
-the sequence by initializing this variable.")
+The third element MENU is the name of the submenu where the
+command should be added.  MENU can be either a string
+\(e.g. \"greek\"\), a list (e.g. \(\"AMS\" \"Delimiters\"\)\) or
+nil.  If MENU is nil, no menu item will be created.
 
-(defcustom LaTeX-math-menu-unicode
-  (and (string-match "\\<GTK\\>" (emacs-version)) t)
-  "Whether the LaTeX menu should try using Unicode for effect."
-  :type 'boolean
-  :group 'LaTeX-math)
+The fourth element CHARACTER is a Unicode character position for
+menu display.  When nil, no character is shown.
 
-(let ((math (reverse (append LaTeX-math-list LaTeX-math-default)))
-      (map LaTeX-math-keymap)
-      (unicode (and LaTeX-math-menu-unicode (fboundp 'decode-char))))
-  (while math
-    (let* ((entry (car math))
-          (key (nth 0 entry))
-          (prefix
-           (and unicode
-                (nth 3 entry)))
-          value menu name)
-      (setq math (cdr math))
-      (if (and prefix
-              (setq prefix (decode-char 'ucs (nth 3 entry))))
-         (setq prefix (concat (string prefix) " \\"))
-       (setq prefix "\\"))
-      (if (listp (cdr entry))
-         (setq value (nth 1 entry)
-               menu (nth 2 entry))
-       (setq value (cdr entry)
-             menu nil))
-      (if (stringp value)
-         (progn
-          (setq name (intern (concat "LaTeX-math-" value)))
-          (fset name (list 'lambda (list 'arg) (list 'interactive "*P")
-                           (list 'LaTeX-math-insert value 'arg))))
-       (setq name value))
-      (if key
-         (progn
-           (setq key (cond ((numberp key) (char-to-string key))
-                           ((stringp key) (read-kbd-macro key))
-                           (t (vector key))))
-           (define-key map key name)))
-      (if menu
-         (let ((parent LaTeX-math-menu))
-           (if (listp menu)
-               (progn
-                 (while (cdr menu)
-                   (let ((sub (assoc (car menu) LaTeX-math-menu)))
-                     (if sub
-                         (setq parent sub)
-                       (setcdr parent (cons (list (car menu)) (cdr parent))))
-                     (setq menu (cdr menu))))
-                 (setq menu (car menu))))
-           (let ((sub (assoc menu parent)))
-             (if sub
-                 (if (stringp value)
-                     (setcdr sub (cons (vector (concat prefix value)
-                                               name t)
-                                       (cdr sub)))
-                   (error "Cannot have multiple special math menu items"))
-               (setcdr parent
-                       (cons (if (stringp value)
-                                 (list menu (vector (concat prefix value)
-                                                    name t))
-                               (vector menu name t))
-                             (cdr parent)))))))))
-  ;; Make the math prefix char available if it has not been used as a prefix.
-  (unless (lookup-key map (LaTeX-math-abbrev-prefix))
-    (define-key map (LaTeX-math-abbrev-prefix) 'self-insert-command)))
+See also `LaTeX-math-menu'."
+  :group 'LaTeX-math
+  :set (lambda (symbol value)
+        (set-default symbol value)
+        (LaTeX-math-initialize))
+  :type '(repeat (group (choice :tag "Key"
+                               (const :tag "none" nil)
+                               (choice (character)
+                                       (string :tag "Key sequence")))
+                       (choice :tag "Value"
+                               (string :tag "Macro")
+                               (function))
+                       (choice :tag "Menu"
+                               (string :tag "Top level menu" )
+                               (repeat :tag "Submenu"
+                                       (string :tag "Menu")))
+                       (choice :tag "Unicode character"
+                               (const :tag "none" nil)
+                               (integer :tag "Number")))))
 
 (define-minor-mode LaTeX-math-mode
   "A minor mode with easy access to TeX math macros.
@@ -4540,19 +5128,23 @@ commands are defined:
   :type 'function)
 
 (defun LaTeX-math-insert (string dollar)
-  "Insert \\STRING{}.  If DOLLAR is non-nil, put $'s around it."
-  (if dollar (insert "$"))
+  "Insert \\STRING{}.  If DOLLAR is non-nil, put $'s around it.
+If `TeX-electric-math' is non-nil wrap that symbols around the
+string."
+  (if dollar (insert (or (car TeX-electric-math) "$")))
   (funcall LaTeX-math-insert-function string)
-  (if dollar (insert "$")))
+  (if dollar (insert (or (cdr TeX-electric-math) "$"))))
 
 (defun LaTeX-math-cal (char dollar)
-  "Insert a {\\cal CHAR}.  If DOLLAR is non-nil, put $'s around it."
+  "Insert a {\\cal CHAR}.  If DOLLAR is non-nil, put $'s around it.
+If `TeX-electric-math' is non-nil wrap that symbols around the
+char."
   (interactive "*c\nP")
-  (if dollar (insert "$"))
+  (if dollar (insert (or (car TeX-electric-math) "$")))
   (if (member "latex2e" (TeX-style-list))
       (insert "\\mathcal{" (char-to-string char) "}")
     (insert "{\\cal " (char-to-string char) "}"))
-  (if dollar (insert "$")))
+  (if dollar (insert (or (cdr TeX-electric-math) "$"))))
 
 
 ;;; Folding
@@ -4597,6 +5189,25 @@ commands are defined:
                        (repeat :tag "Math Macros" (string))))
   :group 'TeX-fold)
 
+;;; Narrowing
+
+(defun LaTeX-narrow-to-environment (&optional count)
+  "Make text outside current environment invisible.
+With optional COUNT keep visible that number of enclosing
+environmens."
+  (interactive "p")
+  (setq count (if count (abs count) 1))
+  (save-excursion
+    (widen)
+    (let ((opoint (point))
+         beg end)
+      (dotimes (c count) (LaTeX-find-matching-end))
+      (setq end (point))
+      (goto-char opoint)
+      (dotimes (c count) (LaTeX-find-matching-begin))
+      (setq beg (point))
+      (narrow-to-region beg end))))
+(put 'LaTeX-narrow-to-environment 'disabled t)
 
 ;;; Keymap
 
@@ -4633,6 +5244,9 @@ commands are defined:
     (define-key map "\C-c~"    'LaTeX-math-mode) ;*** Dubious
 
     (define-key map "-" 'LaTeX-babel-insert-hyphen)
+    (define-key map "(" 'LaTeX-insert-left-brace)
+    (define-key map "{" 'LaTeX-insert-left-brace)
+    (define-key map "[" 'LaTeX-insert-left-brace)
     map)
   "Keymap used in `LaTeX-mode'.")
 
@@ -4763,6 +5377,13 @@ corresponds to the variables 
`LaTeX-environment-menu-name' and
               (mapcar 'LaTeX-environment-modify-menu-entry
                       (LaTeX-environment-list))))))))
 
+(defadvice LaTeX-add-environments (after LaTeX-invalidate-environment-menu 
(&rest environments) activate)
+  "Add ENVIRONMENTS to the list of known environments.
+Additionally invalidate the environment submenus to let them be
+regenerated by the respective menu filter."
+  (setq LaTeX-environment-menu nil)
+  (setq LaTeX-environment-modify-menu nil))
+
 (easy-menu-define LaTeX-mode-command-menu
     LaTeX-mode-map
     "Command menu used in LaTeX mode."
@@ -4951,9 +5572,9 @@ If prefix argument FORCE is non-nil, always insert a 
regular hyphen."
                                   (point))
                 hyphen)
        (if h-after-h
-           (progn (delete-backward-char hyphen-length)
+           (progn (delete-char (- hyphen-length))
                   (insert "--"))
-         (delete-backward-char hyphen-length)
+         (delete-char (- hyphen-length))
          (call-interactively 'self-insert-command)))
        ;; -- --> [+]-
        ((string= (buffer-substring (max (- (point) 2) (point-min))
@@ -4963,7 +5584,7 @@ If prefix argument FORCE is non-nil, always insert a 
regular hyphen."
        ;; - --> "= / [+]-
        ((eq (char-before) ?-)
        (if h-after-h
-           (progn (delete-backward-char 1)
+           (progn (delete-char -1)
                   (insert hyphen))
          (call-interactively 'self-insert-command)))
        (h-after-h
@@ -5046,6 +5667,14 @@ of `LaTeX-mode-hook'."
            (featurep 'toolbar)
          (and (boundp 'tool-bar-mode) tool-bar-mode))
     (LaTeX-maybe-install-toolbar))
+  ;; Set the value of `LaTeX-using-Biber' based on the local value of
+  ;; `LaTeX-biblatex-use-Biber'.  This should be run within
+  ;; `TeX-update-style-hook' before toolbarx-refresh, otherwise the 
bibliography
+  ;; button could be wrongly set.
+  (add-hook 'TeX-update-style-hook
+           (lambda ()
+             (if (local-variable-p 'LaTeX-biblatex-use-Biber (current-buffer))
+                 (setq LaTeX-using-Biber LaTeX-biblatex-use-Biber))) nil t)
   (TeX-run-mode-hooks 'text-mode-hook 'TeX-mode-hook 'LaTeX-mode-hook)
   (TeX-set-mode-name)
   ;; Defeat filladapt
@@ -5132,45 +5761,39 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
   "Common initialization for LaTeX derived modes."
   (VirTeX-common-initialization)
   (set-syntax-table LaTeX-mode-syntax-table)
-  (make-local-variable 'indent-line-function)
-  (setq indent-line-function 'LaTeX-indent-line)
+  (set (make-local-variable 'indent-line-function) 'LaTeX-indent-line)
 
   (setq local-abbrev-table latex-mode-abbrev-table)
 
   ;; Filling
-  (make-local-variable 'paragraph-ignore-fill-prefix)
-  (setq paragraph-ignore-fill-prefix t)
-  (make-local-variable 'fill-paragraph-function)
-  (setq fill-paragraph-function 'LaTeX-fill-paragraph)
-  (make-local-variable 'adaptive-fill-mode)
-  (setq adaptive-fill-mode nil)
+  (set (make-local-variable 'paragraph-ignore-fill-prefix) t)
+  (set (make-local-variable 'fill-paragraph-function) 'LaTeX-fill-paragraph)
+  (set (make-local-variable 'adaptive-fill-mode) nil)
 
   (or LaTeX-largest-level
       (setq LaTeX-largest-level (LaTeX-section-level "section")))
 
   (setq TeX-header-end LaTeX-header-end
        TeX-trailer-start LaTeX-trailer-start)
+  (set (make-local-variable 'TeX-style-hook-dialect) :latex)
 
   (require 'outline)
-  (make-local-variable 'outline-level)
-  (setq outline-level 'LaTeX-outline-level)
-  (make-local-variable 'outline-regexp)
-  (setq outline-regexp (LaTeX-outline-regexp t))
+  (set (make-local-variable 'outline-level) 'LaTeX-outline-level)
+  (set (make-local-variable 'outline-regexp) (LaTeX-outline-regexp t))
   (when (boundp 'outline-heading-alist)
     (setq outline-heading-alist
          (mapcar (lambda (x)
                    (cons (concat "\\" (nth 0 x)) (nth 1 x)))
                  LaTeX-section-list)))
 
-  (make-local-variable 'TeX-auto-full-regexp-list)
-  (setq TeX-auto-full-regexp-list
+  (set (make-local-variable 'TeX-auto-full-regexp-list)
        (append LaTeX-auto-regexp-list plain-TeX-auto-regexp-list))
 
   (LaTeX-set-paragraph-start)
   (setq paragraph-separate
        (concat
         "[ \t]*%*[ \t]*\\("
-        "\\$\\$" ; Plain TeX display math
+        "\\$\\$"                       ; Plain TeX display math
         "\\|$\\)"))
 
   (setq TeX-verbatim-p-function 'LaTeX-verbatim-p)
@@ -5179,9 +5802,11 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
   (set (make-local-variable 'TeX-search-files-type-alist)
        LaTeX-search-files-type-alist)
 
-  (make-local-variable 'LaTeX-item-list)
-  (setq LaTeX-item-list '(("description" . LaTeX-item-argument)
-                         ("thebibliography" . LaTeX-item-bib)))
+  (set (make-local-variable 'LaTeX-item-list) '(("description" . 
LaTeX-item-argument)
+                         ("thebibliography" . LaTeX-item-bib)
+                         ("array" . LaTeX-item-array)
+                         ("tabular" . LaTeX-item-array)
+                         ("tabular*" . LaTeX-item-tabular*)))
 
   (setq TeX-complete-list
        (append '(("\\\\cite\\[[^]\n\r\\%]*\\]{\\([^{}\n\r\\%,]*\\)"
@@ -5197,12 +5822,14 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
                  ("\\\\pageref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
                  ("\\\\\\(index\\|glossary\\){\\([^{}\n\r\\%]*\\)"
                   2 LaTeX-index-entry-list "}")
-                 ("\\\\begin{\\([A-Za-z]*\\)" 1 LaTeX-environment-list "}")
-                 ("\\\\end{\\([A-Za-z]*\\)" 1 LaTeX-environment-list "}")
+                 ("\\\\begin{\\([A-Za-z]*\\)" 1 
LaTeX-environment-list-filtered "}")
+                 ("\\\\end{\\([A-Za-z]*\\)" 1 LaTeX-environment-list-filtered 
"}")
                  ("\\\\renewcommand\\*?{\\\\\\([A-Za-z]*\\)"
-                  1 LaTeX-symbol-list "}")
+                  1 TeX-symbol-list-filtered "}")
                  ("\\\\renewenvironment\\*?{\\([A-Za-z]*\\)"
-                  1 LaTeX-environment-list "}"))
+                  1 LaTeX-environment-list-filtered "}")
+                  ("\\\\\\(this\\)?pagestyle{\\([A-Za-z]*\\)"
+                  1 LaTeX-pagestyle-list "}"))
                TeX-complete-list))
 
   (LaTeX-add-environments
@@ -5242,6 +5869,19 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
    '("thebibliography" LaTeX-env-bib)
    '("theindex" LaTeX-env-item))
 
+  ;; `latex.ltx' defines `plain' and `empty' pagestyles
+  (LaTeX-add-pagestyles "plain" "empty")
+
+  ;; `latex.ltx' defines the following counters
+  (LaTeX-add-counters "page" "equation" "enumi" "enumii" "enumiii"
+                     "enumiv" "footnote" "mpfootnote")
+
+  (LaTeX-add-lengths "baselineskip" "baselinestretch" "columnsep"
+                    "columnwidth" "evensidemargin" "linewidth" "oddsidemargin"
+                    "paperwidth" "paperheight" "parindent" "parskip"
+                    "tabcolsep" "textheight" "textwidth" "topmargin"
+                    "unitlength")
+
   (TeX-add-symbols
    '("addtocounter" TeX-arg-counter "Value")
    '("alph" TeX-arg-counter)
@@ -5326,7 +5966,6 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
    '("nocite" TeX-arg-cite)
    '("bibliographystyle" TeX-arg-bibstyle)
    '("bibliography" TeX-arg-bibliography)
-   '("addbibresource" TeX-arg-bibliography)
    '("footnote"
      (TeX-arg-conditional TeX-arg-footnote-number-p ([ "Number" ]) nil)
      t)
@@ -5335,12 +5974,14 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
      t)
    '("footnotemark"
      (TeX-arg-conditional TeX-arg-footnote-number-p ([ "Number" ]) nil))
-   '("newlength" TeX-arg-define-macro)
-   '("setlength" TeX-arg-macro "Length")
-   '("addtolength" TeX-arg-macro "Length")
-   '("settowidth" TeX-arg-macro t)
-   '("settoheight" TeX-arg-macro t)
-   '("settodepth" TeX-arg-macro t)
+   '("newlength" (TeX-arg-define-length "Length macro"))
+   '("setlength" (TeX-arg-length "Length macro" "\\")
+     (TeX-arg-length "Length value"))
+   '("addtolength" (TeX-arg-length "Length macro" "\\")
+     (TeX-arg-length "Length to add"))
+   '("settowidth" (TeX-arg-length "Length macro" "\\") "Text")
+   '("settoheight" (TeX-arg-length "Length macro" "\\") "Text")
+   '("settodepth" (TeX-arg-length "Length macro" "\\") "Text")
    '("\\" [ "Space" ])
    '("\\*" [ "Space" ])
    '("hyphenation" t)
@@ -5358,8 +5999,11 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
    '("sqrt" [ "Root" ] t)
    '("underbrace" t)
    '("underline" t)
-   '("author" t)
-   '("date" t)
+   '("acute" t) '("grave" t) '("ddot" t) '("tilde" t) '("bar" t)
+   '("breve" t) '("check" t) '("hat" t) '("vec" t) '("dot" t)
+   '("widetilde" t) '("widehat" t)
+   '("author" LaTeX-arg-author)
+   '("date" TeX-arg-date)
    '("thanks" t)
    '("title" t)
    '("pagenumbering" (TeX-arg-eval
@@ -5369,10 +6013,10 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
    '("markboth" t nil)
    '("markright" t)
    '("thispagestyle" TeX-arg-pagestyle)
-   '("addvspace" "Length")
+   '("addvspace" TeX-arg-length)
    '("fbox" t)
-   '("hspace*" "Length")
-   '("hspace" "Length")
+   '("hspace*" TeX-arg-length)
+   '("hspace" TeX-arg-length)
    '("mbox" t)
    '("newsavebox" TeX-arg-define-savebox)
    '("parbox" [ TeX-arg-tb ] [ "Height" ] [ TeX-arg-tb "Inner position" ]
@@ -5381,8 +6025,8 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
    '("rule" [ "Raise" ] "Width" "Thickness")
    '("sbox" TeX-arg-savebox t)
    '("usebox" TeX-arg-savebox)
-   '("vspace*" "Length")
-   '("vspace" "Length")
+   '("vspace*" TeX-arg-length)
+   '("vspace" TeX-arg-length)
    '("documentstyle" TeX-arg-document)
    '("include" (TeX-arg-input-file "File" t))
    '("includeonly" t)
@@ -5403,6 +6047,15 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
    '("caption" t)
    '("marginpar" [ "Left margin text" ] "Text")
    '("left" TeX-arg-insert-braces)
+   ;; The following 4 macros are not specific to amsmath.
+   '("bigl" TeX-arg-insert-braces)
+   '("Bigl" TeX-arg-insert-braces)
+   '("biggl" TeX-arg-insert-braces)
+   '("Biggl" TeX-arg-insert-braces)
+
+   '("langle" TeX-arg-insert-right-brace-maybe)
+   '("lceil" TeX-arg-insert-right-brace-maybe)
+   '("lfloor" TeX-arg-insert-right-brace-maybe)
 
    ;; These have no special support, but are included in case the
    ;; auto files are missing.
@@ -5426,7 +6079,8 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
    "hfil" "hfill" "vfil" "vfill" "hrulefill" "dotfill"
    "indent" "noindent" "today"
    "appendix"
-   "dots")
+   "dots"
+   "makeatletter" "makeatother" "jobname")
 
   (when (string-equal LaTeX-version "2e")
     (LaTeX-add-environments
@@ -5434,20 +6088,21 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
      '("filecontents*" LaTeX-env-contents))
 
     (TeX-add-symbols
-     '("enlargethispage" "Length")
-     '("enlargethispage*" "Length")
-     '("tabularnewline" [ "Length" ])
+     '("enlargethispage" TeX-arg-length)
+     '("enlargethispage*" TeX-arg-length)
+     '("tabularnewline" [ TeX-arg-length ])
      '("suppressfloats" [ TeX-arg-tb "Suppress floats position" ])
      '("ensuremath" "Math commands")
      '("textsuperscript" "Text")
      '("textcircled" "Text")
+     '("mathring" t)
 
      "LaTeXe"
      "listfiles" "frontmatter" "mainmatter" "backmatter"
      "textcompwordmark" "textvisiblespace" "textemdash" "textendash"
      "textexclamdown" "textquestiondown" "textquotedblleft"
      "textquotedblright" "textquoteleft" "textquoteright"
-     "textbullet" "textperiodcentered"
+     "textbullet" "textperiodcentered" "textasteriskcentered"
      "textbackslash" "textbar" "textless" "textgreater"
      "textasciicircum" "textasciitilde"
      "textregistered" "texttrademark"
@@ -5477,46 +6132,56 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
        [ "Number of arguments" ] [ "Default value for first argument" ] t)
      '("usepackage" LaTeX-arg-usepackage)
      '("RequirePackage" LaTeX-arg-usepackage)
-     '("ProvidesPackage" "Name" [ "Version" ])
+     '("ProvidesPackage" (TeX-arg-file-name-sans-extension "Package name")
+       [ TeX-arg-conditional (y-or-n-p "Insert version? ")
+                            ([ TeX-arg-version ]) nil])
+     '("ProvidesClass" (TeX-arg-file-name-sans-extension "Class name")
+       [ TeX-arg-conditional (y-or-n-p "Insert version? ")
+                            ([ TeX-arg-version ]) nil])
+     '("ProvidesFile" (TeX-arg-file-name "File name")
+       [ TeX-arg-conditional (y-or-n-p "Insert version? ")
+                            ([ TeX-arg-version ]) nil ])
      '("documentclass" TeX-arg-document)))
 
   (TeX-add-style-hook "latex2e"
-   ;; Use new fonts for `\documentclass' documents.
-   (lambda ()
-     (setq TeX-font-list LaTeX-font-list)
-     (setq TeX-font-replace-function 'TeX-font-replace-macro)
-     (run-hooks 'LaTeX2e-hook)))
+                     ;; Use new fonts for `\documentclass' documents.
+                     (lambda ()
+                       (setq TeX-font-list LaTeX-font-list)
+                       (setq TeX-font-replace-function 'TeX-font-replace-macro)
+                       (run-hooks 'LaTeX2e-hook))
+                     LaTeX-dialect)
 
   (TeX-add-style-hook "latex2"
-   ;; Use old fonts for `\documentstyle' documents.
-   (lambda ()
-     (setq TeX-font-list (default-value 'TeX-font-list))
-     (setq TeX-font-replace-function
-          (default-value 'TeX-font-replace-function))
-     (run-hooks 'LaTeX2-hook)))
+                     ;; Use old fonts for `\documentstyle' documents.
+                     (lambda ()
+                       (setq TeX-font-list (default-value 'TeX-font-list))
+                       (setq TeX-font-replace-function
+                             (default-value 'TeX-font-replace-function))
+                       (run-hooks 'LaTeX2-hook))
+                     LaTeX-dialect)
 
   ;; There must be something better-suited, but I don't understand the
   ;; parsing properly.  -- dak
-  (TeX-add-style-hook "pdftex" 'TeX-PDF-mode-on)
-  (TeX-add-style-hook "pdftricks" 'TeX-PDF-mode-on)
-  (TeX-add-style-hook "pst-pdf" 'TeX-PDF-mode-on)
-  (TeX-add-style-hook "dvips" 'TeX-PDF-mode-off)
-;; This is now done in style/pstricks.el because it prevents other
-;; pstricks style files from being loaded.
-;;   (TeX-add-style-hook "pstricks" 'TeX-PDF-mode-off)
-  (TeX-add-style-hook "psfrag" 'TeX-PDF-mode-off)
-  (TeX-add-style-hook "dvipdf" 'TeX-PDF-mode-off)
-  (TeX-add-style-hook "dvipdfm" 'TeX-PDF-mode-off)
-;;  (TeX-add-style-hook "DVIoutput" 'TeX-PDF-mode-off)
-;;
-;;  Well, DVIoutput indicates that we want to run PDFTeX and expect to
-;;  get DVI output.  Ugh.
+  (TeX-add-style-hook "pdftex" 'TeX-PDF-mode-on LaTeX-dialect)
+  (TeX-add-style-hook "pdftricks" 'TeX-PDF-mode-on LaTeX-dialect)
+  (TeX-add-style-hook "pst-pdf" 'TeX-PDF-mode-on LaTeX-dialect)
+  (TeX-add-style-hook "dvips" 'TeX-PDF-mode-off LaTeX-dialect)
+  ;; This is now done in style/pstricks.el because it prevents other
+  ;; pstricks style files from being loaded.
+  ;;   (TeX-add-style-hook "pstricks" 'TeX-PDF-mode-off)
+  (TeX-add-style-hook "psfrag" 'TeX-PDF-mode-off LaTeX-dialect)
+  (TeX-add-style-hook "dvipdf" 'TeX-PDF-mode-off LaTeX-dialect)
+  (TeX-add-style-hook "dvipdfm" 'TeX-PDF-mode-off LaTeX-dialect)
+  ;;  (TeX-add-style-hook "DVIoutput" 'TeX-PDF-mode-off)
+  ;;
+  ;;  Well, DVIoutput indicates that we want to run PDFTeX and expect to
+  ;;  get DVI output.  Ugh.
   (TeX-add-style-hook "ifpdf" (lambda ()
                                (TeX-PDF-mode-on)
-                               (TeX-PDF-mode-off)))
-;; ifpdf indicates that we cater for either.  So calling both
-;; functions will make sure that the default will get used unless the
-;; user overrode it.
+                               (TeX-PDF-mode-off)) LaTeX-dialect)
+  ;; ifpdf indicates that we cater for either.  So calling both
+  ;; functions will make sure that the default will get used unless the
+  ;; user overrode it.
 
   (set (make-local-variable 'imenu-create-index-function)
        'LaTeX-imenu-create-index-function)
@@ -5528,7 +6193,16 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
   ;; late in mode initialization to assure that all relevant variables
   ;; are properly initialized before style files try to alter them.
   (easy-menu-add LaTeX-mode-menu LaTeX-mode-map)
-  (easy-menu-add LaTeX-mode-command-menu LaTeX-mode-map))
+  (easy-menu-add LaTeX-mode-command-menu LaTeX-mode-map)
+
+  (define-key LaTeX-mode-map "\C-xne" 'LaTeX-narrow-to-environment)
+
+  ;; AUCTeX's brace pairing feature (`LaTeX-electric-left-right-brace') doesn't
+  ;; play nice with `electric-pair-mode' which is a global minor mode as of
+  ;; emacs 24.4.
+  (when (and LaTeX-electric-left-right-brace
+            (boundp 'electric-pair-mode))
+    (set (make-local-variable 'electric-pair-mode) nil)))
 
 (defun LaTeX-imenu-create-index-function ()
   "Imenu support function for LaTeX."
@@ -5596,6 +6270,57 @@ i.e. you do _not_ have to cater for this yourself by 
adding \\\\' or $."
       (replace-match "\\\\input{" nil nil)))))
   (TeX-normal-mode nil))
 
+(defun LaTeX-env-beginning-pos-col ()
+  "Return a cons: (POINT . COLUMN) for current environment's beginning."
+  (save-excursion
+    (LaTeX-find-matching-begin)
+    (cons (point) (current-column))))
+
+(defun LaTeX-hanging-ampersand-position ()
+  "Return indent column for a hanging ampersand (i.e. ^\\s-*&)."
+  (destructuring-bind (beg-pos . beg-col)
+      (LaTeX-env-beginning-pos-col)
+    (let* ((cur-pos (point)))
+      (save-excursion
+        (if (re-search-backward "\\\\\\\\" beg-pos t)
+            (let ((cur-idx (TeX-how-many "[^\\]&" (point) cur-pos)))
+              (goto-char beg-pos)
+              (re-search-forward "[^\\]&" cur-pos t (+ 1 cur-idx))
+              (- (current-column) 1))
+          (+ 2 beg-col))))))
+
+(defun LaTeX-indent-tabular ()
+  "Return indent column for the current tabular-like line."
+  (destructuring-bind
+   (beg-pos . beg-col)
+   (LaTeX-env-beginning-pos-col)
+   (let ((tabular-like-end-regex
+         (format "\\\\end{%s}"
+                 (regexp-opt
+                  (let (out)
+                    (mapcar (lambda (x)
+                              (when (eq (cadr x) 'LaTeX-indent-tabular)
+                                (push (car x) out)))
+                            LaTeX-indent-environment-list)
+                    out)))))
+     (cond ((looking-at tabular-like-end-regex)
+           beg-col)
+
+          ((looking-at "\\\\\\\\")
+           (+ 2 beg-col))
+
+          ((looking-at "&")
+           (LaTeX-hanging-ampersand-position))
+
+          (t
+           (+ 2
+              (let ((any-col (save-excursion
+                               (when (re-search-backward "\\\\\\\\\\|&" 
beg-pos t)
+                                 (current-column)))))
+                (if (and any-col (string= "&" (match-string 0)))
+                    any-col
+                  beg-col))))))))
+
 (provide 'latex)
 
 ;;; latex.el ends here
diff --git a/latex/preview.dtx b/latex/preview.dtx
index 97b7a52..0675c27 100644
--- a/latex/preview.dtx
+++ b/latex/preview.dtx
@@ -439,12 +439,12 @@
 \NeedsTeXFormat{LaTeX2e} address@hidden #1#2$#3:
 address@hidden #2#4 $}} address@hidden #1 #2${#1}
 \begingroup \catcode`\_=12
address@hidden@version $Name:  $ address@hidden@empty
address@hidden@version $Name: release_11_88 $ address@hidden@empty
 address@hidden@version CVS-$Revision: 1.126 $ \endgroup \else
   \def\next release_{} \lccode`\_=`.
   \edef\next{\lowercase{\endgroup
     address@hidden@version}}} \next \fi
address@hidden $Date: 2010-02-14 16:19:00 $
address@hidden $Date: 2010/02/14 16:19:00 $
 \edef\next{\noexpand\ProvidesPackage{preview}%
   [\next\space address@hidden (AUCTeX/preview-latex)]}
 \next
diff --git a/latex/preview.sty b/latex/preview.sty
index 1e16577..326f60f 100644
--- a/latex/preview.sty
+++ b/latex/preview.sty
@@ -26,7 +26,7 @@
 \NeedsTeXFormat{LaTeX2e} address@hidden #1#2$#3:
 address@hidden #2#4 $}} address@hidden #1 #2${#1}
 \begingroup \catcode`\_=12
address@hidden@version $Name:  $ address@hidden@empty
address@hidden@version $Name: release_11_88 $ address@hidden@empty
 address@hidden@version CVS-$Revision: 1.126 $ \endgroup \else
   \def\next release_{} \lccode`\_=`.
   \edef\next{\lowercase{\endgroup
diff --git a/lpath.el b/lpath.el
index 67f82ce..2a090b1 100644
--- a/lpath.el
+++ b/lpath.el
@@ -1,11 +1,7 @@
 ;;; This file is only used for installing AUCTeX.
-
-;; Copyright (C) 2013 Free Software Foundation, Inc.
-
 ;;; It is not a part of AUCTeX itself.
 
 ;; Make sure we get the right files.
 (setq load-path (cons "." load-path)
-      byte-compile-warnings nil
       TeX-lisp-directory "<none>"
       TeX-auto-global "<none>")
diff --git a/multi-prompt.el b/multi-prompt.el
index 159380f..25ba4c9 100644
--- a/multi-prompt.el
+++ b/multi-prompt.el
@@ -94,9 +94,9 @@ are the arguments to `completing-read'.  See that."
                                      initial nil)
                                (setq multi-prompt-found
                                      (cons extra multi-prompt-found)))))))))
-      (if answer 
-         (nreverse (cons answer multi-prompt-found))
-       multi-prompt-found))))
+      (if (string= answer "")
+         multi-prompt-found
+       (nreverse (cons answer multi-prompt-found))))))
 
 (defun multi-prompt-delete ()
   (interactive)
@@ -200,7 +200,6 @@ other arguments: PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, 
HIST,
 DEF, and INHERIT-INPUT-METHOD.
 
 The return value is the string as entered in the minibuffer."
-  (require 'crm)
   (let* ((minibuffer-completion-table #'multi-prompt-key-value-collection-fn)
         (minibuffer-completion-predicate predicate)
         (minibuffer-completion-confirm
diff --git a/plain-tex.el b/plain-tex.el
index 476976b..3df6196 100644
--- a/plain-tex.el
+++ b/plain-tex.el
@@ -142,7 +142,7 @@ of plain-TeX-mode-hook."
   "Common initialization for plain TeX like modes."
   (VirTeX-common-initialization)
   (set-syntax-table TeX-mode-syntax-table)
-  (setq local-abbrev-table latex-mode-abbrev-table)
+  (setq local-abbrev-table plain-tex-mode-abbrev-table)
   (setq paragraph-start
        (concat
         "\\(^[ \t]*$"
diff --git a/preview.el b/preview.el
index 39f1c49..a54b39e 100644
--- a/preview.el
+++ b/preview.el
@@ -1,6 +1,6 @@
 ;;; preview.el --- embed preview LaTeX images in source buffer
 
-;; Copyright (C) 2001-2006, 2010, 2012  Free Software Foundation, Inc.
+;; Copyright (C) 2001-2006, 2010-2014  Free Software Foundation, Inc.
 
 ;; Author: David Kastrup
 ;; Keywords: tex, wp, convenience
@@ -22,8 +22,6 @@
 
 ;;; Commentary:
 
-;; $Id: preview.el,v 1.287 2012-12-04 08:01:34 tsdh Exp $
-;;
 ;; This style is for the "seamless" embedding of generated images
 ;; into LaTeX source code.  Please see the README and INSTALL files
 ;; for further instruction.
@@ -36,8 +34,7 @@
 ;; configured by using
 ;; M-x customize-group RET preview RET
 ;;
-;; Please report bugs with M-x preview-report-bug RET
-;;
+;; Please report bugs with M-x preview-report-bug RET.
 
 ;;; Code:
 
@@ -252,7 +249,7 @@ that is."
                               preview-image-creators))))))
     (when hook
       (apply (car hook) (append (cdr hook) rest)))))
-                  
+
 
 (defvar TeX-active-tempdir nil
   "List of directory name, top directory name and reference count.")
@@ -347,9 +344,19 @@ LIST consists of TeX dimensions in sp (1/65536 TeX point)."
      (dotimes (i 4 box)
        (aset box i (+ (aref box i) (aref border i)))))))
 
-(defcustom preview-gs-command (if (eq system-type 'windows-nt)
-                                 "GSWIN32C.EXE"
-                               "gs")
+(defcustom preview-gs-command
+  (or ;; The GS wrapper coming with TeX Live
+      (executable-find "rungs")
+      ;; The MikTeX builtin GS
+      (let ((gs (executable-find "mgs")))
+       ;; Check if mgs is functional for external non-MikTeX apps.
+       ;; See 
http://blog.miktex.org/post/2005/04/07/Starting-mgsexe-at-the-DOS-Prompt.aspx
+       (when (and gs (= 0 (shell-command (concat gs " -q -dNODISPLAY -c 
quit"))))
+         gs))
+      ;; Windows ghostscript
+      (executable-find "GSWIN32C.EXE")
+      ;; standard GhostScript
+      (executable-find "gs"))
   "*How to call gs for conversion from EPS.  See also `preview-gs-options'."
   :group 'preview-gs
   :type 'string)
@@ -450,7 +457,7 @@ show as response of Ghostscript."
       (preview-gs-flag-error ov err)
       (overlay-put ov 'queued nil))
     ov))
-    
+
 (defvar preview-gs-command-line nil)
 (make-variable-buffer-local 'preview-gs-command-line)
 (defvar preview-gs-file nil)
@@ -642,7 +649,7 @@ and tries to restart Ghostscript if necessary."
                            (preview-delete-file preview-ps-file)
                          (file-error nil)))
                      (preview-gs-queue-empty))
-                 
+
                  ;; restart only if we made progress since last call
                  (let (filenames)
                    (dolist (ov preview-gs-outstanding)
@@ -1051,7 +1058,7 @@ object corresponding to the wanted page."
   (let ((curpage (aref dsc page)))
     (format "dup %d setfileposition %d()/SubFileDecode filter cvx"
            (1- (car curpage)) (nth 1 curpage))))
-  
+
 (defun preview-ps-quote-filename (str &optional nonrel)
   "Make a PostScript string from filename STR.
 The file name is first made relative unless
@@ -1320,7 +1327,7 @@ recursively."
        ((and (symbolp hook) (boundp hook))
         (symbol-value hook))
        (t hook)))
-                         
+
 (defcustom preview-scale-function #'preview-scale-from-face
   "*Scale factor for included previews.
 This can be either a function to calculate the scale, or
@@ -1433,6 +1440,9 @@ autoloads for preview-latex.")
                                                            preview-datadir))
                 ,@(preview-filter-specs-1 args))))
 
+(defvar preview-lispdir TeX-lisp-directory
+  "The directory where the preview lisp files are located.")
+
 (defun preview-ascent-from-bb (bb)
   "This calculates the image ascent from its bounding box.
 The bounding box BB needs to be a 4-component vector of
@@ -1489,7 +1499,7 @@ All of the options show reasonable defaults."
                                     (key-binding [right])))
                       function (list :tag "Argument list"
                                      (repeat :inline t sexp)))))
-  
+
 (defun preview-auto-reveal-p (mode distance)
   "Decide whether to auto-reveal.
 Returns non-NIL if region should be auto-opened.
@@ -1589,7 +1599,7 @@ Searches backwards if BACKWARDS is non-nil."
            '(active inactive)))
        (setq history (and (not preview-state) pt)))
       (or history pt))))
-            
+
 (defun preview-at-point ()
   "Do the appropriate preview thing at point.
 If point is positioned on or inside of an unmodified preview area,
@@ -1819,7 +1829,7 @@ BUFFER-MISC is the appropriate data to be used."
                                   (with-current-buffer ,(current-buffer)
                                     (preview-buffer-restore-internal
                                      ',buffer-misc)))))
-  
+
 (defun desktop-buffer-preview (desktop-buffer-file-name
                               desktop-buffer-name
                               desktop-buffer-misc)
@@ -1939,7 +1949,7 @@ Deletes the dvi file when finished."
             (with-current-buffer TeX-command-buffer
               (funcall (car gsfile) "dvi"))))
        (file-error nil)))))
-   
+
 (defun preview-active-string (ov)
   "Generate before-string for active image overlay OV."
   (preview-make-clickable
@@ -2747,10 +2757,10 @@ name(\\([^)]+\\))\\)\\|\
                                    (setq lpoint (point))
                                    (end-of-line)
                                    (buffer-substring lpoint (point)))
-                           
+
                            ;; And the context for the help window.
                            context-start (point)
-                           
+
                            ;; And the line number to position the cursor.
 ;;; variant 1: profiling seems to indicate the regexp-heavy solution
 ;;; to be favorable.  Removing incomplete characters from the error
@@ -2767,7 +2777,7 @@ name(\\([^)]+\\))\\)\\|\
                                                       (- (match-end 3)
                                                          (match-beginning 0)))
                                                    (match-end 4)))
-                           
+
                            ;; And we have now found to the end of the context.
                            context (buffer-substring context-start (point))
                            ;; We may use these in another buffer.
@@ -3387,7 +3397,7 @@ stored in `preview-dumped-alist'."
      (preview-string-expand preview-LaTeX-command)
      'TeX-master-file)
     preview-LaTeX-command-replacements)))
-                      
+
 (defun preview-environment (count)
   "Run preview on LaTeX environment.
 This avoids running environments through preview that are
@@ -3516,35 +3526,17 @@ internal parameters, STR may be a log to insert into 
the current log."
             (delete-process process)
             (preview-reraise-error process)))))
 
-(defconst preview-version (eval-when-compile
-  (let ((name "$Name:  $")
-       (rev "$Revision: 1.287 $"))
-    (or (when (string-match "\\`[$]Name: *release_\\([^ ]+\\) *[$]\\'" name)
-         (setq name (match-string 1 name))
-         (while (string-match "_" name)
-           (setq name (replace-match "." t t name)))
-         name)
-       (if (string-match "\\`[$]Revision: *\\([^ ]+\\) *[$]\\'" rev)
-           (format "CVS-%s" (match-string 1 rev)))
-       "unknown")))
+(defconst preview-version "11.88"
   "Preview version.
-If not a regular release, CVS revision of `preview.el'.")
-
-(defconst preview-release-date
-  (eval-when-compile
-    (let ((date "$Date: 2012-12-04 08:01:34 $"))
-      (string-match
-       "\\`[$]Date: *\\([0-9]+\\)/\\([0-9]+\\)/\\([0-9]+\\)"
-       date)
-      (format "%s.%s%s" (match-string 1 date) (match-string 2 date)
-             (match-string 3 date))))
-  "Preview release date.
-In the form of yyyy.mmdd")
+If not a regular release, the date of the last change.")
+
+(defconst preview-release-date "2014-10-29"
+  "Preview release date using the ISO 8601 format, yyyy-mm-dd.")
 
 (defun preview-dump-state (buffer)
   (condition-case nil
       (progn
-       (unless (local-variable-p 'TeX-command-buffer)
+       (unless (local-variable-p 'TeX-command-buffer (current-buffer))
          (setq buffer (with-current-buffer buffer (TeX-active-buffer))))
        (when (bufferp buffer)
          (insert "\nRun buffer contents:\n\n")
@@ -3564,9 +3556,7 @@ In the form of yyyy.mmdd")
   (let ((reporter-prompt-for-summary-p "Bug report subject: "))
     (reporter-submit-bug-report
      "address@hidden"
-     (if (string-match "^CVS-" preview-version)
-        (concat "preview-" (substring preview-version 4))
-       preview-version)
+     preview-version
      '(AUCTeX-version
        LaTeX-command-style
        image-types
diff --git a/prv-xemacs.el b/prv-xemacs.el
index ce89a1d..a4bae71 100644
--- a/prv-xemacs.el
+++ b/prv-xemacs.el
@@ -1,6 +1,7 @@
 ;;; prv-xemacs.el --- XEmacs support for preview-latex
 
-;; Copyright (C) 2001-2006 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 02, 03, 04, 05,
+;;               2006 Free Software Foundation, Inc.
 
 ;; Author: David Kastrup
 ;; Keywords: convenience, tex, wp
@@ -38,13 +39,12 @@
     "List of macros only present when compiling/loading uncompiled.")
 
   (defmacro preview-defmacro (name &rest rest)
-    (when (featurep 'xemacs)
-      (push
-       (if (fboundp name)
-           (cons name (symbol-function name))
-         name)
-       preview-compatibility-macros)
-      `(eval-when-compile (defmacro ,name ,@rest))))
+    (push 
+     (if (fboundp name)
+        (cons name (symbol-function name))
+       name)
+     preview-compatibility-macros)
+    `(eval-when-compile (defmacro ,name ,@rest)))
   (push 'preview-defmacro preview-compatibility-macros))
 
 (preview-defmacro assoc-default (key alist test)
diff --git a/style/CJK.el b/style/CJK.el
index fa285bd..f21d1a9 100644
--- a/style/CJK.el
+++ b/style/CJK.el
@@ -88,6 +88,7 @@ The function can be used for CJK and CJK* environments."
    ;; New environments
    (LaTeX-add-environments
     '("CJK" LaTeX-env-CJK)
-    '("CJK*" LaTeX-env-CJK))))
+    '("CJK*" LaTeX-env-CJK)))
+ LaTeX-dialect)
 
 ;;; CJK.el ends here
diff --git a/style/CJKutf8.el b/style/CJKutf8.el
index ea3c2e3..c9e16b6 100644
--- a/style/CJKutf8.el
+++ b/style/CJKutf8.el
@@ -33,6 +33,7 @@
 (TeX-add-style-hook
  "CJKutf8"
  (lambda ()
-   (TeX-run-style-hooks "CJK")))
+   (TeX-run-style-hooks "CJK"))
+ LaTeX-dialect)
 
 ;;; CJKutf8.el ends here
diff --git a/style/MinionPro.el b/style/MinionPro.el
index 7151c36..3441911 100644
--- a/style/MinionPro.el
+++ b/style/MinionPro.el
@@ -58,7 +58,8 @@
                                ("textsw" "{")
                                ("textssc" "{"))
                              'textual)
-     (font-latex-add-keywords '(("figureversion" "{")) 'variable))))
+     (font-latex-add-keywords '(("figureversion" "{")) 'variable)))
+ LaTeX-dialect)
 
 (defvar LaTeX-MinionPro-package-options
   '("smallfamily" "medfamily" "fullfamily" "noopticals" "opticals"
diff --git a/style/acro.el b/style/acro.el
new file mode 100644
index 0000000..fda4b71
--- /dev/null
+++ b/style/acro.el
@@ -0,0 +1,292 @@
+;;; acro.el --- AUCTeX style for `acro.sty' version 1.2a.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `acro.sty' version 1.2a.
+
+;;; Code:
+
+(defvar LaTeX-acro-package-options-list
+  '(;; General Options
+    ("version" ("0" "1"))
+    ("single" ("true" "false"))
+    ("hyperref" ("true" "false"))
+    ("record-pages" ("true" "false"))
+    ("only-used" ("true" "false"))
+    ("mark-as-used" ("first" "any"))
+    ("macros" ("true" "false"))
+    ("xspace" ("true" "false"))
+    ("strict" ("true" "false"))
+    ("sort" ("true" "false"))
+    ("cite" ("all" "first" "none"))
+    ("cite-cmd")
+    ("cite-space")
+    ("index-cmd")
+    ("accsupp" ("true" "false"))
+    ("uc-cmd")
+    ;; Options Regarding Acronyms
+    ("short-format")
+    ("long-format")
+    ("first-long-format")
+    ("list-short-format")
+    ("list-long-format")
+    ("extra-format")
+    ("first-style" ("default" "plain" "empty" "square" "short" "reversed"
+                   "plain-reversed" "footnote" "sidenote"))
+    ("extra-style" ("default" "plain" "comma" "paren" "bracket"))
+    ("plural-ending")
+    ;; Options Regarding the List
+    ("page-ref" ("none" "plain" "comma" "paren"))
+    ("page-name")
+    ("pages-name")
+    ("page-ranges" ("true" "false"))
+    ("next-page")
+    ("next-pages")
+    ("list-type" ("table" "itemize" "description"))
+    ("list-style" ("list" "tabular" "longtable" "extra-tabular" 
"extra-longtable"
+                  "extra-tabular-rev" "extra-longtable-rev"))
+    ("list-header" ("chapter" "chapter*" "section" "section*" "subsection"
+                   "subsection*" "addchap" "addsec"))
+    ("list-name")
+    ("list-table-width")
+    ("list-caps" ("true" "false")))
+  "Package options for the acro package.")
+
+(TeX-auto-add-type "acro-acronym" "LaTeX")
+
+;; Self Parsing -- see (info "(auctex)Hacking the Parser").
+(defvar LaTeX-acro-regexp
+  (concat "\\\\DeclareAcronym" "{\\([^\n\r%\\{}]+\\)}")
+  "Matches `acro' acronym definitions.")
+
+(defvar LaTeX-auto-acro-acronym nil
+  "Temporary for parsing `acro' acronym definitions.")
+
+(defun LaTeX-acro-prepare ()
+  "Clear `LaTex-auto-acro-acronym' before use."
+  (setq LaTeX-auto-acro-acronym nil))
+
+(defun LaTeX-acro-cleanup ()
+  "Move acronyms from `LaTeX-auto-acro-acronym' to
+`LaTeX-acro-list' and to `TeX-auto-symbol' if option `macros' is
+set to `true'."
+  (mapc (lambda (acronym)
+         (add-to-list 'LaTeX-acro-acronym-list (list acronym)))
+       LaTeX-auto-acro-acronym)
+  (when (or (LaTeX-provided-package-options-member "acro" "macros")
+           (LaTeX-provided-package-options-member "acro" "macros=true"))
+    (add-to-list 'TeX-auto-symbol LaTeX-auto-acro-acronym)))
+
+;; FIXME: This does not seem to work unless one does a manual reparse.
+(add-hook 'TeX-auto-prepare-hook 'LaTeX-acro-prepare)
+(add-hook 'TeX-auto-cleanup-hook 'LaTeX-acro-cleanup)
+
+(defvar LaTeX-acro-acronym-history nil
+  "History of acronyms in acro.")
+
+(defun LaTeX-arg-acro-acronym (optional &optional prompt definition)
+  "Prompt for an acronym completing with known acronyms.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string.  If DEFINITION is non-nil, add the chosen acronym to the
+list of defined acronyms."
+  (let ((acronym (completing-read (TeX-argument-prompt optional prompt 
"Acronym")
+                                 (LaTeX-acro-acronym-list) nil nil nil
+                                 'LaTeX-acro-acronym-history)))
+    (if (and definition (not (string-equal "" acronym)))
+       (LaTeX-add-acro-acronyms acronym))
+    (TeX-argument-insert acronym optional optional)))
+
+(defun LaTeX-arg-define-acro-acronym (optional &optional prompt)
+  "Prompt for an acronym completing with known acronyms.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string."
+  (LaTeX-arg-acro-acronym optional prompt t))
+
+(defvar LaTeX-acro-declareacronym-keys
+  '(("short") ("long") ("short-plural") ("long-plural") ("long-plural-form")
+    ("short-indefinite") ("long-indefinite") ("long-pre") ("long-post") ("alt")
+    ("alt-indefinite") ("extra") ("sort") ("class") ("cite") ("short-format")
+    ("long-format") ("first-long-format") ("pdfstring") ("accsupp")
+    ("index-sort") ("index") ("index-cmd"))
+  "List of keys accepted by `\DeclareAcronym' macro of `acro' package
+in its second mandatory argument.")
+
+(defvar LaTeX-acro-printacronyms-keys
+  '(("include-classes") ("exclude-classes") ("name") ("header"))
+  "List of keys accepted by `\printacronyms' macro of `acro' package
+in its optional argument.")
+
+(defun LaTeX-arg-acro-key-val (optional prompt key-val-alist)
+  "Prompt for keys and values in KEY-VAL-ALIST.
+<SPC> key binding in minibuffer is removed temporarily.  Insert
+the given value as a TeX macro argument.  If OPTIONAL is non-nil,
+insert it as an optional argument.  Use PROMPT as the prompt
+string.  KEY-VAL-ALIST is an alist.  The car of each element
+should be a string representing a key and the optional cdr should
+be a list with strings to be used as values for the key."
+  ;; Remove <SPC> key binding from map used in `multi-prompt-key-value' (called
+  ;; by `TeX-arg-key-val') with `require-match' set to `nil'.
+  (let ((crm-local-completion-map
+        (remove (assoc 32 crm-local-completion-map) crm-local-completion-map)))
+    (TeX-arg-key-val optional key-val-alist prompt)))
+
+(TeX-add-style-hook
+ "acro"
+ (lambda ()
+   (TeX-auto-add-regexp `(,LaTeX-acro-regexp 1 LaTeX-auto-acro-acronym))
+   (TeX-add-symbols
+    ;; Creating New Acronyms
+    '("DeclareAcronym" LaTeX-arg-define-acro-acronym
+      (LaTeX-arg-acro-key-val "Definition of acronym (k=v)"
+                             LaTeX-acro-declareacronym-keys))
+    ;; Using the Acronyms
+    '("ac" LaTeX-arg-acro-acronym)
+    '("ac*" LaTeX-arg-acro-acronym)
+    '("Ac" LaTeX-arg-acro-acronym)
+    '("Ac*" LaTeX-arg-acro-acronym)
+    '("acs" LaTeX-arg-acro-acronym)
+    '("acs*" LaTeX-arg-acro-acronym)
+    '("acl" LaTeX-arg-acro-acronym)
+    '("acl*" LaTeX-arg-acro-acronym)
+    '("Acl" LaTeX-arg-acro-acronym)
+    '("Acl*" LaTeX-arg-acro-acronym)
+    '("aca" LaTeX-arg-acro-acronym)
+    '("aca*" LaTeX-arg-acro-acronym)
+    '("acf" LaTeX-arg-acro-acronym)
+    '("acf*" LaTeX-arg-acro-acronym)
+    '("Acf" LaTeX-arg-acro-acronym)
+    '("Acf*" LaTeX-arg-acro-acronym)
+    '("acp" LaTeX-arg-acro-acronym)
+    '("acp*" LaTeX-arg-acro-acronym)
+    '("Acp" LaTeX-arg-acro-acronym)
+    '("Acp*" LaTeX-arg-acro-acronym)
+    '("acsp" LaTeX-arg-acro-acronym)
+    '("acsp*" LaTeX-arg-acro-acronym)
+    '("aclp" LaTeX-arg-acro-acronym)
+    '("aclp*" LaTeX-arg-acro-acronym)
+    '("Aclp" LaTeX-arg-acro-acronym)
+    '("Aclp*" LaTeX-arg-acro-acronym)
+    '("acap" LaTeX-arg-acro-acronym)
+    '("acap*" LaTeX-arg-acro-acronym)
+    '("acfp" LaTeX-arg-acro-acronym)
+    '("acfp*" LaTeX-arg-acro-acronym)
+    '("Acfp" LaTeX-arg-acro-acronym)
+    '("Acfp*" LaTeX-arg-acro-acronym)
+    ;; Indefinite Forms
+    '("iac" LaTeX-arg-acro-acronym)
+    '("iac*" LaTeX-arg-acro-acronym)
+    '("Iac" LaTeX-arg-acro-acronym)
+    '("Iac*" LaTeX-arg-acro-acronym)
+    '("iacs" LaTeX-arg-acro-acronym)
+    '("iacs*" LaTeX-arg-acro-acronym)
+    '("Iacs" LaTeX-arg-acro-acronym)
+    '("Iacs*" LaTeX-arg-acro-acronym)
+    '("iaca" LaTeX-arg-acro-acronym)
+    '("iaca*" LaTeX-arg-acro-acronym)
+    '("Iaca" LaTeX-arg-acro-acronym)
+    '("Iaca*" LaTeX-arg-acro-acronym)
+    '("iacl" LaTeX-arg-acro-acronym)
+    '("iacl*" LaTeX-arg-acro-acronym)
+    '("Iacl" LaTeX-arg-acro-acronym)
+    '("Iacl*" LaTeX-arg-acro-acronym)
+    '("iacf" LaTeX-arg-acro-acronym)
+    '("iacf*" LaTeX-arg-acro-acronym)
+    '("Iacf" LaTeX-arg-acro-acronym)
+    '("Iacf*" LaTeX-arg-acro-acronym)
+    '("iacflike" LaTeX-arg-acro-acronym)
+    '("iacflike*" LaTeX-arg-acro-acronym)
+    '("Iacflike" LaTeX-arg-acro-acronym)
+    '("Iacflike*" LaTeX-arg-acro-acronym)
+    ;; Simulating the First Appearance
+    '("acflike" LaTeX-arg-acro-acronym)
+    '("acflike*" LaTeX-arg-acro-acronym)
+    '("acfplike" LaTeX-arg-acro-acronym)
+    '("acfplike*" LaTeX-arg-acro-acronym)
+    ;; Reset or Mark as Used
+    '("acreset" "List of acronyms")
+    '("acresetall" 0)
+    '("acuse" "List of acronyms")
+    '("acuseall" 0)
+    ;; PDF bookmarks
+    '("acpdfstring" LaTeX-arg-acro-acronym)
+    '("acpdfstringplural" LaTeX-arg-acro-acronym)
+    ;; Printing the List
+    '("printacronyms" [LaTeX-arg-acro-key-val nil 
LaTeX-acro-printacronyms-keys])
+    ;; Customization
+    '("acsetup" (TeX-arg-key-val LaTeX-acro-package-options-list)))
+   (TeX-run-style-hooks
+    "l3sort"
+    "xspace"
+    "xtemplate"
+    "l3keys2e"
+    "xparse"
+    "expl3")
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("DeclareAcronym" "{{")
+                               ("ac" "*{")
+                               ("Ac" "*{")
+                               ("acs" "*{")
+                               ("acl" "*{")
+                               ("Acl" "*{")
+                               ("aca" "*{")
+                               ("acf" "*{")
+                               ("Acf" "*{")
+                               ("acp" "*{")
+                               ("Acp" "*{")
+                               ("acsp" "*{")
+                               ("aclp" "*{")
+                               ("Aclp" "*{")
+                               ("acap" "*{")
+                               ("acfp" "*{")
+                               ("Acfp" "*{")
+                               ("acflike" "*{")
+                               ("acfplike" "*{")
+                               ("iac" "*{")
+                               ("Iac" "*{")
+                               ("iacs" "*{")
+                               ("Iacs" "*{")
+                               ("iaca" "*{")
+                               ("Iaca" "*{")
+                               ("iacl" "*{")
+                               ("Iacl" "*{")
+                               ("iacf" "*{")
+                               ("Iacf" "*{")
+                               ("iacflike" "*{")
+                               ("Iacflike" "*{")
+                               ("acuse" "{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defun LaTeX-acro-package-options ()
+  "Prompt for package options for the acro package."
+  (TeX-read-key-val t LaTeX-acro-package-options-list))
+
+;;; acro.el ends here
diff --git a/style/acronym.el b/style/acronym.el
new file mode 100644
index 0000000..ea29d1b
--- /dev/null
+++ b/style/acronym.el
@@ -0,0 +1,177 @@
+;;; acronym.el --- AUCTeX style for `acronym.sty' version 1.38.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `acronym.sty' version 1.38.
+
+;;; Code:
+
+(TeX-auto-add-type "acronym" "LaTeX")
+
+;; Self Parsing -- see (info "(auctex)Hacking the Parser").
+(defvar LaTeX-acronym-regexp
+  (concat "\\\\\\(?:acro\\|newacro\\|acrodef\\)" "{\\([^\n\r%\\{}]+\\)}")
+  "Matches acronyms by `acronym' package.")
+
+(defvar LaTeX-auto-acronym nil
+  "Temporary for parsing acronym by `acronym' package.")
+
+(defun LaTeX-acronym-prepare ()
+  "Clear `LaTex-auto-acronym' before use."
+  (setq LaTeX-auto-acronym nil))
+
+(defun LaTeX-acronym-cleanup ()
+  "Move acronyms from `LaTeX-auto-acronym' to `LaTeX-acronym-list'."
+  (mapc (lambda (acronym)
+         (add-to-list 'LaTeX-acronym-list (list acronym)))
+       LaTeX-auto-acronym))
+
+;; FIXME: This does not seem to work unless one does a manual reparse.
+(add-hook 'TeX-auto-prepare-hook 'LaTeX-acronym-prepare)
+(add-hook 'TeX-auto-cleanup-hook 'LaTeX-acronym-cleanup)
+
+(defvar LaTeX-acronym-acronym-history nil
+  "History of acronyms in acronym.")
+
+;; The former `acronym' stands for package name, the latter stands for the
+;; argument of the macro calling this function.
+(defun LaTeX-arg-acronym-acronym (optional &optional prompt definition)
+  "Prompt for an acronym completing with known acronyms.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string.  If DEFINITION is non-nil, add the chosen acronym to the
+list of defined acronyms."
+  (let ((acronym (completing-read (TeX-argument-prompt optional prompt 
"Acronym")
+                                 (LaTeX-acronym-list) nil nil nil
+                                 'LaTeX-acronym-acronym-history)))
+    (if (and definition (not (string-equal "" acronym)))
+       (LaTeX-add-acronyms acronym))
+    (TeX-argument-insert acronym optional optional)))
+
+(defun LaTeX-arg-define-acronym-acronym (optional &optional prompt)
+  "Prompt for an acronym completing with known acronyms.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string."
+  (LaTeX-arg-acronym-acronym optional prompt t))
+
+(TeX-add-style-hook
+ "acronym"
+ (lambda ()
+   (TeX-auto-add-regexp `(,LaTeX-acronym-regexp 1 LaTeX-auto-acronym))
+   (LaTeX-add-environments
+    '("acronym" LaTeX-env-args
+      [TeX-arg-string "Longest acronym"]))
+   (TeX-add-symbols
+    ;; Acronyms in the Text
+    '("ac" LaTeX-arg-acronym-acronym)
+    '("acresetall" 0)
+    '("acf" LaTeX-arg-acronym-acronym)
+    '("acs" LaTeX-arg-acronym-acronym)
+    '("acl" LaTeX-arg-acronym-acronym)
+    '("acp" LaTeX-arg-acronym-acronym)
+    '("acfp" LaTeX-arg-acronym-acronym)
+    '("acsp" LaTeX-arg-acronym-acronym)
+    '("aclp" LaTeX-arg-acronym-acronym)
+    '("acfi" LaTeX-arg-acronym-acronym)
+    '("acused" LaTeX-arg-acronym-acronym)
+    '("acsu" LaTeX-arg-acronym-acronym)
+    '("aclu" LaTeX-arg-acronym-acronym)
+    '("iac" LaTeX-arg-acronym-acronym)
+    '("Iac" LaTeX-arg-acronym-acronym)
+    '("ac*" LaTeX-arg-acronym-acronym)
+    '("acf*" LaTeX-arg-acronym-acronym)
+    '("acs*" LaTeX-arg-acronym-acronym)
+    '("acl*" LaTeX-arg-acronym-acronym)
+    '("acp*" LaTeX-arg-acronym-acronym)
+    '("acfp*" LaTeX-arg-acronym-acronym)
+    '("acsp*" LaTeX-arg-acronym-acronym)
+    '("aclp*" LaTeX-arg-acronym-acronym)
+    '("acfi*" LaTeX-arg-acronym-acronym)
+    '("acsu*" LaTeX-arg-acronym-acronym)
+    '("aclu*" LaTeX-arg-acronym-acronym)
+    '("iac*" LaTeX-arg-acronym-acronym)
+    '("Iac*" LaTeX-arg-acronym-acronym)
+    ;; Customization
+    '("acsfont" 1)
+    '("acffont" 1)
+    '("acfsfont" 1)
+    ;; Defining Acronyms
+    '("acro" LaTeX-arg-define-acronym-acronym [ "Short name" ] "Full name")
+    '("acroextra" "Additional info")
+    '("newacro" LaTeX-arg-define-acronym-acronym [ "Short name" ] "Full name")
+    '("acrodef" LaTeX-arg-define-acronym-acronym [ "Short name" ] "Full name")
+    ;; Non standard indefinite articles
+    '("acroindefinite" LaTeX-arg-acronym-acronym
+      "Short indefinite article" "Long indefinite article")
+    '("acrodefindefinite" LaTeX-arg-acronym-acronym
+      "Short indefinite article" "Long indefinite article")
+    '("newacroindefinite" LaTeX-arg-acronym-acronym
+      "Short indefinite article" "Long indefinite article")
+    ;; Non standard and foreign plural forms
+    '("acroplural" LaTeX-arg-acronym-acronym [ "Short plural" ] "Long plural")
+    '("acrodefplural" LaTeX-arg-acronym-acronym [ "Short plural" ] "Long 
plural")
+    '("newacroplural" LaTeX-arg-acronym-acronym [ "Short plural" ] "Long 
plural"))
+   (TeX-run-style-hooks
+    "relsize"
+    "xstring"
+    "suffix")
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("ac" "*{")
+                               ("acf" "*{")
+                               ("acs" "*{")
+                               ("acl" "*{")
+                               ("acp" "*{")
+                               ("acfp" "*{")
+                               ("acsp" "*{")
+                               ("aclp" "*{")
+                               ("acfi" "*{")
+                               ("acused" "{")
+                               ("acsu" "*{")
+                               ("aclu" "*{")
+                               ("iac" "*{")
+                               ("Iac" "*{")
+                               ("acro" "{[{")
+                               ("acroextra" "{")
+                               ("newacro" "{[{")
+                               ("acrodef" "{[{")
+                               ("acroindefinite" "{{{")
+                               ("acrodefindefinite" "{{{")
+                               ("newacroindefinite" "{{{")
+                               ("acroplural" "{[{")
+                               ("acrodefplural" "{[{")
+                               ("newacroplural" "{[{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defvar LaTeX-acronym-package-options
+  '("footnote" "nohyperlinks" "printonlyused" "withpage" "smaller" "dua" 
"nolist")
+  "Package options for the acronym package.")
+
+;; acronym.el ends here
diff --git a/style/austrian.el b/style/afterpage.el
similarity index 68%
copy from style/austrian.el
copy to style/afterpage.el
index 13f28a8..ec0d320 100644
--- a/style/austrian.el
+++ b/style/afterpage.el
@@ -1,10 +1,10 @@
-;;; austrian.el --- AUCTeX style for the `austrian' babel option.
+;;; afterpage.el --- AUCTeX style for `afterpage.sty'
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
+;; Author: Mads Jensen <address@hidden>
 ;; Maintainer: address@hidden
-;; Created: 2009-12-28
+;; Created: 2013-01-01
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,14 +26,18 @@
 
 ;;; Commentary:
 
-;; Set up AUCTeX for editing Austrian text in connection with the
-;; `austrian' babel option.
+;; This file adds support for `afterpage.sty'
 
 ;;; Code:
 
 (TeX-add-style-hook
- "austrian"
+ "afterpage"
  (lambda ()
-   (TeX-run-style-hooks "german")))
+   (TeX-add-symbols
+    '("afterpage" t)))
+ LaTeX-dialect)
 
-;;; austrian.el ends here
+(defvar LaTeX-afterpage-package-options nil
+  "Package options for afterpage.")
+
+;; afterpage.el ends here
diff --git a/style/alltt.el b/style/alltt.el
index a266a88..e5c5684 100644
--- a/style/alltt.el
+++ b/style/alltt.el
@@ -47,7 +47,8 @@
      (font-latex-set-syntactic-keywords)
      ;; Tell font-lock about the update.
      (setq font-lock-set-defaults nil)
-     (font-lock-set-defaults))))
+     (font-lock-set-defaults)))
+ LaTeX-dialect)
 
 (defvar LaTeX-alltt-package-options nil
   "Package options for the alltt package.")
diff --git a/style/alphanum.el b/style/alphanum.el
index 43ce10e..64d694c 100644
--- a/style/alphanum.el
+++ b/style/alphanum.el
@@ -92,7 +92,8 @@
    (if (fboundp 'reftex-add-section-levels)
        (reftex-add-section-levels
        '(("toc" .  reftex-get-section-level-alphanum)
-         ("sub" .  reftex-get-section-level-alphanum))))))
+         ("sub" .  reftex-get-section-level-alphanum)))))
+ LaTeX-dialect)
 
 ;; Local Variables:
 ;; coding: iso-8859-1
diff --git a/style/amsart.el b/style/amsart.el
index 51a2902..8e3ae5c 100644
--- a/style/amsart.el
+++ b/style/amsart.el
@@ -5,6 +5,7 @@
 (TeX-add-style-hook "amsart"
  (function
   (lambda ()
-    (TeX-run-style-hooks "amsmath" "amsthm"))))
+    (TeX-run-style-hooks "amsmath" "amsthm")))
+ LaTeX-dialect)
 
 ;;; amsart.el ends here.
diff --git a/style/amsbook.el b/style/amsbook.el
index ccbc84e..192b807 100644
--- a/style/amsbook.el
+++ b/style/amsbook.el
@@ -5,6 +5,7 @@
 (TeX-add-style-hook "amsbook"
  (function
   (lambda ()
-    (TeX-run-style-hooks "amsmath" "amsthm"))))
+    (TeX-run-style-hooks "amsmath" "amsthm")))
+ LaTeX-dialect)
 
 ;;; amsbook.el ends here.
diff --git a/style/amsbsy.el b/style/amsbsy.el
index dd2605c..3302a8b 100644
--- a/style/amsbsy.el
+++ b/style/amsbsy.el
@@ -10,7 +10,8 @@
     (TeX-add-symbols
      '("boldsymbol" "Symbol")
      '("pmb"        "Symbol")
-     ))))
+     )))
+ LaTeX-dialect)
 
 (defvar LaTeX-amsbsy-package-options nil
   "Package options for the amsbsy package.")
diff --git a/style/amsmath.el b/style/amsmath.el
index 8f16425..0326561 100644
--- a/style/amsmath.el
+++ b/style/amsmath.el
@@ -1,6 +1,6 @@
 ;;; amsmath.el --- Style hook for the AMS-LaTeX amsmath package.
 
-;; Copyright (C) 2002, 2005  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2005-2007, 2012-2014  Free Software Foundation, Inc.
 ;; FIXME: What about the copyright for <= 2001?
 
 ;; Author: Carsten Dominik <address@hidden>
@@ -43,8 +43,9 @@
      '("xalignat"   LaTeX-amsmath-env-alignat)
      '("xalignat*"  LaTeX-amsmath-env-alignat)
      '("xxalignat"  LaTeX-amsmath-env-alignat)
-     '("aligned"    LaTeX-amsmath-env-aligned)
-     '("gathered"   LaTeX-amsmath-env-aligned)
+     '("aligned"    ["Vertical position (t or b)"])
+     '("gathered"   ["Vertical position (t or b)"])
+     '("alignedat"  LaTeX-amsmath-env-alignedat)
      "align*" "gather*" "flalign*" "multline*" "equation*"
      "split"
      "cases"
@@ -56,6 +57,7 @@
      '("eqref" TeX-arg-ref)
      '("numberwithin" TeX-arg-counter "Section level")
      '("raisetag" "Dimension")
+     '("shoveright" t) '("shoveleft" t)
      '("intertext" t)
      '("hdotsfor" ["Stretch"] "Number of columns to cover")
      '("xleftarrow" ["Below"] "Above")
@@ -92,7 +94,9 @@
      '("ddddot" t)
      "bmod" "notag"
      "dots" "dotsb" "dotsc" "dotsi" "dotsm" "dotso" "nobreakdash" 
-     "lvert" "rvert" "lVert" "rVert" 
+     '("lvert" TeX-arg-insert-right-brace-maybe)
+     '("lVert" TeX-arg-insert-right-brace-maybe)
+     "rvert" "rVert"
      "iint" "iiint" "iiiint" "idotsint"
      )
     
@@ -100,18 +104,19 @@
           (append '(("split"    . LaTeX-item-equation)
                     ("multline" . LaTeX-item-equation)
                     ("multline*" . LaTeX-item-equation)
-                    ("gather"   . LaTeX-item-equations)
+                    ("gather"   . LaTeX-item-equation)
                     ("gather*"  . LaTeX-item-equation)
                     ("gathered" . LaTeX-item-equation)
-                    ("align"    . LaTeX-item-equations)
+                    ("align"    . LaTeX-item-equation)
                     ("align*"   . LaTeX-item-equation)
                     ("aligned"  . LaTeX-item-equation)
-                    ("alignat"  . LaTeX-item-equations)
-                    ("alignat*" . LaTeX-item-equation)
-                    ("xalignat"  . LaTeX-item-equations)
-                    ("xalignat*" . LaTeX-item-equation)
-                    ("xxalignat" . LaTeX-item-equation)
-                    ("flalign"  . LaTeX-item-equations)
+                    ("alignat"  . LaTeX-item-equation-alignat)
+                    ("alignat*" . LaTeX-item-equation-alignat)
+                    ("xalignat"  . LaTeX-item-equation-alignat)
+                    ("xalignat*" . LaTeX-item-equation-alignat)
+                    ("xxalignat" . LaTeX-item-equation-alignat)
+                    ("alignedat" . LaTeX-item-equation-alignat)
+                    ("flalign"  . LaTeX-item-equation)
                     ("flalign*" . LaTeX-item-equation)
                     ("matrix" .  LaTeX-item-equation)
                     ("pmatrix" .  LaTeX-item-equation)
@@ -119,6 +124,7 @@
                     ("Bmatrix" .  LaTeX-item-equation)
                     ("vmatrix" .  LaTeX-item-equation)
                     ("Vmatrix" .  LaTeX-item-equation)
+                    ("subarray" . LaTeX-item-equation)
                     ("cases"    . LaTeX-item-equation))
                   LaTeX-item-list))
 
@@ -127,13 +133,23 @@
       (setq LaTeX-amsmath-label LaTeX-equation-label))
 
     (setq LaTeX-label-alist
-         (append '(("align"      . LaTeX-amsmath-label)
+         ;; Append amsmath environments to `LaTeX-label-alist', in order not to
+         ;; override possible custome values.
+         (append LaTeX-label-alist
+                 '(("align"      . LaTeX-amsmath-label)
                    ("alignat"    . LaTeX-amsmath-label)
                    ("xalignat"   . LaTeX-amsmath-label)
-                   ("multline"    . LaTeX-amsmath-label)
+                   ("multline"   . LaTeX-amsmath-label)
                    ("flalign"    . LaTeX-amsmath-label)
-                   ("gather"     . LaTeX-amsmath-label))
-                 LaTeX-label-alist))
+                   ("gather"     . LaTeX-amsmath-label))))
+
+    (set (make-local-variable 'TeX-braces-association)
+        (append '(("\\lvert" . "\\rvert")
+                  ("\\lVert" . "\\rVert"))
+                TeX-braces-association))
+    (set (make-local-variable 'TeX-left-right-braces)
+        (append '(("\\lvert") ("\\rvert") ("\\lVert") ("\\rVert"))
+                TeX-left-right-braces))
 
     ;; amsmath includes amstext, amsbsy, & amsopn.
     ;; So we run their hooks, too.
@@ -141,35 +157,64 @@
 
     ;; If RefTeX is loaded, make it recognize the amsmath environments.
     (when (fboundp 'reftex-add-to-label-alist)
-      (reftex-add-to-label-alist '(AMSTeX))))))
+      (reftex-add-to-label-alist '(AMSTeX)))))
+ LaTeX-dialect)
 
 (defun LaTeX-amsmath-env-alignat (env)
+  "Insert ENV with column number specifications.
+Insert suitable number of ampersands also if possible."
   (let ((ncols (read-string "Number of columns: ")))
     (LaTeX-insert-environment env (concat TeX-grop ncols TeX-grcl))
-    (and (not (string= "xxalignat" env))
-        (not (string= "*" (substring env -1)))
-        (LaTeX-label env)
-        (newline-and-indent))))
-
-(defun LaTeX-amsmath-env-aligned (env)
-  (let ((where (read-string "(optional) Vertical position (t or b): ")))
-    (if (string= where "")
-       (setq where "")
-      (setq where (concat "[" where "]")))
-    (LaTeX-insert-environment env where)))
-
-(defun LaTeX-item-equation ()
-  (end-of-line 0)
-  (just-one-space)
-  (insert "\\\\")
-  (forward-line 1)
-  (indent-according-to-mode))
-
-(defun LaTeX-item-equations ()
-  (LaTeX-item-equation)
-  (let ((environment (LaTeX-current-environment 1)))
-    (and (LaTeX-label environment)
-        (newline-and-indent))))
+    (LaTeX-item-equation-alignat t)))
+
+(defun LaTeX-amsmath-env-alignedat (env)
+  "Insert ENV with position and column number specifications.
+Insert suitable number of ampersands also if possible."
+  (let ((where (read-string "(Optional) Vertical position (t or b): "))
+       (ncols (read-string "Number of columns: ")))
+    (unless (string= where "")
+      (setq where (concat LaTeX-optop where LaTeX-optcl)))
+    (LaTeX-insert-environment env (concat where TeX-grop ncols TeX-grcl))
+    (LaTeX-item-equation-alignat t)))
+
+(defun LaTeX-item-equation (&optional suppress)
+  "Insert contents to terminate a line in multi-line equations environment.
+Put line break macro on the last line.  If the current environment
+wants \\label, insert it also.
+
+If SUPPRESS is non-nil, do not insert line break macro."
+  (unless suppress
+    (end-of-line 0)
+    (just-one-space)
+    (TeX-insert-macro "\\")
+    (forward-line 1)
+    (indent-according-to-mode))
+  (let ((env (LaTeX-current-environment)))
+    (when (and (assoc env LaTeX-label-alist)
+              (LaTeX-label env 'environment))
+      (LaTeX-newline)
+      (indent-according-to-mode))))
+
+(defun LaTeX-item-equation-alignat (&optional suppress)
+  "Insert contents to terminate a line in multi-line equations environment.
+Put line break macro on the last line.  Next, if the current
+environment wants \\label, insert it also.  And insert suitable number
+of ampersands if possible.
+
+If SUPPRESS is non-nil, do not insert line break macro."
+  (LaTeX-item-equation suppress)
+  (LaTeX-insert-ampersands
+   (concat "\\(?:"
+          (regexp-quote LaTeX-optop) "[tb]" (regexp-quote LaTeX-optcl)
+          "\\)?")
+   'LaTeX-amsmath-alignat-number-of-ampersands))
+
+(defun LaTeX-amsmath-alignat-number-of-ampersands (start end)
+  "Return the number of ampersands to insert.
+The number is 2N-1 where N is the number taken from the text between
+START and END."
+  (let ((num (string-to-number (buffer-substring-no-properties start end))))
+    (if (integerp num) (+ num num -1))))
 
 (defvar LaTeX-amsmath-package-options '("intlimits" "nointlimits"
                                        "sumlimits" "nosumlimits"
diff --git a/style/amsopn.el b/style/amsopn.el
index 1e875d8..85e3f17 100644
--- a/style/amsopn.el
+++ b/style/amsopn.el
@@ -1,6 +1,32 @@
-;;; amsopn.el --- Style hook for the AMS-LaTeX amsopn package.
-;;;
-;;; AUTHOR: Carsten Dominik <address@hidden>
+;;; amsopn.el --- AUCTeX style for the `amsnopn.sty' AMS-LaTeX package
+
+;; Copyright (C) 1997, 2002, 2005, 2013 Free Software Foundation, Inc.
+
+;; Author: Carsten Dominik <address@hidden>
+;;         Mads Jensen <address@hidden>
+;; Maintainer: address@hidden
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `amsnopn.sty'
 
 ;;; Code:
 
@@ -8,10 +34,18 @@
  (function
   (lambda ()
     (TeX-add-symbols
-     '("DeclareMathOperator"  "Operator (with \\)" "Text")
-     '("DeclareMathOperator*" "Operator (with \\)" "Text")
+     '("DeclareMathOperator"  (TeX-arg-define-macro "Math Operator: \\")
+       "Expansion text for the math operator")
+     '("DeclareMathOperator*" (TeX-arg-define-macro "Math Operator: \\")
+       "Expansion text for the math operator")
      '("operatorname" t)
-     '("operatorname*" t)))))
+     '("operatorname*" t))
+
+    (add-to-list 'LaTeX-auto-regexp-list
+                '("\\\\DeclareMathOperator\\*?{?\\\\\\([A-Za-z0-9]+\\)}?"
+                  1 TeX-auto-symbol))))
+ LaTeX-dialect
+ )
 
 (defvar LaTeX-amsopn-package-options '("namelimits" "nonamelimits")
   "Package options for the amsopn package.")
diff --git a/style/amssymb.el b/style/amssymb.el
new file mode 100644
index 0000000..2aec6b6
--- /dev/null
+++ b/style/amssymb.el
@@ -0,0 +1,249 @@
+;;; amssymb.el --- AUCTeX style for `amssymb.sty'
+
+;; Copyright (C) 2012 Free Software Foundation, Inc.
+
+;; Author: Mads Jensen <address@hidden>
+;; Maintainer: address@hidden
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `amssymb.sty'.
+
+;; The commands were just taken out of the \DeclareMathSymbol from
+;; amssymb.sty in the order specified there, i.e., \mathord, \mathbin,
+;; \mathrel
+
+;;; Code:
+
+(TeX-add-style-hook
+ "amssymb"
+ (lambda ()
+   (TeX-add-symbols
+    "boxdot"
+    "boxplus"
+    "boxtimes"
+    "square"
+    "blacksquare"
+    "centerdot"
+    "lozenge"
+    "blacklozenge"
+    "circlearrowright"
+    "circlearrowleft"
+    "leftrightharpoons"
+    "boxminus"
+    "Vdash"
+    "Vvdash"
+    "vDash"
+    "twoheadrightarrow"
+    "twoheadleftarrow"
+    "leftleftarrows"
+    "rightrightarrows"
+    "upuparrows"
+    "downdownarrows"
+    "upharpoonright"
+    "downharpoonright"
+    "upharpoonleft"
+    "downharpoonleft"
+    "rightarrowtail"
+    "leftarrowtail"
+    "leftrightarrows"
+    "rightleftarrows"
+    "Lsh"
+    "Rsh"
+    "rightsquigarrow"
+    "leftrightsquigarrow"
+    "looparrowleft"
+    "looparrowright"
+    "circeq"
+    "succsim"
+    "gtrsim"
+    "gtrapprox"
+    "multimap"
+    "therefore"
+    "because"
+    "doteqdot"
+    "triangleq"
+    "precsim"
+    "lesssim"
+    "lessapprox"
+    "eqslantless"
+    "eqslantgtr"
+    "curlyeqprec"
+    "curlyeqsucc"
+    "preccurlyeq"
+    "leqq"
+    "leqslant"
+    "lessgtr"
+    "backprime"
+    "risingdotseq"
+    "fallingdotseq"
+    "succcurlyeq"
+    "geqq"
+    "geqslant"
+    "gtrless"
+    "vartriangleright"
+    "vartriangleleft"
+    "trianglerighteq"
+    "trianglelefteq"
+    "bigstar"
+    "between"
+    "blacktriangledown"
+    "blacktriangleright"
+    "blacktriangleleft"
+    "vartriangle"
+    "blacktriangle"
+    "triangledown"
+    "eqcirc"
+    "lesseqgtr"
+    "gtreqless"
+    "lesseqqgtr"
+    "gtreqqless"
+    "Rrightarrow"
+    "Lleftarrow"
+    "veebar"
+    "barwedge"
+    "doublebarwedge"
+    "measuredangle"
+    "sphericalangle"
+    "varpropto"
+    "smallsmile"
+    "smallfrown"
+    "Subset"
+    "Supset"
+    "Cup"
+    "Cap"
+    "curlywedge"
+    "curlyvee"
+    "leftthreetimes"
+    "rightthreetimes"
+    "subseteqq"
+    "supseteqq"
+    "bumpeq"
+    "Bumpeq"
+    "lll"
+    "ggg"
+    "circledS"
+    "pitchfork"
+    "dotplus"
+    "backsim"
+    "backsimeq"
+    "complement"
+    "intercal"
+    "circledcirc"
+    "circledast"
+    "circleddash"
+    "lvertneqq"
+    "gvertneqq"
+    "nleq"
+    "ngeq"
+    "nless"
+    "ngtr"
+    "nprec"
+    "nsucc"
+    "lneqq"
+    "gneqq"
+    "nleqslant"
+    "ngeqslant"
+    "lneq"
+    "gneq"
+    "npreceq"
+    "nsucceq"
+    "precnsim"
+    "succnsim"
+    "lnsim"
+    "gnsim"
+    "nleqq"
+    "ngeqq"
+    "precneqq"
+    "succneqq"
+    "precnapprox"
+    "succnapprox"
+    "lnapprox"
+    "gnapprox"
+    "nsim"
+    "ncong"
+    "diagup"
+    "diagdown"
+    "varsubsetneq"
+    "varsupsetneq"
+    "nsubseteqq"
+    "nsupseteqq"
+    "subsetneqq"
+    "supsetneqq"
+    "varsubsetneqq"
+    "varsupsetneqq"
+    "subsetneq"
+    "supsetneq"
+    "nsubseteq"
+    "nsupseteq"
+    "nparallel"
+    "nmid"
+    "nshortmid"
+    "nshortparallel"
+    "nvdash"
+    "nVdash"
+    "nvDash"
+    "nVDash"
+    "ntrianglerighteq"
+    "ntrianglelefteq"
+    "ntriangleleft"
+    "ntriangleright"
+    "nleftarrow"
+    "nrightarrow"
+    "nLeftarrow"
+    "nRightarrow"
+    "nLeftrightarrow"
+    "nleftrightarrow"
+    "divideontimes"
+    "varnothing"
+    "nexists"
+    "Finv"
+    "Game"
+    "eth"
+    "eqsim"
+    "beth"
+    "gimel"
+    "daleth"
+    "lessdot"
+    "gtrdot"
+    "ltimes"
+    "rtimes"
+    "shortmid"
+    "shortparallel"
+    "smallsetminus"
+    "thicksim"
+    "thickapprox"
+    "approxeq"
+    "succapprox"
+    "precapprox"
+    "curvearrowleft"
+    "curvearrowright"
+    "digamma"
+    "varkappa"
+    "Bbbk"
+    "hslash"
+    "backepsilon"))
+ LaTeX-dialect)
+
+(defvar LaTeX-amssymb-package-options '("psamsfonts")
+  "Package options for the amssymb package.")
+
+;;; amssymb.el ends here.
diff --git a/style/amstex.el b/style/amstex.el
index 347d72f..97a8b70 100644
--- a/style/amstex.el
+++ b/style/amstex.el
@@ -45,7 +45,8 @@
  (function
   (lambda ()
     (unless (memq major-mode '(plain-tex-mode ams-tex-mode))
-      (TeX-run-style-hooks "amsmath")))))
+      (TeX-run-style-hooks "amsmath"))))
+ LaTeX-dialect)
 
 (defvar LaTeX-amstex-package-options '("noamsfonts" "psamsfonts" 
                                       "intlimits" "nointlimits"
diff --git a/style/amstext.el b/style/amstext.el
index a9aa855..d0a8e87 100644
--- a/style/amstext.el
+++ b/style/amstext.el
@@ -8,9 +8,10 @@
  (function
   (lambda ()
     (TeX-add-symbols
-     '("text" t)))))
+     '("text" t))))
+ LaTeX-dialect)
 
-(defvar LaTeX-amstext-package-option nil
+(defvar LaTeX-amstext-package-options nil
   "Package options for the amstext package.")
 
 ;;; amstext.el ends here.
diff --git a/style/amsthm.el b/style/amsthm.el
index 9903040..15cbf3a 100644
--- a/style/amsthm.el
+++ b/style/amsthm.el
@@ -1,6 +1,6 @@
 ;;; amsthm.el --- Style hook for the AMS-LaTeX amsthm package.
 
-;; Copyright (C) 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2013 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <address@hidden>
 ;; Maintainer: address@hidden
@@ -24,24 +24,43 @@
 
 ;;; Code:
 
-(TeX-add-style-hook "amsthm"
- (function
-  (lambda ()
-    (LaTeX-add-environments
-     '("proof" (lambda (env &rest ignore)
-                (LaTeX-insert-environment 
-                 env
-                 (let ((heading (read-string "(optional) Heading: ")))
-                   (if (string= heading "")
-                       ""
-                     (format "[%s]" heading))))))
-     )
-    (TeX-add-symbols
-     '("newtheorem" "Environment name" ["Share numbering with"] "Heading"
-       ["Number subordinated in each"])
-     '("newtheorem*" "Environment name" "Heading")
-     '("theoremstyle" LaTeX-amsthm-complete-theoremstyle)
-     ))))
+(defvar LaTeX-amsthm-package-options nil
+  "Package options for the amsthm package.")
+
+(TeX-add-style-hook
+ "amsthm"
+ (lambda ()
+   (LaTeX-add-environments
+    '("proof" (lambda (env &rest ignore)
+               (LaTeX-insert-environment
+                env
+                (let ((heading (read-string "(optional) Heading: ")))
+                  (if (string= heading "")
+                      ""
+                    (format "[%s]" heading))))))
+    )
+   (TeX-add-symbols
+    '("newtheorem*" TeX-arg-define-environment "Heading")
+    '("theoremstyle" LaTeX-amsthm-complete-theoremstyle)
+    "qedhere"
+    "swapnumbers"
+    '("newtheoremstyle" "Style name" (TeX-arg-length nil "Space above")
+      (TeX-arg-length nil "Space below") "Body font" "Indent amount"
+      "Theorem head font" "Punctuation after head"
+      (TeX-arg-length nil "Space after head") "Theorem head spec"))
+
+   (TeX-auto-add-regexp
+    `(,(concat "\\\\newtheorem\\*{\\(" TeX-token-char "+\\)}")
+      1 LaTeX-auto-environment))
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("newtheorem" "*{[{[")
+                               ("theoremstyle" "{")
+                               ("newtheoremstyle" "{{{{{{{{{"))
+                             'function)))
+ LaTeX-dialect)
 
 (defun LaTeX-amsthm-complete-theoremstyle (&rest ignore)
   (insert TeX-grop
diff --git a/style/xspace.el b/style/array.el
similarity index 54%
copy from style/xspace.el
copy to style/array.el
index 15f9216..51a27e8 100644
--- a/style/xspace.el
+++ b/style/array.el
@@ -1,9 +1,9 @@
-;;; xspace.el --- AUCTeX style for `xspace.sty'
+;;; array.el --- AUCTeX style for `array.sty'
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
 ;; Author: Mads Jensen <address@hidden>
-;; Created: 2011-02-01
+;; Maintainer: address@hidden
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -25,27 +25,28 @@
 
 ;;; Commentary:
 
-;; This file adds support for `xspace.sty'.
+;; This file adds support for `array.sty'
 
 ;;; Code:
 
 (TeX-add-style-hook
- "xspace"
+ "array"
  (lambda ()
    (TeX-add-symbols
-    '("xspace" 0)
-    "xspaceaddexception"
-    "xspaceremoveexception")
-
-   ;; Fontification
-   (when (and (featurep 'font-latex)
-             (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("xspace" "")
-                               ("xspaceaddexception" "{")
-                               ("xspaceremoveexception" "{"))
-                             'function))))
-
-(defvar LaTeX-xspace-package-options nil
-  "Package options for the xspace package.")
-
-;;; xspace.el ends here
+    '("newcolumntype" "Column type" [ "Number of arguments" ] t)
+    '("showcols" 0)
+    '("firsthline" 0)
+    '("lasthline" 0))
+
+   ;; `array.sty' adds a couple of new lengths.  They're added here, rather 
than
+   ;; in the `TeX-add-symbols' block.
+   (LaTeX-add-lengths "extratabsurround" "extrarowheight")
+
+   ;; `array.sty' adds some new column specification letters.
+   (set (make-local-variable 'LaTeX-array-column-letters) "clrpmb"))
+ LaTeX-dialect)
+
+(defvar LaTeX-array-package-options nil
+  "Package options for array.")
+
+;; array.el ends here
diff --git a/style/article.el b/style/article.el
index 2acb566..d4842f1 100644
--- a/style/article.el
+++ b/style/article.el
@@ -1,12 +1,20 @@
 ;;; article.el - Special code for article style.
 
-;; $Id: article.el,v 1.4 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
+(defvar LaTeX-article-class-options
+  '("a4paper" "a5paper" "b5paper" "letterpaper" "legalpaper" "executivepaper"
+    "landscape" "10pt" "11pt" "12pt" "oneside" "twoside" "draft" "final"
+    "titlepage" "notitlepage" "onecolumn" "twocolumn" "leqno" "fleqn" 
"openbib")
+  "Package options for the article class.")
+
 (TeX-add-style-hook
  "article"
  (lambda ()
-   (LaTeX-largest-level-set "section")))
+   (LaTeX-largest-level-set "section")
+   (LaTeX-add-counters "part" "section" "subsection" "subsubsection" 
"paragraph"
+                      "subparagraph" "figure" "table")
+   (LaTeX-add-pagestyles "headings" "myheadings"))
+ LaTeX-dialect)
 
 ;;; article.el ends here
diff --git a/style/austrian.el b/style/austrian.el
index 13f28a8..fce8906 100644
--- a/style/austrian.el
+++ b/style/austrian.el
@@ -34,6 +34,7 @@
 (TeX-add-style-hook
  "austrian"
  (lambda ()
-   (TeX-run-style-hooks "german")))
+   (TeX-run-style-hooks "german"))
+ LaTeX-dialect)
 
 ;;; austrian.el ends here
diff --git a/style/babel.el b/style/babel.el
old mode 100755
new mode 100644
index 3242d0e..88b10b2
--- a/style/babel.el
+++ b/style/babel.el
@@ -1,6 +1,6 @@
-;;; babel.el --- AUCTeX style for `babel.sty'
+;;; babel.el --- AUCTeX style for `babel.sty' version 3.9h.
 
-;; Copyright (C) 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2013-2014 Free Software Foundation, Inc.
 
 ;; Author: Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
@@ -26,34 +26,90 @@
 
 ;;; Commentary:
 
-;; This file adds support for `babel.sty'.
+;; This file adds support for `babel.sty' version 3.9h.
 
 ;;; Code:
 
 (defvar LaTeX-babel-language-list
-  '("acadian" "afrikaans" "american" "austrian""bahasa" "basque" "brazil"
-    "brazilian" "breton" "british" "bulgarian" "canadian" "canadien"
-    "catalan" "croatian" "czech" "danish" "dutch" "english" "esperanto"
-    "estonian" "finnish" "francais" "frenchb" "french" "galician"
-    "german" "germanb" "greek" "polutonikogreek" "hebrew" "hungarian"
-    "icelandic" "irish" "italian" "latin" "lowersorbian" "magyar"
-    "naustrian" "ngerman" "norsk" "samin" "nynorsk" "polish" "portuges"
-    "portuguese" "romanian" "russian" "scottish" "serbian" "slovak"
-    "slovene" "spanish" "swedish" "turkish" "ukrainian" "uppersorbian"
-    "welsh" "UKenglish" "USenglish")
+  '("afrikaans"
+    "bahasa" "indonesian" "indon" "bahasai" "bahasam" "malay" "meyalu"
+    "basque"
+    "breton"
+    "bulgarian"
+    "catalan"
+    "croatian"
+    "czech"
+    "danish"
+    "dutch"
+    "english" "USenglish" "american" "UKenglish" "british"  "canadian"
+    "australian" "newzealand"
+    "esperanto"
+    "estonian"
+    "finnish"
+    "french" "francais" "canadien" "acadian"
+    "galician"
+    "austrian" "german" "germanb" "ngerman" "naustrian"
+    "greek" "polutonikogreek"
+    "hebrew"
+    "icelandic"
+    "interlingua"
+    "irish"
+    "italian"
+    "latin"
+    "lowersorbian"
+    "samin"
+    "norsk" "nynorsk"
+    "polish"
+    "portuges" "portuguese" "brazilian" "brazil"
+    "romanian"
+    "russian"
+    "scottish"
+    "spanish"
+    "slovak"
+    "slovene"
+    "swedish"
+    "serbian"
+    "turkish"
+    "ukrainian"
+    "uppersorbian"
+    "welsh"
+    ;; Extra languages mentioned in the `babel' manual.
+    "albanian" "hindi" "thai" "thaicjk" "latvian" "turkmen" "hungarian" 
"magyar"
+    "mongolian" "romansh" "lithuanian" "spanglish" "vietnamese" "japanese"
+    "pinyin" "arabinc" "farsi" "ibygreek" "bgreek" "serbianic" "frenchle"
+    "ethiop" "friulan" "frenchb")
   "List of languages supported by the babel LaTeX package.")
 
-(if (fboundp 'defvaralias)
-    (defvaralias 'LaTeX-babel-package-options 'LaTeX-babel-language-list)
-  (defvar LaTeX-babel-package-options LaTeX-babel-language-list
-    "Package options for the babel package."))
-
 (defun LaTeX-babel-active-languages ()
   "Return a list of languages used in the document."
-  (let (active-languages)
-    (dolist (elt LaTeX-babel-language-list)
-      (when (member elt TeX-active-styles)
-       (add-to-list 'active-languages (list elt))))
+  (let (main-language active-languages)
+    ;; Loop over options provided to class and `babel' package at load time.
+    (dolist (elt (append
+                 ;; In most cases there is only one element in the alist, if
+                 ;; there is more than one element, the first one should
+                 ;; contain the class options of the current buffer.  So we can
+                 ;; take the car of `LaTeX-provided-class-options'.
+                 (cdr (car LaTeX-provided-class-options))
+                 (cdr (assoc "babel" LaTeX-provided-package-options))))
+      (setq elt (TeX-split-string "=" elt))
+      (if (equal (car elt) "main")
+         ;; Starting from version 3.9 of `babel' package, languages can be set
+         ;; with the following syntax:
+         ;;   \usepackage[latin.medieval,main=danish,spanish.notilde]{babel}
+         ;; with `danish' being the default language.  When the default
+         ;; language is set with the `main' option, we record it and append to
+         ;; the list at the end.
+         (setq main-language (car (cdr elt)))
+       ;; Get rid of the modifiers (`medieval' and `notilde' in the above
+       ;; example).
+       (setq elt (car (TeX-split-string "\\." (car elt))))
+       (if (member elt LaTeX-babel-language-list)
+           ;; Append element to `active-languages' to respect loading order.
+           ;; `babel' package uses as default language the last loaded one,
+           ;; except if it is set with the `main' option.
+           (add-to-list 'active-languages elt t))))
+    (if main-language
+       (add-to-list 'active-languages main-language t))
     active-languages))
 
 (defun TeX-arg-babel-lang (optional &optional prompt)
@@ -67,9 +123,17 @@
    env (format "{%s}" (completing-read "Language: "
                                       (LaTeX-babel-active-languages)))))
 
+(defun LaTeX-babel-load-languages ()
+  "Load style files of babel active languages."
+  ;; Run style hooks for every active language in loading order, so
+  ;; `TeX-quote-language' will be correctly set.
+  (mapc 'TeX-run-style-hooks (LaTeX-babel-active-languages)))
+
 (TeX-add-style-hook
  "babel"
  (lambda ()
+   (LaTeX-babel-load-languages)
+   (add-hook 'LaTeX-after-usepackage-hook 'LaTeX-babel-load-languages nil t)
    ;; New symbols
    (TeX-add-symbols
     '("selectlanguage" TeX-arg-babel-lang)
@@ -103,6 +167,28 @@
      (font-latex-add-keywords '(("defineshorthand" "{{")
                                ("aliasshorthand" "{{")
                                ("languageattribute" "{{"))
-                             'variable))))
+                             'variable)))
+ LaTeX-dialect)
+
+(defun LaTeX-babel-package-options ()
+  "Prompt for package options for the babel package."
+  (TeX-read-key-val
+   t
+   (append
+    '(("KeepShorthandsActive")
+      ("activeacute")
+      ("activegrave")
+      ("shorthands")
+      ("safe" ("none" "ref" "bib"))
+      ("math" ("active" "normal"))
+      ("config")
+      ("main" LaTeX-babel-language-list)
+      ("headfoot" LaTeX-babel-language-list)
+      ("noconfigs")
+      ("showlanguages")
+      ("strings" ("generic" "unicode" "encoded"))
+      ("hyphenmap" ("off" "main" "select" "other" "other*"))
+      ("base"))
+    (mapcar 'list LaTeX-babel-language-list))))
 
 ;;; babel.el ends here
diff --git a/style/beamer.el b/style/beamer.el
index cd4fa09..c108f2b 100644
--- a/style/beamer.el
+++ b/style/beamer.el
@@ -1,6 +1,6 @@
 ;;; beamer.el --- AUCTeX style for the latex-beamer class
 
-;; Copyright (C) 2003, 2004, 2005,2008 Free Software Foundation
+;; Copyright (C) 2003, 2004, 2005, 2008, 2013 Free Software Foundation
 
 ;; Author: Thomas Baumann <address@hidden>
 ;; Created: 2003-12-20
@@ -51,11 +51,17 @@
            (goto-char end-of-begin)
            (insert "[fragile]")))))))
 
+(defvar LaTeX-beamer-frametitle-history nil
+  "History of frame titles in beamer.")
+
 (TeX-add-style-hook
  "beamer"
  (lambda ()
    (add-hook 'LaTeX-after-insert-env-hooks 'LaTeX-beamer-after-insert-env nil 
t)
 
+   (TeX-run-style-hooks "amsmath" "amssymb" "amsthm" "color" "geometry"
+                       "hyperref" "inputenc" "translator" "xcolor")
+
    (unless LaTeX-beamer-section-labels-flag
      (make-local-variable 'LaTeX-section-hook)
      (setq LaTeX-section-hook
@@ -68,6 +74,8 @@
                   ("enumerate" . LaTeX-item-beamer))
                 LaTeX-item-list))
 
+   (setq LaTeX-default-document-environment "frame")
+
    (LaTeX-paragraph-commands-add-locally "frametitle")
 
    (TeX-add-symbols
@@ -78,7 +86,8 @@
     '("beamerreturnbutton" 1)
     '("beamerskipbutton" 1)
     '("frame" TeX-arg-beamer-frametitle)
-    '("frametitle" 1)
+    '("frametitle"
+      (TeX-arg-eval read-string "Title: " nil 
'LaTeX-beamer-frametitle-history))
     '("hyperlink" TeX-arg-beamer-overlay-spec 2)
     '("hyperlinkslideprev" TeX-arg-beamer-overlay-spec 1)
     '("hyperlinkslidenext" TeX-arg-beamer-overlay-spec 1)
@@ -127,7 +136,8 @@
     "columnsonlytextwidth"
     '("exampleblock" 1)
     '("frame"  (lambda (env &rest ignore)
-                (let ((title (read-string "(Optional) Title: ")))
+                (let ((title (read-string "(Optional) Title: " nil
+                                          'LaTeX-beamer-frametitle-history)))
                   (LaTeX-insert-environment env)
                   (unless (zerop (length title))
                     (save-excursion
@@ -154,6 +164,11 @@
                          (format "[%s]" width))))))
     "semiverbatim")
 
+   (LaTeX-largest-level-set "section")
+   (LaTeX-add-counters "lecture" "part" "section" "subsection" "subsubsection"
+                      "subsectionslide" "framenumber" "figure" "table"
+                      "beamerpauses")
+   (LaTeX-add-pagestyles "navigation")
    (make-local-variable 'LaTeX-indent-environment-list)
    (add-to-list 'LaTeX-indent-environment-list
                '("semiverbatim" current-indentation))
@@ -164,15 +179,19 @@
    ;; Fontification
    (when (and (featurep 'font-latex)
              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("frametitle" "<[{")) 'slide-title)
+     (font-latex-add-keywords '(("title" "[{")
+                               ("author" "[{")
+                               ("date" "[{")
+                               ("frametitle" "<[{")) 'slide-title)
      ;; For syntactic fontification, e.g. verbatim constructs.
      (font-latex-set-syntactic-keywords)
      ;; Tell font-lock about the update.
      (setq font-lock-set-defaults nil)
-     (font-lock-set-defaults))))
+     (font-lock-set-defaults)))
+ LaTeX-dialect)
 
 (defun TeX-arg-beamer-overlay-spec (optional &optional prompt)
-  "Prompt for overlay specification." 
+  "Prompt for overlay specification."
   (let ((overlay (read-string "(Optional) Overlay: ")))
     (unless (zerop (length overlay))
       (insert "<" overlay ">"))
@@ -180,15 +199,15 @@
 
 (defun TeX-arg-beamer-frametitle (optional &optional prompt)
   "Prompt for the frametitle."
-  (let ((title (read-string "Title: ")))
+  (let ((title (read-string "Title: " nil 'LaTeX-beamer-frametitle-history)))
     (if (not (zerop (length title)))
-        (insert TeX-grop TeX-esc "frametitle" TeX-grop 
+        (insert TeX-grop TeX-esc "frametitle" TeX-grop
                title TeX-grcl TeX-grcl)
       (insert TeX-grop TeX-grcl))))
 
 (defun LaTeX-item-beamer ()
-  "Insert a new item with an optional overlay argument. You 
-can turn off the prompt for the overlay argument by setting 
+  "Insert a new item with an optional overlay argument. You
+can turn off the prompt for the overlay argument by setting
 `LaTeX-beamer-item-overlay-flag' to nil. Calling the function
 with a prefix argument prompts for the overlay specification
 unconditionally."
@@ -201,7 +220,7 @@ unconditionally."
       (TeX-arg-beamer-overlay-spec 0))
   (insert " ")
   (indent-according-to-mode))
-  
+
 (defun TeX-arg-beamer-note (optional &optional prompt)
   "Prompt for overlay specification and optional argument."
   (let ((overlay (read-string "(Optional) Overlay: "))
@@ -333,4 +352,18 @@ also be a string.  Then the length of the string is used."
     nil nil nil)
    t))
 
+(defun LaTeX-beamer-class-options ()
+  "Read the beamer class options from the user."
+  (TeX-read-key-val t '(("usepdftitle" ("false")) ("envcountsect")
+                       ("notheorems") ("noamsthm") ("compress") ("t") ("c")
+                       ("leqno") ("fleqn") ("handout") ("trans") ("pdftex")
+                       ("nativepdf") ("pdfmark") ("dvips") ("dviwindo")
+                       ("dvipsone") ("vtex") ("ps2pdf") ("ignorenonframetext")
+                       ("noamssymb") ("bigger") ("smaller") ("8pt") ("9pt")
+                       ("10pt") ("11pt") ("12pt") ("14pt") ("17pt") ("20pt")
+                       ("draft") ("CJK") ("cjk") ("pgf")
+                       ("hyperref" LaTeX-hyperref-package-options-list)
+                       ("color") ("xcolor") ("ucs") ("utf8x") ("utf8")
+                       ("aspectratio" ("1610" "169" "149" "54" "43" "32")))))
+
 ;;; beamer.el ends here
diff --git a/style/biblatex.el b/style/biblatex.el
index 3a66cff..8a42a45 100644
--- a/style/biblatex.el
+++ b/style/biblatex.el
@@ -1,6 +1,6 @@
-;;; biblatex.el --- AUCTeX style for `biblatex.sty'
+;;; biblatex.el --- AUCTeX style for `biblatex.sty' version 2.8a.
 
-;; Copyright (C) 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
 
 ;; Author: Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
@@ -26,22 +26,505 @@
 
 ;;; Commentary:
 
-;; This file adds support for `biblatex.sty'.
+;; This file adds support for `biblatex.sty' version 2.8a.
 
 ;;; Code:
 
+(defvar LaTeX-biblatex-entrytype
+  '(;; Regular Types
+    "article" "book" "mvbook" "inbook" "bookinbook" "suppbook" "booklet"
+    "collection" "mvcollection" "incollection" "suppcollection" "manual" "misc"
+    "online" "patent" "periodical" "suppperiodical" "proceedings"
+    "mvproceedings" "inproceedings" "reference" "mvreference" "inreference"
+    "report" "set" "thesis" "unpublished" "xdata" "customa" "customb" "customc"
+    "customd" "custome" "customf"
+    ;; Type Aliases
+    "conference" "electronic" "masterthesis" "phdthesis" "techreport" "www"
+    ;; Unsupported Types
+    "artwork" "audio" "bibnote" "commentary" "image" "jurisdiction"
+    "legislation" "legal" "letter" "movie" "music" "performance" "review"
+    "software" "standard" "video")
+  "List of biblatex entry types.")
+
+(defvar LaTeX-biblatex-executebibliographyoptions-options
+  '(;; General
+    ("sorting" ("nty" "nyt" "nyvt" "anyt" "anyvt" "ynt" "ydnt" "none" "debug"))
+    ("sortcase" ("true" "false"))
+    ("sortupper" ("true" "false"))
+    ("sortlocale")
+    ("sortlos" ("bib" "los"))
+    ("related" ("true" "false"))
+    ("sortcites" ("true" "false"))
+    ("maxnames")
+    ("minnames")
+    ("maxbibnames")
+    ("minbibnames")
+    ("maxcitenames")
+    ("mincitenames")
+    ("maxitems")
+    ("minitems")
+    ("autocite" ("plain" "inline" "footnote" "superscript"))
+    ("autopunct" ("true" "false"))
+    ("language" (append LaTeX-biblatex-language-list
+                       '("autobib" "autocite" "auto")))
+    ("clearlang" ("true" "false"))
+    ("autolang" ("none" "hyphen" "other" "other*" "langname"))
+    ("block" ("none" "space" "par" "nbpar" "ragged"))
+    ("notetype" ("foot+end" "footonly" "endonly"))
+    ("hyperref" ("true" "false" "auto"))
+    ("backref" ("true" "false"))
+    ("backrefstyle" ("none" "three" "two" "two+" "three+" "all+"))
+    ("backrefsetstyle" ("setonly" "memonly" "setormem" "setandmem" "memandset"
+                       "setplusmem"))
+    ("indexing" ("true" "false" "cite" "bib"))
+    ("loadfiles" ("true" "false"))
+    ("refsection" ("none" "part" "chapter" "section" "subsection"))
+    ("refsegment" ("none" "part" "chapter" "section" "subsection"))
+    ("citereset" ("none" "part" "chapter" "section" "subsection"))
+    ("abbreviate" ("true" "false"))
+    ("date" ("short" "long" "terse" "comp" "iso8601"))
+    ("datelabel" ("year" "short" "long" "terse" "comp" "iso8601"))
+    ("origdate" ("short" "long" "terse" "comp" "iso8601"))
+    ("eventdate" ("short" "long" "terse" "comp" "iso8601"))
+    ("urldate" ("short" "long" "terse" "comp" "iso8601"))
+    ("alldates" ("short" "long" "terse" "comp" "iso8601"))
+    ("datezeros" ("true" "false"))
+    ("dateabbrev" ("true" "false"))
+    ("defernumbers" ("true" "false"))
+    ("punctfont" ("true" "false"))
+    ("arxiv" ("abs" "ps" "pdf" "format"))
+    ("texencoding" ("auto"))
+    ("bibencoding" ("auto"))
+    ("safeinputenc" ("true" "false"))
+    ("bibwarn" ("true" "false"))
+    ("mincrossrefs")
+    ;; Style-specific
+    ("isbn" ("true" "false"))
+    ("url" ("true" "false"))
+    ("doi" ("true" "false"))
+    ("eprint" ("true" "false"))
+    ;; Internal
+    ("pagetracker" ("true" "false" "page" "spread"))
+    ("citecounter" ("true" "false" "context"))
+    ("citetracker" ("true" "false" "context" "strict" "constrict"))
+    ("ibidtracker" ("true" "false" "context" "strict" "constrict"))
+    ("opcittracker" ("true" "false" "context" "strict" "constrict"))
+    ("loccittracker" ("true" "false" "context" "strict" "constrict"))
+    ("idemtracker" ("true" "false" "context" "strict" "constrict"))
+    ("parentracker" ("true" "false"))
+    ("maxparens")
+    ("firstinits" ("true" "false"))
+    ("sortfirstinits" ("true" "false"))
+    ("terseinits" ("true" "false"))
+    ("labelalpha" ("true" "false"))
+    ("maxalphanames")
+    ("minalphanames")
+    ("labelnumber" ("true" "false"))
+    ("labeltitle" ("true" "false"))
+    ("labeltitleyear" ("true" "false"))
+    ("labeldate" ("true" "false"))
+    ("singletitle" ("true" "false"))
+    ("uniquename" ("true" "false" "init" "full" "allinit" "allfull" "mininit"
+                  "minfull"))
+    ("uniquelist" ("true" "false" "minyear")))
+  "Key=value options for ExecuteBibliographyOptions macro of the biblatex 
package.")
+
+;; See table 2 of Biblatex reference manual.
+(defvar LaTeX-biblatex-language-list
+  '("catalan" "croatian" "czech" "danish" "dutch" "american" "british"
+    "canadian" "australian" "newzealand" "finnish" "french" "german" "austrian"
+    "ngernam" "naustrian" "greek" "italian" "norwegian" "polish" "brazilian"
+    "portuguese" "russian" "spanish" "swedish")
+  "List of languages supported by biblatex packages.")
+
+(defvar LaTeX-biblatex-addbibresource-options
+  '(("label")
+    ("location" ("local" "remote"))
+    ("type" ("file"))
+    ("datatype" ("bibtex" "ris" "zoterordfxml" "endnotexml")))
+  "Key=value options for addbibresource macro of the biblatex package.")
+
+(defun LaTeX-arg-addbibresource (optional &optional prompt)
+  "Prompt for a BibLaTeX database file.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string."
+  (let (files inputs database)
+    (if LaTeX-using-Biber
+       (setq files 'TeX-Biber-global-files
+             inputs 'biberinputs)
+      (setq files 'BibTeX-global-files
+           inputs 'bibinputs))
+    (setq files 'TeX-Biber-global-files
+         inputs 'biberinputs)
+    (message "Searching for BibLaTeX files...")
+    (or (symbol-value files)
+       (set files (mapcar 'list (TeX-search-files-by-type
+                                 'biberinputs 'global t nil))))
+    (setq database (completing-read
+                   (TeX-argument-prompt optional prompt "BibLaTeX files")
+                   (append (mapcar 'list (TeX-search-files-by-type
+                                          inputs 'local t nil))
+                           (symbol-value files))))
+    (LaTeX-add-bibliographies database)
+    ;; Run style file associated to the bibliography database file in order to
+    ;; immediately fill `LaTeX-bibitem-list'.  We need to strip the extension
+    ;; because AUCTeX style files don't use it.
+    (TeX-run-style-hooks (file-name-sans-extension database))
+    (TeX-argument-insert database optional)))
+
+;; Support for multicite commands, see § 3.7.3 of Biblatex reference manual.
+(defun LaTeX-arg-biblatex-cites (optional &optional prompt)
+  "Prompt for citations with completion until input is empty.
+Prompt also for optional prenotes and postnotes.  If OPTIONAL is
+non-nil, insert the citation key as an optional argument,
+otherwise as a mandatory one.  Use PROMPT as the prompt string
+for citation keys."
+  ;; Prompt for global prenote and postnote.
+  (and TeX-arg-cite-note-p (not current-prefix-arg)
+       (let ((TeX-arg-opening-brace "(")
+            (TeX-arg-closing-brace ")")
+            (prenote (TeX-read-string
+                      (TeX-argument-prompt t nil "Global prenote"))))
+        (TeX-argument-insert prenote t)
+        ;; If the prenote is empty the postnote is optional, otherwise it's
+        ;; mandatory.
+        (TeX-argument-insert
+         (TeX-read-string (TeX-argument-prompt t nil "Global postnote"))
+         (equal prenote ""))))
+  (let ((items t) (noinsert nil))
+    (while items
+      ;; Prompt for prenote and postnote of the current keys.
+      (and TeX-arg-cite-note-p (not current-prefix-arg)
+          (let ((TeX-arg-opening-brace "[")
+                (TeX-arg-closing-brace "]")
+                (prenote (TeX-read-string
+                          (TeX-argument-prompt t nil "Prenote"))))
+            (TeX-argument-insert prenote t)
+            ;; If the prenote is empty the postnote is optional, otherwise it's
+            ;; mandatory.
+            (TeX-argument-insert
+             (TeX-read-string (TeX-argument-prompt t nil "Postnote"))
+             (equal prenote ""))))
+      (setq items (TeX-completing-read-multiple
+                  (TeX-argument-prompt optional prompt "Key")
+                  (LaTeX-bibitem-list)))
+      (apply 'LaTeX-add-bibitems items)
+      ;; If input is empty, insert an empty group only the first time, when
+      ;; `noinsert' flag is nil.
+      (unless (and (not items) noinsert)
+       (TeX-argument-insert (mapconcat 'identity items ",") optional))
+      (setq noinsert t))))
+
 (TeX-add-style-hook
  "biblatex"
  (lambda ()
-   ;; Unfortunately `(member "backend=biber" TeX-active-styles)' does
-   ;; not work as a test because "backend=biber" is added to
-   ;; `TeX-active-styles' after "biblatex".  So we check the value of
-   ;; `LaTeX-biblatex-use-biber' and let the user set it if desired.
-   (when LaTeX-biblatex-use-Biber
-     (setq LaTeX-using-Biber t))))
-
-;; TODO: Add package options.
-(defvar LaTeX-biblatex-package-options nil
+   ;; Biblatex uses as default backend biber, run it unless biblatex `backend'
+   ;; option value is one of `bibtex', `bibtex8', `bibtexu'.  Autodetection of
+   ;; the backend can be overridden by setting `LaTeX-biblatex-use-Biber' as a
+   ;; local variable.
+   (setq LaTeX-using-Biber
+        (if (local-variable-p 'LaTeX-biblatex-use-Biber (current-buffer))
+            LaTeX-biblatex-use-Biber
+          (not (or (LaTeX-provided-package-options-member
+                    "biblatex" "backend=bibtex")
+                   (LaTeX-provided-package-options-member
+                    "biblatex" "backend=bibtex8")
+                   (LaTeX-provided-package-options-member
+                    "biblatex" "backend=bibtexu")))))
+
+   (TeX-run-style-hooks
+    "etoolbox"
+    "keyval"
+    "kvoptions"
+    "logreq"
+    "ifthen"
+    "url")
+   (TeX-add-symbols
+    ;;; Global Customization
+    ;; Setting Package Options
+    '("ExecuteBibliographyOptions"
+      [TeX-arg-eval  mapconcat 'identity
+                    (TeX-completing-read-multiple
+                     "Entry type: " LaTeX-biblatex-entrytype) ","]
+      (TeX-arg-key-val LaTeX-biblatex-executebibliographyoptions-options))
+    ;;; Bibliography Commands
+    ;; Resources
+    '("addbibresource" [TeX-arg-key-val LaTeX-biblatex-addbibresource-options]
+      LaTeX-arg-addbibresource)
+    '("addglobalbib" [TeX-arg-key-val LaTeX-biblatex-addbibresource-options]
+      LaTeX-arg-addbibresource)
+    '("addsectionbib" [TeX-arg-key-val LaTeX-biblatex-addbibresource-options]
+      LaTeX-arg-addbibresource)
+    ;; The Bibliography
+    '("printbibliography"
+      [TeX-arg-key-val (("env") ("heading") ("title") ("prenote") ("postnote")
+                       ("section") ("segment") ("sorting") ("type") ("nottype")
+                       ("subtype") ("notsubtype") ("keyword") ("notkeyword")
+                       ("categoy") ("notcategory") ("filter") ("check")
+                       ("prefixnumbers") ("resetnumbers" ("true" "false"))
+                       ("omitnumbers" ("true" "false")))])
+    '("bibbysection"
+      [TeX-arg-key-val (("env") ("heading") ("prenote") ("postnote"))])
+    '("bibbysegment"
+      [TeX-arg-key-val (("env") ("heading") ("prenote") ("postnote"))])
+    '("bibbycategory"
+      [TeX-arg-key-val (("env") ("prenote") ("postnote") ("section"))])
+    '("printbibheading"
+      [TeX-arg-key-val (("heading") ("title"))])
+    ;; The List of Shorthands
+    '("printshorthands"
+      [TeX-arg-key-val (("env") ("heading") ("title") ("prenote") ("postnote")
+                       ("section") ("segment") ("sorting") ("type") ("nottype")
+                       ("subtype") ("notsubtype") ("keyword") ("notkeyword")
+                       ("categoy") ("notcategory") ("filter") ("check"))])
+    ;; Bibliography Sections
+    '("newrefsection" ["Resources"])
+    "endrefsection"
+    ;; Bibliography Segments
+    "newrefsegment"
+    "endrefsegment"
+    ;; Bibliography Categories
+    '("DeclareBibliographyCategory" "Category")
+    '("addtocategory" "Category" TeX-arg-cite)
+    ;; Bibliography Headings and Environments
+    '("defbibenvironment" "Name" 3)
+    '("defbibheading" "Name" ["Title"] t)
+    ;; Bibliography Notes
+    '("defbibnote" "Name" "Text")
+    ;; Bibliography Filters and Checks
+    '("defbibfilter" "Name" t)
+    '("defbibcheck" "Name" t)
+    ;; Dynamic Entry Sets
+    '("defbibentryset" "Set"
+      (TeX-arg-eval mapconcat 'identity (TeX-completing-read-multiple
+                                        "Keys: " (LaTeX-bibitem-list)) ","))
+    ;;; Citation Commands
+    '("cite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                 (["Prenote"] ["Postnote"]) ()) TeX-arg-cite)
+    '("Cite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                 (["Prenote"] ["Postnote"]) ()) TeX-arg-cite)
+    '("parencite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("Parencite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("footcite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("footcitetext" (TeX-arg-conditional TeX-arg-cite-note-p
+                                         (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    ;; Style-specific Commands
+    '("textcite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("Textcite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("smartcite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("Smartcite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("cite*" (TeX-arg-conditional TeX-arg-cite-note-p
+                                  (["Prenote"] ["Postnote"]) ()) TeX-arg-cite)
+    '("parencite*" (TeX-arg-conditional TeX-arg-cite-note-p
+                                       (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("supercite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    ;; Qualified Citation Lists
+    '("cites" LaTeX-arg-biblatex-cites)
+    '("Cites" LaTeX-arg-biblatex-cites)
+    '("parencites" LaTeX-arg-biblatex-cites)
+    '("Parencites" LaTeX-arg-biblatex-cites)
+    '("footcites" LaTeX-arg-biblatex-cites)
+    '("footcitetexts" LaTeX-arg-biblatex-cites)
+    '("smartcites" LaTeX-arg-biblatex-cites)
+    '("Smartcites" LaTeX-arg-biblatex-cites)
+    '("textcites" LaTeX-arg-biblatex-cites)
+    '("Textcites" LaTeX-arg-biblatex-cites)
+    '("supercites" LaTeX-arg-biblatex-cites)
+    ;; Style-independent Commands
+    '("autocite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("Autocite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("autocite*" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("Autocite*" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("autocites" LaTeX-arg-biblatex-cites)
+    '("Autocites" LaTeX-arg-biblatex-cites)
+    ;; Text Commands
+    '("citeauthor" (TeX-arg-conditional TeX-arg-cite-note-p
+                                       (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("Citeauthor" (TeX-arg-conditional TeX-arg-cite-note-p
+                                       (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("citetitle" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("citetitle*" (TeX-arg-conditional TeX-arg-cite-note-p
+                                       (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("citeyear" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("citeyear*" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("citedate" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("citedate*" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("citeurl" (TeX-arg-conditional TeX-arg-cite-note-p
+                                    (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("parentext" "Text")
+    '("brackettext" "Text")
+    ;; Special Commands
+    '("fullcite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("footfullcite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                         (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("volcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("Volcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("Pvolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("Pvolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("fvolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("ftolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("svolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("Svolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("tvolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("Tvolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("avolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("Avolcite"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite)
+    '("notecite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("Notecite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                     (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("pnotecite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("Pnotecite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    '("fnotecite" (TeX-arg-conditional TeX-arg-cite-note-p
+                                      (["Prenote"] ["Postnote"]) ()) 
TeX-arg-cite)
+    ;; Low-level Commands
+    '("citename"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"] ["Postnote"]) ())
+      TeX-arg-cite (TeX-arg-conditional TeX-arg-cite-note-p (["Format"]) ())
+      "Name list")
+    '("citelist"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"] ["Postnote"]) ())
+      TeX-arg-cite (TeX-arg-conditional TeX-arg-cite-note-p (["Format"]) ())
+      "Literal list")
+    '("citefield"
+      (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"] ["Postnote"]) ())
+      TeX-arg-cite (TeX-arg-conditional TeX-arg-cite-note-p (["Format"]) ())
+      "Field")
+    ;; Miscellaneous Commands
+    "citereset"
+    "citereset*"
+    "mancite"
+    "pno"
+    "ppno"
+    "nopp"
+    "psq"
+    "psqq"
+    '("RN" "Integer")
+    '("Rn" "Integer")
+    ;; Localization Commands
+    '("DefineBibliographyStrings"
+      (TeX-arg-eval completing-read "Language: " LaTeX-biblatex-language-list) 
t)
+    '("DefineBibliographyExtras"
+      (TeX-arg-eval completing-read "Language: " LaTeX-biblatex-language-list) 
t)
+    '("UndefineBibliographyExtras"
+      (TeX-arg-eval completing-read "Language: " LaTeX-biblatex-language-list) 
t)
+    '("DefineHyphenationExceptions"
+      (TeX-arg-eval completing-read "Language: " LaTeX-biblatex-language-list) 
t)
+    "NewBibliographyString")
+   (LaTeX-add-environments
+    ;;; Bibliography commands
+    ;; Bibliography Sections
+    '("refsection" ["Resources"])
+    ;; Bibliography Segments
+    "refsegment")
+
+   ;; Declaring expert macros and environments.  Criterion: all macros and
+   ;; environments to fine tune the bibliography, probably they will be used
+   ;; only by expert users.
+   (TeX-declare-expert-macros
+    "biblatex"
+    "ExecuteBibliographyOptions" "printshorthands" "newrefsection"
+    "endrefsection" "newrefsegment" "endrefsegment"
+    "DeclareBibliographyCategory" "addtocategory" "defbibenvironment"
+    "defbibheading" "defbibnote" "defbibfilter" "defbibcheck" "defbibentryset"
+    "citereset" "citereset*" "mancite" "pno" "ppno" "nopp" "psq" "psqq" "RN"
+    "Rn" "DefineBibliographyStrings" "DefineBibliographyExtras"
+    "UndefineBibliographyExtras" "DefineHyphenationExceptions"
+    "NewBibliographyString")
+   (LaTeX-declare-expert-environments
+    "biblatex"
+    "refsection" "refsegment"))
+ LaTeX-dialect)
+
+(defvar LaTeX-biblatex-package-options-list
+  (append
+   ;;; Preamble Options
+   LaTeX-biblatex-executebibliographyoptions-options
+   '(;;; Load-time Options
+    ("backend" ("biber" "bibtex" "bibtexu" "bibtex8"))
+    ("style" BibLaTeX-global-style-files)
+    ("bibstyle" BibLaTeX-global-style-files)
+    ("citestyle" BibLaTeX-global-style-files)
+    ("natbib" ("true" "false"))
+    ("mcite" ("true" "false"))
+    ;;; Entry Options
+    ;; Preamble/Type/Entry Options
+    ("useauthor" ("true" "false"))
+    ("useeditor" ("true" "false"))
+    ("usetranslator" ("true" "false"))
+    ("useprefix" ("true" "false"))
+    ("indexing" ("true" "false" "cite" "bib"))
+    ;; Type/Entry Options are not available globally.
+    ;; Legacy Options (deprecated)
+    ("openbib")))
   "Package options for the biblatex package.")
 
+(defun LaTeX-biblatex-package-options nil
+  "Prompt for package options for the biblatex package."
+  (unless BibLaTeX-global-style-files
+    (if (if (eq TeX-arg-input-file-search 'ask)
+           (not (y-or-n-p "Find BibLaTeX style yourself? "))
+         TeX-arg-input-file-search)
+       ;; ...then, search for BibLaTeX styles.
+       (progn
+         (message "Searching for BibLaTeX styles...")
+         (setq BibLaTeX-global-style-files
+               (mapcar 'identity (TeX-search-files-by-type 'bbxinputs 'global 
t t))))
+      ;; ...else, use for completion only standard BibLaTeX styles (see §3.3 of
+      ;; Biblatex reference manual).
+      (setq BibLaTeX-global-style-files
+           '("numeric" "numeric-comp" "numeric-verb" "alphabetic"
+             "alphabetic-verb" "authoryear" "authoryear-comp" "authoryear-ibid"
+             "authoryear-icomp" "authortitle" "authortitle-comp"
+             "authortitle-ibid" "authortitle-icomp" "authortitle-terse"
+             "authortitle-tcomp" "authortitle-ticomp" "verbose" "verbose-ibid"
+             "verbose-note" "verbose-inote" "verbose-trad1" "verbose-trad2"
+             "verbose-trad3" "reading" "draft" "debug"))))
+  (TeX-read-key-val t LaTeX-biblatex-package-options-list))
+
 ;;; biblatex.el ends here
diff --git a/style/xspace.el b/style/bigdelim.el
similarity index 53%
copy from style/xspace.el
copy to style/bigdelim.el
index 15f9216..085185b 100644
--- a/style/xspace.el
+++ b/style/bigdelim.el
@@ -1,9 +1,10 @@
-;;; xspace.el --- AUCTeX style for `xspace.sty'
+;;; bigdelim.el --- AUCTeX style for `bigdelim.sty'
 
 ;; Copyright (C) 2011 Free Software Foundation, Inc.
 
 ;; Author: Mads Jensen <address@hidden>
-;; Created: 2011-02-01
+;; Maintainer: address@hidden
+;; Created: 2011-01-24
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -25,27 +26,28 @@
 
 ;;; Commentary:
 
-;; This file adds support for `xspace.sty'.
+;; This file adds support for `bigdelim.sty'.
 
 ;;; Code:
 
 (TeX-add-style-hook
- "xspace"
+ "bigdelim"
  (lambda ()
    (TeX-add-symbols
-    '("xspace" 0)
-    "xspaceaddexception"
-    "xspaceremoveexception")
-
-   ;; Fontification
-   (when (and (featurep 'font-latex)
-             (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("xspace" "")
-                               ("xspaceaddexception" "{")
-                               ("xspaceremoveexception" "{"))
-                             'function))))
-
-(defvar LaTeX-xspace-package-options nil
-  "Package options for the xspace package.")
-
-;;; xspace.el ends here
+    '("ldelim" TeX-arg-bigdelim-brace "Number of rows for multirow"
+      "Width in multirow" [ "Text in multirow" ])
+    '("rdelim" TeX-arg-bigdelim-brace "Number of rows for multirow"
+      "Width in multirow" [ "Text in multirow" ])))
+ LaTeX-dialect)
+
+(defun TeX-arg-bigdelim-brace (optional &optional prompt)
+  "Prompt for a single brace, and do not insert the matching
+  right parentheses."
+  (let ((brace (read-from-minibuffer
+   (TeX-argument-prompt optional prompt "Brace") nil)))
+    (insert (format "%s" brace))))
+
+(defvar LaTeX-bigdelim-package-options nil
+  "Package options for the bigdelim package.")
+
+;;; bigdelim.el ends here
diff --git a/style/biblatex.el b/style/bigstrut.el
similarity index 57%
copy from style/biblatex.el
copy to style/bigstrut.el
index 3a66cff..14269db 100644
--- a/style/biblatex.el
+++ b/style/bigstrut.el
@@ -1,10 +1,9 @@
-;;; biblatex.el --- AUCTeX style for `biblatex.sty'
+;;; bigstrut.el --- AUCTeX style for `bigstrut.sty'
 
 ;; Copyright (C) 2012 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
+;; Author: Mads Jensen <address@hidden>
 ;; Maintainer: address@hidden
-;; Created: 2012-11-14
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,22 +25,26 @@
 
 ;;; Commentary:
 
-;; This file adds support for `biblatex.sty'.
+;; This file adds support for `bigstrut.sty'.
 
 ;;; Code:
 
 (TeX-add-style-hook
- "biblatex"
+ "bigstrut"
  (lambda ()
-   ;; Unfortunately `(member "backend=biber" TeX-active-styles)' does
-   ;; not work as a test because "backend=biber" is added to
-   ;; `TeX-active-styles' after "biblatex".  So we check the value of
-   ;; `LaTeX-biblatex-use-biber' and let the user set it if desired.
-   (when LaTeX-biblatex-use-Biber
-     (setq LaTeX-using-Biber t))))
-
-;; TODO: Add package options.
-(defvar LaTeX-biblatex-package-options nil
-  "Package options for the biblatex package.")
-
-;;; biblatex.el ends here
+   (TeX-add-symbols
+    "bigstrutsetup"
+    '("bigstrut" [ TeX-arg-bigstrut ])))
+ LaTeX-dialect)
+
+(defun TeX-arg-bigstrut (optional &optional prompt)
+  "Prompt for the optional argument in \\bigstrut"
+  (TeX-argument-insert
+   (completing-read (TeX-argument-prompt
+     optional "Strut to top (t) or bottom (b)" nil t)
+     (mapcar 'list '("t" "b")) nil t) optional))
+
+(defvar LaTeX-bigstrut-package-options nil
+  "Package options for the bigstrut package.")
+
+;;; bigstrut.el ends here
diff --git a/style/nicefrac.el b/style/bm.el
similarity index 52%
copy from style/nicefrac.el
copy to style/bm.el
index 77aee51..d735e62 100644
--- a/style/nicefrac.el
+++ b/style/bm.el
@@ -1,9 +1,9 @@
-;;; nicefrac.el --- AUCTeX style for the LaTeX package `nicefrac.sty' (v0.9b)
+;;; bm.el --- AUCTeX style for `bm.sty'.
 
-;; Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2012 Free Software Foundation, Inc.
 
-;; Author: Christian Schlauer <address@hidden>
 ;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -25,21 +25,31 @@
 
 ;;; Commentary:
 
-;; This file adds support for `nicefrac.sty'.
+;; This file adds support for `bm.sty'.
 
 ;;; Code:
 
-(TeX-add-style-hook
- "nicefrac"
+(TeX-add-style-hook "bm"
  (lambda ()
    (TeX-add-symbols
-    '("nicefrac" [ "Font changing command" ] "Numerator" "Denominator"))
+    '("bm" 1)
+    '("hm" 1)
+    '("DeclareBoldMathCommand" [ "Math version" ] TeX-arg-define-macro "Math 
expression")
+    '("bmdefine" TeX-arg-define-macro "Math expression")
+    '("hmdefine" TeX-arg-define-macro "Math expression"))
    ;; Fontification
    (when (and (featurep 'font-latex)
-             (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("nicefrac" "[{{")) 'textual))))
-
-(defvar LaTeX-nicefrac-package-options '("nice" "ugly")
-  "Package options for the nicefrac package.")
-
-;;; nicefrac.el ends here
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("bm" "{")
+                               ("hm" "{"))
+                             'bold-command)
+     (font-latex-add-keywords '(("DeclareBoldMathCommand" "[|{\\{")
+                               ("bmdefine" "|{\\{")
+                               ("hmdefine" "|{\\{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defvar LaTeX-bm-package-options nil
+  "Package options for the bm package.")
+
+;; bm.el ends here
diff --git a/style/book.el b/style/book.el
index 829fa4e..cbc9813 100644
--- a/style/book.el
+++ b/style/book.el
@@ -1,12 +1,21 @@
 ;;; book.el - Special code for book style.
 
-;; $Id: book.el,v 1.5 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
+(defvar LaTeX-book-class-options
+  '("a4paper" "a5paper" "b5paper" "letterpaper" "legalpaper" "executivepaper"
+    "landscape" "10pt" "11pt" "12pt" "oneside" "twoside" "draft" "final"
+    "titlepage" "notitlepage" "openright" "openany" "onecolumn" "twocolumn"
+    "leqno" "fleqn" "openbib")
+  "Package options for the book class.")
+
 (TeX-add-style-hook
  "book"
  (lambda () 
-   (LaTeX-largest-level-set "chapter")))
+   (LaTeX-largest-level-set "chapter")
+   (LaTeX-add-counters "part" "chapter" "section" "subsection" "subsubsection"
+                      "paragraph" "subparagraph" "figure" "table")
+   (LaTeX-add-pagestyles "headings" "myheadings"))
+ LaTeX-dialect)
 
 ;;; book.el ends here
diff --git a/style/booktabs.el b/style/booktabs.el
index e126872..20145af 100644
--- a/style/booktabs.el
+++ b/style/booktabs.el
@@ -1,6 +1,6 @@
 ;;; booktabs.el -- AUCTeX style for booktabs.sty
 
-;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2013 Free Software Foundation, Inc.
 
 ;; Author:   Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
@@ -34,23 +34,27 @@
   "Prompt for a value and use parentheses when it is inserted.
 If OPTIONAL is non-nil the parameter is labeled as optional.
 PROMPT is the value of the prompt to be shown."
-  (let ((< "\(")
-       (> "\)"))
+  (let ((TeX-arg-opening-brace "\(")
+       (TeX-arg-closing-brace "\)"))
     (TeX-parse-argument optional prompt)))
 
 (TeX-add-style-hook
  "booktabs"
  (lambda ()
-
+   ;; Do not append an empty group to toprule, midrule, and bottomrule macros,
+   ;; otherwise one gets a wrong spacing in the table.
+   (setq TeX-insert-braces-alist (append TeX-insert-braces-alist
+                                        '(("toprule" . nil)
+                                          ("midrule" . nil)
+                                          ("bottomrule" . nil))))
    ;; New symbols
    (TeX-add-symbols
     '("toprule" [ "Thickness" ])
     '("midrule" [ "Thickness" ])
     '("bottomrule" [ "Thickness" ])
-    ;; FIXME: The qestion for the trim parameter will only be asked if
-    ;; a value for the thickness parameter was given.  Is this a
-    ;; feature of `TeX-parse-arguments'?
-    '("cmidrule" [ "Thickness" ] [ LaTeX-booktabs-arg-paren "Trim" ]
+    ;; The `ignore' resets `last-optional-rejected' to nil so that the trim
+    ;; argument is prompted also when the thickness is skipped.
+    '("cmidrule" [ "Thickness" ] (ignore) [ LaTeX-booktabs-arg-paren "Trim" ]
       "Column(s)")
     '("addlinespace" [ "Height" ])
     '("morecmidrules")
@@ -66,9 +70,10 @@ PROMPT is the value of the prompt to be shown."
                                ("addlinespace" "[")
                                ("morecmidrules" "")
                                ("specialrule" "{{{"))
-                             'function))))
+                             'function)))
+ LaTeX-dialect)
 
 (defvar LaTeX-booktabs-package-options nil
-  "Package options for the booktabs package.")                 
+  "Package options for the booktabs package.")
 
 ;;; booktabs.el ends here
diff --git a/style/bulgarian.el b/style/bulgarian.el
index 77cb2b2..1f4103c 100644
--- a/style/bulgarian.el
+++ b/style/bulgarian.el
@@ -49,6 +49,7 @@
    (when (fboundp 'font-latex-add-quotes)
      (font-latex-add-quotes '("\"`" "\"'"))
      (font-latex-add-quotes '("\"<" "\">" french)))
-   (run-hooks 'TeX-language-bg-hook)))
+   (run-hooks 'TeX-language-bg-hook))
+ LaTeX-dialect)
 
 ;;; bulgarian.el ends here
diff --git a/style/captcont.el b/style/captcont.el
index ffa48bf..b2f4b5f 100644
--- a/style/captcont.el
+++ b/style/captcont.el
@@ -37,7 +37,8 @@
     '("captcont*" [ "list entry" ] "Caption"))
    ;; Fontification
    (when (featurep 'font-latex)
-     (font-latex-add-keywords '(("captcont" "*[{")) 'textual))))
+     (font-latex-add-keywords '(("captcont" "*[{")) 'textual)))
+ LaTeX-dialect)
 
 (defvar LaTeX-captcont-package-options '("figbotcap" "figtopcap" "tabbotcap"
                                         "tabtopcap")
diff --git a/style/cleveref.el b/style/cleveref.el
new file mode 100644
index 0000000..755239d
--- /dev/null
+++ b/style/cleveref.el
@@ -0,0 +1,103 @@
+;;; cleveref.el --- Style hook for the `cleveref.sty' package.
+
+;; Copyright (C) 2014 Free Software Foundation, Inc.
+
+;; Author: Matthew Leach <address@hidden>
+;; Maintainer: address@hidden
+;; Created: 13/10/2014
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Code
+
+(defun TeX-arg-cleveref-multiple-labels (optional &optional prompt definition)
+  "Prompt for a series of labels completing with known labels.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string.  If DEFINITION is non-nil, add each chosen label to the
+list of defined labels."
+  (let* ((labels (TeX-completing-read-multiple
+                  (TeX-argument-prompt optional prompt "Keys")
+                  (LaTeX-label-list)))
+         (labels-string (mapconcat 'identity labels ",")))
+    (when definition
+      (apply 'LaTeX-add-labels labels))
+    (TeX-argument-insert labels-string optional optional)))
+
+(TeX-add-style-hook
+ "cleveref"
+ (lambda ()
+   (TeX-add-symbols
+    '("cref" TeX-arg-cleveref-multiple-labels)
+    '("Cref" TeX-arg-cleveref-multiple-labels)
+    '("crefrange" (TeX-arg-label "Key (first)") (TeX-arg-label "Key (last)"))
+    '("Crefrange" (TeX-arg-label "key (first)") (TeX-arg-label "Key (last)"))
+    '("cpageref" TeX-arg-cleveref-multiple-labels)
+    '("Cpageref" TeX-arg-cleveref-multiple-labels)
+    '("cpagerefrange" (TeX-arg-label "Key (first)") (TeX-arg-label "Key 
(last)"))
+    '("Cpagerefrange" (TeX-arg-label "Key (first)") (TeX-arg-label "Key 
(last)"))
+    '("cref*" TeX-arg-cleveref-multiple-labels)
+    '("Cref*" TeX-arg-cleveref-multiple-labels)
+    '("crefrange*" (TeX-arg-label "Key (first)") (TeX-arg-label "Key (last)"))
+    '("Crefrange*" (TeX-arg-label "Key (first)") (TeX-arg-label "Key (last)"))
+    '("namecref" TeX-arg-label)
+    '("nameCref" TeX-arg-label)
+    '("lnamecref" TeX-arg-label)
+    '("namecrefs" TeX-arg-label)
+    '("nameCrefs" TeX-arg-label)
+    '("lnamecrefs" TeX-arg-label)
+    '("labelcref" TeX-arg-cleveref-multiple-labels)
+    '("labelcpageref" TeX-arg-cleveref-multiple-labels))
+
+   ;; These macros aren't used particularly often during the course of
+   ;; normal referencing.
+   (TeX-declare-expert-macros
+    "cleveref"
+    "namecref" "nameCref" "lnamecref" "namecrefs" "nameCrefs"
+    "lnamecrefs" "labelcref" "labelcpageref")
+
+   ;; Fontification
+   (when (and (fboundp 'font-latex-add-keywords)
+             (fboundp 'font-latex-set-syntactic-keywords)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("cref" "*{")
+                               ("Cref" "*{")
+                               ("crefrange" "*{{")
+                               ("Crefrange" "*{{")
+                                ("cpageref" "{")
+                                ("Cpageref" "{")
+                                ("cpagerefrange" "{{")
+                                ("Cpagerefrange" "{{")
+                                ("namecref" "{")
+                                ("nameCref" "{")
+                                ("lnamecref" "{")
+                                ("namecrefs" "{")
+                                ("nameCrefs" "{")
+                                ("lnamecrefs" "{")
+                                ("labelcref" "{")
+                                ("labelcpageref" "{"))
+                             'reference)
+     ;; For syntactic fontification, e.g. verbatim constructs.
+     (font-latex-set-syntactic-keywords)))
+ LaTeX-dialect)
+
+(defvar LaTeX-cleveref-package-options
+  '("capitalise" "nameinlink" "noabbrev" "poorman")
+    "Package options for the cleveref package.")
+
+;;; cleveref.el ends here.
diff --git a/style/comment.el b/style/comment.el
index c842d20..ac33ebd 100644
--- a/style/comment.el
+++ b/style/comment.el
@@ -64,6 +64,7 @@
                              'variable)
      ;; Tell font-lock about the update.
      (setq font-lock-set-defaults nil)
-     (font-lock-set-defaults))))
+     (font-lock-set-defaults)))
+ LaTeX-dialect)
 
 ;;; comment.el ends here
diff --git a/style/csquotes.el b/style/csquotes.el
index 50aa1f9..fd112f8 100644
--- a/style/csquotes.el
+++ b/style/csquotes.el
@@ -240,6 +240,7 @@ the insertion of optional arguments."
                                ("SetBlockThreshold" "{")
                                ("SetBlockEnvironment" "{")
                                ("SetCiteCommand" "{"))
-                             'variable)))))
+                             'variable))))
+ LaTeX-dialect)
 
 ;;; csquotes.el ends here
diff --git a/style/czech.el b/style/czech.el
index 6168189..7d709ed 100644
--- a/style/czech.el
+++ b/style/czech.el
@@ -5,4 +5,5 @@
  (lambda ()
    (unless (eq (car TeX-quote-language) 'override)
      (setq TeX-quote-language `("czech" "\\uv{" "}" ,TeX-quote-after-quote)))
-   (run-hooks 'TeX-language-cz-hook)))
+   (run-hooks 'TeX-language-cz-hook))
+ LaTeX-dialect)
diff --git a/style/danish.el b/style/danish.el
index 775fee0..fa9ab6f 100644
--- a/style/danish.el
+++ b/style/danish.el
@@ -12,6 +12,7 @@
    (when (fboundp 'font-latex-add-quotes)
      (font-latex-add-quotes '("\"`" "\"'"))
      (font-latex-add-quotes '("\">" "\"<" german)))
-   (run-hooks 'TeX-language-dk-hook)))
+   (run-hooks 'TeX-language-dk-hook))
+ LaTeX-dialect)
 
 ;;; danish.el ends here
diff --git a/style/dinbrief.el b/style/dinbrief.el
index 1182b7b..cb9fb6b 100644
--- a/style/dinbrief.el
+++ b/style/dinbrief.el
@@ -1,95 +1,144 @@
-;;; dinbrief.el - Special code for LaTeX-Style dinbrief.
+;; Copyright (C) 1994, 2013  Free Software Foundation, Inc.
 
-;; Copyright (C) 2013 Free Software Foundation, Inc.
+;; Author: Werner Fink <address@hidden>
+;; Maintainer: address@hidden
+;; Keywords: tex
 
-;; Contributed by Werner Fink <address@hidden>
-;; Please direct comments to him.
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; dinbrief.el - Special code for LaTeX class dinbrief.
 
 ;;; Commentary:
 
-;; LaTeX-Style: dinbrief.sty
-;;      Server: rusinfo.rus.uni-stuttgart.de
-;;   Directory: /pub/soft/tex/macros/latex/contrib/letters
+;; LaTeX Class: dinbrief.cls
 
 ;;; Code:
 
+(require 'tex)
+
 (TeX-add-style-hook "dinbrief"
  (function
   (lambda ()
+    (add-hook 'LaTeX-document-style-hook
+     'LaTeX-dinbrief-style)
     (LaTeX-add-environments
-     '("letter" LaTeX-recipient-hook))
+     '("letter" LaTeX-dinbrief-env-recipient)
+     "dinquote")
     (TeX-add-symbols
-     '("Absender" "Absender: ")
-     '("Postvermerk" "Postvermerk: ")
-     '("Datum" "Datum: ")
-     '("Betreff" "Betreff: ")
-     '("Behandlungsvermerk" "Behandlungsvermerk: ")
-     '("Verteiler" "Verteiler: ")
-     "makelabel" "Retourlabel"
-     '("Anlagen" "Anlagen: ")
-     '("Fenster" "Fenster \(ja/nein\): ")
-     '("Retouradresse" "Retouradresse: ")
+     '("address" "Absender: ")
+     '("postremark" "Postvermerk: ")
+     '("date" "Datum: ")
+     '("subject" "Betreff: ")
+     '("handling" "Behandlungsvermerk: ")
+     '("cc" "Verteiler: ")
+     '("place" "Heutiger Ort: ")
+     "makelabels"
+     "nowindowrules"
+     "windowrules"
+     "nowindowtics"
+     "windowtics"
+     "disabledraftstandard"
+     "enabledraftstandard"
+     "centeraddress"
+     "normaladdress"
+     '("encl" "Anlagen: ")
+     '("backaddress" "Retouradresse: ")
      '("signature" "Unterschrift: ")
      '("opening" "Anrede: ")
-     '("closing" "Schlu\"s: ")))))
+     '("closing" "Schluss: "))))
+ LaTeX-dialect)
+
+(defmacro LaTeX-dinbrief-insert (&rest args)
+  "Insert text ignoring active markers."
+  `(progn (if (TeX-mark-active) (TeX-deactivate-mark))
+     (insert ,@args)))
 
-(defun LaTeX-recipient-hook (environment)
+(defun LaTeX-dinbrief-style ()
+  "Insert some useful packages for writing german letters."
+  (save-excursion
+    (goto-char (point-min)) ; insert before \begin{document}
+    (if (re-search-forward ".begin.document." (point-max) t)
+        (beginning-of-line 1))
+    (open-line 2)
+    (indent-relative-maybe)
+      (LaTeX-dinbrief-insert TeX-esc "usepackage"
+             LaTeX-optop "latin1,utf8" LaTeX-optcl
+             TeX-grop "inputenc" TeX-grcl)
+      (newline-and-indent)
+      (LaTeX-dinbrief-insert TeX-esc "usepackage"
+             LaTeX-optop "T1" LaTeX-optcl
+             TeX-grop "fontenc" TeX-grcl)
+      (newline-and-indent)
+      (LaTeX-dinbrief-insert TeX-esc "usepackage"
+             TeX-grop "ngerman" TeX-grcl)
+      (TeX-run-style-hooks "inputenc")
+      (TeX-run-style-hooks "fontenc")
+      (TeX-run-style-hooks "ngerman")))
+
+(defun LaTeX-dinbrief-env-recipient (environment)
   "Insert ENVIRONMENT and prompt for recipient and address."
-  (let ((sender (read-string "Absender: " (user-full-name)))
-       (recipient (read-string "Empf\"anger: "))
-       (address (read-string "Anschrift: "))
-       (postvermerk (read-string "Postvermerk: "))
-       (date (read-string "Datum: " (LaTeX-today)))
-       (betreff (read-string "Betreff: "))
+  (let (
+       (sender (LaTeX-dinbrief-sender))
+       (recipient (read-string "Empfänger: "))
+       (address (LaTeX-dinbrief-recipient))
+       (date (read-string "Datum: " (LaTeX-dinbrief-today)))
+       (postremark (read-string "Postvermerk: "))
+       (fenster (read-string "Fenster \(ja/nein\): "))
        (vermerk (read-string "Behandlungsvermerk: "))
        (verteil (read-string "Verteiler: "))
-       (anlage (read-string "Anlagen: "))
+       (betreff (read-string "Betreff: "))
        (opening (read-string "Anrede: "))
-       (closing (read-string "Schlu\"s: "))
-       (fenster (read-string "Fenster \(ja/nein\): "))
+       (closing (read-string "Schluss: "))
        (signature (read-string "Unterschrift: "))
-       )
+       (anlage (read-string "Anlagen: ")))
 
-    (if (not (zerop (length sender)))
-       (progn
-         (insert TeX-esc "Absender" TeX-grop sender TeX-grcl)
-         (newline-and-indent)))
-    (if (not (zerop (length postvermerk)))
-       (progn
-         (insert TeX-esc "Postvermerk" TeX-grop postvermerk TeX-grcl)
-         (newline-and-indent)))
-    (if (not (zerop (length betreff)))
-       (progn
-         (insert TeX-esc "Betreff" TeX-grop betreff TeX-grcl)
-         (newline-and-indent)))
-    (if (not (zerop (length vermerk)))
-       (progn
-         (insert TeX-esc "Behandlungsvermerk" TeX-grop vermerk TeX-grcl)
-         (newline-and-indent)))
-    (if (not (zerop (length verteil)))
-       (progn
-         (insert TeX-esc "Verteiler" TeX-grop verteil TeX-grcl)
-         (newline-and-indent)))
-    (if (not (zerop (length anlage)))
-       (progn
-         (insert TeX-esc "Anlagen" TeX-grop anlage TeX-grcl)
-         (newline-and-indent)))
     (if (string= fenster "ja")
        (progn
-         (insert TeX-esc "Fenster")
-         (let ((retouradr (read-string "Retouradresse: " (user-full-name))))
+         (LaTeX-dinbrief-insert TeX-esc "enabledraftstandard")
+         (newline-and-indent)
+         (LaTeX-dinbrief-insert TeX-esc "centeraddress")
+         (newline-and-indent)
+         (LaTeX-dinbrief-insert TeX-esc "nowindowrules")
+         (newline-and-indent)
+         (LaTeX-dinbrief-insert TeX-esc "windowtics")
+         (newline-and-indent)
+         (let ((retouradr (read-string "Retouradresse: " sender)))
            (newline-and-indent)
          (if (not (zerop (length retouradr)))
              (progn
-               (insert TeX-esc "Retouradresse" TeX-grop retouradr TeX-grcl)
-               (newline-and-indent))))))
+               (if (TeX-mark-active) (TeX-deactivate-mark))
+               (LaTeX-dinbrief-insert TeX-esc "backaddress" TeX-grop retouradr 
TeX-grcl)
+               (newline-and-indent)))))
+      (LaTeX-dinbrief-insert TeX-esc "enabledraftstandard")
+      (newline-and-indent)
+      (LaTeX-dinbrief-insert TeX-esc "centeraddress")
+      (newline-and-indent)
+      (LaTeX-dinbrief-insert TeX-esc "nowindowrules")
+      (newline-and-indent)
+      (LaTeX-dinbrief-insert TeX-esc "windowtics"))
+      (newline-and-indent)
     (if (not (zerop (length signature)))
        (progn
-         (insert TeX-esc "signature" TeX-grop signature TeX-grcl)
+         (LaTeX-dinbrief-insert TeX-esc "signature" TeX-grop signature 
TeX-grcl)
          (newline-and-indent)))
     (if (not (zerop (length date)))
        (progn
-         (insert TeX-esc "Datum" TeX-grop date TeX-grcl)
+         (LaTeX-dinbrief-insert TeX-esc "date" TeX-grop date TeX-grcl)
          (newline-and-indent)))
     (newline-and-indent)
 
@@ -114,9 +163,30 @@
                      (progn
                        (newline)
                        (indent-to addr-column))))))))
-      (insert "\n")
+      (LaTeX-dinbrief-insert "\n")
       (indent-to indentation))
-    (insert TeX-esc "opening"
+    (if (not (zerop (length postremark)))
+       (progn
+         (LaTeX-dinbrief-insert TeX-esc "postremark" TeX-grop postremark 
TeX-grcl)
+         (newline-and-indent)))
+    (if (not (zerop (length betreff)))
+       (progn
+         (LaTeX-dinbrief-insert TeX-esc "subject" TeX-grop)
+         (LaTeX-dinbrief-insert betreff TeX-grcl)
+         (newline-and-indent)))
+    (if (not (zerop (length vermerk)))
+       (progn
+         (LaTeX-dinbrief-insert TeX-esc "handling" TeX-grop vermerk TeX-grcl)
+         (newline-and-indent)))
+    (if (not (zerop (length verteil)))
+       (progn
+         (LaTeX-dinbrief-insert TeX-esc "cc" TeX-grop verteil TeX-grcl)
+         (newline-and-indent)))
+    (if (not (zerop (length anlage)))
+       (progn
+         (LaTeX-dinbrief-insert TeX-esc "encl" TeX-grop anlage TeX-grcl)
+         (newline-and-indent)))
+    (LaTeX-dinbrief-insert TeX-esc "opening"
            TeX-grop
            (if (zerop (length opening))
                (concat TeX-esc " ")
@@ -125,7 +195,7 @@
 
     (indent-relative-maybe)
     (save-excursion
-      (insert "\n" TeX-esc "closing"
+      (LaTeX-dinbrief-insert "\n" TeX-esc "closing"
              TeX-grop
              (if (zerop (length closing))
                  (concat TeX-esc " ")
@@ -133,7 +203,46 @@
              TeX-grcl "\n")
       (indent-relative-maybe))))
 
-(defun LaTeX-today nil
+(defun LaTeX-dinbrief-sender ()
+  "Read and write the senders address."
+  (interactive)
+  (let ((name (read-string "Absender: " (user-full-name)))
+       (str  (read-string "Meine Strasse:  "))
+       (ort  (read-string "Mein Wohnort:  ")))
+    (if (not (zerop (length name)))
+       (progn
+         (goto-char (point-min)) ; insert before \end{document}
+         (if (re-search-forward ".end.document." (point-max) t)
+            (beginning-of-line 1))
+         (previous-line 1)
+         (LaTeX-dinbrief-insert TeX-esc "address" TeX-grop name)
+         (if (not (zerop (length str)))
+             (progn
+               (LaTeX-dinbrief-insert " " TeX-esc TeX-esc)
+               (newline-and-indent)
+               (LaTeX-dinbrief-insert str)))
+         (if (not (zerop (length ort)))
+             (progn
+               (LaTeX-dinbrief-insert " " TeX-esc "par")
+               (newline-and-indent)
+               (LaTeX-dinbrief-insert ort)))
+         (LaTeX-dinbrief-insert TeX-grcl)
+         (newline-and-indent)
+         (concat name ", " str ", " ort)))))
+
+(defun LaTeX-dinbrief-recipient ()
+  "Read and return the recipient address."
+  (interactive)
+  (let ((str  (read-string "Wohnhaft in Strasse:  "))
+       (ort  (read-string "Aus der Ortschaft:  ")))
+    (if (not (zerop (length str)))
+       (if (not (zerop (length ort)))
+           (concat str " " TeX-esc TeX-esc " " ort)
+         str)
+      (if (not (zerop (length ort)))
+         ort))))
+
+(defun LaTeX-dinbrief-today ()
   "Return a string representing todays date according to flavor."
   (interactive)
    (let ((ctime-string (current-time-string))
@@ -154,12 +263,13 @@
      ctime-string)
     (let ((year (substring ctime-string (match-beginning 3) (match-end 3)))
          (month (substring ctime-string (match-beginning 1) (match-end 1)))
-         (day (substring ctime-string (match-beginning 2) (match-end 2))))
+         (day (substring ctime-string (match-beginning 2) (match-end 2)))
+         (place (read-string "Heutiger Ort: ")))
       (if (assoc month month-alist)
          (progn
            (setq month (cdr (assoc month month-alist)))
            (if (> 2 (length day))
                (setq day (concat "0" day)))))
-      (format "Stuttgart, den %s. %s %s" day month year))))
+      (format "%s, den %s. %s %s" place day month year))))
 
 ;;; dinbrief.el ends here
diff --git a/style/dk.el b/style/dk.el
index 1a211ab..01a7411 100644
--- a/style/dk.el
+++ b/style/dk.el
@@ -1,11 +1,10 @@
-;;; dk.el - Setup AUC TeX for editing Danish text.
-
-;; $Id: dk.el,v 1.2 1993-12-15 21:42:40 amanda Exp $
+;;; dk.el - Setup AUCTeX for editing Danish text.
 
 ;;; Code:
 
 (TeX-add-style-hook "dk"
  (function (lambda ()
-   (run-hooks 'TeX-language-dk-hook))))
+            (run-hooks 'TeX-language-dk-hook)))
+ LaTeX-dialect)
 
 ;;; dk.el ends here
diff --git a/style/doc.el b/style/doc.el
index b342d87..3176368 100644
--- a/style/doc.el
+++ b/style/doc.el
@@ -119,7 +119,7 @@
     "efill"
     "pfill"
     "PrintIndex"
-    '("changes" "version" "date (YYYY/MM/DD)")
+    '("changes" "version" TeX-arg-date t)
     "generalname"
     "RecordChanges"
     "GlossaryPrologue"
@@ -151,7 +151,8 @@
     "GetFileInfo"
     "filename"
     "fileinfo")
-   (TeX-run-style-hooks "shortvrb")))
+   (TeX-run-style-hooks "shortvrb"))
+ LaTeX-dialect)
 
 ;; Local Variables:
 ;; coding: iso-8859-1
diff --git a/style/dutch.el b/style/dutch.el
index 5c9a830..c2c56a5 100644
--- a/style/dutch.el
+++ b/style/dutch.el
@@ -1,11 +1,10 @@
-;;; dutch.el - Setup AUC TeX for editing Dutch text.
-
-;; $Id: dutch.el,v 1.2 1993-12-15 21:42:42 amanda Exp $
+;;; dutch.el - Setup AUCTeX for editing Dutch text.
 
 ;;; Code:
 
 (TeX-add-style-hook "dutch"
  (function (lambda ()
-   (run-hooks 'TeX-language-nl-hook))))
+            (run-hooks 'TeX-language-nl-hook)))
+ LaTeX-dialect)
 
 ;;; dutch.el ends here
diff --git a/style/emp.el b/style/emp.el
index 4e5f867..16400ee 100644
--- a/style/emp.el
+++ b/style/emp.el
@@ -38,7 +38,8 @@
      '("empdef" LaTeX-env-emp-gen)
      '("empgraph" LaTeX-env-emp-gen)
      '("empcmds")
-     ))))
+     )))
+ LaTeX-dialect)
 
 (defun LaTeX-env-emp-gen (environment-name)
    "Ask for file, width and length. Insert environment-name environment
diff --git a/style/english.el b/style/english.el
new file mode 100644
index 0000000..90254c2
--- /dev/null
+++ b/style/english.el
@@ -0,0 +1,11 @@
+;;; english.el --- Setup AUCTeX for editing English text.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "english"
+ (lambda ()
+   (run-hooks 'TeX-language-en-hook))
+ LaTeX-dialect)
+
+;;; english.el ends here
diff --git a/style/epigraph.el b/style/epigraph.el
new file mode 100644
index 0000000..c25b148
--- /dev/null
+++ b/style/epigraph.el
@@ -0,0 +1,74 @@
+;;; epigraph.el --- AUCTeX style for `epigraph.sty'
+
+;; Copyright (C) 2012 Free Software Foundation, Inc.
+
+;; Author: Mads Jensen <address@hidden>
+;; Maintainer: address@hidden
+;; Created: 2012-02-11
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `epigraph.sty'.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "epigraph"
+ (lambda ()
+   (TeX-add-symbols
+    '("epigraph" t t)
+    '("qitem" t t)
+    '("epigraphhead" [ "Distance (a number)" ] t)
+    '("dropchapter" TeX-arg-size)
+    "epigraphwidth"
+    "textflush"
+    "epigraphflush"
+    "sourceflush"
+    "epigraphsize"
+    "epigraphrule"
+    "beforeepigraphskip"
+    "afterepigraphskip"
+    "undodrop"
+    "cleartoevenpage")
+
+   (LaTeX-add-environments
+    '("epigraphs" LaTeX-env-item))
+
+   (add-to-list 'LaTeX-item-list '("epigraphs" . LaTeX-epigraph-qitem))
+
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("epigraph" "{{")
+                               ("qitem" "{{")
+                               ("dropchapter" "{")
+                               ("epigraphhead" "{")) 'function)
+     (font-latex-add-keywords '("cleartoevenpage") 'warning)))
+ LaTeX-dialect)
+
+(defvar LaTeX-epigraph-package-options nil
+  "Package options for the epigraph package.")
+
+;; adapted from latex.el:`LaTeX-item-bib'
+(defun LaTeX-epigraph-qitem ()
+  "Insert a new qitem for use in the epigraphs environment."
+  (TeX-insert-macro "qitem"))
+
+;;; epigraph.el ends here
diff --git a/style/epsf.el b/style/epsf.el
index 4725648..797f801 100644
--- a/style/epsf.el
+++ b/style/epsf.el
@@ -1,7 +1,5 @@
 ;;; epsf.el - Support for the epsf style option.
 
-;; Copyright (C) 2013 Free Software Foundation, Inc.
-
 ;; Contributed by Marc Gemis <address@hidden>
 
 ;;; Code: 
@@ -16,7 +14,8 @@
     "epsflly" "epsfury" "testit" "epsfgetlitbb"
     "epsfnormal" "epsfgetbb" "other" "epsfsetgraph"
     "PsFragSpecialArgs" "epsfaux" "testit" "epsfgrab"
-    "epsfllx" "epsflly" "epsfury" "epsfverbosetrue")))
+    "epsfllx" "epsflly" "epsfury" "epsfverbosetrue"))
+ LaTeX-dialect)
 
 (defun TeX-arg-epsfsize (optional &optional prompt definition)
   "Create a line that print epsf figures at a certain percentage"
diff --git a/style/ruby.el b/style/everysel.el
similarity index 60%
copy from style/ruby.el
copy to style/everysel.el
index 0a96e57..da6101d 100644
--- a/style/ruby.el
+++ b/style/everysel.el
@@ -1,10 +1,9 @@
-;;; ruby.el --- AUCTeX style for the ruby package.
+;;; everysel.el --- AUCTeX style for `everysel.sty'
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2012 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
-;; Maintainer: address@hidden
-;; Created: 2009-01-04
+;; Author: Mads Jensen <address@hidden>
+;; Created: 2012-12-25
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,24 +25,21 @@
 
 ;;; Commentary:
 
-;; This file adds support for the ruby package.
+;; This file adds support for `everysel.sty'.
 
 ;;; Code:
 
-(defvar LaTeX-ruby-package-options
-  '("overlap" "nooverlap" "CJK" "latin")
-  "Package options for the ruby package.")
-
 (TeX-add-style-hook
- "ruby"
+ "everysel"
  (lambda ()
    (TeX-add-symbols
-    '("rubyoverlap" 0)
-    '("rubynooverlap" 0)
-    '("rubyCJK" 0)
-    '("rubylatin" 0)
-    '("rubysize" 0)
-    '("rubysep" 0)
-    '("ruby" t nil))))
-
-;;; ruby.el ends here
+    ;; adds a hook (the argument code) to be called after \\selectfont
+    '("EverySelectfont" 1)
+    ;; adds a hook to be called after the next \\selectfont
+    '("AtNextSelectont" 1)))
+ LaTeX-dialect)
+
+(defvar LaTeX-everysel-package-options nil
+  "Package options for the everysel package.")
+
+;;; everysel.el ends here
diff --git a/style/exercise.el b/style/exercise.el
new file mode 100644
index 0000000..5fe3092
--- /dev/null
+++ b/style/exercise.el
@@ -0,0 +1,63 @@
+;;; exercise.el --- AUCTeX style for `exercise.sty'
+
+;; Copyright (C) 2014 Free Software Foundation, Inc.
+
+;; Author: Nicolas Richard <address@hidden>
+;; Created: 2014-03-17
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `exercise.sty'.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "exercise"
+ (lambda ()
+   (LaTeX-add-environments
+    '("Exercise")
+    '("Exercise*")
+    '("Answer")
+    '("ExerciseList")
+    )
+   (TeX-add-symbols
+    '("Exercise")
+    '("Exercise*")
+    '("Answer")
+    '("ExePart")
+    '("ExePart*")
+    '("Question")
+    '("subQuestion")
+    '("ExeText")
+    '("ExerciseSelect")
+    '("ExerciseStopSelect")
+    '("refAnswer")
+    '("marker")
+    '("DifficultyMarker")
+    '("listofexercises")
+    '("ListOfExerciseInToc")
+    '("ExerciseLevelInToc")))
+ LaTeX-dialect)
+
+(defvar LaTeX-exercise-package-options '("noexercise" "noanswer" 
"exerciseonly" "answeronly" "nothing" "answerdelayed" "exercisedelayed" 
"lastexercise")
+  "Package options for the exercise package.")
+
+;;; exercise.el ends here
diff --git a/style/fancyhdr.el b/style/fancyhdr.el
new file mode 100644
index 0000000..76f33c7
--- /dev/null
+++ b/style/fancyhdr.el
@@ -0,0 +1,114 @@
+;;; fancyhdr.el --- AUCTeX style for `fancyhdr.sty'
+
+;; Copyright (C) 2012, 2013 Free Software Foundation, Inc.
+
+;; Author: Mads Jensen <address@hidden>
+;; Maintainer: address@hidden
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `fancyhdr.sty', version 3.2
+
+;;; Code:
+
+(TeX-add-style-hook
+ "fancyhdr"
+ (lambda ()
+   (TeX-add-symbols
+    '("lhead" t)
+    '("lfoot" t)
+    '("chead" t)
+    '("cfoot" t)
+    '("rhead" t)
+    '("rfoot" t)
+    '("nouppercase" t)
+    '("MakeUppercase" t)
+    '("fancyhead" [ TeX-arg-fancyhdr-position ] t)
+    '("fancyfoot" [ TeX-arg-fancyhdr-position ] t)
+    '("fancyheadoffset"
+      [ (TeX-arg-fancyhdr-position
+         "Position" ("LO" "LE" "L" "RE" "RO" "R" "0")) ] t)
+    '("fancyfootoffset"
+      [ (TeX-arg-fancyhdr-position
+         "Position" ("LO" "LE" "L" "RE" "RO" "R" "O")) ] t)
+    '("fancyhfoffset"
+      [ (TeX-arg-fancyhdr-position "Position" ("E" "O" "L" "R")) ] t)
+    '("fancypagestyle" TeX-arg-pagestyle t)
+
+    "headrulewidth" "footrulewidth" "plainfootrulewidth"
+    "plainheadrulewidth" "leftmark" "rightmark"
+    ;; the manual does not mention any subsubsectionmark (!)
+    "chaptermark" "sectionmark" "subsectionmark" "paragraphmark"
+    "subparagraphmark" "footrule" "headrule")
+
+   ;; `fancyhdr.sty' supplies these two pagestyles
+   (LaTeX-add-pagestyles "fancy" "fancyplain")
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("fancyhead" "[{")
+                                ("fancyfoot" "[{")
+                                ("lhead" "{")
+                                ("lfoot" "{")
+                                ("chead" "{")
+                                ("cfoot" "{")
+                                ("rhead" "{")
+                                ("rfoot" "{")
+                                ("fancyheadoffset" "[{")
+                                ("fancyfootoffset" "[{")
+                                ("fancypagestyle" "{{")) 'function)
+     (font-latex-add-keywords '(("headrulewidth" "")
+                                ("footrulewidth" "")
+                                ("plainheadrulewidth" "")
+                                ("plainfootrulewidth" "")) 'variable)
+     ;; Tell font-lock about the update.
+     (setq font-lock-set-defaults nil)
+     (font-lock-set-defaults)))
+ LaTeX-dialect)
+
+;; Because there can be many positions, `TeX-completing-read-multiple' is used
+;; instead of just `completing-read', and a `collection' argument is provided 
as
+;; the list of positions differs between the macros
+(defun TeX-arg-fancyhdr-position (optional &optional prompt collection)
+  "Prompt for a fancyhdr position with completion.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  If non-nil, PROMPT is
+used as the prompt.  If non-nil, COLLECTION is used as the
+completion list for the position."
+  (let* ((positions (if (not collection)
+                        ;; Standard positions with no restrictions.  Lower-case
+                        ;; versions, and reverse versions (e.g., OC) are left
+                        ;; out for simplicity.
+                        '("LO" "LE" "L" "CO" "CE" "C" "RE" "RO" "R")
+                      collection))
+        (arguments
+         (mapconcat 'identity
+                    (TeX-completing-read-multiple
+                     (TeX-argument-prompt optional prompt "Position")
+                     (mapcar 'list positions)) ",")))
+    (TeX-argument-insert arguments optional)))
+
+(defvar LaTeX-fancyhdr-package-options nil
+  "Package options for fancyhdr.")
+
+;;; fancyhdr.el ends here
+
diff --git a/style/austrian.el b/style/fancynum.el
similarity index 63%
copy from style/austrian.el
copy to style/fancynum.el
index 13f28a8..a04be76 100644
--- a/style/austrian.el
+++ b/style/fancynum.el
@@ -1,10 +1,9 @@
-;;; austrian.el --- AUCTeX style for the `austrian' babel option.
+;;; fancynum.el --- AUCTeX style for `fancynum.sty'
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
+;; Author: Mads Jensen <address@hidden>
 ;; Maintainer: address@hidden
-;; Created: 2009-12-28
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,14 +25,23 @@
 
 ;;; Commentary:
 
-;; Set up AUCTeX for editing Austrian text in connection with the
-;; `austrian' babel option.
+;; This file adds support for `fancynum.sty'
 
 ;;; Code:
 
 (TeX-add-style-hook
- "austrian"
+ "fancynum"
  (lambda ()
-   (TeX-run-style-hooks "german")))
+   (TeX-add-symbols
+    '("fnum" t)
+    '("setfnumdsym" t)
+    '("setfnummsym" t)
+    '("setfnumgsym" t)))
+ LaTeX-dialect)
+
+(defvar LaTeX-fancynum-package-options
+  '("english" "french" "tight" "loose" "commas" "thinspaces" "plain")
+  "Package options for fancynum.")
+
+;; fancynum.el ends here
 
-;;; austrian.el ends here
diff --git a/style/fancyref.el b/style/fancyref.el
index 53b64fe..9d870e7 100644
--- a/style/fancyref.el
+++ b/style/fancyref.el
@@ -30,8 +30,8 @@
      (TeX-add-symbols
 
       ;; The macros with label arguments
-      '("fref" [ TeX-arg-fancyref-format ] TeX-arg-label)
-      '("Fref" [ TeX-arg-fancyref-format ] TeX-arg-label)
+      '("fref" [ TeX-arg-fancyref-format ] TeX-arg-ref)
+      '("Fref" [ TeX-arg-fancyref-format ] TeX-arg-ref)
 
       ;; The macros which define new prefixes and formats
       '("fancyrefchangeprefix" TeX-arg-macro "Prefix")
@@ -92,7 +92,8 @@
      ;; Fontification
      (when (and (featurep 'font-latex)
                (eq TeX-install-font-lock 'font-latex-setup))
-       (font-latex-add-keywords '(("fref" "[{") ("Fref" "[{")) 'reference))))
+       (font-latex-add-keywords '(("fref" "[{") ("Fref" "[{")) 'reference)))
+   LaTeX-dialect)
 
 ;; The following list keeps a list of available format names
 ;; Note that this list is only updated when a format is used, not
diff --git a/style/fancyvrb.el b/style/fancyvrb.el
new file mode 100644
index 0000000..92718b4
--- /dev/null
+++ b/style/fancyvrb.el
@@ -0,0 +1,206 @@
+;;; fancyvrb.el --- AUCTeX style for `fancyvrb.sty' version 2.8.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `fancyvrb.sty' version 2.8.
+
+;;; Code:
+
+(defvar LaTeX-fancyvrb-macro-regexp
+  (concat "\\\\\\(?:Re\\|\\)CustomVerbatimCommand"
+         "[ \t\n\r]*{?[ \t\n\r]*\\\\\\([A-Za-z]+\\)[ \t\n\r]*}?")
+  "Matches macros by fancyvrb package.")
+
+(defvar LaTeX-fancyvrb-environment-regexp
+  (concat "\\\\\\(?:Define\\|Custom\\|Recustom\\)VerbatimEnvironment"
+         "[ \t\n\r]*{[ \t\n\r]*\\([A-Za-z]+\\)[ \t\n\r]*}")
+  "Matches environments by fancyvrb package.")
+
+(defvar LaTeX-fancyvrb-key-val-options
+  '(("commentchar")
+    ("gobble")
+    ("formatcom")
+    ("fontfamily" ("tt" "courier" "helvetica"))
+    ("fontsize")
+    ("fontshape")
+    ("fontseries")
+    ("frame" ("none" "leftline" "topline" "bottomline" "lines" "single"))
+    ("framerule")
+    ("framesep")
+    ("rulecolor")
+    ("fillcolor")
+    ("label")
+    ("labelposition" ("none" "topline" "bottomline" "all"))
+    ("numbers" ("none" "left" "right"))
+    ("numbersep")
+    ("firstnumber" ("auto" "last" "integer"))
+    ("stepnumber")
+    ("numberblanklines" ("true" "false"))
+    ("firstline")
+    ("lastline")
+    ("showspaces" ("true" "false"))
+    ("showtabs" ("true" "false"))
+    ("obeytabs" ("true" "false"))
+    ("tabsize")
+    ("baselinestretch" ("auto" "dimension"))
+    ("commandchars")
+    ("xleftmargin")
+    ("xrightmargin")
+    ("resetmargins" ("true" "false"))
+    ("hfuzz")
+    ("samepage" ("true" "false"))
+    ("codes")
+    ("defineactive")
+    ;; Actually, the following options are used only by the `BVerbatim'
+    ;; environment.
+    ("boxwidth" ("auto" "dimension"))
+    ("baseline" ("b" "c" "t")))
+  "Key=value options for fancyvrb macros and environments.")
+
+(TeX-add-style-hook
+ "fancyvrb"
+ (lambda ()
+   (TeX-auto-add-regexp `(,LaTeX-fancyvrb-macro-regexp 1 TeX-auto-symbol))
+   (TeX-auto-add-regexp
+    `(,LaTeX-fancyvrb-environment-regexp 1 LaTeX-auto-environment))
+   (TeX-run-style-hooks
+    "keyval")
+   (TeX-add-symbols
+    ;;; Verbatim material in footnotes
+    "VerbatimFootnotes"
+    ;;; Improved verbatim commands
+    '("Verb" [TeX-arg-key-val LaTeX-fancyvrb-key-val-options] TeX-arg-verb)
+    "DefineShortVerb"
+    "UndefineShortVerb"
+    ;;; Verbatim environments
+    '("fvset" (TeX-arg-key-val LaTeX-fancyvrb-key-val-options))
+    ;; Changing individual line formatting
+    "FancyVerbFormatLine"
+    ;; Line numbering
+    "theFancyVerbLine"
+    ;; Selection of lines to print
+    "FancyVerbStartString"
+    "FancyVerbStopString"
+    ;; Personalized environments
+    '("CustomVerbatimEnvironment"
+      (TeX-arg-define-environment "New verbatim environment")
+      (TeX-arg-environment "Basend on environment")
+      (TeX-arg-key-val LaTeX-fancyvrb-key-val-options))
+    '("RecustomVerbatimEnvironment"
+      (TeX-arg-environment "New verbatim environment")
+      (TeX-arg-environment "Basend on environment")
+      (TeX-arg-key-val LaTeX-fancyvrb-key-val-options))
+    '("DefineVerbatimEnvironment"
+      (TeX-arg-define-environment "New verbatim environment")
+      (TeX-arg-environment "Basend on environment")
+      (TeX-arg-key-val LaTeX-fancyvrb-key-val-options))
+    '("CustomVerbatimCommand" (TeX-arg-define-macro "New verbatim macro: ")
+      (TeX-arg-eval completing-read "Based on macro: " (TeX-symbol-list))
+      (TeX-arg-key-val LaTeX-fancyvrb-key-val-options))
+    '("RecustomVerbatimCommand" (TeX-arg-macro "New verbatim macro: ")
+      (TeX-arg-eval completing-read "Based on macro: " (TeX-symbol-list))
+      (TeX-arg-key-val LaTeX-fancyvrb-key-val-options))
+    ;;; Saving and restoring verbatim text and environments
+    "SaveVerb"
+    "UseVerb"
+    "SaveVerbatim"
+    "UseVerbatim"
+    "LUseVerbatim"
+    "BUseVerbatim"
+    ;;; Writing and reading verbatim files
+    '("VerbatimInput" [TeX-arg-key-val LaTeX-fancyvrb-key-val-options]
+      (TeX-arg-file))
+    '("BVerbatimInput" [TeX-arg-key-val LaTeX-fancyvrb-key-val-options]
+      (TeX-arg-file))
+    '("LVerbatimInput" [TeX-arg-key-val LaTeX-fancyvrb-key-val-options]
+      (TeX-arg-file)))
+   (LaTeX-add-environments
+    '("Verbatim" LaTeX-env-args
+      [TeX-arg-key-val LaTeX-fancyvrb-key-val-options])
+    '("BVerbatim" LaTeX-env-args
+      [TeX-arg-key-val LaTeX-fancyvrb-key-val-options])
+    '("LVerbatim" LaTeX-env-args
+      [TeX-arg-key-val LaTeX-fancyvrb-key-val-options])
+    '("SaveVerbatim" LaTeX-env-args
+      [TeX-arg-key-val LaTeX-fancyvrb-key-val-options])
+    '("VerbatimOut"
+      (lambda (env)
+       (let ((options (TeX-read-key-val t LaTeX-fancyvrb-key-val-options))
+             (file (TeX-read-string "Output file: ")))
+         (LaTeX-insert-environment
+          env
+          (concat (unless (zerop (length options))
+                    (concat LaTeX-optop options LaTeX-optcl))
+                  (concat TeX-grop file TeX-grcl)))))))
+   (LaTeX-add-counters
+    "FancyVerbLine")
+
+   ;; Filling
+   (set (make-local-variable 'LaTeX-verbatim-regexp)
+        (concat
+         LaTeX-verbatim-regexp
+         "\\|Verbatim\\|BVerbatim\\|LVerbatim\\|SaveVerbatim\\|VerbatimOut"))
+   (add-to-list 'LaTeX-verbatim-environments-local "Verbatim")
+   (add-to-list 'LaTeX-verbatim-environments-local "BVerbatim")
+   (add-to-list 'LaTeX-verbatim-environments-local "LVerbatim")
+   (add-to-list 'LaTeX-verbatim-environments-local "SaveVerbatim")
+   (add-to-list 'LaTeX-verbatim-environments-local "VerbatimOut")
+   (make-local-variable 'LaTeX-indent-environment-list)
+   (add-to-list 'LaTeX-indent-environment-list '("Verbatim" 
current-indentation))
+   (add-to-list 'LaTeX-indent-environment-list '("BVerbatim" 
current-indentation))
+   (add-to-list 'LaTeX-indent-environment-list '("LVerbatim" 
current-indentation))
+   (add-to-list 'LaTeX-indent-environment-list '("SaveVerbatim" 
current-indentation))
+   (add-to-list 'LaTeX-indent-environment-list '("VerbatimOut" 
current-indentation))
+   (add-to-list 'LaTeX-verbatim-macros-with-delims-local "Verb")
+   (add-to-list 'LaTeX-verbatim-macros-with-braces-local "Verb")
+
+   ;; Fontification
+   (when (and (fboundp 'font-latex-add-keywords)
+             (fboundp 'font-latex-set-syntactic-keywords)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("DefineVerbatimEnvironment" "{{{")
+                               ("CustomVerbatimEnvironment" "{{{")
+                               ("RecustomVerbatimEnvironment" "{{{"))
+                             'function)
+     (font-latex-add-keywords '(("VerbatimInput" "[{")
+                               ("BVerbatimInput" "[{")
+                               ("LVerbatimInput" "[{"))
+                             'reference)
+     (font-latex-add-keywords '(("Verb" "[")) ; The second argument should
+                                             ; actually be verbatim.
+                             'textual)
+     (font-latex-add-keywords '(("fvset" "{")) 'variable)
+     ;; For syntactic fontification, e.g. verbatim constructs.
+     (font-latex-set-syntactic-keywords)
+     ;; Tell font-lock about the update.
+     (setq font-lock-set-defaults nil)
+     (font-lock-set-defaults)))
+ LaTeX-dialect)
+
+(defvar LaTeX-fancyvrb-package-options nil
+  "Package options for the fancyvrb package.")
+
+;;; fancyvrb.el ends here
diff --git a/style/filecontents.el b/style/filecontents.el
new file mode 100644
index 0000000..ea3c60a
--- /dev/null
+++ b/style/filecontents.el
@@ -0,0 +1,55 @@
+;;; filecontents.el --- AUCTeX style for `filecontents.sty'
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Author: Mads Jensen <address@hidden>
+;; Maintainer: address@hidden
+;; Created: 2013-01-01
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `filecontents.sty'.  The package removes the two
+;; constraints that `filecontents' from LaTeX2e has, namely that the 
environment
+;; must be before the documentclass (or \begin{document} according to some
+;; sources), and that existing files are not overwritten.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "filecontents"
+ (lambda ()
+   (LaTeX-add-environments
+    '("filecontents" LaTeX-env-filecontents)
+    '("filecontents*" LaTeX-env-filecontents)))
+ LaTeX-dialect)
+
+(defun LaTeX-env-filecontents (environment)
+  "Insert ENVIRONMENT with filename for contents."
+  (LaTeX-insert-environment environment
+                           (concat TeX-grop
+                                   (read-string "File: ")
+                                   TeX-grcl))
+  (delete-horizontal-space))
+
+(defvar LaTeX-filecontents-package-options nil
+  "Package options for filecontents.")
+
+;; filecontents.el ends here
diff --git a/style/flashcards.el b/style/flashcards.el
index 27e96d1..6f26c15 100644
--- a/style/flashcards.el
+++ b/style/flashcards.el
@@ -55,6 +55,7 @@
                                ("cardbackstyle" "[{")
                                ("cardfrontheadstyle" "[{")
                                ("cardfrontfootstyle" "[{"))
-                             'variable))))
+                             'variable)))
+ LaTeX-dialect)
 
 ;;; flashcards.el ends here
diff --git a/style/foils.el b/style/foils.el
index 435bed7..e3fedd8 100644
--- a/style/foils.el
+++ b/style/foils.el
@@ -1,7 +1,5 @@
 ;;; foils.el - Special code for FoilTeX.
 
-;; $Id: foils.el,v 1.5 2008-07-28 20:40:18 angeli Exp $
-
 ;;; Code:
 
 (require 'timezone)
@@ -13,7 +11,8 @@
     (setq LaTeX-default-style "foils")
     (setq LaTeX-default-options '("landscape"))
     (TeX-add-symbols
-     '("foilhead" [ "Rubric-body separation" ] "Foil rubric")))))
+     '("foilhead" [ "Rubric-body separation" ] "Foil rubric"))))
+ LaTeX-dialect)
 
 (defun LaTeX-style-foils nil
   "Prompt for and insert foiltex options."
diff --git a/style/fontspec.el b/style/fontspec.el
new file mode 100644
index 0000000..c483d0a
--- /dev/null
+++ b/style/fontspec.el
@@ -0,0 +1,235 @@
+;;; fontspec.el --- AUCTeX style for `fontspec.sty' version 2.3c.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `fontspec.sty' version 2.3c.
+
+;;; Code:
+
+(defvar LaTeX-fontspec-font-features
+  '(;; More control over font shape selection
+    ("BoldFont")
+    ("ItalicFont")
+    ("BoldItalicFont")
+    ("SlantedFont")
+    ("BoldSlantedFont")
+    ("SmallCapsFont")
+    ;; Different features for different font shapes
+    ("BoldFeatures")
+    ("ItalicFeatures")
+    ("BoldItalicFeatures")
+    ("SlantedFeatures")
+    ("BoldSlantedFeatures")
+    ("SmallCapsFeatures")
+    ;; Different features for different font sizes
+    ("SizeFeatures")
+    ;; Font independent options
+    ("Color")
+    ("Scale" ("MatchLowercase" "MatchUppercase"))
+    ("WordSpace")
+    ("PunctuationSpace")
+    ("HyphenChar")
+    ("OpticalSize")
+    ;; OpenType options
+    ("Ligatures" ("Required"
+                 "NoRequired"
+                 "Common"
+                 "NoCommon"
+                 "Contextual"
+                 "NoContextual"
+                 "Rare"
+                 "Historic"
+                 "TeX"))
+    ("Letters" ("Uppercase"
+               "SmallCaps"
+               "PetiteCaps"
+               "UppercaseSmallCaps"
+               "UppercasePetiteCaps"
+               "Unicase"))
+    ("Numbers" ("Lining"
+               "OldStyle"
+               "Proportional"
+               "Monospaced"
+               "SlashedZero"
+               "Arabic"))
+    ("Contextuals" ("Swash"
+                   "Alternate"
+                   "WordInitial"
+                   "WordFinal"
+                   "LineFinal"
+                   "Inner"))
+    ("VerticalPosition" ("Superior"
+                        "Inferior"
+                        "Numerator"
+                        "Denominator"
+                        "ScientificInferior"
+                        "Ordinal"))
+    ("Fraction" ("On" "Alternate"))
+    ("StylisticSet")
+    ("CharacterVariants")
+    ("Alternate")
+    ("Style" ("Alternate"
+             "Italic"
+             "Ruby"
+             "Swash"
+             "Historic"
+             "TitlingCaps"
+             "HorizontalKana"
+             "VerticalKana"))
+    ("Diacritics" ("MarkToBase"
+                  "NoMarkToBase"
+                  "MarkToMark"
+                  "NoMarkToMark"
+                  "AboveBase"
+                  "NoAboveBase"
+                  "BelowBase"
+                  "NoBelowBase"))
+    ("Kerning" ("Uppercase" "On" "Off"))
+    ("AutoFakeBold")
+    ("AutoFakeSlant")
+    ("FakeSlant")
+    ("FakeStretch")
+    ("FakeBold")
+    ("Annotation")
+    ("CJKShape" ("Traditional"
+                "Simplified"
+                "JIS1978"
+                "JIS1983"
+                "JIS1990"
+                "Expert"
+                "NLC"))
+    ("CharacterWidth" ("Proportional"
+                      "Full"
+                      "Half"
+                      "Third"
+                      "Quarter"
+                      "AlternateProportional"
+                      "AlternateHalf"))
+    ("Vertical" ("RotatedGlyphs")))
+  "Font features options for macros of the fontspec package.")
+
+(defvar LaTeX-fontspec-font-list nil
+  "List of the fonts accessible to fontspec.")
+
+(defun LaTeX-fontspec-arg-font (optional &optional prompt)
+  "Prompt for a font name with completion.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string.
+
+Customize `LaTeX-fontspec-arg-font-search' in order to decide how
+to retrieve the list of fonts."
+  (unless LaTeX-fontspec-font-list
+    (when (if (eq LaTeX-fontspec-arg-font-search 'ask)
+             (not (y-or-n-p "Find font yourself? "))
+           LaTeX-fontspec-arg-font-search)
+      (message "Searching for fonts...")
+      (with-temp-buffer
+       (shell-command "luaotfload-tool --list=basename" t)
+       ;; Search for the font base names and full names, and add them to
+       ;; `LaTeX-fontspec-font-list'.  The list is in the form
+       ;;     <base name><TAB><full name><TAB><version>
+       (while
+           (re-search-forward "^\\([^\n\r\t]*\\)\t\\([^\n\r\t]*\\)\t.*$" nil t)
+         (add-to-list 'LaTeX-fontspec-font-list (match-string-no-properties 1))
+         (add-to-list 'LaTeX-fontspec-font-list
+                      (match-string-no-properties 2))))))
+  (TeX-argument-insert
+   (completing-read
+    (TeX-argument-prompt optional prompt "Font name")
+    (or LaTeX-fontspec-font-list LaTeX-fontspec-font-list-default))
+   optional))
+
+(TeX-add-style-hook
+ "fontspec"
+ (lambda ()
+   (TeX-run-style-hooks "expl3" "xparse")
+   (TeX-add-symbols
+    ;; Font selection
+    '("fontspec" [TeX-arg-key-val LaTeX-fontspec-font-features "Font features"]
+      LaTeX-fontspec-arg-font)
+    ;; Default font families
+    '("setmainfont"
+      [TeX-arg-key-val LaTeX-fontspec-font-features "Font features"]
+      (LaTeX-fontspec-arg-font "Main font name"))
+    '("setsansfont"
+      [TeX-arg-key-val LaTeX-fontspec-font-features "Font features"]
+      (LaTeX-fontspec-arg-font "Sans font name"))
+    '("setmonofont"
+      [TeX-arg-key-val LaTeX-fontspec-font-features "Font features"]
+      (LaTeX-fontspec-arg-font "Mono font name"))
+    ;; New commands to select font families
+    '("newfontfamily" TeX-arg-define-macro
+      [TeX-arg-key-val LaTeX-fontspec-font-features "Font features"]
+      LaTeX-fontspec-arg-font)
+    '("newfontface" TeX-arg-define-macro
+      [TeX-arg-key-val LaTeX-fontspec-font-features "Font features"]
+      LaTeX-fontspec-arg-font)
+    ;; Math(s) fonts
+    '("setmathrm" [ "Font features" ] "Font name")
+    '("setmathsf" [ "Font features" ] "Font name")
+    '("setmathtt" [ "Font features" ] "Font name")
+    '("setboldmathrm" [ "Font features" ] "Font name")
+    ;; Emphasis and nested emphasis
+    "emshape"
+    "eminnershape"
+    ;; Default settings
+    '("defaultfontfeatures" [ LaTeX-fontspec-arg-font ]
+      (TeX-arg-key-val LaTeX-fontspec-font-features "Font features"))
+    ;; Changing the currently selected features
+    '("addfontfeatures"
+      (TeX-arg-key-val LaTeX-fontspec-font-features "Font features"))
+    ;; Defining new scripts and languages
+    '("newfontscript" "Script name" "OpenType tag")
+    '("newfontlanguage" "Language name" "OpenType tag"))
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("fontspec"    "[{")
+                               ("setmainfont" "[{")
+                               ("setsansfont" "[{")
+                               ("setmonofont" "[{")
+                               ("newfontfamily" "{[{")
+                               ("newfontface" "{[{")
+                               ("setmathrm" "[{")
+                               ("setmathsf" "[{")
+                               ("setmathtt" "[{")
+                               ("setboldmathrm" "[{")
+                               ("emshape")
+                               ("eminnershape")
+                               ("defaultfontfeatures" "[{")
+                               ("addfontfeature" "{")
+                               ("newfontscript" "{{")
+                               ("newfontlanguage" "{{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defvar LaTeX-fontspec-package-options
+  '("math" "no-math" "config" "no-config" "quiet" "silent")
+  "Package options for the fontspec package.")
+
+;;; fontspec.el ends here
diff --git a/style/footmisc.el b/style/footmisc.el
new file mode 100644
index 0000000..dec612e
--- /dev/null
+++ b/style/footmisc.el
@@ -0,0 +1,73 @@
+;;; footmisc.el --- AUCTeX style for `footmisc.sty'
+
+;; Copyright (C) 2011 Free Software Foundation, Inc.
+
+;; Author: Mads Jensen <address@hidden>
+;; Created: 2011-04-08
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `footmisc.sty'.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "footmisc"
+ (lambda ()
+   (TeX-add-symbols
+    '("DefineFNsymbols" "Name" [ "Style (text or math) " ] 1) 
+    '("DefineFNsymbols*" "Name" [ "Style  (text or math)" ] 1)
+    ;; These two commands define both text and math variants of the
+    ;; footnote symbols
+    '("DefineFNsymbolsTM" "Name" 1)
+    '("DefineFNsymbolsTM*" "Name" 1)
+    '("setfnsymbol" "Name")
+    '("mpfootnoterule" TeX-arg-size) 
+    "pagefootnoterule"
+    "splitfootnoterule"
+    ;; The following command references a label inside in a footnote
+    '("footref" TeX-arg-ref)
+    "hangfootparskip"
+    "hangfootparindent"
+    "footnotehint"
+    '("footnotemargin" TeX-arg-size)
+    "mpfootnoterule"
+    "multiplefootnotemarker"
+    "multfootsep")
+
+   (when (and (featurep 'font-latex)
+              (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("DefineFNsymbols" "{[{")
+                                ("DefineFNsymbols*" "{[{")
+                                ("DefineFNsymbolsTM" "{{")
+                                ("DefineFNsymbolsTM*" "{{")
+                               ("setfnsymbol" "{")) 'function)
+     (font-latex-add-keywords '(("footnoteref")) 'reference)))
+ LaTeX-dialect)
+
+(defvar LaTeX-footmisc-package-options '("perpage" "side" "ragged"
+                                         "para" "symbol" "symbol*"
+                                         "marginal" "flushmargin" "hang"
+                                         "norule" "splitrule" "stable"
+                                         "multiple")
+  "Package options for the footmisc package.")
+
+;;; footmisc.el ends here
diff --git a/style/francais.el b/style/francais.el
index 323d545..1723b59 100644
--- a/style/francais.el
+++ b/style/francais.el
@@ -36,6 +36,7 @@
 (TeX-add-style-hook
  "francais"
  (lambda ()
-   (TeX-run-style-hooks "frenchb")))
+   (TeX-run-style-hooks "frenchb"))
+ LaTeX-dialect)
 
 ;;; francais.el ends here
diff --git a/style/french.el b/style/french.el
index 31a468a..7aefe3d 100644
--- a/style/french.el
+++ b/style/french.el
@@ -43,6 +43,7 @@
              (not (member "frenchpro" TeX-active-styles))
              (not (member "frenchle" TeX-active-styles))
              (not (member "mlp" TeX-active-styles)))
-     (TeX-run-style-hooks "frenchb"))))
+     (TeX-run-style-hooks "frenchb")))
+ LaTeX-dialect)
 
 ;;; french.el ends here
diff --git a/style/frenchb.el b/style/frenchb.el
index 83f9002..71ef1f4 100644
--- a/style/frenchb.el
+++ b/style/frenchb.el
@@ -73,6 +73,7 @@
               (concat "\\fg"
                       (unless (member "xspace" TeX-active-styles) "{}")))
             ,TeX-quote-after-quote)))
-   (run-hooks 'TeX-language-fr-hook)))
+   (run-hooks 'TeX-language-fr-hook))
+ LaTeX-dialect)
 
 ;;; frenchb.el ends here
diff --git a/style/german.el b/style/german.el
index d1acbbf..51a35fe 100644
--- a/style/german.el
+++ b/style/german.el
@@ -44,6 +44,7 @@
      (font-latex-add-quotes '("\">" "\"<" german))
      ;; Prevent "| from leading to color bleed.
      (font-latex-add-to-syntax-alist (list (cons ?\" "\\"))))
-   (run-hooks 'TeX-language-de-hook)))
+   (run-hooks 'TeX-language-de-hook))
+ LaTeX-dialect)
 
 ;;; german.el ends here
diff --git a/style/graphics.el b/style/graphics.el
index bffabc9..ffe5bd1 100644
--- a/style/graphics.el
+++ b/style/graphics.el
@@ -5,6 +5,7 @@
 (TeX-add-style-hook "graphics"
  (function
   (lambda ()
-    (TeX-run-style-hooks "graphicx"))))
+    (TeX-run-style-hooks "graphicx")))
+ LaTeX-dialect)
 
 ;;; graphics.el ends here.
diff --git a/style/graphicx.el b/style/graphicx.el
index a35d151..a06aabf 100644
--- a/style/graphicx.el
+++ b/style/graphicx.el
@@ -50,7 +50,8 @@
                                ("rotatebox" "[{{")
                                ("scalebox" "{[{"))
                              'textual)
-     (font-latex-add-keywords '(("includegraphics" "*[[{")) 'reference))))
+     (font-latex-add-keywords '(("includegraphics" "*[[{")) 'reference)))
+ LaTeX-dialect)
 
 (defun LaTeX-includegraphics-extensions (&optional list)
   "Return appropriate extensions for input files to \\includegraphics."
diff --git a/style/harvard.el b/style/harvard.el
index 83463ea..d0a37cb 100644
--- a/style/harvard.el
+++ b/style/harvard.el
@@ -1,6 +1,6 @@
 ;;; harvard.el --- Support for Harvard Citation style package for AUCTeX.
 
-;; Copyright (C) 1994, 1997, 2005, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1997, 2005 Free Software Foundation, Inc.
 
 ;; Author: Berwin Turlach <address@hidden>
 ;; Maintainer: address@hidden
@@ -104,7 +104,8 @@
 
     ;; Tell RefTeX
     (when (fboundp 'reftex-set-cite-format)
-      (reftex-set-cite-format 'harvard)))))
+      (reftex-set-cite-format 'harvard))))
+ LaTeX-dialect)
 
 (defun LaTeX-env-harvardbib (environment &optional ignore)
   "Insert ENVIRONMENT with label for harvarditem."
diff --git a/style/hyperref.el b/style/hyperref.el
index 1f703f7..ad1c628 100644
--- a/style/hyperref.el
+++ b/style/hyperref.el
@@ -1,6 +1,6 @@
-;;; hyperref.el --- AUCTeX style for the hyperref class.
+;;; hyperref.el --- AUCTeX style for `hyperref.sty' v6.83m
 
-;; Copyright (C) 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2013 Free Software Foundation, Inc.
 
 ;; Author: Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
@@ -30,39 +30,139 @@
 
 ;;; Code:
 
-(defvar LaTeX-hyperref-package-options
-  '("a4paper" "a5paper" "anchorcolor" "b5paper" "backref" "baseurl"
-    "bookmarks" "bookmarksnumbered" "bookmarksopen"
-    "bookmarksopenlevel \maxdimen" "bookmarkstype" "breaklinks"
-    "CJKbookmarks" "citebordercolor" "citecolor" "colorlinks" "debug"
-    "draft" "dvipdf" "dvipdfm" "dvipdfmx" "dvips" "dvipsone"
-    "dviwindo" "encap" "executivepaper" "extension" "filebordercolor"
-    "filecolor" "final" "frenchlinks" "hyperfigures" "hyperfootnotes"
-    "hyperindex" "hypertex" "hypertexnames" "implicit" "latex2html"
-    "legalpaper" "letterpaper" "linkbordercolor" "linkcolor"
-    "linktocpage" "menubordercolor" "menucolor" "nativepdf"
-    "naturalnames" "nesting" "pageanchor" "pagebackref"
-    "pagebordercolor" "pagecolor" "pdfauthor" "pdfborder"
-    "pdfcenterwindow" "pdfcreator" "pdfdirection" "pdfdisplaydoctitle"
-    "pdfduplex" "pdffitwindow" "pdfhighlight" "pdfkeywords" "pdflang"
-    "pdfmark" "pdfmenubar" "pdfnewwindow" "pdfnonfullscreenpagemode"
-    "pdfnumcopies" "pdfpagelayout" "pdfpagemode" "pdfpagelabels"
-    "pdfpagescrop" "pdfpagetransition" "pdfpicktrackbypdfsize"
-    "pdfprintarea" "pdfprintclip" "pdfprintpagerange"
-    "pdfprintscaling" "pdfproducer" "pdfstartpage" "pdfstartview"
-    "pdfsubject" "pdftex" "pdftitle" "pdftoolbar" "pdfview"
-    "pdfviewarea" "pdfviewclip" "pdfwindowui" "plainpages" "ps2pdf"
-    "raiselinks" "runbordercolor" "setpagesize" "tex4ht" "textures"
-    "unicode" "urlbordercolor" "urlcolor" "verbose" "vtex" "xetex")
+(defvar LaTeX-hyperref-package-options-list
+  '(;; See http://www.tug.org/applications/hyperref/manual.html#x1-40003
+    ;; General options
+    ("draft" ("true" "false"))
+    ("final" ("true" "false"))
+    ("debug" ("true" "false"))
+    ("verbose" ("true" "false"))
+    ("implicit" ("true" "false"))
+    ("setpagesize" ("true" "false"))
+    ;; Options for destination names
+    ("destlabel" ("true" "false"))
+    ("hypertexnames" ("true" "false"))
+    ("naturalnames" ("true" "false"))
+    ("plainpages" ("true" "false"))
+    ;; Configuration options
+    ("raiselinks" ("true" "false"))
+    ("breaklinks" ("true" "false"))
+    ("pageanchor" ("true" "false"))
+    ("nesting" ("true" "false"))
+    ;; Backend drivers
+    ("driverfallback")
+    ("dvipdfm")
+    ("dvipdfmx")
+    ("dvips")
+    ("dvipsone")
+    ("dviwindo")
+    ("hypertex")
+    ("latex2html")
+    ("nativepdf")
+    ("pdfmark")
+    ("pdftex")
+    ("ps2pdf")
+    ("tex4ht")
+    ("textures")
+    ("vtex")
+    ("vtexpdfmark")
+    ("xetex")
+    ;; Extension options
+    ("extension")
+    ("hyperfigures" ("true" "false"))
+    ("backref" ("section" "slide" "page" "none" "false"))
+    ("pagebackref" ("true" "false"))
+    ("hyperindex" ("true" "false"))
+    ("hyperfootnotes" ("true" "false"))
+    ("encap")
+    ("linktocpage" ("true" "false"))
+    ("breaklinks" ("true" "false"))
+    ("colorlinks" ("true" "false"))
+    ("linkcolor")
+    ("anchorcolor")
+    ("citecolor")
+    ("filecolor")
+    ("menucolor")
+    ("runcolor")
+    ("urlcolor")
+    ("allcolors")
+    ("frenchlinks" ("true" "false"))
+    ("hidelinks")
+    ;; PDF-specific display options
+    ("bookmarks" ("true" "false"))
+    ("bookmarksopen" ("true" "false"))
+    ("bookmarksopenlevel")
+    ("bookmarksnumbered" ("true" "false"))
+    ("bookmarkstype")
+    ("CJKbookmarks" ("true" "false"))
+    ("pdfhighlight" ("/I" "/N" "/O" "/P"))
+    ("citebordercolor")
+    ("filebordercolor")
+    ("linkbordercolor")
+    ("menubordercolor")
+    ("runbordercolor")
+    ("urlbordercolor")
+    ("allbordercolors")
+    ("pdfborder")
+    ;; PDF display and information options
+    ("baseurl")
+    ("pdfpagemode" ("UseOutlines" "UseThumbs" "FullScreen" "UseOC" 
"UseAttachments"))
+    ("pdftitle")
+    ("pdfauthor")
+    ("pdfsubject")
+    ("pdfcreator")
+    ("pdfproducer")
+    ("pdfkeywords")
+    ("pdftrapped" ("True" "False" "Unknown"))
+    ("pdfinfo")
+    ("pdfview" ("XYZ" "Fit" "FitH" "FitV" "FitR" "FitB" "FitBH" "FitBV"))
+    ("pdfstartpage")
+    ("pdfstartview" ("XYZ" "Fit" "FitH" "FitV" "FitR" "FitB" "FitBH" "FitBV"))
+    ("pdfremotestartview" ("XYZ" "Fit" "FitH" "FitV" "FitR" "FitB" "FitBH" 
"FitBV"))
+    ("pdfpagescrop")
+    ("pdfcenterwindow" ("true" "false"))
+    ("pdfdirection" ("L2R" "R2L"))
+    ("pdfdisplaydoctitle" ("true" "false"))
+    ("pdfduplex" ("Simplex" "DuplexFlipShortEdge" "DuplexFlipLongEdge"))
+    ("pdffitwindow" ("true" "false"))
+    ("pdflang")
+    ("pdfmenubar" ("true" "false"))
+    ("pdfnewwindow" ("true" "false"))
+    ("pdfnonfullscreenpagemode" ("UseNone" "UseOutlines" "UseThumbs" 
"FullScreen" "UseOC" "UseAttachments"))
+    ("pdfnumcopies")
+    ("pdfpagelayout" ("SinglePage" "OneColumn" "TwoColumnLeft" 
"TwoColumnRight" "TwoPageLeft" "TwoPageRight"))
+    ("pdfpagelabels" ("true" "false"))
+    ("pdfpagetransition" ("Blinds" "Box" "Dissolve" "Glitter" "Split" "Wipe"))
+    ("pdfpicktraybypdfsize" ("true" "false"))
+    ("pdfprintarea" ("MediaBox" "CropBox" "BleedBox" "TrimBox" "ArtBox"))
+    ("pdfprintclip" ("MediaBox" "CropBox" "BleedBox" "TrimBox" "ArtBox"))
+    ("pdfprintpagerange")
+    ("pdfprintscaling" ("AppDefault" "None"))
+    ("pdftoolbar" ("true" "false"))
+    ("pdfviewarea" ("MediaBox" "CropBox" "BleedBox" "TrimBox" "ArtBox"))
+    ("pdfviewclip" ("MediaBox" "CropBox" "BleedBox" "TrimBox" "ArtBox"))
+    ("pdfwindowui" ("true" "false"))
+    ("unicode" ("true" "false")))
   "Package options for the hyperref package.")
 
+(defvar LaTeX-hyperref-href-options
+  '(("pdfremotestartview" ("XYZ" "Fit" "FitH" "FitV" "FitR" "FitB" "FitBH" 
"FitBV"))
+    ("pdfnewwindow" ("true" "false"))
+    ("page")
+    ("ismap" ("true" "false"))
+    ("nextactionraw"))
+  "Key=value options for href macro of the hyperref package.")
+
 (TeX-add-style-hook
  "hyperref"
  (lambda ()
-   ;; hyperref.sty loads url.sty
-   (TeX-run-style-hooks "url")
+   ;; hyperref loads nameref and url (+ some other packages which do not have
+   ;; style hooks)
+   (TeX-run-style-hooks "url" "nameref")
+
    (TeX-add-symbols
-    '("href" "URL" "Text")
+    '("hypersetup" (TeX-arg-key-val LaTeX-hyperref-package-options-list))
+    '("href" [ (TeX-arg-key-val LaTeX-hyperref-href-options) ] "URL" "Text")
     '("nolinkurl" t)
     '("hyperbaseurl" t)
     '("hyperimage" "Image URL" "Text")
@@ -74,7 +174,13 @@
     '("autoref" TeX-arg-ref)
     '("ref*" TeX-arg-ref)
     '("pageref*" TeX-arg-ref)
+    '("autopageref" TeX-arg-ref)
+    '("autopageref*" TeX-arg-ref)
     '("pdfstringdef" "Macro name" "TeX string")
+    '("pdfbookmark" [ "Level" ] "Text" "name")
+    '("currentpdfbookmark" "Text" "Name")
+    '("subpdfbookmark" "Text" "Name")
+    '("belowpdfbookmark" "Text" "Name")
     '("texorpdfstring" "TeX string" "PDF string")
     '("hypercalcbp" t)
     '("Acrobatmenu" "Menu option" "Text")
@@ -102,7 +208,7 @@
    (when (and (fboundp 'font-latex-add-keywords)
              (fboundp 'font-latex-set-syntactic-keywords)
              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("href" "{{")
+     (font-latex-add-keywords '(("href" "[{{")
                                ("nolinkurl" "{")
                                ("hyperbaseurl" "{")
                                ("hyperimage" "{{")
@@ -112,13 +218,19 @@
                                ("hypertarget" "{{")
                                ("autoref" "{")
                                ("ref" "*{")
-                               ("pageref" "*{"))
+                               ("pageref" "*{")
+                               ("autopageref" "*{"))
                              'reference)
      ;; For syntactic fontification, e.g. verbatim constructs.
      (font-latex-set-syntactic-keywords))
 
    ;; RefTeX
    (when (fboundp 'reftex-ref-style-activate)
-     (reftex-ref-style-activate "Hyperref"))))
+     (reftex-ref-style-activate "Hyperref")))
+ LaTeX-dialect)
+
+(defun LaTeX-hyperref-package-options ()
+  "Read the hyperref package options from the user."
+  (TeX-read-key-val t LaTeX-hyperref-package-options-list))
 
 ;;; hyperref.el ends here
diff --git a/style/icelandic.el b/style/icelandic.el
index f7750dd..427a88d 100644
--- a/style/icelandic.el
+++ b/style/icelandic.el
@@ -48,6 +48,7 @@
    (when (fboundp 'font-latex-add-quotes)
      (font-latex-add-quotes '("\"`" "\"'"))
      (font-latex-add-quotes '("\"<" "\">" french)))
-   (run-hooks 'TeX-language-is-hook)))
+   (run-hooks 'TeX-language-is-hook))
+ LaTeX-dialect)
 
 ;;; icelandic.el ends here
diff --git a/style/imakeidx.el b/style/imakeidx.el
new file mode 100644
index 0000000..d361cbd
--- /dev/null
+++ b/style/imakeidx.el
@@ -0,0 +1,100 @@
+;;; imakeidx.el --- AUCTeX style for `imakeidx.sty'.
+
+;; Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `imakeidx.sty'.
+
+;;; Code:
+
+(defvar LaTeX-imakeidx-makeindex-options
+  '(("name")
+    ("title")
+    ("program" ("makeindex" "xindy" "texindy" "truexindy"))
+    ("options")
+    ("noautomatic" ("true" "false"))
+    ("intoc" ("true" "false"))
+    ("columns")
+    ("columnsep")
+    ("columnseprule" ("true" "false")))
+  "Key=value options for makeindex macro of the imakeidx package.")
+
+(defvar LaTeX-imakeidx-indexsetup-options
+  '(("level")
+    ("toclevel")
+    ("noclearpage" ("true" "false"))
+    ("othercode"))
+  "Key=value options for indexsetup macro of the imakeidx package.")
+(make-variable-buffer-local 'LaTeX-imakeidx-indexsetup-options)
+
+(TeX-add-style-hook
+ "imakeidx"
+ (lambda ()
+   ;; `firstpagestyle' and `headers' options for `indexsetup' macro are
+   ;; available only if `fancyhdr' is not loaded.  The following code works 
only
+   ;; if `imakeidx' is loaded after `fancyhdr'.
+   (unless (member "fancyhdr" TeX-active-styles)
+     (setq LaTeX-imakeidx-indexsetup-options
+          (append LaTeX-imakeidx-indexsetup-options
+                  `(("firstpagestyle" ,(LaTeX-pagestyle-list)))
+                  '(("headers")))))
+
+   (TeX-add-symbols
+    '("makeindex" [ (TeX-arg-key-val LaTeX-imakeidx-makeindex-options) ])
+    '("indexsetup" (TeX-arg-key-val LaTeX-imakeidx-indexsetup-options))
+    '("splitindexoptions" "Command line option")
+    '("index" [ "Index name" ] TeX-arg-index)
+    '("indexprologue" [ "Spacing" ] "Text")
+    '("printindex" [ "Index name" ])
+    '("seealso" 2)
+    '("see" 2)
+    "seename"
+    "alsoname"
+    "indexname")
+
+   (TeX-run-style-hooks
+    "multicol"
+    "xpatch"
+    "pdftexcmds"
+    "ifluatex"
+    "ifxetex"
+    "xkeyval")
+
+   ;; Completion for the |see macro and RefTeX support taken from
+   ;; `makeidx.el'
+   (setq TeX-complete-list
+        (append
+         '(("|see{\\([^{}\n\r]*\\)" 1 LaTeX-index-entry-list))
+         TeX-complete-list))
+   (and (fboundp 'reftex-add-index-macros)
+       (reftex-add-index-macros '(default))))
+ LaTeX-dialect)
+
+(defvar LaTeX-imakeidx-package-options
+  '("makeindex" "xindy" "texindy" "truexindy" "noautomatic" "nonewpage" "quiet"
+    "original" "splitindex")
+  "Package options for the imakeidx package.")
+
+;; imakeidx.el ends here
diff --git a/style/index.el b/style/index.el
index f14630b..66e52da 100644
--- a/style/index.el
+++ b/style/index.el
@@ -75,7 +75,8 @@
 
     ;; RefTeX support
     (and (fboundp 'reftex-add-index-macros)
-        (reftex-add-index-macros '(index)))))
+        (reftex-add-index-macros '(index))))
+  LaTeX-dialect)
 
 (defvar LaTeX-index-package-options nil
   "Package options for the index package.")
diff --git a/style/inputenc.el b/style/inputenc.el
index 8b7be5c..7d00ca7 100644
--- a/style/inputenc.el
+++ b/style/inputenc.el
@@ -77,7 +77,8 @@
  (lambda ()
    ;; New symbols
    (TeX-add-symbols
-    '("inputencoding" LaTeX-arg-inputenc-inputenc))))
+    '("inputencoding" LaTeX-arg-inputenc-inputenc)))
+ LaTeX-dialect)
 
 ;; Local Variables:
 ;; coding: iso-8859-1
diff --git a/style/italian.el b/style/italian.el
index 4578f6f..a7fa3d9 100644
--- a/style/italian.el
+++ b/style/italian.el
@@ -54,6 +54,7 @@
    ;; Fontification of quotation marks.
    (when (fboundp 'font-latex-add-quotes)
      (font-latex-add-quotes '("\"<" "\">" french)))
-   (run-hooks 'TeX-language-it-hook)))
+   (run-hooks 'TeX-language-it-hook))
+ LaTeX-dialect)
 
 ;;; italian.el ends here
diff --git a/style/j-article.el b/style/j-article.el
index 2408e7e..5a26de5 100644
--- a/style/j-article.el
+++ b/style/j-article.el
@@ -1,12 +1,11 @@
 ;;; j-article.el - Special code for j-article style.
 
-;; $Id: j-article.el,v 1.4 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
 (TeX-add-style-hook
  "j-article"
  (lambda ()
-   (LaTeX-largest-level-set "section")))
+   (LaTeX-largest-level-set "section"))
+ LaTeX-dialect)
 
 ;;; j-article.el ends here
diff --git a/style/j-book.el b/style/j-book.el
index 92d11b2..932fe45 100644
--- a/style/j-book.el
+++ b/style/j-book.el
@@ -1,12 +1,11 @@
 ;;; j-book.el - Special code for j-book style.
 
-;; $Id: j-book.el,v 1.3 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
 (TeX-add-style-hook
  "j-book"
  (lambda ()
-   (LaTeX-largest-level-set "chapter")))
+   (LaTeX-largest-level-set "chapter"))
+ LaTeX-dialect)
 
 ;;; j-book.el ends here
diff --git a/style/j-report.el b/style/j-report.el
index 437616f..07dfcb5 100644
--- a/style/j-report.el
+++ b/style/j-report.el
@@ -1,12 +1,11 @@
 ;;; j-report.el - Special code for j-report style.
 
-;; $Id: j-report.el,v 1.3 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
 (TeX-add-style-hook
  "j-report"
  (lambda ()
-   (LaTeX-largest-level-set "chapter")))
+   (LaTeX-largest-level-set "chapter"))
+ LaTeX-dialect)
 
 ;;; j-report.el ends here
diff --git a/style/jarticle.el b/style/jarticle.el
index 010725e..5d38668 100644
--- a/style/jarticle.el
+++ b/style/jarticle.el
@@ -1,12 +1,11 @@
 ;;; jarticle.el - Special code for jarticle style.
 
-;; $Id: jarticle.el,v 1.4 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
 (TeX-add-style-hook
  "jarticle"
  (lambda ()
-   (LaTeX-largest-level-set "section")))
+   (LaTeX-largest-level-set "section"))
+ LaTeX-dialect)
 
 ;;; jarticle.el ends here
diff --git a/style/jbook.el b/style/jbook.el
index a678ebc..beb8748 100644
--- a/style/jbook.el
+++ b/style/jbook.el
@@ -1,12 +1,11 @@
 ;;; jbook.el - Special code for jbook style.
 
-;; $Id: jbook.el,v 1.3 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
 (TeX-add-style-hook
  "jbook"
  (lambda ()
-   (LaTeX-largest-level-set "chapter")))
+   (LaTeX-largest-level-set "chapter"))
+ LaTeX-dialect)
 
 ;;; jbook.el ends here
diff --git a/style/jreport.el b/style/jreport.el
index d2f3f33..751ecc1 100644
--- a/style/jreport.el
+++ b/style/jreport.el
@@ -1,13 +1,12 @@
 ;;; jreport.el - Special code for jreport style.
 
-;; $Id: jreport.el,v 1.3 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
 (TeX-add-style-hook
  "jreport"
  (lambda ()
-   (LaTeX-largest-level-set "chapter")))
+   (LaTeX-largest-level-set "chapter"))
+ LaTeX-dialect)
 
 
 ;;; jreport.el ends here
diff --git a/style/jsarticle.el b/style/jsarticle.el
index 36fc54a..9e50fbb 100644
--- a/style/jsarticle.el
+++ b/style/jsarticle.el
@@ -1,12 +1,11 @@
 ;;; jsarticle.el - Special code for jsarticle style.
 
-;; $Id: jsarticle.el,v 1.2 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
 (TeX-add-style-hook
  "jsarticle"
  (lambda ()
-   (LaTeX-largest-level-set "section")))
+   (LaTeX-largest-level-set "section"))
+ LaTeX-dialect)
 
 ;;; jsarticle.el ends here
diff --git a/style/jsbook.el b/style/jsbook.el
index 3dff339..fae2713 100644
--- a/style/jsbook.el
+++ b/style/jsbook.el
@@ -1,12 +1,11 @@
 ;;; jsbook.el - Special code for jsbook style.
 
-;; $Id: jsbook.el,v 1.2 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
 (TeX-add-style-hook
  "jsbook"
  (lambda () 
-   (LaTeX-largest-level-set "chapter")))
+   (LaTeX-largest-level-set "chapter"))
+ LaTeX-dialect)
 
 ;;; jsbook.el ends here
diff --git a/style/jura.el b/style/jura.el
index 2f149c4..4baac97 100644
--- a/style/jura.el
+++ b/style/jura.el
@@ -32,7 +32,8 @@
 (TeX-add-style-hook
  "jura"
  (lambda ()
-   (TeX-run-style-hooks "alphanum")))
+   (TeX-run-style-hooks "alphanum"))
+ LaTeX-dialect)
 
 ;; Local Variables:
 ;; coding: iso-8859-1
diff --git a/style/jurabib.el b/style/jurabib.el
index c48e383..1919c06 100644
--- a/style/jurabib.el
+++ b/style/jurabib.el
@@ -629,6 +629,7 @@
     "urldatecomment"
     "volname"
     "volumename"
-    "volumeofname")))
+    "volumeofname"))
+ LaTeX-dialect)
 
 ;;; jurabib.el ends here
diff --git a/style/ruby.el b/style/kantlipsum.el
similarity index 59%
copy from style/ruby.el
copy to style/kantlipsum.el
index 0a96e57..cdf510f 100644
--- a/style/ruby.el
+++ b/style/kantlipsum.el
@@ -1,10 +1,9 @@
-;;; ruby.el --- AUCTeX style for the ruby package.
+;;; kantlipsum.el --- AUCTeX style for `kantlipsum.sty'.
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
-;; Created: 2009-01-04
+;; Author: Mosè Giordano <address@hidden>
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,24 +25,22 @@
 
 ;;; Commentary:
 
-;; This file adds support for the ruby package.
+;; This file adds support for `kantlipsum.sty'.
 
 ;;; Code:
 
-(defvar LaTeX-ruby-package-options
-  '("overlap" "nooverlap" "CJK" "latin")
-  "Package options for the ruby package.")
-
 (TeX-add-style-hook
- "ruby"
+ "kantlipsum"
  (lambda ()
    (TeX-add-symbols
-    '("rubyoverlap" 0)
-    '("rubynooverlap" 0)
-    '("rubyCJK" 0)
-    '("rubylatin" 0)
-    '("rubysize" 0)
-    '("rubysep" 0)
-    '("ruby" t nil))))
-
-;;; ruby.el ends here
+    '("kant" [ "Range of paragraph (max: 164)" ])
+    '("kant*" [ "Range of paragraph (max: 164)" ])
+    '("kantdef" TeX-arg-define-macro "Paragraph number"))
+   (TeX-run-style-hooks "xparse"))
+ LaTeX-dialect)
+
+(defvar LaTeX-kantlipsum-package-options
+  '("par" "nopar" "numbers" "index")
+  "Package options for the kantlipsum package.")
+
+;; kantlipsum.el ends here
diff --git a/style/kpfonts.el b/style/kpfonts.el
new file mode 100644
index 0000000..026c81f
--- /dev/null
+++ b/style/kpfonts.el
@@ -0,0 +1,599 @@
+;;; kpfonts.el --- AUCTeX style for `kpfonts.sty' version 3.31.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `kpfonts.sty' version 3.31.
+
+;;; Code:
+
+;;; Kpfonts Minor Mode (heavily based on LaTeX Math Minor Mode code)
+
+(defconst LaTeX-kpfonts-default
+  '(;; Other Greek Lowercase
+    ("o a" "otheralpha" "Other Greek Lowercase" 945) ;; #X03B1
+    ("o b" "otherbeta" "Other Greek Lowercase" 946) ;; #X03B2
+    ("o g" "othergamma" "Other Greek Lowercase" 947) ;; #X03B3
+    ("o d" "otherdelta" "Other Greek Lowercase" 948) ;; #X03B4
+    ("o e" "otherepsilon" "Other Greek Lowercase" 1013) ;; #X03F5
+    ("o z" "otherzeta" "Other Greek Lowercase" 950) ;; #X03B6
+    ("o h" "othereta" "Other Greek Lowercase" 951) ;; #X03B7
+    ("o j" "othertheta" "Other Greek Lowercase" 952) ;; #X03B8
+    (nil "otheriota" "Other Greek Lowercase" 953) ;; #X03B9
+    ("o k" "otherkappa" "Other Greek Lowercase" 954) ;; #X03BA
+    ("o l" "otherlambda" "Other Greek Lowercase" 955) ;; #X03BB
+    ("o m" "othermu" "Other Greek Lowercase" 956) ;; #X03BC
+    ("o n" "othernu" "Other Greek Lowercase" 957) ;; #X03BD
+    ("o x" "otherxi" "Other Greek Lowercase" 958) ;; #X03BE
+    ("o p" "otherpi" "Other Greek Lowercase" 960) ;; #X03C0
+    ("o r" "otherrho" "Other Greek Lowercase" 961) ;; #X03C1
+    ("o s" "othersigma" "Other Greek Lowercase" 963) ;; #X03C3
+    ("o t" "othertau" "Other Greek Lowercase" 964) ;; #X03C4
+    ("o u" "otherupsilon" "Other Greek Lowercase" 965) ;; #X03C5
+    ("o f" "otherphi" "Other Greek Lowercase" 981) ;; #X03D5
+    ("o q" "otherchi" "Other Greek Lowercase" 967) ;; #X03C7
+    ("o y" "otherpsi" "Other Greek Lowercase" 968) ;; #X03C8
+    ("o w" "otheromega" "Other Greek Lowercase" 969) ;; #X03C9
+    ("o v e" "othervarepsilon" "Other Greek Lowercase" 949) ;; #X03B5
+    ("o v j" "othervartheta" "Other Greek Lowercase" 977) ;; #X03D1
+    ("o v p" "othervarpi" "Other Greek Lowercase" 982) ;; #X03D6
+    ("o v r" "othervarrho" "Other Greek Lowercase" 1009) ;; #X03F1
+    ("o v s" "othervarsigma" "Other Greek Lowercase" 962) ;; #X03C2
+    ("o v f" "othervarphi" "Other Greek Lowercase" 966) ;; #X03C6
+    ;; Slanted Greek Lowercase
+    (nil "alphasl" "Slanted Greek Lowercase" 120572) ;; #X1D6FC
+    (nil "betasl" "Slanted Greek Lowercase" 120573) ;; #X1D6FD
+    (nil "gammasl" "Slanted Greek Lowercase" 120574) ;; #X1D6FE
+    (nil "deltasl" "Slanted Greek Lowercase" 120575) ;; #X1D6FF
+    (nil "epsilonsl" "Slanted Greek Lowercase" 120598) ;; #X1D716
+    (nil "zetasl" "Slanted Greek Lowercase" 120577) ;; #X1D701
+    (nil "etasl" "Slanted Greek Lowercase" 120578) ;; #X1D702
+    (nil "thetasl" "Slanted Greek Lowercase" 120579) ;; #X1D703
+    (nil "iotasl" "Slanted Greek Lowercase" 120580) ;; #X1D704
+    (nil "kappasl" "Slanted Greek Lowercase" 120581) ;; #X1D705
+    (nil "lambdasl" "Slanted Greek Lowercase" 120582) ;; #X1D706
+    (nil "musl" "Slanted Greek Lowercase" 120583) ;; #X1D707
+    (nil "nusl" "Slanted Greek Lowercase" 120584) ;; #X1D708
+    (nil "xisl" "Slanted Greek Lowercase" 120585) ;; #X1D709
+    (nil "pisl" "Slanted Greek Lowercase" 120587) ;; #X1D70B
+    (nil "rhosl" "Slanted Greek Lowercase" 120588) ;; #X1D70C
+    (nil "sigmasl" "Slanted Greek Lowercase" 120590) ;; #X1D70E
+    (nil "tausl" "Slanted Greek Lowercase" 120591) ;; #X1D70F
+    (nil "upsilonsl" "Slanted Greek Lowercase" 120592) ;; #X1D710
+    (nil "phisl" "Slanted Greek Lowercase" 120601) ;; #X1D719
+    (nil "chisl" "Slanted Greek Lowercase" 120594) ;; #X1D712
+    (nil "psisl" "Slanted Greek Lowercase" 120595) ;; #X1D713
+    (nil "omegasl" "Slanted Greek Lowercase" 120596) ;; #X1D714
+    (nil "varepsilonsl" "Slanted Greek Lowercase" 120576) ;; #X1D700
+    (nil "varthetasl" "Slanted Greek Lowercase" 120599) ;; #X1D717
+    (nil "varpisl" "Slanted Greek Lowercase" 120603) ;; #X1D71B
+    (nil "varrhosl" "Slanted Greek Lowercase" 120602) ;; #X1D71A
+    (nil "varsigmasl" "Slanted Greek Lowercase" 120589) ;; #X1D70D
+    (nil "varphisl" "Slanted Greek Lowercase" 120593) ;; #X1D711
+    ;; Upright Greek Lowercase
+    (nil "alphaup" "Upright Greek Lowercase" 945) ;; #X03B1
+    (nil "betaup" "Upright Greek Lowercase" 946) ;; #X03B2
+    (nil "gammaup" "Upright Greek Lowercase" 947) ;; #X03B3
+    (nil "deltaup" "Upright Greek Lowercase" 948) ;; #X03B4
+    (nil "epsilonup" "Upright Greek Lowercase" 1013) ;; #X03F5
+    (nil "zetaup" "Upright Greek Lowercase" 950) ;; #X03B6
+    (nil "etaup" "Upright Greek Lowercase" 951) ;; #X03B7
+    (nil "thetaup" "Upright Greek Lowercase" 952) ;; #X03B8
+    (nil "iotaup" "Upright Greek Lowercase" 953) ;; #X03B9
+    (nil "kappaup" "Upright Greek Lowercase" 954) ;; #X03BA
+    (nil "lambdaup" "Upright Greek Lowercase" 955) ;; #X03BB
+    (nil "muup" "Upright Greek Lowercase" 956) ;; #X03BC
+    (nil "nuup" "Upright Greek Lowercase" 957) ;; #X03BD
+    (nil "xiup" "Upright Greek Lowercase" 958) ;; #X03BE
+    (nil "piup" "Upright Greek Lowercase" 960) ;; #X03C0
+    (nil "rhoup" "Upright Greek Lowercase" 961) ;; #X03C1
+    (nil "sigmaup" "Upright Greek Lowercase" 963) ;; #X03C3
+    (nil "tauup" "Upright Greek Lowercase" 964) ;; #X03C4
+    (nil "upsilonup" "Upright Greek Lowercase" 965) ;; #X03C5
+    (nil "phiup" "Upright Greek Lowercase" 981) ;; #X03D5
+    (nil "chiup" "Upright Greek Lowercase" 967) ;; #X03C7
+    (nil "psiup" "Upright Greek Lowercase" 968) ;; #X03C8
+    (nil "omegaup" "Upright Greek Lowercase" 969) ;; #X03C9
+    (nil "varepsilonup" "Upright Greek Lowercase" 949) ;; #X03B5
+    (nil "varthetaup" "Upright Greek Lowercase" 977) ;; #X03D1
+    (nil "varpiup" "Upright Greek Lowercase" 982) ;; #X03D6
+    (nil "varrhoup" "Upright Greek Lowercase" 1009) ;; #X03F1
+    (nil "varsigmaup" "Upright Greek Lowercase" 962) ;; #X03C2
+    (nil "varphiup" "Upright Greek Lowercase" 966) ;; #X03C6
+    ;; Other Greek Uppercase
+    ("o G" "otherGamma" "Other Greek Uppercase" 120548) ;; #X1D6E4
+    ("o D" "otherDelta" "Other Greek Uppercase" 120549) ;; #X1D6E5
+    ("o J" "otherTheta" "Other Greek Uppercase" 120553) ;; #X1D6E9
+    ("o L" "otherLambda" "Other Greek Uppercase" 120556) ;; #X1D6EC
+    ("o X" "otherXi" "Other Greek Uppercase" 120559) ;; #X1D6EF
+    ("o P" "otherPi" "Other Greek Uppercase" 120561) ;; #X1D6F1
+    ("o S" "otherSigma" "Other Greek Uppercase" 120564) ;; #X1D6F4
+    ("o U" "otherUpsilon" "Other Greek Uppercase" 120566) ;; #X1D6F6
+    ("o F" "otherPhi" "Other Greek Uppercase" 120567) ;; #X1D6F7
+    ("o Y" "otherPsi" "Other Greek Uppercase" 120569) ;; #X1D6F9
+    ("o W" "otherOmega" "Other Greek Uppercase" 120570) ;; #X1D6FA
+    ;; Slanted Greek Uppercase
+    (nil "Gammasl" "Slanted Greek Uppercase" 120548) ;; #X1D6E4
+    (nil "Deltasl" "Slanted Greek Uppercase" 120549) ;; #X1D6E5
+    (nil "Thetasl" "Slanted Greek Uppercase" 120553) ;; #X1D6E9
+    (nil "Lambdasl" "Slanted Greek Uppercase" 120556) ;; #X1D6EC
+    (nil "Xisl" "Slanted Greek Uppercase" 120559) ;; #X1D6EF
+    (nil "Pisl" "Slanted Greek Uppercase" 120561) ;; #X1D6F1
+    (nil "Sigmasl" "Slanted Greek Uppercase" 120564) ;; #X1D6F4
+    (nil "Upsilonsl" "Slanted Greek Uppercase" 120566) ;; #X1D6F6
+    (nil "Phisl" "Slanted Greek Uppercase" 120567) ;; #X1D6F7
+    (nil "Psisl" "Slanted Greek Uppercase" 120569) ;; #X1D6F9
+    (nil "Omegasl" "Slanted Greek Uppercase" 120570) ;; #X1D6FA
+    ;; Upright Greek Uppercase
+    (nil "Gammaup" "Upright Greek Uppercase" 915) ;; #X0393
+    (nil "Deltaup" "Upright Greek Uppercase" 916) ;; #X0394
+    (nil "Thetaup" "Upright Greek Uppercase" 920) ;; #X0398
+    (nil "Lambdaup" "Upright Greek Uppercase" 923) ;; #X039B
+    (nil "Xiup" "Upright Greek Uppercase" 926) ;; #X039E
+    (nil "Piup" "Upright Greek Uppercase" 928) ;; #X03A0
+    (nil "Sigmaup" "Upright Greek Uppercase" 931) ;; #X03A3
+    (nil "Upsilonup" "Upright Greek Uppercase" 978) ;; #X03D2
+    (nil "Phiup" "Upright Greek Uppercase" 934) ;; #X03A6
+    (nil "Psiup" "Upright Greek Uppercase" 936) ;; #X03A8
+    (nil "Omegaup" "Upright Greek Uppercase" 937) ;; #X03A9
+    ;; Integrals
+    (nil "varint" "Integrals" nil)
+    (nil "variint" "Integrals" nil)
+    (nil "variiint" "Integrals" nil)
+    (nil "variiiint" "Integrals" nil)
+    (nil "varidotsint" "Integrals" nil)
+    (nil "oiint" "Integrals" 8751) ;; #X222F
+    (nil "ointctrclockwise" "Integrals" 8755) ;; #X2233
+    (nil "ointclockwise" "Integrals" nil)
+    (nil "sqint" "Integrals" 10774) ;; #X2A16
+    (nil "idotsint" "Integrals" nil)
+    (nil "oiiint" "Integrals" 8752) ;; #X2230
+    (nil "varointctrclockwise" "Integrals" nil)
+    (nil "varointclockwise" "Integrals" 8754) ;; #X2232
+    (nil "fint" "Integrals" 10767) ;; #X2A0F
+    (nil "oiintctrclockwise" "Integrals" nil)
+    (nil "varoiintclockwise" "Integrals" nil)
+    (nil "oiiintctrclockwise" "Integrals" nil)
+    (nil "varoiiintclockwise" "Integrals" nil)
+    (nil "oiintclockwise" "Integrals" nil)
+    (nil "varoiintctrclockwise" "Integrals" nil)
+    (nil "oiiintclockwise" "Integrals" nil)
+    (nil "varoiiintctrclockwise" "Integrals" nil)
+    (nil "sqiint" "Integrals" nil)
+    (nil "sqiiint" "Integrals" nil)
+    ;; Mapping
+    (nil "mappedfrom" "Mapping" 8612) ;; #X21A4
+    (nil "longmappedfrom" "Mapping" 10235) ;; #X27FB
+    (nil "Mapsto" "Mapping" 10503) ;; #X2907
+    (nil "Longmapsto" "Mapping" 10238) ;; #X27FE
+    (nil "Mappedfrom" "Mapping" 10502) ;; #X2906
+    (nil "Longmappedfrom" "Mapping" 10237) ;; #X27FD
+    (nil "mmapsto" "Mapping" nil)
+    (nil "longmmapsto" "Mapping" nil)
+    (nil "mmappedfrom" "Mapping" nil)
+    (nil "longmmappedfrom" "Mapping" nil)
+    (nil "Mmapsto" "Mapping" nil)
+    (nil "Longmmapsto" "Mapping" nil)
+    (nil "Mmappedfrom" "Mapping" nil)
+    (nil "Longmmappedfrom" "Mapping" nil)
+    ;; Arrows
+    (nil "dashleftarrow" "Arrows" 10510) ;; #X290E
+    (nil "dashrightarrow" "Arrows" 10511) ;; #X290F
+    (nil "dashleftrightarrow" "Arrows" nil)
+    (nil "leftsquigarrow" "Arrows" 8668) ;; #X21DC
+    (nil "Nearrow" "Arrows" 8663) ;; #X21D7
+    (nil "Searrow" "Arrows" 8664) ;; #X21D8
+    (nil "Nwarrow" "Arrows" 8662) ;; #X21D6
+    (nil "Swarrow" "Arrows" 8665) ;; #X21D9
+    (nil "leadstoext" "Arrows" 12316) ;; #X301C
+    (nil "leadsto" "Arrows" 10547) ;; #X2933
+    (nil "boxright" "Arrows" nil)
+    (nil "Diamondright" "Arrows" nil)
+    (nil "circleright" "Arrows" nil)
+    (nil "boxleft" "Arrows" nil)
+    (nil "Diamondleft" "Arrows" nil)
+    (nil "circleleft" "Arrows" nil)
+    (nil "boxdotright" "Arrows" nil)
+    (nil "Diamonddotright" "Arrows" nil)
+    (nil "circledotright" "Arrows" nil)
+    (nil "boxdotleft" "Arrows" nil)
+    (nil "Diamonddotleft" "Arrows" nil)
+    (nil "circledotleft" "Arrows" nil)
+    (nil "boxRight" "Arrows" nil)
+    (nil "boxLeft" "Arrows" nil)
+    (nil "boxdotRight" "Arrows" nil)
+    (nil "boxdotLeft" "Arrows" nil)
+    (nil "DiamondRight" "Arrows" nil)
+    (nil "DiamondLeft" "Arrows" nil)
+    (nil "DiamonddotRight" "Arrows" nil)
+    (nil "DiamonddotLeft" "Arrows" nil)
+    ;; Neg Arrows
+    (nil "ntwoheadrightarrow" "Neg Arrows" 10496) ;; #X2900
+    (nil "ntwoheadleftarrow" "Neg Arrows" 11060) ;; #X2B34
+    ;; Binary Op
+    (nil "multimap" "Binary Op" 8888) ;; #X22B8
+    (nil "multimapinv" "Binary Op" 10204) ;; #X27DC
+    (nil "multimapboth" "Binary Op" 10719) ;; #X29DF
+    (nil "multimapdot" "Binary Op" nil)
+    (nil "multimapdotinv" "Binary Op" nil)
+    (nil "multimapdotboth" "Binary Op" nil)
+    (nil "multimapdotbothA" "Binary Op" 8886) ;; #X22B6
+    (nil "multimapdotbothB" "Binary Op" 8887) ;; #X22B7
+    (nil "multimapbothvert" "Binary Op" nil)
+    (nil "multimapdotbothvert" "Binary Op" nil)
+    (nil "multimapdotbothAvert" "Binary Op" nil)
+    (nil "multimapdotbothBvert" "Binary Op" nil)
+    (nil "Wr" "Binary Op" nil)
+    (nil "sqcupplus" "Binary Op" nil)
+    (nil "sqcapplus" "Binary Op" nil)
+    (nil "medcirc" "Binary Op" 9898) ;; #X26AA
+    (nil "medbullet" "Binary Op" 9899) ;; #X26AB
+    (nil "invamp" "Binary Op" 8523) ;; #X214B
+    (nil "Diamonddot" "Binary Op" 10192) ;; #X27D0
+    (nil "Diamond" "Binary Op" 9671) ;; #X25C7
+    (nil "Diamondblack" "Binary Op" 9670) ;; #X25C6
+    (nil "strictif" "Binary Op" 8880) ;; #X22B0
+    (nil "strictfi" "Binary Op" 8881) ;; #X22B1
+    (nil "strictiff" "Binary Op" nil)
+    (nil "circledless" "Binary Op" 10688) ;; #X29C0
+    (nil "circledgtr" "Binary Op" 10689) ;; #X29C1
+    (nil "circledwedge" "Binary Op" nil)
+    (nil "circledvee" "Binary Op" nil)
+    (nil "circledbar" "Binary Op" 10678) ;; #X29B6
+    (nil "circledbslash" "Binary Op" 10680) ;; #X29B8
+    (nil "bignplus" "Binary Op" nil)
+    (nil "bigsqcupplus" "Binary Op" nil)
+    (nil "bigsqcapplus" "Binary Op" nil)
+    (nil "bigsqcap" "Binary Op" 10757) ;; #X2A05
+    (nil "varprod" "Binary Op" 10761) ;; #X2A09
+    ;; Relational
+    (nil "doteq" "Relational" 8784) ;; #X2250
+    (nil "VDash" "Relational" 8875) ;; #X22AB
+    (nil "VvDash" "Relational" nil)
+    (nil "cong" "Relational" 8773) ;; #X2245
+    (nil "preceqq" "Relational" 10931) ;; #X2AB3
+    (nil "succeqq" "Relational" 10932) ;; #X2AB4
+    (nil "coloneqq" "Relational" nil)
+    (nil "varparallel" "Relational" 11005) ;; #X2AFD
+    (nil "nvarparallel" "Relational" nil)
+    (nil "varparallelinv" "Relational" nil)
+    (nil "nvarparallelinv" "Relational" nil)
+    (nil "colonapprox" "Relational" nil)
+    (nil "colonsim" "Relational" nil)
+    (nil "Colonapprox" "Relational" nil)
+    (nil "Colonsim" "Relational" nil)
+    (nil "eqqcolon" "Relational" 8789) ;; #X2255
+    (nil "coloneq" "Relational" nil)
+    (nil "eqcolon" "Relational" 8761) ;; #X2239
+    (nil "Coloneqq" "Relational" 10868) ;; #X2A74
+    (nil "Eqqcolon" "Relational" nil)
+    ;; Neg Rel
+    (nil "nprecsim" "Neg Rel" nil)
+    (nil "nsuccsim" "Neg Rel" nil)
+    (nil "nlesssim" "Neg Rel" 8820) ;; #X2274
+    (nil "ngtrsim" "Neg Rel" 8821) ;; #X2275
+    (nil "nlessapprox" "Neg Rel" nil)
+    (nil "ngtrapprox" "Neg Rel" nil)
+    (nil "npreccurlyeq" "Neg Rel" 8928) ;; #X22E0
+    (nil "nsucccurlyeq" "Neg Rel" 8929) ;; #X22E1
+    (nil "ngtrless" "Neg Rel" 8825) ;; #X2279
+    (nil "nlessgtr" "Neg Rel" 8824) ;; #X2278
+    (nil "nbumpeq" "Neg Rel" nil)
+    (nil "nBumpeq" "Neg Rel" nil)
+    (nil "nbacksim" "Neg Rel" nil)
+    (nil "nbacksimeq" "Neg Rel" nil)
+    (nil "nasymp" "Neg Rel" 8813) ;; #X226D
+    (nil "nequiv" "Neg Rel" 8802) ;; #X2262
+    (nil "nsim" "Neg Rel" 8769) ;; #X2241
+    (nil "napprox" "Neg Rel" 8777) ;; #X2249
+    (nil "nsubset" "Neg Rel" 8836) ;; #X2284
+    (nil "nsupset" "Neg Rel" 8837) ;; #X2285
+    (nil "nll" "Neg Rel" nil)
+    (nil "ngg" "Neg Rel" nil)
+    (nil "nthickapprox" "Neg Rel" 8777) ;; #X2249
+    (nil "napproxeq" "Neg Rel" nil)
+    (nil "nprecapprox" "Neg Rel" nil)
+    (nil "nsuccapprox" "Neg Rel" nil)
+    (nil "npreceqq" "Neg Rel" nil)
+    (nil "nsucceqq" "Neg Rel" nil)
+    (nil "nsimeq" "Neg Rel" 8772) ;; #X2244
+    (nil "notin" "Neg Rel" 8713) ;; #X2209
+    (nil "notni" "Neg Rel" 8716) ;; #X220C
+    (nil "nSubset" "Neg Rel" nil)
+    (nil "nSupset" "Neg Rel" nil)
+    (nil "nsqsubseteq" "Neg Rel" 8930) ;; #X22E2
+    (nil "nsqsupseteq" "Neg Rel" 8931) ;; #X22E3
+    (nil "nsqsubset" "Neg Rel" nil)
+    (nil "nsqsupset" "Neg Rel" nil)
+    ;; Delimeters
+    (nil "Lbag" "Delimeters" 10181) ;; #X27C5
+    (nil "Rbag" "Delimeters" 10182) ;; #X27C6
+    (nil "llbracket" "Delimeters" 10214) ;; #X27E6
+    (nil "rrbracket" "Delimeters" 10215) ;; #X27E7
+    ;; Accents
+    (nil "widearc" "Accents" 8978) ;; #X2312
+    (nil "widearcarrow" "Accents" 8405) ;; #X20D5
+    (nil "wideOarc" "Accents" 8405) ;; #X20D5
+    (nil "wideparen" "Accents" 9180) ;; #X23DC
+    (nil "widering" "Accents" nil)
+    ;; Misc
+    ("v 0" "varemptyset" "Misc" 8709) ;; #X2205
+    (nil "lJoin" "Misc" 8905) ;; #X22C9
+    (nil "rJoin" "Misc" 8906) ;; #X22CA
+    (nil "Join" "Misc" 8904) ;; #X22C8
+    (nil "openJoin" "Misc" nil)
+    (nil "lrtimes" "Misc" nil)
+    (nil "opentimes" "Misc" nil)
+    (nil "nplus" "Misc" nil)
+    (nil "Top" "Misc" 10986) ;; #X2AEA
+    (nil "Bot" "Misc" 10987) ;; #X2AEB
+    (nil "Perp" "Misc" 10987) ;; #X2AEB
+    (nil "boxast" "Misc" nil)
+    (nil "boxbslash" "Misc" nil)
+    (nil "boxbar" "Misc" nil)
+    (nil "boxslash" "Misc" nil)
+    (nil "lambdaslash" "Misc" 411) ;; #X019B
+    (nil "lambdabar" "Misc" 411) ;; #X019B
+    (nil "varclubsuit" "Misc" 9831) ;; #X2667
+    (nil "vardiamondsuit" "Misc" 9830) ;; #X2666
+    (nil "varheartsuit" "Misc" 9829) ;; #X2665
+    (nil "varspadesuit" "Misc" 9828)) ;; #X2664
+  "Alist of kpfonts symbols.
+
+Each entry should be a list with upto four elements, KEY, VALUE,
+MENU and CHARACTER.
+
+KEY is the key (after `LaTeX-kpfonts-abbrev-prefix') to be
+redefined in kpfonts minor mode.  If KEY is nil, the symbol has
+no associated keystroke \(it is available in the menu, though\).
+
+VALUE can be a string with the name of the macro to be inserted,
+or a function to be called.  The macro must be given without the
+leading backslash.
+
+The third element MENU is the name of the submenu where the
+command should be added.  MENU can be either a string
+\(e.g. \"greek\"\), a list (e.g. \(\"AMS\" \"Delimiters\"\)\) or
+nil.  If MENU is nil, no menu item will be created.
+
+The fourth element CHARACTER is a Unicode character position for
+menu display.  When nil, no character is shown.
+
+See also `LaTeX-kpfonts-menu'.")
+
+(defvar LaTeX-kpfonts-abbrev-prefix LaTeX-math-abbrev-prefix
+  "Prefix key for use in `LaTeX-kpfonts-mode'.
+This has to be a string representing a key sequence in a format
+understood by the `kbd' macro.  This corresponds to the syntax
+usually used in the Emacs and Elisp manuals.")
+
+(defun LaTeX-kpfonts-abbrev-prefix ()
+  "Make a key definition from the variable `LaTeX-kpfonts-abbrev-prefix'."
+  (if (stringp LaTeX-kpfonts-abbrev-prefix)
+      (read-kbd-macro LaTeX-kpfonts-abbrev-prefix)
+    LaTeX-kpfonts-abbrev-prefix))
+
+(defvar LaTeX-kpfonts-keymap (make-sparse-keymap)
+  "Keymap used for `LaTeX-kpfonts-mode' commands.")
+
+(defvar LaTeX-kpfonts-menu nil
+  "Menu containing commands provided by kpfonts LaTeX package.
+The menu entries will be generated dynamically, but you can specify
+the sequence by initializing this variable.")
+
+;; We set `LaTeX-kpfonts-menu' after its definition because otherwise, 
resetting
+;; AUCTeX with `C-u C-c C-n' would create duplicate entries in menu.
+(setq LaTeX-kpfonts-menu
+      '("Kpfonts"
+       ("Insert Font"
+        ["Math Upright"             (TeX-font nil ?\C-h) :keys "C-c C-f C-h"]
+        ["Math Fraktur"             (TeX-font nil ?\C-k) :keys "C-c C-f C-k"]
+        ["Math Script"              (TeX-font nil ?\C-p) :keys "C-c C-f C-p"]
+        ["Slanted Small Caps"       (TeX-font nil ?\C-l) :keys "C-c C-f C-l"]
+        ["Other Small Caps"         (TeX-font nil ?\C-o) :keys "C-c C-f C-o"]
+        ["Other Slanted Small Caps" (TeX-font nil ?\C-q) :keys "C-c C-f C-q"])
+       ("Replace Font"
+        ["Math Upright"             (TeX-font t ?\C-h) :keys "C-u C-c C-f C-h"]
+        ["Math Fraktur"             (TeX-font t ?\C-k) :keys "C-u C-c C-f C-k"]
+        ["Math Script"              (TeX-font t ?\C-p) :keys "C-u C-c C-f C-p"]
+        ["Slanted Small Caps"       (TeX-font t ?\C-l) :keys "C-u C-c C-f C-l"]
+        ["Other Small Caps"         (TeX-font t ?\C-o) :keys "C-u C-c C-f C-o"]
+        ["Other Slanted Small Caps" (TeX-font t ?\C-q) :keys "C-u C-c C-f 
C-q"])
+       ["Delete Font"              (TeX-font t ?\C-d) :keys "C-c C-f C-d"]
+       "-"
+       ("Other Greek Lowercase") ("Slanted Greek Lowercase")
+       ("Upright Greek Lowercase") ("Other Greek Uppercase")
+       ("Slanted Greek Uppercase") ("Upright Greek Uppercase") ("Integrals")
+       ("Mapping") ("Arrows") ("Neg Arrows") ("Binary Op") ("Relational")
+       ("Neg Rel") ("Delimeters") ("Accents") ("Misc")))
+
+(let ((math (reverse LaTeX-kpfonts-default))
+      (map LaTeX-kpfonts-keymap)
+      (unicode (and LaTeX-math-menu-unicode (fboundp 'decode-char))))
+  (while math
+    (let* ((entry (car math))
+          (key (nth 0 entry))
+          (prefix
+           (and unicode
+                (nth 3 entry)))
+          value menu name)
+      (setq math (cdr math))
+      (if (and prefix
+              (setq prefix (decode-char 'ucs (nth 3 entry))))
+         (setq prefix (concat (string prefix) " \\"))
+       (setq prefix "\\"))
+      (if (listp (cdr entry))
+         (setq value (nth 1 entry)
+               menu (nth 2 entry))
+       (setq value (cdr entry)
+             menu nil))
+      (if (stringp value)
+         (progn
+           (setq name (intern (concat "LaTeX-kpfonts-" value)))
+           (fset name (list 'lambda (list 'arg) (list 'interactive "*P")
+                            (list 'LaTeX-math-insert value 'arg))))
+       (setq name value))
+      (if key
+         (progn
+           (setq key (cond ((numberp key) (char-to-string key))
+                           ((stringp key) (read-kbd-macro key))
+                           (t (vector key))))
+           (define-key map key name)))
+      (if menu
+         (let ((parent LaTeX-kpfonts-menu))
+           (if (listp menu)
+               (progn
+                 (while (cdr menu)
+                   (let ((sub (assoc (car menu) LaTeX-kpfonts-menu)))
+                     (if sub
+                         (setq parent sub)
+                       (setcdr parent (cons (list (car menu)) (cdr parent))))
+                     (setq menu (cdr menu))))
+                 (setq menu (car menu))))
+           (let ((sub (assoc menu parent)))
+             (if sub
+                 (if (stringp value)
+                     (setcdr sub (cons (vector (concat prefix value)
+                                               name t)
+                                       (cdr sub)))
+                   (error "Cannot have multiple special kpfonts menu items"))
+               (setcdr parent
+                       (cons (if (stringp value)
+                                 (list menu (vector (concat prefix value)
+                                                    name t))
+                               (vector menu name t))
+                             (cdr parent)))))))))
+  ;; Make the kpfonts prefix char available if it has not been used as a 
prefix.
+  (unless (lookup-key map (LaTeX-kpfonts-abbrev-prefix))
+    (define-key map (LaTeX-kpfonts-abbrev-prefix) 'self-insert-command)))
+
+(define-minor-mode LaTeX-kpfonts-mode
+  "A minor mode with easy access to kpfonts macros.
+
+Easy insertion of kpfonts symbols.  If you give a prefix
+argument, the symbols will be surrounded by dollar signs.  The
+following commands are defined:
+
+\\{LaTeX-kpfonts-mode-map}"
+  nil nil (list (cons (LaTeX-kpfonts-abbrev-prefix) LaTeX-kpfonts-keymap))
+  (if LaTeX-kpfonts-mode
+      (easy-menu-add LaTeX-kpfonts-mode-menu LaTeX-kpfonts-mode-map)
+    (easy-menu-remove LaTeX-kpfonts-mode-menu))
+  (TeX-set-mode-name))
+
+(easy-menu-define LaTeX-kpfonts-mode-menu
+  LaTeX-kpfonts-mode-map
+  "Menu used in kpfonts minor mode."
+  LaTeX-kpfonts-menu)
+
+(defvar LaTeX-kpfonts-mode-enable LaTeX-math-mode
+  "If non-nil, enable kpfonts minor mode by default.")
+
+(if LaTeX-kpfonts-mode-enable
+    (LaTeX-kpfonts-mode))
+;;; Kpfonts Minor Mode ends here
+
+;; New fonts by `kpfonts'.
+(setq TeX-font-list
+      (append
+       TeX-font-list
+       '(;; Math fonts
+        (?\C-h "" "" "\\mathup{"   "}")
+        (?\C-k "" "" "\\mathfrak{" "}")
+        (?\C-p "" "" "\\mathscr{"  "}")
+        ;; Text fonts
+        (?\C-l "\\textscsl{"      "}")
+        (?\C-o "\\textothersc{"   "}")
+        (?\C-q "\\textotherscsl{" "}"))))
+
+(TeX-add-style-hook
+ "kpfonts"
+ (lambda ()
+   (unless (LaTeX-provided-package-options-member "kpfonts" "notextcomp")
+     (TeX-run-style-hooks "textcomp"))
+   (unless (LaTeX-provided-package-options-member "kpfonts" "noamsmath")
+     (TeX-run-style-hooks "amsmath"))
+   (TeX-add-symbols
+    ;; Text fonts options
+    '("classicstylenums" 1)
+    ;; New text commands
+    '("scslshape" 0)
+    '("otherscshape" 0)
+    '("otherscslshape" 0)
+    "othertailQ"
+    "othertailscq"
+    "othertailscslq"
+    ;; Variant integrate symbols
+    '("D" 1)
+    ;; New extensive symbols
+    '("widearc" 1)
+    '("widearcarrow" 1)
+    '("wideOarc" 1)
+    '("wideparen" 1)
+    '("widering" 1))
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("textscsl" "{")
+                               ("textothersc" "{")
+                               ("textotherscsl" "{"))
+                             'bold-command)
+     (font-latex-add-keywords '(("textscsl" "{")
+                               ("textotherscsl" "{"))
+                             'italic-command)
+     (font-latex-add-keywords '(("scslshape")
+                               ("otherscshape")
+                               ("otherscslshape"))
+                             'bold-declaration)
+     (font-latex-add-keywords '(("scslshape")
+                               ("otherscslshape"))
+                             'italic-declaration)))
+ LaTeX-dialect)
+
+(defvar LaTeX-kpfonts-package-options
+  '(;; Main global options
+    "light" "fulloldstylenums" "fulloldstyle" "fullveryoldstyle"
+    ;; Other global options
+    "nomath" "notext" "nosf" "nott" "onlyrm" "noamsmath" "notextcomp"
+    ;; Text fonts options
+    "lighttext" "oldstylenums" "oldstyle" "veryoldstyle" "rmx" "largesmallcaps"
+    "easyscsl" "nofligatures" "lightmath"
+    ;; Math typesetting options
+    "sfmath" "sfmathbb" "rmmathbb" "nomathscript" "mathcalasscript" 
"classicReIm"
+    "uprightRoman" "frenchstyle" "upright" "oldstylenumsmath" "oldstylemath"
+    "veryoldstylemath" "narrowiints" "partialup" "widermath" "noDcommand"
+    ;; Position of subscripts and superscripts
+    "intlimits" "fullintlimits" "nointlimits" "sumlimits" "fullsumlimits"
+    "nosumlimits"
+    ;; Greek letters in math mode, options
+    "uprightgreeks" "slantedGreeks"
+    ;; Other `amsmath' options
+    "namelimits" "nonamelimits" "leqno" "reqno" "centertags" "tbtags"
+    ;; Misc
+    "nowarning")
+  "Package options for the kpfonts package.")
+
+;; kpfonts.el ends here
diff --git a/style/latexinfo.el b/style/latexinfo.el
index 59daf6c..be64bca 100644
--- a/style/latexinfo.el
+++ b/style/latexinfo.el
@@ -1,9 +1,8 @@
 ;;; latexinfo.el - Support for LaTeXinfo files.
 
-;; Copyright (C) 1993 Free Software Foundation, Inc.
+;; Copyright (C) 1993 Marc Gemis <address@hidden>
 
 ;; Author: Marc Gemis <address@hidden>
-;; Version: $Id: latexinfo.el,v 1.7 2008-02-03 14:53:30 angeli Exp $
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -99,11 +98,11 @@ This fails when the user types in the label of something 
else"
        (TeX-arg-literal " ")
        (TeX-arg-free TeX-arg-define-label "Node name")
        (TeX-arg-literal ", ")
-       (TeX-arg-free TeX-arg-label "Next node")
+       (TeX-arg-free TeX-arg-ref "Next node")
        (TeX-arg-literal ", ")
-       (TeX-arg-free TeX-arg-label "Previous node")
+       (TeX-arg-free TeX-arg-ref "Previous node")
        (TeX-arg-literal ", ")
-       (TeX-arg-free TeX-arg-label "Up node"))
+       (TeX-arg-free TeX-arg-ref "Up node"))
      '("setfilename" TeX-arg-file)
 
      '("var" t)
@@ -137,8 +136,8 @@ This fails when the user types in the label of something 
else"
      '("copyright" nil)
      '("sp" nil)
 
-     '("xref" TeX-arg-label)
-     '("pxref" TeX-arg-label)
+     '("xref" TeX-arg-ref)
+     '("pxref" TeX-arg-ref)
      '("inforef"
        (TeX-arg-literal "{")
        (TeX-arg-free "Name of node")
@@ -176,6 +175,7 @@ This fails when the user types in the label of something 
else"
 
     ;; need the following stuff to let xref and pxref work
     (make-local-variable 'LaTeX-section-label)
-    (setq LaTeX-section-label ""))))
+    (setq LaTeX-section-label "")))
+ LaTeX-dialect)
 
 ;;; latexinfo.el ends here
diff --git a/style/letter.el b/style/letter.el
index fa269a4..d02f8f4 100644
--- a/style/letter.el
+++ b/style/letter.el
@@ -1,6 +1,6 @@
 ;;; letter.el - Special code for letter style.
 
-;; Copyright (C) 1993, 2012  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2012, 2013  Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <address@hidden>
 ;; Maintainer: address@hidden
@@ -25,28 +25,69 @@
 
 ;;; Code:
 
+(defvar LaTeX-letter-class-options
+  '("a4paper" "a5paper" "b5paper" "letterpaper" "legalpaper" "executivepaper"
+    "landscape" "10pt" "11pt" "12pt" "oneside" "twoside" "draft" "final"
+    "leqno" "fleqn")
+  "Package options for the letter class.")
+
 ;; You may want to define this in tex-site.el to contain your
-;; organizations address.  
+;; organizations address.
 (defvar LaTeX-letter-sender-address ""
   "Initial value when prompting for a sender address in the letter style.")
 
-(TeX-add-style-hook "letter"
- (function
-  (lambda ()
-    (LaTeX-add-environments
-     '("letter" LaTeX-env-recipient))
-    (TeX-add-symbols
-     '("name" "Sender: ") 
-     '("address" "Sender address: ")
-     '("signature" "Signature: ")
-     '("opening" "Opening: ")
-     '("closing" "Closing: ")))))
+(TeX-add-style-hook
+ "letter"
+ (lambda ()
+   (LaTeX-add-environments
+    '("letter" LaTeX-env-recipient))
+   (LaTeX-add-pagestyles "headings" "firstpage")
+   (setq LaTeX-default-document-environment "letter")
+   (TeX-add-symbols
+    '("name" "Sender: ")
+    '("address" "Sender address: ")
+    '("signature" "Signature: ")
+    '("opening" "Opening: ")
+    '("closing" "Closing: ")
+    "location"
+    "telephone"
+    "makelabels"
+    "stopbreaks"
+    "startbreaks"
+    "cc"
+    "encl"
+    "ps"
+    "stopletter"
+    "returnaddress"
+    "startlabels"
+    "mlabel"
+    "descriptionlabel"
+    "ccname"
+    "enclname"
+    "pagename"
+    "headtoname")
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("name" "{")
+                               ("address" "{")
+                               ("signature" "{")
+                               ("opening" "{")
+                               ("closing" "{")
+                               ("location" "{")
+                               ("telephone" "{")
+                               ("cc" "{")
+                               ("encl" "{")
+                               ("ps" "{"))
+                             'function)))
+ LaTeX-dialect)
 
 (defun LaTeX-env-recipient (environment)
   "Insert ENVIRONMENT and prompt for recipient and address."
   (let ((sender (read-string "Sender: " (user-full-name)))
        (sender-address (read-string "Sender address: "
-                                   LaTeX-letter-sender-address))
+                                    LaTeX-letter-sender-address))
        (recipient (read-string "Recipient: "))
        (address (read-string "Recipient address: "))
        (signature (read-string "Signature: "))
diff --git a/style/lettrine.el b/style/lettrine.el
index f595c43..ed32a70 100644
--- a/style/lettrine.el
+++ b/style/lettrine.el
@@ -66,7 +66,8 @@
    ;; Fontification
    (when (and (fboundp 'font-latex-add-keywords)
               (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("lettrine" "[{{")) 'textual))))
+     (font-latex-add-keywords '(("lettrine" "[{{")) 'textual)))
+ LaTeX-dialect)
 
 (defvar LaTeX-lettrine-package-options nil
   "Package options for the lettrine package.")
diff --git a/style/ruby.el b/style/lipsum.el
similarity index 61%
copy from style/ruby.el
copy to style/lipsum.el
index 0a96e57..e198480 100644
--- a/style/ruby.el
+++ b/style/lipsum.el
@@ -1,10 +1,9 @@
-;;; ruby.el --- AUCTeX style for the ruby package.
+;;; lipsum.el --- AUCTeX style for `lipsum.sty'.
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
-;; Created: 2009-01-04
+;; Author: Mosè Giordano <address@hidden>
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,24 +25,22 @@
 
 ;;; Commentary:
 
-;; This file adds support for the ruby package.
+;; This file adds support for `lipsum.sty'.
 
 ;;; Code:
 
-(defvar LaTeX-ruby-package-options
-  '("overlap" "nooverlap" "CJK" "latin")
-  "Package options for the ruby package.")
-
 (TeX-add-style-hook
- "ruby"
+ "lipsum"
  (lambda ()
    (TeX-add-symbols
-    '("rubyoverlap" 0)
-    '("rubynooverlap" 0)
-    '("rubyCJK" 0)
-    '("rubylatin" 0)
-    '("rubysize" 0)
-    '("rubysep" 0)
-    '("ruby" t nil))))
-
-;;; ruby.el ends here
+    '("lipsum" [ "Range of paragraph (max: 150)" ])
+    '("lipsum*" [ "Range of paragraph (max: 150)" ])
+    '("setlipsumdefault" [ "Default range of paragraph (max: 150)" ])
+    '("ChangeLipsumPar" 0)))
+ LaTeX-dialect)
+
+(defvar LaTeX-lipsum-package-options
+  '("nopar")
+  "Package options for the lipsum package.")
+
+;; lipsum.el ends here
diff --git a/style/listings.el b/style/listings.el
index cfb11e9..534de62 100644
--- a/style/listings.el
+++ b/style/listings.el
@@ -1,6 +1,6 @@
 ;;; listings.el --- AUCTeX style for `listings.sty'
 
-;; Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2009, 2013 Free Software Foundation, Inc.
 
 ;; Author: Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
@@ -33,8 +33,7 @@
 ;;; Code:
 
 ;; The following are options taken from chapter 4 of the listings
-;; manual (2006/05/08 Version 1.3c).  Experimental options described
-;; in chapter 5 are not included.
+;; manual (2007/02/22 Version 1.4).
 (defvar LaTeX-listings-key-val-options
   '(;; Space and placement
     ("float" ("t" "b" "p" "h")) ; Support [*] as an optional prefix and that
@@ -102,6 +101,7 @@
     ("caption") ; Insert braces?
     ("label")
     ("nolol" ("true" "false"))
+    ("numberbychapter" ("true" "false"))
     ("captionpos" ("t" "b")) ; Can be a subset of tb.
     ("abovecaptionskip")
     ("belowcaptionskip")
@@ -141,8 +141,9 @@
     ("deleteindex")
     ("indexstyle")
     ;; Column alignment
-    ("columns" ("fixed" "flexible" "fullflexible")) ; Also supports an optional
-                                                   ; argument with {c,l,r}.
+    ("columns" ("fixed" "flexible" "fullflexible" "spaceflexible")) ;
+                                        ; Also supports an optional
+                                        ; argument with {c,l,r}.
     ("flexiblecolumns" ("true" "false"))
     ("keepspaces" ("true" "false"))
     ("basewidth")
@@ -185,7 +186,35 @@
     ("morekeywordcomment")
     ("deletekeywordcomment")
     ("keywordcommentsemicolon")
-    ("podcomment" ("true" "false")))
+    ("podcomment" ("true" "false"))
+    ;; The following are all options from chapter 5, which are
+    ;; experimental
+    ;; Export of identifiers
+    ("procnamekeys")
+    ("moreprocnamekeys")
+    ("deleteprocnamekeys")
+    ("procnamestyle")
+    ("indexprocnames" ("true" "false"))
+    ;; Hyperlink references
+    ("hyperref")
+    ("morehyperref")
+    ("deletehyperref")
+    ("hyperanchor")
+    ("hyperlink")
+    ;; Literate programming
+    ("literate") ;; three arguments: replace,replacement text,length
+    ;; LGrind definitions
+    ("lgrindef")
+    ;; Arbitrary linerange markers
+    ("rangebeginprefix")
+    ("rangebeginsuffix")
+    ("rangeendprefix")
+    ("rangeendsuffix")
+    ("rangeprefix")
+    ("rangesuffix")
+    ("includerangemarker" ("true" "false"))
+    ;; Multicolumn Listing
+    ("multicolumn"))
   "Key=value options for listings macros and environments.")
 
 (TeX-add-style-hook
@@ -202,7 +231,15 @@
     "lstlistoflistings"
     '("lstnewenvironment" "Name" ["Number or arguments"] ["Default argument"]
       "Starting code" "Ending code")
-    '("lstset" (TeX-arg-key-val LaTeX-listings-key-val-options)))
+    '("lstset" (TeX-arg-key-val LaTeX-listings-key-val-options))
+    '("lstloadlanguages" t)
+    ;; 4.17 Short Inline Listing Commands
+    '("lstMakeShortInline" [ "Options" ] "Character")
+    '("lstDeleteShortInline" "Character")
+    
+    "lstgrinddeffile" "lstaspectfiles" "lstlanguagefiles"
+    "lstlistingname" "lstlistlistingname")
+   
    ;; New environments
    (LaTeX-add-environments
     '("lstlisting" LaTeX-env-args
@@ -234,10 +271,14 @@
      (font-latex-set-syntactic-keywords)
      ;; Tell font-lock about the update.
      (setq font-lock-set-defaults nil)
-     (font-lock-set-defaults))))
+     (font-lock-set-defaults)))
+ LaTeX-dialect)
 
 (defvar LaTeX-listings-package-options '("draft" "final" "savemem" 
-                                        "noaspects")
+                                        "noaspects"
+                                         ;; procnames is mentioned in
+                                         ;; Section 5.2 
+                                         "procnames")
   "Package options for the listings package.")
 
 ;;; listings.el ends here
diff --git a/style/longtable.el b/style/longtable.el
new file mode 100644
index 0000000..c0c7cf4
--- /dev/null
+++ b/style/longtable.el
@@ -0,0 +1,94 @@
+;;; longtable.el --- AUCTeX style for `longtable.sty'.
+
+;; Copyright (C) 2013, 2014  Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `longtable.sty'.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "longtable"
+ (lambda ()
+   (LaTeX-add-environments
+    '("longtable" (lambda (environment)
+                   (let ((pos (completing-read (TeX-argument-prompt t nil 
"Position")
+                                               '(("l") ("r") ("c"))))
+                         (fmt (read-string "Format: " LaTeX-default-format))
+                         (caption (read-string "Caption: ")))
+                     (setq LaTeX-default-format fmt)
+                     (LaTeX-insert-environment environment
+                                               (concat
+                                                (unless (zerop (length pos))
+                                                  (concat LaTeX-optop pos 
LaTeX-optcl))
+                                                (concat TeX-grop fmt 
TeX-grcl)))
+                     ;; top caption -- do nothing if user skips caption
+                     (unless (zerop (length caption))
+                       ;; the longtable `\caption' is equivalent to a
+                       ;; `\multicolumn', so it needs a `\\' at the
+                       ;; end of the line
+                       (insert TeX-esc "caption" TeX-grop caption TeX-grcl " 
\\\\")
+                       (LaTeX-newline)
+                       (indent-according-to-mode)
+                       ;; ask for a label and insert a new line only
+                       ;; if a label is actually inserted
+                       (when (LaTeX-label environment 'environment)
+                         (LaTeX-newline)
+                         (indent-according-to-mode)))))))
+   (TeX-add-symbols
+    ;; Parameters
+    '("LTleft" 0)
+    '("LTright" 0)
+    '("LTpre" 0)
+    '("LTpost" 0)
+    '("LTcapwidth" 0)
+    '("LTchunksize" 0)
+    ;; Commands to end table rows
+    '("endhead" 0)
+    '("endfirsthead" 0)
+    '("endfoot" 0)
+    '("endlastfoot" 0)
+    ;; Caption commands
+    '("caption*" 1))
+
+   ;; Use the enhanced table formatting
+   (add-to-list 'LaTeX-indent-environment-list
+               '("longtable" LaTeX-indent-tabular))
+
+   ;; Append longtable to `LaTeX-label-alist', in order not to override 
possible
+   ;; custome values.
+   (add-to-list 'LaTeX-label-alist '("longtable" . LaTeX-table-label) t)
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     ;; Actually, `\caption*{}' macro takes only one mandatory
+     ;; argument, not an optional one, the following is a workaround
+     ;; to fontify correctly also the standard `\caption[]{}' macro.
+     (font-latex-add-keywords '(("caption" "*[{"))
+                             'textual)))
+ LaTeX-dialect)
+
+;; longtable.el ends here
diff --git a/style/austrian.el b/style/lscape.el
similarity index 63%
copy from style/austrian.el
copy to style/lscape.el
index 13f28a8..8079c63 100644
--- a/style/austrian.el
+++ b/style/lscape.el
@@ -1,10 +1,10 @@
-;;; austrian.el --- AUCTeX style for the `austrian' babel option.
+;;; lscape.el --- AUCTeX style for `lscape.sty'
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2011 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
+;; Author: Mads Jensen <address@hidden>
 ;; Maintainer: address@hidden
-;; Created: 2009-12-28
+;; Created: 2011-05-04
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,14 +26,20 @@
 
 ;;; Commentary:
 
-;; Set up AUCTeX for editing Austrian text in connection with the
-;; `austrian' babel option.
+;; This file adds support for `lscape.sty'.
 
 ;;; Code:
 
 (TeX-add-style-hook
- "austrian"
+ "lscape"
  (lambda ()
-   (TeX-run-style-hooks "german")))
+   (LaTeX-add-environments
+    "landscape")
+   ;; lscape uses graphics internally to handle the work
+   (TeX-run-style-hooks "graphics"))
+ LaTeX-dialect)
 
-;;; austrian.el ends here
+(defvar LaTeX-lscape-package-options '("pdftex")
+  "Package options for the lscape package.")
+
+;;; lscape.el ends here
diff --git a/style/ltx-base.el b/style/ltx-base.el
index 27034a2..a586a7a 100644
--- a/style/ltx-base.el
+++ b/style/ltx-base.el
@@ -79,7 +79,8 @@
      '("message" "Log Message")
      '("@ifundefined" "Macro Name" 2)
      '("@ifnextchar" (TeX-arg-literal " ") (TeX-arg-free "character") 2 )
-     "expandafter"))))
+     "expandafter")))
+ LaTeX-dialect)
 
 ;; Local Variables:
 ;; coding: iso-8859-1
diff --git a/style/ltxdoc.el b/style/ltxdoc.el
index 113e0df..7edf178 100644
--- a/style/ltxdoc.el
+++ b/style/ltxdoc.el
@@ -33,7 +33,8 @@
  "ltxdoc"
  (lambda ()
    (TeX-run-style-hooks "doc")
-   (TeX-run-style-hooks "ltx-base")))
+   (TeX-run-style-hooks "ltx-base"))
+ LaTeX-dialect)
 
 ;; Local Variables:
 ;; coding: iso-8859-1
diff --git a/style/nicefrac.el b/style/luacode.el
similarity index 55%
copy from style/nicefrac.el
copy to style/luacode.el
index 77aee51..9d29c64 100644
--- a/style/nicefrac.el
+++ b/style/luacode.el
@@ -1,9 +1,9 @@
-;;; nicefrac.el --- AUCTeX style for the LaTeX package `nicefrac.sty' (v0.9b)
+;;; luacode.el --- AUCTeX style for `luacode.sty' version 1.2a.
 
-;; Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
-;; Author: Christian Schlauer <address@hidden>
 ;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -25,21 +25,39 @@
 
 ;;; Commentary:
 
-;; This file adds support for `nicefrac.sty'.
+;; This file adds support for `luacode.sty' 1.2a.
 
 ;;; Code:
 
 (TeX-add-style-hook
- "nicefrac"
+ "luacode"
  (lambda ()
    (TeX-add-symbols
-    '("nicefrac" [ "Font changing command" ] "Numerator" "Denominator"))
+    '("luadirect" 1)
+    '("luaexec" 1)
+    '("luastring" 1)
+    '("luastringN" 1)
+    '("luastringO" 1)
+    '("LuaCodeDebugOn" 0)
+    '("LuaCodeDebugOff" 0))
+   (LaTeX-add-environments
+    '("luacode")
+    '("luacode*"))
+
    ;; Fontification
    (when (and (featurep 'font-latex)
              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("nicefrac" "[{{")) 'textual))))
-
-(defvar LaTeX-nicefrac-package-options '("nice" "ugly")
-  "Package options for the nicefrac package.")
-
-;;; nicefrac.el ends here
+     (font-latex-add-keywords '(("luadirect" "{")
+                               ("luaexec" "{")
+                               ("luastring" "{")
+                               ("luastringN" "{")
+                               ("luastringO" "{")
+                               ("LuaCodeDebugOn")
+                               ("LuaCodeDebugOff"))
+                             'function)))
+ LaTeX-dialect)
+
+(defvar LaTeX-luacode-package-options nil
+  "Package options for the luacode package.")
+
+;;; luacode.el ends here
diff --git a/style/makeidx.el b/style/makeidx.el
index 3425e49..b80ee47 100644
--- a/style/makeidx.el
+++ b/style/makeidx.el
@@ -40,7 +40,8 @@
 
     ;; RefTeX support
     (and (fboundp 'reftex-add-index-macros)
-        (reftex-add-index-macros '(default)))))
+        (reftex-add-index-macros '(default))))
+  LaTeX-dialect)
 
 (defvar LaTeX-makeidx-package-options nil
   "Package options for the makeidx package.")
diff --git a/style/mathtools.el b/style/mathtools.el
new file mode 100644
index 0000000..ab4065b
--- /dev/null
+++ b/style/mathtools.el
@@ -0,0 +1,200 @@
+;;; mathtools.el --- Style hook for the LaTeX package `mathtools'.
+
+;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
+
+;; Author: Mads Jensen <address@hidden>
+;; Created: 2011-02-13
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;;  This file adds support for `mathtools.sty'
+
+;;; Comments:
+
+;;; This package serves as a wrapper for amsmath, adding more features
+;;; and fixing a few bugs in amsmath.  The mathstyle argument for many
+;;; of the macros is discussed at
+;;; <http://www.tug.org/TUGboat/Articles/tb22-4/tb72perlS.pdf>
+
+;;; Code:
+
+;; amsmath options which can be passed directly to mathtools are
+;; appended in the style hook below
+(defvar LaTeX-mathtools-package-options
+  '("fixamsmath" "donotfixamsmathbugs" "allowspaces" "disallowspaces")
+  "Package options for the mathtools package.")
+
+(defvar LaTeX-mathtools-key-val-options
+  '(("showonlyrefs")
+    ("mathic" ("true" "false"))
+    ("showmanualtags" ("true" "false"))
+    ("firstline-afterskip")
+    ("lastline-preskip")
+    ("multlined-pos" ("c" "b" "t"))
+    ("multlined-width")
+    ("centercolon" ("true" "false"))
+    ("prescript-sub-format")
+    ("prescript-sup-format")
+    ("prescript-arg-format"))
+  "Options for the \\mathtoolsset command")
+
+(TeX-add-style-hook
+ "mathtools"
+ (lambda ()
+
+   ;; mathtools requires amsmath, as some bugs in amsmath are fixed
+   (TeX-run-style-hooks "amsmath")
+
+   (dolist (elt LaTeX-amsmath-package-options)
+     (add-to-list 'LaTeX-mathtools-package-options elt))
+
+   (LaTeX-add-environments
+    '("lgathered" ["Vertical position (t or b)"])
+    '("rgathered" ["Vertical position (t or b)"])
+    '("multlined" LaTeX-mathtools-env-multlined)
+    '("matrix*" LaTeX-mathtools-env-matrix-starred)
+    '("pmatrix*" LaTeX-mathtools-env-matrix-starred)
+    '("bmatrix*" LaTeX-mathtools-env-matrix-starred)
+    '("Bmatrix*" LaTeX-mathtools-env-matrix-starred)
+    '("vmatrix*" LaTeX-mathtools-env-matrix-starred)
+    '("Vmatrix*" LaTeX-mathtools-env-matrix-starred)
+    '("spreadlines" LaTeX-mathtools-env-spreadlines)
+    "dcases" "dcases*")
+
+   (TeX-add-symbols
+    '("mathtoolsset" (TeX-arg-key-val LaTeX-mathtools-key-val))
+    '("mathclap" 1)
+    '("mathllap" ["Mathstyle"] t)
+    '("mathrlap" ["Mathstyle"] t)
+    '("mathclap" ["Mathstyle"] t)
+    '("mathmakebox" [TeX-arg-size] [ TeX-arg-size ] 1)
+    '("clap" 1)
+    '("mathmbox" 1)
+    '("cramped" 1)
+    '("crampedllap" [ "Mathstye" ] t)
+    '("crampedrlap" [ "Mathstyle" ] t)
+    '("crampedclap" [ "Mathstyle" ] t)
+    '("smashoperator" [ "Position (l, r or lr (default)" ] 2)
+    ;; 3.1.4 Adjusting the limits of operators
+    ;; explicit argument encapsulation does not seem to be required
+    '("adjustlimits" 4)
+    ;; 3.2 Controlling tags
+    '("newtagform" "Name" ["Inner format"] "Left" "Right")
+    '("renewtagform" "Name" ["Inner format"] "Left" "Right")
+    '("usetagform" "Name")
+    '("xleftrightarrow" ["Below"] "Above")
+    '("xLeftarrow" ["Below"] "Above")
+    '("xRightarrow" ["Below"] "Above")
+    '("xLeftrightarrow" ["Below"] "Above")
+    '("xhookleftarrow" ["Below"] "Above")
+    '("xhookrightarrow" ["Below"] "Above")
+    '("xmapsto" ["Below"] "Above")
+    '("xrightharpoondown" ["Below"] "Above")
+    '("xrightharpoonup" ["Below"] "Above")
+    '("xleftharpoondown" ["Below"] "Above")
+    '("xleftharpoonup" ["Below"] "Above")
+    '("xrightleftharpoons" ["Below"] "Above")
+    '("xleftrightharpoons" ["Below"] "Above")
+    '("underbracket" [ "Rule thickness" ] [ "Bracket height" ] t)
+    '("overbracket" [ "Rule thickness" ] [ "Bracket height" ] t)
+    '("underbrace" 1)
+    '("overbrace" 1)
+    '("LaTeXunderbrace" 1)
+    '("LaTeXoverbrace" 1)
+    ;; 3.4.2
+    '("shoveleft"  [ TeX-arg-size ] 1)
+    '("shoveright" [ TeX-arg-size ] 1)
+    ;; don't understand t, but intertext in amsmath.el uses it
+    '("shortintertext" t)
+    '("DeclarePairedDelimeter" TeX-arg-macro "Left delimeter" "Right 
delimeter")
+    ;; 3.4.4
+    '("MoveEqLeft" [ "Number" ])
+    '("ArrowBetweenLines" [ TeX-arg-macro ] )
+    '("ArrowBetweenLines*" [ TeX-arg-macro ] )
+    ;; colon operators
+    "vcentcolon" "ordinarycolon" "coloneqq" "Coloneqq"
+    "coloneq" "Coloneq" "eqqcolon" "Eqqcolon" "eqcolon"
+    "Eqcolon" "colonapprox" "Colonapprox" "colonsim" "Colonsim"
+    ;; 3.7.1
+    "lparen" "rparen"
+    ;; left sub/superscripts
+    '("prescript" "Below" "Above" t)
+    ;; Declaring math sizes; this command doesn't seem so relevant, but
+    ;; for completion, it's included
+    '("DeclareMathSizes" 4)
+    ;; Gathered envionments
+    '("newgather" "Name" "Pre-line" "Post-line" "After")
+    '("renewgather" "Name" "Pre-line" "Post-line" "After")
+    ;; Split fractions
+    '("splitfrac" 2)
+    '("splitdfrac" 2))
+
+   (setq LaTeX-item-list
+        (append '(("multlined"    . LaTeX-item-equation)
+                  ("lgathered" . LaTeX-item-equation)
+                  ("rgathered" . LaTeX-item-equation)
+                  ("spreadlines" . LaTeX-item-equation)
+                  ("matrix*" .  LaTeX-item-equation)
+                  ("pmatrix*" .  LaTeX-item-equation)
+                  ("bmatrix*" .  LaTeX-item-equation)
+                  ("Bmatrix*" .  LaTeX-item-equation)
+                  ("vmatrix*" .  LaTeX-item-equation)
+                  ("Vmatrix*" .  LaTeX-item-equation)
+                  ("dcases"    . LaTeX-item-equation)
+                  ("dcases*"    . LaTeX-item-equation))
+                LaTeX-item-list))
+
+   (setq LaTeX-label-alist
+        (append '(("lgathered"    . LaTeX-amsmath-label)
+                  ("rgathered"   . LaTeX-amsmath-label)
+                  ("multlined"    . LaTeX-amsmath-label)
+                  LaTeX-label-alist))))
+ LaTeX-dialect)
+
+(defun LaTeX-mathtools-env-matrix-starred (env)
+  (let ((where (read-string "(optional) Vertical placement of columns: ")))
+    (if (string= where "")
+       (setq where "")
+      (setq where (concat "[" where "]")))
+    (LaTeX-insert-environment env where)))
+
+(defun LaTeX-mathtools-env-spreadlines (env)
+  (let ((spread (read-string "Spacing between lines: ")))
+    (LaTeX-insert-environment env (concat TeX-grop spread TeX-grcl))
+    (newline-and-indent)))
+
+;; FIXME: there are probably more subtle ways to support more than one
+;; optional argument; please change if this is the case
+(defun LaTeX-mathtools-env-multlined (env)
+  (let ((pos (read-string "(optional) Position: "))
+       (width (read-string "(optional) Width: "))
+       (extra ""))
+    (if (not (string= pos ""))
+       (setq pos (concat LaTeX-optop pos LaTeX-optcl))
+      (setq pos ""))
+    (if (not (string= width ""))
+       (setq width (concat LaTeX-optop width LaTeX-optcl))
+      (setq width ""))
+    (setq extra (concat pos width))
+    (LaTeX-insert-environment env extra)
+    (newline-and-indent)))
+
+;;; mathtools.el ends here.
diff --git a/style/mdwlist.el b/style/mdwlist.el
index 2e2634d..af6c9b9 100644
--- a/style/mdwlist.el
+++ b/style/mdwlist.el
@@ -55,7 +55,8 @@
      (font-latex-add-keywords '(("makecompactlist" "{{")
                                ("suspend" "[{")
                                ("resume" "[{["))
-                             'function))))
+                             'function)))
+ LaTeX-dialect)
 
 (defvar LaTeX-mdwlist-package-options nil
   "Package options for the mdwlist package.")
diff --git a/style/memoir.el b/style/memoir.el
new file mode 100644
index 0000000..68b74dc
--- /dev/null
+++ b/style/memoir.el
@@ -0,0 +1,83 @@
+;;; memoir.el --- AUCTeX style for `memoir.cls'
+
+;; Copyright (C) 2012 Free Software Foundation, Inc.
+
+;; Author: Mads Jensen <address@hidden>
+;; Maintainer: address@hidden
+;; Created: 2012-12-28
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `memoir.cls'.  Memoir is a very extensive
+;; document class that lets you configure things very easily; `memoir'
+;; loads (emulates) a lot of classes.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "memoir"
+ (lambda ()
+   (TeX-add-symbols
+    ;; 6.4 Book and part headings
+    "beforebookskip" "afterbookskip"
+    "beforepartskip" "afterpartskip"
+
+    "printbookname" "booknamefont"
+    "booknamenum"
+    "printbooknum" "booknumfont"
+    "printpartname" "partnamefont"
+    "partnamenum"
+    "printpartnum" "partnumfont"
+
+    '("printbooktitle" "Title")
+    "booktitlefont"
+    '("printparttitle" "Title")
+    "parttitlefont"
+
+    '("bookpagemark" "Title")
+    '("partmark" "Title")
+
+    "bookpageend" "bookblankpage" "nobookblankpage"
+    "partpageend" "partblankpage" "nopartblankpage"
+
+    '("newleadpage"    [ TeX-arg-pagestyle ] 1 "Title")
+    '("newleadpage*"   [ TeX-arg-pagestyle ] 1 "Title")
+    '("renewleadpage*" [ TeX-arg-pagestyle ] 1 "Title")
+    '("renewleadpage*" [ TeX-arg-pagestyle ] 1 "Title")
+
+    "leadpagetoclevel")
+
+   ;; Emulated packages.  The `memoir' class contains a list of files
+   ;; emulated at the end of the class-file
+   (TeX-run-style-hooks
+    "abstract" "appendix" "array" "booktabs" "ccaption"
+    "changepage" "chngcntr" "chngpage" "crop" "dcolumn"
+    "delarray" "enumerate" "epigraph" "ifmtarg" "ifetex"
+    "ifluatex" "ifpdf" "ifxetex" "index" "makeidx" "moreverb"
+    "mparhack" "needspace" "newfile" "nextpage" "pagenote"
+    "parskip" "patchcmd" "setspace" "shortvrb" "showidx"
+    "tabularx" "titleref" "titling" "tocbibind" "tocloft"
+    "verbatim" "verse")
+
+   (LaTeX-largest-level-set "chapter"))
+ LaTeX-dialect)
+
+;;; memoir.el ends here
diff --git a/style/metalogo.el b/style/metalogo.el
new file mode 100644
index 0000000..055347e
--- /dev/null
+++ b/style/metalogo.el
@@ -0,0 +1,85 @@
+;;; metalogo.el --- AUCTeX style for `metalogo.sty' version 0.12.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for the `metalogo.sty' version 0.12.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "metalogo"
+ (lambda ()
+   (TeX-add-symbols
+    ;; Logos
+    '("LaTeXe")
+    '("XeTeX")
+    '("XeLaTeX")
+    '("LuaTeX")
+    '("LuaLaTeX")
+    ;; Commands
+    '("setlogokern"
+      (TeX-arg-eval completing-read "Kern parameters: "
+                   '(("Te") ("eX") ("La") ("aT") ("Xe") ("eT") ("eL") ("X2")))
+      (TeX-arg-length "Dimension"))
+    '("setlogodrop"
+      [TeX-arg-eval completing-read "Drop parameters: "
+                   '(("TeX") ("Xe") ("XeTeX"))]
+      (TeX-arg-length "Dimension"))
+    '("setLaTeXa" 1)
+    '("setLaTeXee" 1)
+    '("seteverylogo" 1)
+    '("everylogo" 1))
+
+   ;; The main macros of this package are the logos, while fine-tuning commands
+   ;; probably will be used only by expert users.
+   (TeX-declare-expert-macros
+    "metalogo"
+    "setlogokern" "setlogodrop" "setLaTeXa" "setLaTeXee"
+    "seteverylogo" "everylogo")
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '( ;; Logos
+                               ("LaTeXe")
+                               ("XeTeX")
+                               ("XeLaTeX")
+                               ("LuaTeX")
+                               ("LuaLaTeX")
+                               ;; Commands
+                               ("setlogokern" "{{")
+                               ("setlogodrop" "[{")
+                               ("setLaTeXa" "{")
+                               ("setLaTeXee" "{")
+                               ("seteverylogo" "{")
+                               ("everylogo" "{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defvar LaTeX-metalogo-package-options nil
+  "Package options for the metalogo package.")
+
+;;; metalogo.el ends here
diff --git a/style/xspace.el b/style/mflogo.el
similarity index 66%
copy from style/xspace.el
copy to style/mflogo.el
index 15f9216..957e86d 100644
--- a/style/xspace.el
+++ b/style/mflogo.el
@@ -1,9 +1,8 @@
-;;; xspace.el --- AUCTeX style for `xspace.sty'
-
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;;; mflogo.el --- AUCTeX style for `mflogo.sty'
 
 ;; Author: Mads Jensen <address@hidden>
-;; Created: 2011-02-01
+;; Maintainer: address@hidden
+;; Created: 2011-02-02
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -25,27 +24,26 @@
 
 ;;; Commentary:
 
-;; This file adds support for `xspace.sty'.
+;; This file adds support for `mflogo.sty'.
 
 ;;; Code:
 
 (TeX-add-style-hook
- "xspace"
+ "mflogo"
  (lambda ()
    (TeX-add-symbols
-    '("xspace" 0)
-    "xspaceaddexception"
-    "xspaceremoveexception")
+    '("textlogo" 1)
+    '("logofamily" 1))
 
    ;; Fontification
    (when (and (featurep 'font-latex)
              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("xspace" "")
-                               ("xspaceaddexception" "{")
-                               ("xspaceremoveexception" "{"))
-                             'function))))
+     (font-latex-add-keywords '(("logofamily" "{")
+                               ("textlogo" "{"))
+                             'function)))
+ LaTeX-dialect)
 
-(defvar LaTeX-xspace-package-options nil
-  "Package options for the xspace package.")
+(defvar LaTeX-mflogo-package-options nil
+  "Package options for the mflogo package.")
 
-;;; xspace.el ends here
+;;; mflogo.el ends here
diff --git a/style/multicol.el b/style/multicol.el
index 5d73221..f57f609 100644
--- a/style/multicol.el
+++ b/style/multicol.el
@@ -53,7 +53,8 @@
     '("columnseprulecolor" 0)
     '("raggedcolumns" 0)
     '("flushcolumns" 0)
-    "columnbreak")))
+    "columnbreak"))
+ LaTeX-dialect)
 
 (defvar LaTeX-multicol-package-options
   '("errorshow" "infoshow" "balancingshow" "markshow" "debugshow" "grid")
diff --git a/style/multido.el b/style/multido.el
index 786185e..c9c3a6a 100644
--- a/style/multido.el
+++ b/style/multido.el
@@ -47,6 +47,7 @@
      "multidostop"
      "multidocount"
      '("fpAdd" "Summand 1" "Summand 2" "Register")
-     '("fpSub" "Minuend" "Subtrahend" "Register")))))
+     '("fpSub" "Minuend" "Subtrahend" "Register"))))
+ LaTeX-dialect)
 
 ;;; multido.el ends here
diff --git a/style/multind.el b/style/multind.el
index 45c710b..76eabfe 100644
--- a/style/multind.el
+++ b/style/multind.el
@@ -53,7 +53,8 @@
 
     ;; RefTeX support
     (and (fboundp 'reftex-add-index-macros)
-        (reftex-add-index-macros '(multind)))))
+        (reftex-add-index-macros '(multind))))
+  LaTeX-dialect)
 
 (defvar LaTeX-multind-package-options nil
   "Package options for the multind package.")
diff --git a/style/xspace.el b/style/multirow.el
similarity index 65%
copy from style/xspace.el
copy to style/multirow.el
index 15f9216..6d00d5e 100644
--- a/style/xspace.el
+++ b/style/multirow.el
@@ -1,9 +1,9 @@
-;;; xspace.el --- AUCTeX style for `xspace.sty'
+;;; multirow.el --- AUCTeX style for `multirow.sty'
 
 ;; Copyright (C) 2011 Free Software Foundation, Inc.
 
 ;; Author: Mads Jensen <address@hidden>
-;; Created: 2011-02-01
+;; Maintainer: address@hidden
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -25,27 +25,28 @@
 
 ;;; Commentary:
 
-;; This file adds support for `xspace.sty'.
+;; This file adds support for `multirow.sty'.
 
 ;;; Code:
 
 (TeX-add-style-hook
- "xspace"
+ "multirow"
  (lambda ()
    (TeX-add-symbols
-    '("xspace" 0)
-    "xspaceaddexception"
-    "xspaceremoveexception")
+    '("multirow" "Number of rows"
+      [ "Big struts" ] "Width" [ "Fixup" ] t)
+    "multirowsetup")
+
+   (if (not (boundp 'LaTeX-bigstruct-package-options))
+       (TeX-add-symbols "bigstrutjot"))
 
    ;; Fontification
    (when (and (featurep 'font-latex)
              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("xspace" "")
-                               ("xspaceaddexception" "{")
-                               ("xspaceremoveexception" "{"))
-                             'function))))
+     (font-latex-add-keywords '(("multirow" "{[{")) 'function)))
+ LaTeX-dialect)
 
-(defvar LaTeX-xspace-package-options nil
-  "Package options for the xspace package.")
+(defvar LaTeX-multirow-package-options nil
+  "Package options for the multirow package.")
 
-;;; xspace.el ends here
+;;; multirow.el ends here
diff --git a/style/xspace.el b/style/nameref.el
similarity index 58%
copy from style/xspace.el
copy to style/nameref.el
index 15f9216..d09ddbe 100644
--- a/style/xspace.el
+++ b/style/nameref.el
@@ -1,9 +1,9 @@
-;;; xspace.el --- AUCTeX style for `xspace.sty'
+;;; nameref.el --- AUCTeX style for `nameref.sty'
 
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
 ;; Author: Mads Jensen <address@hidden>
-;; Created: 2011-02-01
+;; Maintainer: address@hidden
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -25,27 +25,28 @@
 
 ;;; Commentary:
 
-;; This file adds support for `xspace.sty'.
+;; This file adds support for `nameref.sty'
 
 ;;; Code:
 
 (TeX-add-style-hook
- "xspace"
+ "nameref"
  (lambda ()
    (TeX-add-symbols
-    '("xspace" 0)
-    "xspaceaddexception"
-    "xspaceremoveexception")
-
-   ;; Fontification
-   (when (and (featurep 'font-latex)
+    '("nameref" TeX-arg-ref))
+   
+   (setq TeX-complete-list
+         (append '(("\\\\nameref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}"))
+                 TeX-complete-list))
+   
+   ;, Fontification
+   (when (and (fboundp 'font-latex-add-keywords)
+             (fboundp 'font-latex-set-syntactic-keywords)
              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("xspace" "")
-                               ("xspaceaddexception" "{")
-                               ("xspaceremoveexception" "{"))
-                             'function))))
+     (font-latex-add-keywords '(("nameref" "{")) 'reference)))
+ LaTeX-dialect)
 
-(defvar LaTeX-xspace-package-options nil
-  "Package options for the xspace package.")
+(defvar LaTeX-nameref-package-options nil
+  "Package options for nameref.")
 
-;;; xspace.el ends here
+;; nameref.el ends here
diff --git a/style/natbib.el b/style/natbib.el
index bf9971e..522656c 100644
--- a/style/natbib.el
+++ b/style/natbib.el
@@ -105,7 +105,8 @@
 
     ;; Tell RefTeX
     (if (fboundp 'reftex-set-cite-format)
-       (reftex-set-cite-format 'natbib)))))
+       (reftex-set-cite-format 'natbib))))
+ LaTeX-dialect)
 
 (defun natbib-note-args (optional &optional prompt definition)
   "Prompt for two note arguments a natbib citation command."
diff --git a/style/naustrian.el b/style/naustrian.el
index 0eb1294..99a7e30 100644
--- a/style/naustrian.el
+++ b/style/naustrian.el
@@ -34,6 +34,7 @@
 (TeX-add-style-hook
  "naustrian"
  (lambda ()
-   (TeX-run-style-hooks "ngerman")))
+   (TeX-run-style-hooks "ngerman"))
+ LaTeX-dialect)
 
 ;;; naustrian.el ends here
diff --git a/style/ngerman.el b/style/ngerman.el
index 8acd2f5..9c49ee6 100644
--- a/style/ngerman.el
+++ b/style/ngerman.el
@@ -44,6 +44,7 @@
      (font-latex-add-quotes '("\">" "\"<" german))
      ;; Prevent "| from leading to color bleed.
      (font-latex-add-to-syntax-alist (list (cons ?\" "\\"))))
-   (run-hooks 'TeX-language-de-hook)))
+   (run-hooks 'TeX-language-de-hook))
+ LaTeX-dialect)
 
 ;;; ngerman.el ends here
diff --git a/style/nicefrac.el b/style/nicefrac.el
index 77aee51..3bd308e 100644
--- a/style/nicefrac.el
+++ b/style/nicefrac.el
@@ -37,7 +37,8 @@
    ;; Fontification
    (when (and (featurep 'font-latex)
              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("nicefrac" "[{{")) 'textual))))
+     (font-latex-add-keywords '(("nicefrac" "[{{")) 'textual)))
+ LaTeX-dialect)
 
 (defvar LaTeX-nicefrac-package-options '("nice" "ugly")
   "Package options for the nicefrac package.")
diff --git a/style/nomencl.el b/style/nomencl.el
index 3b04d7b..b22c054 100644
--- a/style/nomencl.el
+++ b/style/nomencl.el
@@ -65,6 +65,7 @@
    (when (and (featurep 'font-latex)
              (eq TeX-install-font-lock 'font-latex-setup))
      (font-latex-add-keywords '(("nomenclature" "[{{"))
-                             'reference))))
+                             'reference)))
+ LaTeX-dialect)
 
 ;;; nomencl.el ends here
diff --git a/style/paralist.el b/style/paralist.el
index a004d3c..e528de4 100644
--- a/style/paralist.el
+++ b/style/paralist.el
@@ -1,6 +1,6 @@
 ;;; paralist.el -- AUCTeX style for paralist.sty
 
-;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2005, 2014 Free Software Foundation, Inc.
 
 ;; Author:   Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
@@ -72,17 +72,19 @@
     '("asparaitem" LaTeX-paralist-env-item-opt-label)
     '("inparaitem" LaTeX-paralist-env-item-opt-label)
     '("compactitem" LaTeX-paralist-env-item-opt-label)
-    '("compactdesc" LaTeX-env-item)
-    ;; FIXME: Should not be available if package is loaded with option
-    ;; `olditem':
-    '("itemize" LaTeX-paralist-env-item-opt-label)
-    ;; FIXME: Should not be available if package is loaded with option
-    ;; `oldenum':
-    '("enumerate" LaTeX-paralist-env-item-opt-label)
-    ;; FIXME: Only defined if package is loaded with option
-    ;; `defblank':
-    '("asparablank" LaTeX-env-item)
-    '("inparablank" LaTeX-env-item))
+    '("compactdesc" LaTeX-env-item))
+   ;; Environments (re)defined only when the package is loaded with particular
+   ;; options.
+   (unless (LaTeX-provided-package-options-member "paralist" "olditem")
+     (LaTeX-add-environments
+      '("itemize" LaTeX-paralist-env-item-opt-label)))
+   (unless (LaTeX-provided-package-options-member "paralist" "oldenum")
+     (LaTeX-add-environments
+      '("enumerate" LaTeX-paralist-env-item-opt-label)))
+   (when (LaTeX-provided-package-options-member "paralist" "defblank")
+     (LaTeX-add-environments
+      '("asparablank" LaTeX-env-item)
+      '("inparablank" LaTeX-env-item)))
 
    ;; Fontification
    (when (and (featurep 'font-latex)
@@ -90,7 +92,8 @@
      (font-latex-add-keywords '(("setdefaultitem" "{{{{")
                                ("setdefaultenum" "{{{{")
                                ("setdefaultleftmargin" "{{{{{{"))
-                             'variable))))
+                             'variable)))
+ LaTeX-dialect)
 
 (defvar LaTeX-paralist-package-options '("newitem" "olditem" "newenum"
                                         "oldenum" "alwaysadjust"
diff --git a/style/pdfsync.el b/style/pdfsync.el
index a366fd7..39345f4 100644
--- a/style/pdfsync.el
+++ b/style/pdfsync.el
@@ -86,6 +86,7 @@
 (TeX-add-style-hook
  "pdfsync"
  (lambda ()
-   (setq TeX-source-correlate-output-page-function 
'LaTeX-pdfsync-output-page)))
+   (setq TeX-source-correlate-output-page-function 'LaTeX-pdfsync-output-page))
+ LaTeX-dialect)
 
 ;;; pdfsync.el ends here
diff --git a/style/austrian.el b/style/placeins.el
similarity index 67%
copy from style/austrian.el
copy to style/placeins.el
index 13f28a8..cb4fb33 100644
--- a/style/austrian.el
+++ b/style/placeins.el
@@ -1,10 +1,9 @@
-;;; austrian.el --- AUCTeX style for the `austrian' babel option.
+;;; placeins.el --- AUCTeX style for `placeins.sty'
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
+;; Author: Mads Jensen <address@hidden>
 ;; Maintainer: address@hidden
-;; Created: 2009-12-28
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,14 +25,19 @@
 
 ;;; Commentary:
 
-;; Set up AUCTeX for editing Austrian text in connection with the
-;; `austrian' babel option.
+;; This file adds support for `placeins.sty'
 
 ;;; Code:
 
 (TeX-add-style-hook
- "austrian"
+ "placeins"
  (lambda ()
-   (TeX-run-style-hooks "german")))
+   (TeX-add-symbols
+    '("FloatBarrier" 0)))
+ LaTeX-dialect)
 
-;;; austrian.el ends here
+(defvar LaTeX-placeins-package-options 
+  '("section" "above" "below" "verbose")
+  "Package options for placeins.")
+
+;; placeins.el ends here
diff --git a/style/plext.el b/style/plext.el
new file mode 100644
index 0000000..9afefc0
--- /dev/null
+++ b/style/plext.el
@@ -0,0 +1,78 @@
+;;; plext.el --- AUCTeX style for the plext package.
+
+;; Copyright (C) 2014 Free Software Foundation, Inc.
+
+;; Author: Ikumi Keita <address@hidden>
+;; Maintainer: address@hidden
+;; Created: 2014-07-05
+;; Keywords: tex, japanese
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for the plext package.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "plext"
+ (lambda ()
+   ;; plext.sty extends some environments to accept option, e.g. <t>,
+   ;; for vertical typesetting.
+   (LaTeX-add-environments
+    ;; TODO: Add support for minipage and picture
+    ;; environments extension.
+    '("array"    LaTeX-plext-env-array)
+    '("tabular"  LaTeX-plext-env-array)
+    '("tabular*" LaTeX-plext-env-array))
+
+   (set (make-local-variable 'LaTeX-array-skipping-regexp)
+       (concat "\\(?:<[tyz]>\\)?[ \t]*" (regexp-opt '("[t]" "[b]" ""))))
+   (set (make-local-variable 'LaTeX-tabular*-skipping-regexp)
+       (concat "\\(?:<[tyz]>\\)?[ \t]*{[^}]*}[ \t]*"
+               (regexp-opt '("[t]" "[b]" "")))))
+ LaTeX-dialect)
+
+(defun LaTeX-plext-env-array (env)
+  (let ((dir (read-string "(Optional) Direction (t or y or z): "))
+       (width (if (string= env "tabular*")
+                  (read-string "Width: " LaTeX-default-width)))
+       (pos (and LaTeX-default-position ; LaTeX-default-position can
+                                       ; be nil, i.e. do not prompt
+                 (read-string "(Optional) Position: " LaTeX-default-position)))
+       (fmt (read-string "Format: " LaTeX-default-format)))
+    (unless (zerop (length dir))
+      (setq dir (concat "<" dir ">")))
+    (if (string= env "tabular*")
+       (setq LaTeX-default-width width))
+    (setq LaTeX-default-position pos)
+    (setq LaTeX-default-format fmt)
+    (LaTeX-insert-environment env
+                             (concat
+                              dir
+                              (if (string= env "tabular*")
+                                  (concat TeX-grop width TeX-grcl))
+                              (unless (zerop (length pos))
+                                (concat LaTeX-optop pos LaTeX-optcl))
+                              (concat TeX-grop fmt TeX-grcl)))
+    (if (string= env "tabular*")
+       (LaTeX-item-tabular* t)
+      (LaTeX-item-array t))))
+
+;;; plext.el ends here.
diff --git a/style/plfonts.el b/style/plfonts.el
index 809017c..9df8739 100644
--- a/style/plfonts.el
+++ b/style/plfonts.el
@@ -1,7 +1,5 @@
 ;;; plfonts.el - Setup AUC TeX for editing Polish text with plfonts.sty
 
-;; $Id: plfonts.el,v 1.1 1994-01-30 21:17:25 amanda Exp $
-
 ;;; Commentary:
 ;;
 ;; `plfonts.sty' use `"' to make next character Polish.
@@ -26,6 +24,7 @@
    (setq TeX-close-quote "\">")
    (setq TeX-quote-after-quote t)
    (setq TeX-command-default "plLaTeX")
-   (run-hooks 'TeX-language-pl-hook))))
+   (run-hooks 'TeX-language-pl-hook)))
+ LaTeX-dialect)
 
 ;;; plfonts.el ends here
diff --git a/style/plhb.el b/style/plhb.el
index 7d0749b..0705550 100644
--- a/style/plhb.el
+++ b/style/plhb.el
@@ -1,7 +1,5 @@
 ;;; plhb.el - Setup AUC TeX for editing Polish text with plhb.sty
 
-;; $Id: plhb.el,v 1.1 1994-01-30 21:17:27 amanda Exp $
-
 ;;; Commentary:
 ;;
 ;; `plhb.sty' use `"' to make next character Polish.
@@ -26,6 +24,7 @@
    (setq TeX-close-quote "\">")
    (setq TeX-quote-after-quote t)
    (setq TeX-command-default "plLaTeX")
-   (run-hooks 'TeX-language-pl-hook))))
+   (run-hooks 'TeX-language-pl-hook)))
+ LaTeX-dialect)
 
 ;;; plhb.el ends here
diff --git a/style/polish.el b/style/polish.el
index 1538f9c..dac3451 100644
--- a/style/polish.el
+++ b/style/polish.el
@@ -47,6 +47,7 @@
    (when (fboundp 'font-latex-add-quotes)
      (font-latex-add-quotes '("\"`" "\"'"))
      (font-latex-add-quotes '("\"<" "\">" french)))
-   (run-hooks 'TeX-language-pl-hook)))
+   (run-hooks 'TeX-language-pl-hook))
+ LaTeX-dialect)
 
 ;;; polish.el ends here
diff --git a/style/polski.el b/style/polski.el
index 7b6fcfc..ef1985b 100644
--- a/style/polski.el
+++ b/style/polski.el
@@ -50,6 +50,7 @@
    ;; Fontification of quotation marks.
    (when (fboundp 'font-latex-add-quotes)
      (font-latex-add-quotes '(",," "''")))
-   (run-hooks 'TeX-language-pl-hook)))
+   (run-hooks 'TeX-language-pl-hook))
+ LaTeX-dialect)
 
 ;;; polski.el ends here
diff --git a/style/prosper.el b/style/prosper.el
index b0939c7..3b6de6d 100644
--- a/style/prosper.el
+++ b/style/prosper.el
@@ -1,6 +1,6 @@
 ;;; prosper.el --- Prosper style file for AUCTeX
 
-;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002 by Philip Lord, Nevin Kapur
 
 ;; Authors:  Phillip Lord<address@hidden>
 ;;           Nevin Kapur <address@hidden>
@@ -18,23 +18,23 @@
 ;; This is a propser (http://prosper.sourceforge.net/) style file for
 ;; AUCTeX.
 
-;;; Installation: 
-;; 
-;; For this file to work you need to have a working installation of 
-;; AucTeX. After that installtion is simple. Put this file into one of 
-;; the directories specified in `TeX-style-path', with the name 
-;; "style" rather than "auto" as it might get over written in the 
-;; latter.  
-;; 
-;; Then stick the current for into your .emacs 
-;; (eval-after-load "latex" 
-;;   '(add-to-list 'LaTeX-style-list '("prosper"))) 
-;;  
+;;; Installation:
 ;;
-;; And that should be it. You check whether it's worked or not by 
-;; opening a prosper document, and trying `LaTeX-environment'. "slide" 
-;; should be available by tab completion and it should ask you about 
-;; overlays.  
+;; For this file to work you need to have a working installation of
+;; AucTeX. After that installtion is simple. Put this file into one of
+;; the directories specified in `TeX-style-path', with the name
+;; "style" rather than "auto" as it might get over written in the
+;; latter.
+;;
+;; Then stick the current for into your .emacs
+;; (eval-after-load "latex"
+;;   '(add-to-list 'LaTeX-style-list '("prosper")))
+;;
+;;
+;; And that should be it. You check whether it's worked or not by
+;; opening a prosper document, and trying `LaTeX-environment'. "slide"
+;; should be available by tab completion and it should ask you about
+;; overlays.
 ;;
 ;; The environment "prosper" should be inserted immediately after the
 ;; document environment.  It will prompt you for options available
@@ -45,7 +45,7 @@
 ;; Currently the documentclass expansion doesn't work, unless you
 ;; enter a documentclass line to let auctex know which style files to
 ;; load. Then delete this and do it again. Not good. I know no way
-;; around this. 
+;; around this.
 
 ;;; Code:
 
@@ -61,8 +61,7 @@
 
 
 
-(defconst LaTeX-prosper-version
-  "$Id: prosper.el,v 1.5 2008-05-25 06:50:33 angeli Exp $"
+(defconst LaTeX-prosper-version "2008-05-25"
   "prosper.el version.")
 
 (defconst LaTeX-prosper-transition-styles '("Split"
@@ -78,7 +77,7 @@
   '("alienglow" "autumn" "azure"
     "contemporain" "darkblue" "default" "frames"
     "lignesbleues" "nuancegris" "troispoints"
-    "alcatel" "gyom" "pascal" "rico"    
+    "alcatel" "gyom" "pascal" "rico"
     ))
 
 (defun LaTeX-prosper-insert-title (optional)
@@ -99,8 +98,8 @@
               (car LaTeX-prosper-transition-history)
             "Replace")))
     (TeX-argument-insert
-     (completing-read 
-      (TeX-argument-prompt nil 
+     (completing-read
+      (TeX-argument-prompt nil
                            (format "Transition (Default %s) " default)
                            t)
       (mapcar 'list LaTeX-prosper-transition-styles)
@@ -116,8 +115,8 @@
    "Slide Style?"
    (mapcar 'list LaTeX-prosper-slide-styles)
    nil nil nil nil "default" ))
-   
-   
+
+
 (defun LaTeX-prosper-insert-options(environment)
   (insert "[" )
   (insert (LaTeX-prosper-slide-style-prompt) " ")
@@ -132,15 +131,15 @@
   (delete-char -1)
   (insert "]"))
 
-(defun LaTeX-prosper-insert-slide (environment) 
-  (if (y-or-n-p "Surround with overlay ?") 
-      (progn (TeX-insert-macro "overlays") 
-             (if (search-backward "{" 0 t) 
-                 (progn 
-                   (goto-char (+ 1 (point))) 
-                   (insert "%\n"))))) 
-  (let ((title (read-string "Title: "))) 
-    (LaTeX-insert-environment "slide" (concat TeX-grop title TeX-grcl)))) 
+(defun LaTeX-prosper-insert-slide (environment)
+  (if (y-or-n-p "Surround with overlay ?")
+      (progn (TeX-insert-macro "overlays")
+             (if (search-backward "{" 0 t)
+                 (progn
+                   (goto-char (+ 1 (point)))
+                   (insert "%\n")))))
+  (let ((title (read-string "Title: ")))
+    (LaTeX-insert-environment "slide" (concat TeX-grop title TeX-grcl))))
 
 
 
@@ -153,7 +152,7 @@
                        '("itemstep" LaTeX-env-item)
                        '("Itemize" LaTeX-env-item))
                        (TeX-add-symbols
-                        '("documentclass" 
+                        '("documentclass"
                           LaTeX-prosper-insert-options
                           LaTeX-prosper-insert-title)
                         '("title" "Title of the presentation")
@@ -186,7 +185,8 @@
                        '("PDForPS" TeX-arg-conditional)
                        '("onlyInPS" t)
                        '("onlyInPDF" t)
-                       '("FromSlide" "Number")))))
+                       '("FromSlide" "Number"))))
+                   LaTeX-dialect)
 
 
 ;;; prosper.el ends here
diff --git a/style/psfig.el b/style/psfig.el
index 16df7cf..cf8954f 100644
--- a/style/psfig.el
+++ b/style/psfig.el
@@ -1,7 +1,5 @@
 ;;; psfig.el - Support for the psfig style option.
 
-;; Copyright (C) 2013 Free Software Foundation, Inc.
-
 ;; Contributed by Marc Gemis <address@hidden>
 ;; Please direct comments to him.
 
@@ -22,7 +20,8 @@
     (LaTeX-add-environments
      '("psfigure" LaTeX-env-psfigure)
      )
-    )))
+    ))
+ LaTeX-dialect)
 
 (defun TeX-arg-psfig (optional)
    "Ask for file, width and length. Insert psfig macro"
diff --git a/style/pst-grad.el b/style/pst-grad.el
index b177561..1e74d8a 100644
--- a/style/pst-grad.el
+++ b/style/pst-grad.el
@@ -60,6 +60,7 @@
     (make-local-variable 'LaTeX-pst-parameters-name-list)
     (setq LaTeX-pst-parameters-name-list
           (append LaTeX-pstgrad-parameters-name-list
-                  LaTeX-pst-parameters-name-list)))))
+                  LaTeX-pst-parameters-name-list))))
+ LaTeX-dialect)
 
 ;;; pst-grad.el ends here
diff --git a/style/pst-node.el b/style/pst-node.el
index d5ff274..5da0553 100644
--- a/style/pst-node.el
+++ b/style/pst-node.el
@@ -1,6 +1,6 @@
 ;;; pst-node.el --- AUCTeX style for `pst-node.sty'
 
-;; Copyright (C) 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2013 Free Software Foundation, Inc.
 
 ;; Author: Holger Sparr <address@hidden>
 ;; Created: 21 Jun 2007
@@ -119,8 +119,8 @@
 ;;; Environments
 (defun LaTeX-pstnode-env-psmatrix (env)
   "Return psmatrix environment with arguments."
-  (let ((opt (completing-read-multiple "Options: "
-                                       LaTeX-pstnode-psmatrix-list)))
+  (let ((opt (TeX-completing-read-multiple "Options: "
+                                          LaTeX-pstnode-psmatrix-list)))
     (LaTeX-insert-environment env opt)))
 
 (TeX-add-style-hook
@@ -186,6 +186,7 @@
      '("psrowhook" t)
      '("pscolhook" t))
     (TeX-run-style-hooks
-     "pstricks"))))
+     "pstricks")))
+ LaTeX-dialect)
 
 ;;; pst-node.el ends here
diff --git a/style/pst-plot.el b/style/pst-plot.el
index beae60a..74a2946 100644
--- a/style/pst-plot.el
+++ b/style/pst-plot.el
@@ -132,6 +132,7 @@
     (make-local-variable 'LaTeX-pst-parameters-name-list)
     (setq LaTeX-pst-parameters-name-list
           (append LaTeX-pstplot-parameters-name-list
-                  LaTeX-pst-parameters-name-list)))))
+                  LaTeX-pst-parameters-name-list))))
+ LaTeX-dialect)
 
 ;;; pst-plot.el ends here
diff --git a/style/pst-slpe.el b/style/pst-slpe.el
index 2c82454..a3f456f 100644
--- a/style/pst-slpe.el
+++ b/style/pst-slpe.el
@@ -62,6 +62,7 @@
     (make-local-variable 'LaTeX-pst-parameters-name-list)
     (setq LaTeX-pst-parameters-name-list
           (append LaTeX-pstslpe-parameters-name-list
-                  LaTeX-pst-parameters-name-list)))))
+                  LaTeX-pst-parameters-name-list))))
+ LaTeX-dialect)
 
 ;;; pst-slpe.el ends here
diff --git a/style/pstricks.el b/style/pstricks.el
index 6e4df32..161370c 100644
--- a/style/pstricks.el
+++ b/style/pstricks.el
@@ -1,6 +1,6 @@
 ;;; pstricks.el --- AUCTeX style for the `pstricks' package.
 
-;; Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2009, 2013 Free Software Foundation, Inc.
 
 ;; Author: Holger Sparr <address@hidden>
 ;; Maintainer: address@hidden
@@ -199,12 +199,12 @@ package PNAME"
       (setq preparam (funcall fask preparam)))
     ;;
     (setq param
-          (completing-read-multiple
+          (TeX-completing-read-multiple
            (concat
             "Params (use <Up,Down> for history or RET for choices): ")
            nlist nil nil nil hlist))
     ;;
-    (if (and  (string= "" (car param)) (= (length param) 1))
+    (if (not param)
         (setq param (funcall fask nil t))
       (setq param (car (symbol-value hlist))))
     (TeX-argument-insert
@@ -861,6 +861,11 @@ comma separated list. Point has to be within the sexp to 
modify."
       (TeX-arg-eval LaTeX-pst-angle) LaTeX-pst-point-in-parens t)
     '("uput" LaTeX-pst-macro-uput t)
     '("multirput" (LaTeX-pst-macro-multirputps t) t)
-    '("multips" (LaTeX-pst-macro-multirputps nil) t))))
+    '("multips" (LaTeX-pst-macro-multirputps nil) t)))
+ LaTeX-dialect)
+
+(defvar LaTeX-pstricks-package-options
+  '("97" "plain" "DIA" "vtex" "distiller" "noxcolor")
+  "Package options for pstricks.")
 
 ;;; pstricks.el ends here
diff --git a/style/setspace.el b/style/ragged2e.el
similarity index 51%
copy from style/setspace.el
copy to style/ragged2e.el
index 07db8ca..8614425 100644
--- a/style/setspace.el
+++ b/style/ragged2e.el
@@ -1,4 +1,4 @@
-;;; setspace.el --- AUCTeX style for `setspace.sty'
+;;; ragged2e.el --- AUCTeX style for `ragged2e.sty'
 
 ;; Copyright (C) 2011 Free Software Foundation, Inc.
 
@@ -25,37 +25,43 @@
 
 ;;; Commentary:
 
-;; This file adds support for `setspace.sty'.
+;; This file adds support for `ragged2e.sty'.
 
 ;;; Code:
 
 (TeX-add-style-hook
- "setspace"
+ "ragged2e"
  (lambda ()
    (TeX-add-symbols
-    '("setstretch" "Stretch")
-    '("setdisplayskipstretch" "Stretch")
-    '("SetSinglespace" "Stretch")
-    '("onehalfspacing" 0)
-    '("doublespacing" 0)
-    '("singlespacing" 0))
+    "CenteringLeftskip"
+    "RaggedLeftLeftskip"
+    "RaggedRightLeftskip"
+    "CenteringRightskip"
+    "RaggedLeftRightskip"
+    "RaggedRightRightskip"
+    "CenteringParfillskip"
+    "RaggedLeftParfillskip"
+    "RaggedRightParfillskip"
+    "CenteringParindent"
+    "RaggedLeftParindent"
+    "RaggedRightParindent"
+    "JustifyingParfillskip"
+    "JustifyingParindent"
+    "ttraggedright"
+    "Centering"
+    "justifying"
+    "RaggedRight"
+    "RaggedLeft")
 
    (LaTeX-add-environments 
-    '("spacing" "Stretch")
-    "singlespace"
-    "singlespace*"
-    "onehalfspace"
-    "doublespace")
-
-   (when (and (featurep 'font-latex)
-              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("singlespacing" "")
-                               ("doublespacing" "")
-                               ("onehalfspacing" ""))
-                              'function))))
-
-(defvar LaTeX-setspace-package-options 
-  '("doublespacing" "onehalfspacing" "singlespacing" "nodisplayskipstretch")
-  "Package options for the setspace package.")
-
-;;; setspace.el ends here
+    "FlushLeft" "FlushRight" "Center" "justify")
+
+   (TeX-run-style-hooks "footmisc" "everysel"))
+ LaTeX-dialect)
+
+(defvar LaTeX-ragged2e-package-options 
+  '("originalcommands" "newcommands" "originalparameters" "document"
+    "newparameters" "footnotes" "raggedrightboxes")
+  "Package options for the ragged2e package.")
+
+;;; ragged2e.el ends here
diff --git a/style/report.el b/style/report.el
index 6791f42..6a4e638 100644
--- a/style/report.el
+++ b/style/report.el
@@ -1,12 +1,21 @@
 ;;; report.el - Special code for report style.
 
-;; $Id: report.el,v 1.3 2005-03-17 10:02:06 angeli Exp $
-
 ;;; Code:
 
+(defvar LaTeX-report-class-options
+  '("a4paper" "a5paper" "b5paper" "letterpaper" "legalpaper" "executivepaper"
+    "landscape" "10pt" "11pt" "12pt" "oneside" "twoside" "draft" "final"
+    "titlepage" "notitlepage" "openright" "openany" "onecolumn" "twocolumn"
+    "leqno" "fleqn" "openbib")
+  "Package options for the report class.")
+
 (TeX-add-style-hook
  "report"
  (lambda () 
-   (LaTeX-largest-level-set "chapter")))
+   (LaTeX-largest-level-set "chapter")
+   (LaTeX-add-counters "part" "chapter" "section" "subsection" "subsubsection"
+                      "paragraph" "subparagraph" "figure" "table")
+   (LaTeX-add-pagestyles "headings" "myheadings"))
+ LaTeX-dialect)
 
 ;;; report.el ends here
diff --git a/style/ruby.el b/style/ruby.el
index 0a96e57..38451f9 100644
--- a/style/ruby.el
+++ b/style/ruby.el
@@ -44,6 +44,7 @@
     '("rubylatin" 0)
     '("rubysize" 0)
     '("rubysep" 0)
-    '("ruby" t nil))))
+    '("ruby" t nil)))
+ LaTeX-dialect)
 
 ;;; ruby.el ends here
diff --git a/style/scrartcl.el b/style/scrartcl.el
index fb69221..74b83d5 100644
--- a/style/scrartcl.el
+++ b/style/scrartcl.el
@@ -6,7 +6,6 @@
 
 ;; Author: Mark Trettin <address@hidden>
 ;; Created: 2002-09-26
-;; Version: $Id: scrartcl.el,v 1.4 2005-03-17 10:02:06 angeli Exp $
 ;; Keywords: tex
 
 ;;; Commentary:
@@ -21,6 +20,7 @@
    (lambda ()
      (LaTeX-largest-level-set "section")
      ;; load basic definitons
-     (TeX-run-style-hooks "scrbase")))
+     (TeX-run-style-hooks "scrbase"))
+   LaTeX-dialect)
 
 ;;; scrartcl.el ends here
diff --git a/style/scrbase.el b/style/scrbase.el
index 5a8b41f..2414763 100644
--- a/style/scrbase.el
+++ b/style/scrbase.el
@@ -134,6 +134,8 @@
                               '(("addpart" . nil)
                                 ("addsec" . nil)
                                 ("minisec" . nil))))
+    ;; Fill \minisec{...} like normal sectioning commands
+    (LaTeX-paragraph-commands-add-locally "minisec")
     ;; Fontification
     (when (and (featurep 'font-latex)
               (eq TeX-install-font-lock 'font-latex-setup))
@@ -180,7 +182,8 @@
       ;; Sectioning keywords
       (font-latex-add-keywords '(("addpart" "[{")) 'sectioning-1)
       (font-latex-add-keywords '(("addsec" "[{")) 'sectioning-2)
-      (font-latex-add-keywords '(("minisec" "[{")) 'sectioning-4))))
+      (font-latex-add-keywords '(("minisec" "[{")) 'sectioning-4)))
+  LaTeX-dialect)
 
 (defun TeX-arg-KOMA-setpreamble (optional &optional prompt)
   "Prompt for KOMA-Script's \\set*preamble position with completion."
diff --git a/style/scrbook.el b/style/scrbook.el
index 6cada7d..d4e7152 100644
--- a/style/scrbook.el
+++ b/style/scrbook.el
@@ -57,6 +57,7 @@
                                 ("dictum" "[{"))
                               'textual)
       ;; Sectioning keywords
-      (font-latex-add-keywords '(("addchap" "[{")) 'sectioning-1))))
+      (font-latex-add-keywords '(("addchap" "[{")) 'sectioning-1)))
+  LaTeX-dialect)
 
 ;;; scrbook.el ends here
diff --git a/style/scrlttr2.el b/style/scrlttr2.el
index 136b1c5..44d6270 100644
--- a/style/scrlttr2.el
+++ b/style/scrlttr2.el
@@ -197,7 +197,8 @@
      (font-latex-add-keywords '("cleardoublestandardpage"
                                "cleardoubleplainpage"
                                "cleardoubleemptypage")
-                             'warning))))
+                             'warning)))
+  LaTeX-dialect)
 
 (defun TeX-arg-KOMA-scrlttr-vars (optional &optional prompt)
   "Prompt for KOMA-Script's scrlttr2 predefined variables with completion."
diff --git a/style/scrpage2.el b/style/scrpage2.el
index ed3d500..34b8497 100644
--- a/style/scrpage2.el
+++ b/style/scrpage2.el
@@ -110,7 +110,8 @@
                                ("newpagestyle" "{{{")
                                ("renewpagestyle" "{{{")
                                ("providepagestyle" "{{{"))
-                             'function))))
+                             'function)))
+ LaTeX-dialect)
 
 (defvar LaTeX-scrpage2-package-options '("headinclude" "headexclude"
                                         "footinclude" "footexclude"
diff --git a/style/scrreprt.el b/style/scrreprt.el
index 2ffe3ad..57ec0af 100644
--- a/style/scrreprt.el
+++ b/style/scrreprt.el
@@ -58,6 +58,7 @@
                                ("dictum" "[{"))
                              'textual)
      ;; Sectioning keywords
-     (font-latex-add-keywords '(("addchap" "[{")) 'sectioning-1))))
+     (font-latex-add-keywords '(("addchap" "[{")) 'sectioning-1)))
+ LaTeX-dialect)
 
 ;;; scrreprt.el ends here
diff --git a/style/setspace.el b/style/setspace.el
index 07db8ca..206033e 100644
--- a/style/setspace.el
+++ b/style/setspace.el
@@ -52,7 +52,8 @@
      (font-latex-add-keywords '(("singlespacing" "")
                                ("doublespacing" "")
                                ("onehalfspacing" ""))
-                              'function))))
+                              'function)))
+ LaTeX-dialect)
 
 (defvar LaTeX-setspace-package-options 
   '("doublespacing" "onehalfspacing" "singlespacing" "nodisplayskipstretch")
diff --git a/style/shortvrb.el b/style/shortvrb.el
index 2ef191a..0bc3ffb 100644
--- a/style/shortvrb.el
+++ b/style/shortvrb.el
@@ -41,6 +41,29 @@
 
 ;;; Code:
 
+(defcustom LaTeX-shortvrb-chars nil
+  "List of characters toggling verbatim mode.
+When your document uses the shortvrb style and you have a
+\\MakeShortVrb{\\|} in your file to write verbatim text as
+|text|, then set this variable to the list (?|).  Then AUCTeX
+fontifies |text| as verbatim.
+
+Preferably, you should do this buffer-locally using a file
+variable near the end of your document like so:
+
+  %% Local Variables:
+  %% LaTeX-shortvrb-chars: (?|)
+  %% End:
+
+When you customize this variable to a non-nil value, then it
+becomes the default value meaning that verbatim fontification is
+always performed for the characters in the list, no matter if
+your document actually defines shortvrb chars using
+\\MakeShortVrb."
+  :group 'LaTeX-style
+  :type '(repeat character))
+(put 'LaTeX-shortvrb-chars 'safe-local-variable 'listp)
+
 (TeX-add-style-hook
  "shortvrb"
  (lambda ()
@@ -51,6 +74,11 @@
      (let (syntax-alist)
        (dolist (char LaTeX-shortvrb-chars)
         (add-to-list 'syntax-alist (cons char "|")))
-       (font-latex-add-to-syntax-alist syntax-alist)))))
+       (font-latex-add-to-syntax-alist syntax-alist))))
+ LaTeX-dialect)
+
+;; Don't look for file-local variables before this line, so that the example in
+;; the docstring isn't picked up.
+
 
 ;;; shortvrb.el ends here
diff --git a/style/siunitx.el b/style/siunitx.el
new file mode 100644
index 0000000..9722638
--- /dev/null
+++ b/style/siunitx.el
@@ -0,0 +1,623 @@
+;;; siunitx.el --- AUCTeX style for `siunitx.sty' version 2.5s.
+
+;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `siunitx.sty' version 2.5s.
+
+;;; Code:
+
+(TeX-auto-add-type "siunitx-unit" "LaTeX")
+
+;; Self Parsing -- see (info "(auctex)Hacking the Parser").  
`\\(?:\\[.*\\]\\)?'
+;; matches possible options (actually used only by `DeclareSIUnit' macro),
+;; wrapped in `[...]'.
+(defvar LaTeX-siunitx-regexp
+  (concat "\\\\Declare"
+         "\\(?:SIUnit\\|SIPrefix\\|BinaryPrefix\\|SIPostPower\\|SIPrepower\\|"
+         "SIQualifier\\)"
+         "[ \t\n\r]*\\(?:\\[.*\\]\\)?[ \t\n\r]*{?\\\\\\([A-Za-z]+\\)}?")
+  "Matches new siunitx unit, prefix, power, and qualifier definitions.")
+
+(defvar LaTeX-auto-siunitx-unit nil
+  "Temporary for parsing siunitx macro definitions.")
+
+(defun LaTeX-siunitx-prepare ()
+  "Clear `LaTex-auto-siunitx-unit' before use."
+  (setq LaTeX-auto-siunitx-unit nil))
+
+(defun LaTeX-siunitx-cleanup ()
+  "Move symbols from `LaTeX-auto-siunitx-unit' to `LaTeX-siunitx-unit-list'."
+  (mapcar (lambda (symbol)
+           (add-to-list 'LaTeX-siunitx-unit-list (list symbol)))
+         LaTeX-auto-siunitx-unit))
+
+;; FIXME: This does not seem to work unless one does a manual reparse.
+(add-hook 'TeX-auto-prepare-hook 'LaTeX-siunitx-prepare)
+(add-hook 'TeX-auto-cleanup-hook 'LaTeX-siunitx-cleanup)
+
+(defvar LaTeX-siunitx-unit-history nil
+  "History of units in siunitx.")
+
+(defun LaTeX-arg-siunitx-unit (optional &optional prompt initial-input
+                                       definition prefix)
+  "Prompt for siunitx units, prefixes, powers, and qualifiers.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string.  If INITIAL-INPUT is non-nil, insert it in the minibuffer
+initially, with point positioned at the end.  If DEFINITION is
+non-nil, add the chosen unit to the list of defined units.  If
+PREFIX is non-nil, insert it before the given input."
+  ;; Remove <SPC> key binding from map used in `TeX-completing-read-multiple'
+  ;; with `require-match' set to `nil' (it's `crm-local-completion-map' if
+  ;; `completing-read-multiple' is bound, `minibuffer-local-completion-map'
+  ;; otherwise) and set completion separator to the TeX escape character.
+  (let* ((crm-local-completion-map
+         (remove (assoc 32 crm-local-completion-map) crm-local-completion-map))
+        (minibuffer-local-completion-map
+         (remove (assoc 32 minibuffer-local-completion-map)
+                 minibuffer-local-completion-map))
+        (crm-separator (regexp-quote TeX-esc))
+        (unit (mapconcat 'identity
+                         (TeX-completing-read-multiple
+                          (TeX-argument-prompt optional prompt "Unit: " t)
+                          (LaTeX-siunitx-unit-list) nil nil initial-input
+                          'LaTeX-siunitx-unit-history)
+                         TeX-esc)))
+    (if (and definition (not (string-equal "" unit)))
+       (LaTeX-add-siunitx-units unit))
+    (TeX-argument-insert unit optional prefix)))
+
+(defun LaTeX-arg-define-siunitx-unit (optional &optional prompt)
+  "Prompt for a LaTeX siunitx unit, prefix, power, and qualifier.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one.  Use PROMPT as the prompt
+string."
+  (LaTeX-arg-siunitx-unit optional
+                         (unless prompt (concat "Unit: " TeX-esc))
+                         nil t TeX-esc))
+
+(defvar LaTeX-siunitx-package-options
+  '(;; Detecting fonts
+    ("detect-all")
+    ("detect-display-math" ("true" "false"))
+    ("detect-family" ("true" "false"))
+    ("detect-inline-family" ("math" "text"))
+    ("detect-inline-weight" ("math" "text"))
+    ("detect-mode" ("true" "false"))
+    ("detect-none")
+    ("detect-shape" ("true" "false"))
+    ("detect-weight" ("true" "false"))
+    ;; Font settings
+    ("color")
+    ("math-rm")
+    ("math-sf")
+    ("math-tt")
+    ("mode" ("math" "text"))
+    ("number-color")
+    ("text-rm")
+    ("text-sf")
+    ("text-tt")
+    ("unit-color")
+    ;; Parsing numbers
+    ("input-close-uncertainty")
+    ("input-comparators")
+    ("input-complex-roots")
+    ("input-decimal-markers")
+    ("input-digits")
+    ("input-exponent-markers")
+    ("input-ignore")
+    ("input-open-uncertainty")
+    ("input-protect-tokens")
+    ("input-signs")
+    ("input-uncertainty-signs")
+    ("input-symbols")
+    ("parse-numbers" ("true" "false"))
+    ;; Post-processing numbers
+    ("add-decimal-zero" ("true" "false"))
+    ("add-integer-zero" ("true" "false"))
+    ("explicit-sign")
+    ("fixed-exponent")
+    ("minimum-integer-digits")
+    ("omit-uncertainty" ("true" "false"))
+    ("retain-explicit-plus" ("true" "false"))
+    ("retain-unity-mantissa" ("true" "false"))
+    ("retain-zero-exponent" ("true" "false"))
+    ("round-half" ("up" "even"))
+    ("round-integer-to-decimal" ("true" "false"))
+    ("round-minimum")
+    ("round-mode" ("off" "figures" "places"))
+    ("round-precision")
+    ("scientific-notation" ("true" "false" "fixed" "engineering"))
+    ("zero-decimal-to-integer" ("true" "false"))
+    ;; Printing numbers
+    ("bracket-negative-numbers" ("true" "false"))
+    ("bracket-numbers" ("true" "false"))
+    ("close-bracket")
+    ("complex-root-position" ("after-number" "before-number"))
+    ("copy-complex-root")
+    ("copy-decimal-marker")
+    ("exponent-base")
+    ("exponent-product")
+    ("group-digits" ("true" "false" "decimal" "integer"))
+    ("group-minimum-digits")
+    ("group-separator")
+    ("negative-color")
+    ("open-bracket")
+    ("output-close-uncertainty")
+    ("output-complex-root")
+    ("output-decimal-marker")
+    ("output-exponent-marker")
+    ("output-open-uncertainty")
+    ("separate-uncertainty" ("true" "false"))
+    ("tight-spacing" ("true" "false"))
+    ("uncertainty-separator")
+    ;; Multi-part numbers
+    ("fraction-function")
+    ("input-product")
+    ("input-quotient")
+    ("output-product")
+    ("output-quotient")
+    ("quotient-mode" ("symbol" "fraction"))
+    ;; Lists and ranges of numbers
+    ("list-final-separator")
+    ("list-pair-separator")
+    ("list-separator")
+    ("range-phrase")
+    ;; Angles
+    ("add-arc-degree-zero" ("true" "false"))
+    ("add-arc-minute-zero" ("true" "false"))
+    ("add-arc-second-zero" ("true" "false"))
+    ("angle-symbol-over-decimal" ("true" "false"))
+    ("arc-separator")
+    ("number-angle-product")
+    ;; Creating units
+    ("free-standing-units" ("true" "false"))
+    ("overwrite-functions" ("true" "false"))
+    ("space-before-unit" ("true" "false"))
+    ("unit-optional-argument" ("true" "false"))
+    ("use-xspace" ("true" "false"))
+    ;; Loading additional units
+    ("abbreviations" ("true" "false"))
+    ("binary-units" ("true" "false"))
+    ("version-1-compatibility" ("true" "false"))
+    ;; Using units
+    ("bracket-unit-denominator" ("true" "false"))
+    ("forbid-literal-units" ("true" "false"))
+    ("literal-superscript-as-power" ("true" "false"))
+    ("inter-unit-product")
+    ("parse-units" ("true" "false"))
+    ("per-mode" ("reciprocal" "fraction" "reciprocal-positive-first" "symbol"
+                "repeated-symbol" "symbol-or-fraction"))
+    ("per-symbol")
+    ("power-font" ("number" "unit"))
+    ("prefixes-as-symbols" ("true" "false"))
+    ("qualifier-mode" ("subscript" "brackets" "phrase" "space" "text"))
+    ("qualifier-phrase")
+    ("sticky-per" ("true" "false"))
+    ;; Numbers with units
+    ("allow-number-unit-breaks" ("true" "false"))
+    ("exponent-to-prefix" ("true" "false"))
+    ("list-units" ("brackets" "repeat" "single"))
+    ("multi-part-units" ("brackets" "repeat" "single"))
+    ("number-unit-product")
+    ("product-units" ("repeat" "brackets" "brackets-power" "power" "repeat"
+                     "single"))
+    ("range-units" ("brackets" "repeat" "single"))
+    ;; Tabular material
+    ("table-align-comparator" ("true" "false"))
+    ("table-align-exponent" ("true" "false"))
+    ("table-align-text-pre" ("true" "false"))
+    ("table-align-text-post" ("true" "false"))
+    ("table-align-uncertainty" ("true" "false"))
+    ("table-alignment" ("center" "left" "right"))
+    ("table-auto-round" ("true" "false"))
+    ("table-column-width")
+    ("table-comparator" ("true" "false"))
+    ("table-figures-decimal")
+    ("table-figures-exponent")
+    ("table-figures-integer")
+    ("table-figures-uncertainty")
+    ("table-format")
+    ("table-number-alignment" ("center-decimal-marker" "center" "left" 
"right"))
+    ("table-parse-only" ("true" "false"))
+    ("table-omit-exponent" ("true" "false"))
+    ("table-space-text-pre")
+    ("table-space-text-post")
+    ("table-sign-exponent" ("true" "false"))
+    ("table-sign-mantissa" ("true" "false"))
+    ("table-text-alignment" ("center" "left" "right"))
+    ("table-unit-alignment" ("center" "left" "right"))
+    ;; Symbols
+    ("math-angstrom")
+    ("math-arcminute")
+    ("math-arcsecond")
+    ("math-celsius")
+    ("math-degree")
+    ("math-micro")
+    ("math-ohm")
+    ("redefine-symbols" ("true" "false"))
+    ("text-angstrom")
+    ("text-arcminute")
+    ("text-arcsecond")
+    ("text-celsius")
+    ("text-degree")
+    ("text-micro")
+    ("text-ohm")
+    ;; Other options
+    ("locale" ("FR" "DE" "UK" "US" "ZA"))
+    ("strict"))
+  "Package options for the siunitx package.")
+
+(TeX-add-style-hook
+ "siunitx"
+ (lambda ()
+   (TeX-auto-add-regexp `(,LaTeX-siunitx-regexp 1 LaTeX-auto-siunitx-unit))
+   (TeX-add-symbols
+    ;; Numbers
+    '("ang" [TeX-arg-key-val LaTeX-siunitx-package-options] "Angle")
+    '("num" [TeX-arg-key-val LaTeX-siunitx-package-options] "Number")
+    '("numlist" [TeX-arg-key-val LaTeX-siunitx-package-options] "Numbers")
+    '("numrange" [TeX-arg-key-val LaTeX-siunitx-package-options]
+      "Number 1" "Number 2")
+    ;; Units
+    '("si" [TeX-arg-key-val LaTeX-siunitx-package-options] 
LaTeX-arg-siunitx-unit)
+    '("SI" [TeX-arg-key-val LaTeX-siunitx-package-options]
+      "Value" [ "Pre-unit"] LaTeX-arg-siunitx-unit)
+    '("SIlist" [TeX-arg-key-val LaTeX-siunitx-package-options]
+      "Values" LaTeX-arg-siunitx-unit)
+    '("SIrange" [TeX-arg-key-val LaTeX-siunitx-package-options]
+      "Value 1" "Value 2" LaTeX-arg-siunitx-unit)
+    ;; Settings
+    '("sisetup" (TeX-arg-key-val LaTeX-siunitx-package-options))
+    ;; Tabular material
+    '("tablenum" [TeX-arg-key-val LaTeX-siunitx-package-options] "Number")
+    ;; Creating new macros (`DeclareSIUnitWithOptions' macro is deprecated)
+    '("DeclareSIUnit" [TeX-arg-key-val LaTeX-siunitx-package-options]
+      (LaTeX-arg-define-siunitx-unit) "Symbol")
+    '("DeclareSIPrefix" (LaTeX-arg-define-siunitx-unit "Prefix")
+      "Symbol" "Powers of 10")
+    '("DeclareBinaryPrefix" (LaTeX-arg-define-siunitx-unit "Prefix")
+      "Symbol" "Powers of 2")
+    '("DeclareSIPostPower" (LaTeX-arg-define-siunitx-unit "Name") "Power")
+    '("DeclareSIPrePower" (LaTeX-arg-define-siunitx-unit "Name") "Power")
+    '("DeclareSIQualifier" (LaTeX-arg-define-siunitx-unit "Qualifier") 
"Symbol")
+    ;; Highlighting
+    '("highlight" "Color")
+    ;; Transferring settings to pgf
+    '("SendSettingsToPgf" 0))
+    ;;; The unit macros
+   ;; SI base units
+   (LaTeX-add-siunitx-units
+    "ampere"
+    "candela"
+    "kelvin"
+    "kilogram"
+    "gram"
+    "meter"
+    "metre"
+    "second"
+    ;; Coherent derived units in the SI with special names and symbols
+    "becquerel"
+    "celsius"
+    "degreeCelsius"
+    "coulomb"
+    "farad"
+    "gray"
+    "hertz"
+    "henry"
+    "joule"
+    "katal"
+    "lumen"
+    "lux"
+    "newton"
+    "ohm"
+    "pascal"
+    "radian"
+    "siemens"
+    "sievert"
+    "steradian"
+    "tesla"
+    "volt"
+    "watt"
+    "weber"
+    ;; Non-SI units accepted for use with the International System of Units
+    "day"
+    "degree"
+    "hectare"
+    "hour"
+    "liter"
+    "litre"
+    "arcminute"
+    "minute"
+    "arcsecond"
+    "tonne"
+    ;; Non-SI units whose values in SI units must be obtained experimentally
+    "astronomicalunit"
+    "atomicmassunit"
+    "bohr"
+    "clight"
+    "dalton"
+    "electronmass"
+    "electronvolt"
+    "elementarycharge"
+    "hartree"
+    "planckbar"
+    ;; Other non-SI units.
+    "angstrom"
+    "bar"
+    "barn"
+    "bel"
+    "decibel"
+    "knot"
+    "mmHg"
+    "nauticalmile"
+    "neper"
+    "percent"
+    ;; SI prefixes
+    "yocto"
+    "zepto"
+    "atto"
+    "femto"
+    "pico"
+    "nano"
+    "micro"
+    "milli"
+    "centi"
+    "deci"
+    "deca"
+    "deka"
+    "hecto"
+    "kilo"
+    "mega"
+    "giga"
+    "tera"
+    "peta"
+    "exa"
+    "zetta"
+    "yotta"
+    ;; Powers
+    "square"
+    "squared"
+    "cubic"
+    "cubed"
+    "tothe"
+    "raiseto"
+    "per"
+    "of")
+   ;; Abbreviated units (available unless `abbreviations' option is set to 
`false')
+   (unless (LaTeX-provided-package-options-member "siunitx" 
"abbreviations=false")
+     (LaTeX-add-siunitx-units
+      "fg"
+      "pg"
+      "ng"
+      "ug"
+      "mg"
+      "g"
+      "kg"
+      "amu"
+      "pm"
+      "nm"
+      "um"
+      "mm"
+      "cm"
+      "dm"
+      "m"
+      "km"
+      "as"
+      "fs"
+      "ps"
+      "ns"
+      "us"
+      "ms"
+      "s"
+      "fmol"
+      "pmol"
+      "nmol"
+      "umol"
+      "mmol"
+      "mol"
+      "kmol"
+      "pA"
+      "nA"
+      "uA"
+      "mA"
+      "A"
+      "kA"
+      "ul"
+      "ml"
+      "l"
+      "hl"
+      "uL"
+      "mL"
+      "L"
+      "hL"
+      "mHz"
+      "Hz"
+      "kHz"
+      "MHz"
+      "GHz"
+      "THz"
+      "N"
+      "mN"
+      "kN"
+      "MN"
+      "Pa"
+      "kPa"
+      "MPa"
+      "GPa"
+      "mohm"
+      "kohm"
+      "Mohm"
+      "pV"
+      "nV"
+      "uV"
+      "mV"
+      "V"
+      "kV"
+      "uW"
+      "mW"
+      "W"
+      "kW"
+      "MW"
+      "GW"
+      "J"
+      "kJ"
+      "meV"
+      "keV"
+      "MeV"
+      "GeV"
+      "TeV"
+      "kWh"
+      "F"
+      "fF"
+      "pF"
+      "K"
+      "dB"))
+   ;; Binary prefixes and units available when `binary-units' option is used
+   (when (or (LaTeX-provided-package-options-member "siunitx" "binary-units")
+            (LaTeX-provided-package-options-member "siunitx" 
"binary-units=true"))
+     (LaTeX-add-siunitx-units
+      "kibi"
+      "mebi"
+      "gibi"
+      "tebi"
+      "pebi"
+      "exbi"
+      "zebi"
+      "yobi"
+      "bit"
+      "byte"))
+   ;; Symbols
+   (LaTeX-add-siunitx-units
+    "SIUnitSymbolAngstrom"
+    "SIUnitSymbolArcminute"
+    "SIUnitSymbolArcsecond"
+    "SIUnitSymbolCelsius"
+    "SIUnitSymbolDegree"
+    "SIUnitSymbolMicro"
+    "SIUnitSymbolOhm")
+   ;; Macros available when `version-1-compatibility' option is used
+   (when (or (LaTeX-provided-package-options-member
+             "siunitx" "version-1-compatibility")
+            (LaTeX-provided-package-options-member
+             "siunitx" "version-1-compatibility=true"))
+     (LaTeX-add-siunitx-units
+      "Square"
+      "ssquare"
+      "BAR"
+      "bbar"
+      "Day"
+      "dday"
+      "Gray"
+      "ggray"
+      "atomicmass"
+      "arcmin"
+      "arcsec"
+      "are"
+      "curie"
+      "gal"
+      "millibar"
+      "rad"
+      "rem"
+      "roentgen"
+      "micA"
+      "micmol"
+      "micl"
+      "micL"
+      "nanog"
+      "micg"
+      "picm"
+      "micm"
+      "Sec"
+      "mics"
+      "cmc"
+      "dmc"
+      "cms"
+      "centimetrecubed"
+      "centimetresquared"
+      "cubiccentimetre"
+      "cubicdecimetre"
+      "squarecentimetre"
+      "squaremetre"
+      "squarekilometre"
+      "parsec"
+      "lightyear"
+      "gmol"
+      "kgmol"
+      "lbmol"
+      "molar"
+      "Molar"
+      "torr"
+      "gon"
+      "micron"
+      "mrad"
+      "gauss"
+      "eVperc"
+      "nanobarn"
+      "picobarn"
+      "femtobarn"
+      "attobarn"
+      "zeptobarn"
+      "yoctobarn"
+      "nb"
+      "pb"
+      "fb"
+      "ab"
+      "zb"
+      "yb"))
+   (TeX-run-style-hooks "l3keys2e"
+                       "array"
+                       "amstext"
+                       "xparse"
+                       "expl3")
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("ang" "[{")
+                               ("num" "[{")
+                               ("si" "[{")
+                               ("SI" "[{[{")
+                               ("numlist" "[{")
+                               ("numrange" "[{{")
+                               ("SIlist" "[{{")
+                               ("SIrange" "[{{{")
+                               ("sisetup" "{")
+                               ("tablenum" "[{")
+                               ("DeclareSIUnit" "[|{\\{")
+                               ("DeclareSIPrefix" "|{\\{{")
+                               ("DeclareBinaryPrefix" "|{\\{{")
+                               ("DeclareSIPostPower" "|{\\{")
+                               ("DeclareSIPrePower" "|{\\{")
+                               ("DeclareSIQualifier" "|{\\{")
+                               ("highlight" "{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defun LaTeX-siunitx-package-options nil
+  "Prompt for package options for the siunitx package."
+  (TeX-read-key-val t LaTeX-siunitx-package-options))
+
+;; siunitx.el ends here
diff --git a/style/slides.el b/style/slides.el
index 9e16024..e73826a 100644
--- a/style/slides.el
+++ b/style/slides.el
@@ -1,6 +1,6 @@
 ;;; slides.el --- AUCTeX style for the `slides' document class
 
-;; Copyright (C) 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2013 Free Software Foundation, Inc.
 
 ;; Author: Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
@@ -31,11 +31,21 @@
 
 ;;; Code:
 
+(defvar LaTeX-slides-class-options
+  '("a4paper" "a5paper" "b5paper" "letterpaper" "legalpaper" "executivepaper"
+    "landscape" "clock" "draft" "final" "titlepage" "notitlepage" "onecolumn"
+    "twocolumn" "leqno" "fleqn")
+  "Package options for the slides class.")
+
 (TeX-add-style-hook
  "slides"
  (lambda ()
    (LaTeX-add-environments "slide"
                           "overlay"
-                          "note")))
+                          "note")
+   (LaTeX-add-counters "minutes" "seconds")
+   (LaTeX-add-pagestyles "headings" "slide" "overlay" "note")
+   (setq LaTeX-default-document-environment "slide"))
+ LaTeX-dialect)
 
 ;;; slides.el ends here
diff --git a/style/slovak.el b/style/slovak.el
index d147573..3dc107e 100644
--- a/style/slovak.el
+++ b/style/slovak.el
@@ -8,4 +8,5 @@
    (when (fboundp 'font-latex-add-quotes)
      (font-latex-add-quotes '("\"`" "\"'"))
      (font-latex-add-quotes '("\"<" "\">" french)))
-   (run-hooks 'TeX-language-sk-hook)))
+   (run-hooks 'TeX-language-sk-hook))
+ LaTeX-dialect)
diff --git a/style/subfigure.el b/style/subfigure.el
index 945f540..e129e62 100644
--- a/style/subfigure.el
+++ b/style/subfigure.el
@@ -1,6 +1,6 @@
 ;;; subfigure.el --- AUCTeX style file for subfigure.sty
 
-;; Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2005, 2013 Free Software Foundation, Inc.
 
 ;; Author: Reiner Steib  <address@hidden>
 ;; Maintainer: address@hidden
@@ -25,7 +25,7 @@
 
 ;;; Commentary:
 
-;; AUCTeX style file for subfigure.sty
+;; AUCTeX style file for `subfigure.sty'
 
 ;;; Code:
 
@@ -33,18 +33,23 @@
  "subfigure"
  (lambda ()
    (TeX-add-symbols
-    '("subfigure"  [ "list entry" ] [ "sub caption" ] "figure")
-    '("subtable"   [ "list entry" ] [ "sub caption" ] "figure")
-    '("Subref" TeX-arg-label)
-    '("subref" TeX-arg-label))
-   ;; TODO: add \subfig* lengths
+    '("subfigure"  [ "List entry" ] [ "Sub caption" ] "Figure")
+    '("subtable"   [ "List entry" ] [ "Sub caption" ] "Figure")
+    '("Subref" TeX-arg-ref)
+    '("subref" TeX-arg-ref)
+    '("subcapsize" 0)
+    '("subcapfont" 0)
+    '("subcaplabelfont" 0))
+
+   (LaTeX-add-lengths "subfigtopskip" "subfigcapskip" "subfigcaptopadj"
+                      "subfigbottomskip" "subfigcapmargin" "subfiglabelskip")
 
    ;; Install completion for labels:
    (setq TeX-complete-list
         (append
-         '(("\\\\subref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
-           ("\\\\Subref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}"))
-         TeX-complete-list))
+         '(("\\\\[Ss]ubref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")))
+         TeX-complete-list)
+
    ;; Fontification
    (when (and (featurep 'font-latex)
              (eq TeX-install-font-lock 'font-latex-setup))
@@ -53,7 +58,8 @@
                              'textual)
      (font-latex-add-keywords '(("Subref" "{")
                                ("subref" "{"))
-                             'reference))))
+                             'reference)))
+ LaTeX-dialect)
 
 (defvar LaTeX-subfigure-package-options '("normal" "hang" "center"
                                          "centerlast" "nooneline"
diff --git a/style/swedish.el b/style/swedish.el
index 75f6337..adbfdda 100644
--- a/style/swedish.el
+++ b/style/swedish.el
@@ -11,4 +11,5 @@
      (setq TeX-quote-language
           `("swedish" "''" ,TeX-close-quote ,TeX-quote-after-quote)))
    (setq LaTeX-babel-hyphen-language "swedish")
-   (run-hooks 'TeX-language-sv-hook)))
+   (run-hooks 'TeX-language-sv-hook))
+ LaTeX-dialect)
diff --git a/style/tabularx.el b/style/tabularx.el
index 0fc8234..a0f3ee3 100644
--- a/style/tabularx.el
+++ b/style/tabularx.el
@@ -1,6 +1,6 @@
 ;;; tabularx.el --- AUCTeX style for the tabularx package.
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2013 Free Software Foundation, Inc.
 
 ;; Author: Ralf Angeli <address@hidden>
 ;; Maintainer: address@hidden
@@ -37,6 +37,11 @@
 (TeX-add-style-hook
  "tabularx"
  (lambda ()
+   ;; Make tabularx the default tabular environment
+   (setq LaTeX-default-tabular-environment "tabularx")
+   ;; Use the enhanced tabular indentation
+   (add-to-list 'LaTeX-indent-environment-list
+               '("tabularx" LaTeX-indent-tabular))
    ;; New symbols
    (TeX-add-symbols
     "tracingtabularx"
@@ -47,6 +52,10 @@
     ;; tabular* environment.  However, the supported tokens in the
     ;; format can differ, so at some point in time we might want to
     ;; separate tabular* and tabularx.
-    '("tabularx" LaTeX-env-tabular*))))
+    '("tabularx" LaTeX-env-tabular*))
+   
+   ;; `tabularx' requires array to define the column types
+   (TeX-run-style-hooks "array"))
+ LaTeX-dialect)
 
 ;;; tabularx.el ends here
diff --git a/style/tabularx.el b/style/tabulary.el
similarity index 51%
copy from style/tabularx.el
copy to style/tabulary.el
index 0fc8234..c17b96e 100644
--- a/style/tabularx.el
+++ b/style/tabulary.el
@@ -1,10 +1,10 @@
-;;; tabularx.el --- AUCTeX style for the tabularx package.
+;;; tabulary.el --- AUCTeX style for the tabulary package.
 
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2013 Free Software Foundation, Inc.
 
-;; Author: Ralf Angeli <address@hidden>
+;; Author: Mads Jensen <address@hidden>
 ;; Maintainer: address@hidden
-;; Created: 2009-02-22
+;; Created: 2013-07-14
 ;; Keywords: tex
 
 ;; This file is part of AUCTeX.
@@ -26,27 +26,33 @@
 
 ;;; Commentary:
 
-;; This file adds support for the tabularx package.
+;; This file adds support for the tabulary package.
 
 ;;; Code:
 
-(defvar LaTeX-tabularx-package-options
-  '("infoshow" "debugshow")
-  "Package options for the tabularx package.")
+(defvar LaTeX-tabulary-package-options
+  '("debugshow")
+  "Package options for the tabulary package.")
 
 (TeX-add-style-hook
- "tabularx"
+ "tabulary"
  (lambda ()
+   ;; Make tabulary the default tabular environment
+   (setq LaTeX-default-tabular-environment "tabulary")
+   ;; Use the enhanced tabular indentation
+   (add-to-list 'LaTeX-indent-environment-list
+               '("tabulary" LaTeX-indent-tabular))
    ;; New symbols
    (TeX-add-symbols
-    "tracingtabularx"
-    '("tabularxcolumn" 0))
+    "tymax" "tymin" "tyformat")
    ;; New environments
    (LaTeX-add-environments
-    ;; XXX: The tabularx environment takes the same arguments as the
-    ;; tabular* environment.  However, the supported tokens in the
-    ;; format can differ, so at some point in time we might want to
-    ;; separate tabular* and tabularx.
-    '("tabularx" LaTeX-env-tabular*))))
+    ;; TODO: tabulary defines some new column types, but there is no completion
+    ;; so far in `LaTeX-env-tabular*'
+    '("tabulary" LaTeX-env-tabular*))
 
-;;; tabularx.el ends here
+   ;; `tabulary' requires the array package
+   (TeX-run-style-hooks "array"))
+ LaTeX-dialect)
+
+;;; tabulary.el ends here
diff --git a/style/ulem.el b/style/ulem.el
new file mode 100644
index 0000000..c3b3491
--- /dev/null
+++ b/style/ulem.el
@@ -0,0 +1,107 @@
+;;; ulem.el --- AUCTeX style for `ulem.sty'
+
+;; Copyright (C) 2012 Free Software Foundation, Inc.
+
+;; Author: Mads Jensen <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `ulem.sty'.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "ulem"
+ (lambda ()
+   (TeX-add-symbols
+    '("uline" 1)
+    '("uuline" 1)
+    '("uwave" 1)
+    '("sout" 1)
+    '("xout" 1)
+    ;; can be used with \renewcommand or \setlength
+    "ULthickness"
+    "ULdepth"
+    ;; custom commands can be defined with these commands; see the
+    ;; documentation for an example
+    "ULon"
+    "markoverwith"
+    ;; \useunder {underline_command}{font_declaration}{font_command}
+    ;; replaces occurences of font_declaration and font_command with the
+    ;; underline_command
+    '("useunder" TeX-arg-ulem-useunder
+      TeX-arg-ulem-fontdecl TeX-arg-ulem-fontcmd))
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     ;; Tell font-lock about the update.
+     (font-latex-add-keywords '(("useunder" "{{{")) 'function)
+     (font-latex-add-keywords '(("uline" "{")
+                               ("uwave" "{")
+                               ("sout" "{")
+                               ("xout" "{")) 'textual)))
+ LaTeX-dialect)
+
+(defvar LaTeX-arg-fontdecl
+  (mapcar (lambda (str) (concat "\\" str))
+         '("itshape" "bfseries" "scshape"
+           "ttfamily" "upshape" "mdseries"
+           "rmfamily" "sffamily" "slshape"))
+  "List of font declaration commands in LaTeX")
+
+(defvar LaTeX-arg-fontcmd
+  (mapcar (lambda (str) (concat "\\" str))
+         '("textit" "textbf" "textsc"
+           "texttt" "textup" "textmd"
+           "textrm" "textsf" "textsl"))
+  "List of font commands in LaTeX")
+
+(defun TeX-arg-ulem-fontdecl (optional &optional prompt)
+  "Prompt for the font-declaration un \\useunder"
+  (TeX-argument-insert
+   (completing-read (TeX-argument-prompt
+                    optional prompt "Font declaration")
+                   LaTeX-arg-fontdecl nil t) optional))
+
+(defun TeX-arg-ulem-fontcmd (optional &optional prompt)
+  "Prompt for the font-declaration un \\useunder"
+  (TeX-argument-insert
+   (completing-read (TeX-argument-prompt
+                    optional prompt "Font command")
+                   LaTeX-arg-fontcmd nil t) optional))
+
+;; adapted from url.el:TeX-arg-urlstyle
+(defun TeX-arg-ulem-useunder (optional &optional prompt)
+  "Prompt for underline command used in \\useunder"
+  (TeX-argument-insert
+   (completing-read (TeX-argument-prompt optional prompt "Underline command")
+                   (mapcar 'list
+                           (mapcar (lambda (str) (concat "\\" str))
+                                   '("uline" "uuline"
+                                     "uwave" "sout" "xout")))
+                   nil t) optional))
+
+(defvar LaTeX-ulem-package-options
+  '("UWforbf" "ULforem" "normalbf" "normalem")
+  "Package options for the ulem package.")
+
+;;; ulem.el ends here
diff --git a/style/unicode-math.el b/style/unicode-math.el
new file mode 100644
index 0000000..d7ed089
--- /dev/null
+++ b/style/unicode-math.el
@@ -0,0 +1,74 @@
+;;; unicode-math.el --- AUCTeX style for `unicode-math.sty' version 0.7e.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `unicode-math.sty' version 0.7e.
+
+;;; Code:
+
+(defvar LaTeX-unicode-math-package-options-list
+  '(("math-style" ("ISO" "TeX" "french" "upright" "literal"))
+    ("bold-style" ("ISO" "TeX" "upright" "literal"))
+    ("sans-style" ("italic" "upright" "literal"))
+    ("nabla" ("italic" "upright" "literal"))
+    ("partial" ("upright" "italic" "literal"))
+    ("vargreek-shape" ("unicode" "TeX"))
+    ("colon" ("literal" "TeX"))
+    ("slash-delimiter" ("ascii" "frac" "div")))
+  "Package options for the unicode-math package.")
+
+(defvar LaTeX-unicode-math-setmathfont-options
+  (append LaTeX-unicode-math-package-options-list
+         '(("range")
+           ("script-font")
+           ("script-features")
+           ("sscript-font")
+           ("sscript-features")))
+  "Options for the setmathfont macro of the unicode-math package.")
+
+(TeX-add-style-hook
+ "unicode-math"
+ (lambda ()
+   (TeX-run-style-hooks "ifxetex" "ifluatex" "expl3" "xparse" "l3keys2e"
+                       "fontspec" "catchfile" "fix-cm" "filehook")
+   (TeX-add-symbols
+    '("setmathfont" [TeX-arg-key-val LaTeX-unicode-math-setmathfont-options]
+      "Math font name")
+    '("unimathsetup" (TeX-arg-key-val 
LaTeX-unicode-math-package-options-list)))
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("setmathfont" "[{")
+                               ("unimathsetup" "{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defun LaTeX-unicode-math-package-options ()
+  "Prompt for package options for the unicode-math package."
+  (TeX-read-key-val t LaTeX-unicode-math-package-options-list))
+
+;;; unicode-math.el ends here
diff --git a/style/units.el b/style/units.el
index 88ba73d..8320e52 100644
--- a/style/units.el
+++ b/style/units.el
@@ -41,7 +41,8 @@
    ;; Fontification
    (when (and (featurep 'font-latex)
              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("unit" "[{") ("unitfrac" "[{{")) 'textual))))
+     (font-latex-add-keywords '(("unit" "[{") ("unitfrac" "[{{")) 'textual)))
+ LaTeX-dialect)
 
 (defvar LaTeX-units-package-options '("tight" "loose")
   "Package options for the units package.")
diff --git a/style/url.el b/style/url.el
index 0084be4..efdc297 100644
--- a/style/url.el
+++ b/style/url.el
@@ -78,7 +78,8 @@
      (font-latex-set-syntactic-keywords)
      ;; Tell font-lock about the update.
      (setq font-lock-set-defaults nil)
-     (font-lock-set-defaults))))
+     (font-lock-set-defaults)))
+ LaTeX-dialect)
 
 (defun TeX-arg-urlstyle (optional &optional prompt)
   "Prompt for style used in \\urlstyle with completion."
diff --git a/style/varioref.el b/style/varioref.el
index 77c791b..8811391 100644
--- a/style/varioref.el
+++ b/style/varioref.el
@@ -1,8 +1,9 @@
 ;;; varioref.el --- AUCTeX style file with support for varioref.sty
 
-;; Copyright (C) 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2013 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <address@hidden>
+;;         Mads Jensen <address@hidden>
 ;; Maintainer: address@hidden
 
 ;; This file is part of AUCTeX.
@@ -26,38 +27,53 @@
 
 (TeX-add-style-hook "varioref"
    (lambda ()
-     
+
      (TeX-add-symbols
 
       ;; The macros with label arguments
-      '("vref" TeX-arg-label)
-      '("vpageref" [ "Same page text" ] [ "different page text" ] 
TeX-arg-label)
-      '("fullref" TeX-arg-label)
+      '("vref" TeX-arg-ref)
+      '("Vref" TeX-arg-ref)
+      '("vrefrange" [ "Same page text" ] TeX-arg-ref TeX-arg-ref)
+      '("vrefrange*" [ "Same page text" ] TeX-arg-ref TeX-arg-ref)
+      '("vref*" TeX-arg-ref)
+      '("Vref" TeX-arg-ref)
+      '("Ref" TeX-arg-ref)
+      '("vpageref" [ "Same page text" ] [ "Different page text" ] TeX-arg-ref)
+      '("vpageref*" [ "Same page text" ] [ "Different page text" ]
+        TeX-arg-ref)
+      '("fullref" TeX-arg-ref)
+      '("labelformat" TeX-arg-counter t)
+
+      '("vpagerefrange" [ "Same page text" ] TeX-arg-ref TeX-arg-ref)
+      '("vpagerefrange*" [ "Same page text" ] TeX-arg-ref TeX-arg-ref)
 
       ;; And the other macros used for customization
       "reftextbefore" "reftextfacebefore"
-      "reftextafter"  "reftextfaceafter"
-      "reftextfaraway" "vreftextvario" "vrefwarning")
+      "reftextafter"  "reftextfaceafter" "reftexlabelrange"
+      "reftextfaraway" "vreftextvario" "vrefwarning"
+      "vpagerefnum" "vrefshowerrors")
 
-     ;; Install completion for labels
+     ;; Install completion for labels.  Only offer completion for
+     ;; commands that take only one reference as an argument
      (setq TeX-complete-list
           (append
-           '(("\\\\vref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
-             ("\\\\vpageref\\(\\[[^]]*\\]\\)*{\\([^{}\n\r\\%,]*\\)" 
+           '(("\\\\[Vv]ref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+              ("\\\\vref\\*?{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+              ("\\\\Ref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+              ("\\\\vref\\*{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+              ("\\\\fullref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+              ("\\\\vpageref\\*?\\(\\[[^]]*\\]\\)*{\\([^{}\n\r\\%,]*\\)"
               2 LaTeX-label-list "}"))
-           TeX-complete-list))))
-
-(defvar LaTeX-varioref-package-options '("draft" "final" "afrikaans" 
-                                      "american" "austrian" "naustrian"
-                                      "brazil" "breton" "catalan" "croatian"
-                                      "czech" "danish" "dutch" "english"
-                                      "esperanto" "finnish" "french"
-                                      "galician" "german" "ngerman" "greek"
-                                      "italian" "magyar" "norsk" "nynorsk"
-                                      "polish" "portuges" "romanian"
-                                      "russian" "slovak" "slovene"
-                                      "spanish" "swedish" "turkish"
-                                      "francais" "germanb")
+           TeX-complete-list)))
+   LaTeX-dialect)
+
+(defvar LaTeX-varioref-package-options
+  '("draft" "final" "afrikaans" "american" "austrian" "naustrian" "basque"
+    "brazil" "breton" "bahasam" "catalan" "croatian" "czech" "danish"
+    "dutch" "english" "esperanto" "finnish" "french" "galician" "german"
+    "icelandic" "ngerman" "greek" "italian" "magyar" "norsk" "nynorsk"
+    "polish" "portuges" "romanian" "russian" "slovak" "slovene"
+    "spanish" "swedish" "turkish" "ukrainian" "francais" "germanb")
   "Package options for the varioref package.")
 
 ;;; varioref.el ends here
diff --git a/style/verbatim.el b/style/verbatim.el
index 2c95def..1fb7bdd 100644
--- a/style/verbatim.el
+++ b/style/verbatim.el
@@ -35,7 +35,8 @@
     (LaTeX-add-environments
      "comment")
     (TeX-add-symbols
-     '("verbatiminput" TeX-arg-file)))))
+     '("verbatiminput" TeX-arg-file))))
+ LaTeX-dialect)
 
 (defvar LaTeX-verbatim-package-options nil
   "Package options for the verbatim package.")
diff --git a/style/virtex.el b/style/virtex.el
index 18f58bc..e774b46 100644
--- a/style/virtex.el
+++ b/style/virtex.el
@@ -77,6 +77,7 @@
                     "vcenter" "vfil" "vfill" "vfilneg" "vfuzz"
                     "voffset" "vrule" "vsize" "vskip" "vss" "vtop"
                     "wd" "widowpenalty" "write" "xdef" "xleaders"
-                    "xspaceskip" "year")))
+                    "xspaceskip" "year"))
+  LaTeX-dialect)
 
 ;;; virtex.el ends here
diff --git a/style/xparse.el b/style/xparse.el
new file mode 100644
index 0000000..d75f81c
--- /dev/null
+++ b/style/xparse.el
@@ -0,0 +1,114 @@
+;;; xparse.el --- AUCTeX style for `xparse.sty' version 4467.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Maintainer: address@hidden
+;; Author: Mosè Giordano <address@hidden>
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds basic support for `xparse.sty' version 4467.  It
+;; doesn't parse argument specification of macros and environments.
+
+;;; Code:
+
+(defvar LaTeX-xparse-macro-regexp
+  (concat "\\\\\\(?:Declare\\|New\\|Renew\\|Provide\\|DeclareExpandable\\)"
+         "DocumentCommand[ \t\n\r]*{?[ \t\n\r]*\\\\\\([A-Za-z]+\\)[ \t\n\r]*}?"
+         ;; The following is the opening brace of argument specification and is
+         ;; needed to skip internal macros containing `:' or `_'.
+         "[ \t\n\r]*{")
+  "Matches macros by xparse package.")
+
+(defvar LaTeX-xparse-environment-regexp
+  (concat "\\\\\\(?:Declare\\|New\\|Renew\\|Provide\\)DocumentEnvironment"
+         "[ \t\n\r]*{[ \t\n\r]*\\([A-Za-z]+\\)[ \t\n\r]*}")
+  "Matches environments by xparse package.")
+
+(TeX-add-style-hook
+ "xparse"
+ (lambda ()
+   (TeX-auto-add-regexp `(,LaTeX-xparse-macro-regexp 1 TeX-auto-symbol))
+   (TeX-auto-add-regexp
+    `(,LaTeX-xparse-environment-regexp 1 LaTeX-auto-environment))
+   (TeX-run-style-hooks
+    "expl3")
+   (TeX-add-symbols
+    ;; Declaring commands and environments
+    '("DeclareDocumentCommand" TeX-arg-define-macro "Argument specification" t)
+    '("NewDocumentCommand" TeX-arg-define-macro "Argument specification" t)
+    '("RenewDocumentCommand" TeX-arg-macro "Argument specification" t)
+    '("ProvideDocumentCommand" TeX-arg-define-macro "Argument specification" t)
+    '("DeclareDocumentEnvironment" TeX-arg-define-environment
+      "Argument specification" t t)
+    '("NewDocumentEnvironment" TeX-arg-define-environment
+      "Argument specification" t t)
+    '("RenewDocumentEnvironment" TeX-arg-environment
+      "Argument specification" t t)
+    '("ProvideDocumentEnvironment" TeX-arg-define-environment
+      "Argument specification" t t)
+    ;; Fully-expandable document commands
+    '("DeclareExpandableDocumentCommand"
+      TeX-arg-define-macro "Argument specification" t)
+    ;; Testing special values
+    '("IfBooleanTF" 3)
+    '("IfBooleanT" 3)
+    '("IfBooleanF" 3)
+    '("IfNoValueTF" 3)
+    '("IfNoValueT" 3)
+    '("IfNoValueF" 3)
+    '("IfValueTF" 3)
+    '("IfValueT" 3)
+    '("IfValueF" 3)
+    "BooleanTrue"
+    "BooleanFalse"
+    ;; Argument processors
+    "ProcessedArgument"
+    "ReverseBoolean"
+    '("SplitArgument" "Number" "Token")
+    "SplitList"
+    "TrimSpaces"
+    '("ProcessList" "List" "Functiom")
+    ;; Access to the argument specification
+    '("GetDocumentCommandArgSpec" TeX-arg-macro)
+    '("GetDocumentEnvironmmentArgSpec" TeX-arg-environment)
+    '("ShowDocumentCommandArgSpec" TeX-arg-macro)
+    '("ShowDocumentEnvironmentArgSpec" TeX-arg-environment))
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("DeclareDocumentCommand" "|{{{")
+                               ("NewDocumentCommand" "|{{{")
+                               ("RenewDocumentCommand" "|{{{")
+                               ("ProvideDocumentCommand" "|{{{")
+                               ("DeclareExpandableDocumentCommand" "|{{{")
+                               ("DeclareDocumentEnvironment" "{{{{")
+                               ("NewDocumentEnvironment" "{{{{")
+                               ("RenewDocumentEnvironment" "{{{{")
+                               ("ProvideDocumentEnvironment" "{{{{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defun LaTeX-xparse-package-options ()
+  "Read the xparse package options from the user."
+  (TeX-read-key-val t '(("log-declarations" ("true" "false")))))
+
+;;; xparse.el ends here
diff --git a/style/xspace.el b/style/xspace.el
index 15f9216..dda6238 100644
--- a/style/xspace.el
+++ b/style/xspace.el
@@ -3,6 +3,7 @@
 ;; Copyright (C) 2011 Free Software Foundation, Inc.
 
 ;; Author: Mads Jensen <address@hidden>
+;; Maintainer: address@hidden
 ;; Created: 2011-02-01
 ;; Keywords: tex
 
@@ -43,7 +44,8 @@
      (font-latex-add-keywords '(("xspace" "")
                                ("xspaceaddexception" "{")
                                ("xspaceremoveexception" "{"))
-                             'function))))
+                             'function)))
+ LaTeX-dialect)
 
 (defvar LaTeX-xspace-package-options nil
   "Package options for the xspace package.")
diff --git a/tex-bar.el b/tex-bar.el
index cf7bc1d..f3cbaf1 100644
--- a/tex-bar.el
+++ b/tex-bar.el
@@ -1,6 +1,6 @@
 ;;; tex-bar.el --- toolbar icons on AUCTeX in GNU emacs and XEmacs
 
-;; Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2008, 2012-2014 Free Software Foundation, Inc.
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU General Public License as
@@ -84,7 +84,7 @@ If there is no help, the empty string is returned."
 
 (defcustom TeX-bar-TeX-buttons
   '(new-file open-file dired kill-buffer save-buffer cut copy paste undo
-            [separator nil] tex next-error view bibtex)
+            [separator nil] tex next-error view bibtex spell)
   "List of buttons available in `tex-mode'.
 It should be a list in the same format of the BUTTONS parameter
 in function `toolbarx-install-toolbar', often a symbol that
@@ -114,7 +114,8 @@ alists, see variable `TeX-bar-TeX-all-button-alists'."
                    (const view)
                    (const file)
                    (const bibtex)
-                   (const clean))
+                   (const clean)
+                   (const spell))
                    ;; (const latex-symbols-experimental)
               (repeat (choice (symbol :tag "Label")
                               (vector :args ((symbol :tag "Label in Emacs ")
@@ -136,8 +137,7 @@ alists, see variable `TeX-bar-TeX-all-button-alists'."
                                       assqs-button-alists)))
     (setq assqs-button-alists (nreverse assqs-button-alists))
     ;; displaying results
-    (save-excursion
-      (set-buffer (get-buffer-create "*TeX tool bar buttons*"))
+    (with-current-buffer (get-buffer-create "*TeX tool bar buttons*")
       (erase-buffer)
       (insert "Available buttons for TeX mode
 ================================")
@@ -196,7 +196,11 @@ the argument BUTTON-ALIST in function 
`toolbarx-install-toolbar'."
     (clean  :image "delete"
            :command (TeX-command "Clean" 'TeX-master-file -1)
            :help (lambda (&rest ignored)
-                   (TeX-bar-help-from-command-list "Clean"))))
+                   (TeX-bar-help-from-command-list "Clean")))
+    (spell  :image "spell"
+           :command (TeX-command "Spell" 'TeX-master-file -1)
+           :help (lambda (&rest ignored)
+                   (TeX-bar-help-from-command-list "Spell"))))
   ;; latex-symbols-experimental?
   "Alist for button definitions in TeX bar.
 Value should le a list where each element is of format (KEY .
@@ -226,7 +230,7 @@ format of the argument MEANING-ALIST in the mentioned 
function."
 
 (defcustom TeX-bar-LaTeX-buttons
   '(new-file open-file dired kill-buffer save-buffer cut copy paste undo
-             [separator nil] latex next-error view bibtex)
+             [separator nil] latex next-error view bibtex spell)
   "List of buttons available in `latex-mode'.
 It should be a list in the same format of the BUTTONS parameter
 in function `toolbarx-install-toolbar', often a symbol that
@@ -257,6 +261,7 @@ alists, see variable `TeX-bar-LaTeX-all-button-alists'."
                    (const file)
                    (const bibtex)
                    (const clean)
+                   (const spell)
                    (const latex-symbols-experimental))
               (repeat (choice (symbol :tag "Label")
                               (vector :args ((symbol :tag "Label in Emacs ")
@@ -278,8 +283,7 @@ alists, see variable `TeX-bar-LaTeX-all-button-alists'."
                                       assqs-button-alists)))
     (setq assqs-button-alists (nreverse assqs-button-alists))
     ;; displaying results
-    (save-excursion
-      (set-buffer (get-buffer-create "*TeX tool bar buttons*"))
+    (with-current-buffer (get-buffer-create "*TeX tool bar buttons*")
       (erase-buffer)
       (insert "Available buttons for LaTeX mode
 ================================")
@@ -332,13 +336,19 @@ the argument BUTTON-ALIST in function 
`toolbarx-install-toolbar'."
          :help (lambda (&rest ignored)
                  (TeX-bar-help-from-command-list "File")))
     (bibtex :image "bibtex"
-           :command (TeX-command "BibTeX" 'TeX-master-file -1)
+           :command (TeX-command (if LaTeX-using-Biber "Biber" "BibTeX")
+                                 'TeX-master-file -1)
            :help (lambda (&rest ignored)
-                   (TeX-bar-help-from-command-list "BibTeX")))
+                   (TeX-bar-help-from-command-list
+                    (if LaTeX-using-Biber "Biber" "BibTeX"))))
     (clean  :image "delete"
            :command (TeX-command "Clean" 'TeX-master-file -1)
            :help (lambda (&rest ignored)
                    (TeX-bar-help-from-command-list "Clean")))
+    (spell  :image "spell"
+           :command (TeX-command "Spell" 'TeX-master-file -1)
+           :help (lambda (&rest ignored)
+                   (TeX-bar-help-from-command-list "Spell")))
     (latex-symbols-experimental . (:alias :eval-group
                                          LaTeX-symbols-toolbar-switch-contents
                                          LaTeX-symbols-toolbar-contents)))
@@ -361,6 +371,10 @@ format of the argument MEANING-ALIST in the mentioned 
function."
   (add-to-list 'toolbarx-image-path
               (expand-file-name "images" TeX-data-directory))
   (add-hook 'TeX-PDF-mode-hook 'toolbarx-refresh nil t)
+  ;; Refresh the toolbar after styles update because `LaTeX-using-Biber' value
+  ;; could have been changed.  Append the refresh to the hook so it is run 
after
+  ;; the other styles-related changes.
+  (add-hook 'TeX-update-style-hook 'toolbarx-refresh t t)
   (toolbarx-install-toolbar TeX-bar-LaTeX-buttons
                            (let ((append-list))
                              (dolist (elt TeX-bar-LaTeX-all-button-alists)
diff --git a/tex-buf.el b/tex-buf.el
index 07f0502..a3538ba 100644
--- a/tex-buf.el
+++ b/tex-buf.el
@@ -1,7 +1,6 @@
 ;;; tex-buf.el --- External commands for AUCTeX.
 
-;; Copyright (C) 1991, 1993, 1996, 2001, 2003, 2004, 2005, 2006, 2007,
-;;   2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 1991-1999, 2001-2014 Free Software Foundation, Inc.
 
 ;; Maintainer: address@hidden
 ;; Keywords: tex, wp
@@ -91,8 +90,8 @@ Return non-nil if document needs to be re-TeX'ed."
 If a prefix argument OVERRIDE-CONFIRM is given, confirmation will
 depend on it being positive instead of the entry in `TeX-command-list'."
   (interactive "P")
-  (TeX-command (TeX-command-query (TeX-master-file)) 'TeX-master-file
-              override-confirm))
+  (TeX-command (TeX-command-query (TeX-master-file nil nil t))
+              'TeX-master-file override-confirm))
 
 (defvar TeX-command-region-begin nil)
 (defvar TeX-command-region-end nil)
@@ -267,26 +266,72 @@ the master file."
       (find-file (TeX-master-file TeX-default-extension))
     (switch-to-buffer TeX-command-buffer)))
 
-(defun TeX-next-error (reparse)
+(defvar TeX-error-last-visited -1
+  "Index of the last visited error listed in `TeX-error-list'.
+
+This variable is intended to be set only in output buffer so it
+will be shared among all files of the same document.")
+(make-variable-buffer-local 'TeX-error-last-visited)
+
+(defun TeX-get-parse-function ()
+  "Get the parse function for the current buffer."
+  (with-current-buffer TeX-command-buffer
+    (TeX-process-get-variable (TeX-active-master) 'TeX-parse-function)))
+
+(defun TeX-next-error (&optional arg reparse)
   "Find the next error in the TeX output buffer.
-With \\[universal-argument] prefix, start from the beginning of the errors."
+
+A prefix ARG specifies how many error messages to move;
+negative means move back to previous error messages, if possible.
+
+If REPARSE is non-nil, reparse the error message buffer.
+
+\\[universal-argument] as a prefix means reparse the error
+message buffer and start at the first error."
   (interactive "P")
-  (if (null (TeX-active-buffer))
-      (next-error reparse)
-    (funcall (TeX-process-get-variable (with-current-buffer TeX-command-buffer
-                                        (TeX-active-master))
-                                      'TeX-parse-function)
-            reparse)))
+  (if (or (null (TeX-active-buffer))
+         (eq 'compilation-mode (with-current-buffer TeX-command-buffer
+                                 major-mode)))
+      (if (featurep 'xemacs)
+         (next-error arg)
+       (next-error arg reparse))
+
+    ;; Force reparsing when the function is called with a universal-argument.
+    (if (consp arg) (setq reparse t arg nil))
+
+    (funcall (TeX-get-parse-function) arg reparse)))
 
 (defun TeX-previous-error (arg)
-  "Find the previous error in the TeX output buffer."
-  (interactive "P")
-  (if (null (TeX-active-buffer))
+  "Find the previous error in the TeX output buffer.
+
+Prefix arg N says how many error messages to move backward (or
+forward, if negative).
+
+This works only with TeX commands and if the
+`TeX-parse-all-errors' variable is non-nil."
+  (interactive "p")
+  (if (or (null (TeX-active-buffer))
+         (eq 'compilation-mode (with-current-buffer TeX-command-buffer
+                                 major-mode)))
       (previous-error arg)
-    (error "Jumping to previous error not supported")))
+
+    (let ((parse-function (TeX-get-parse-function)))
+      (if (and TeX-parse-all-errors (equal parse-function 'TeX-parse-TeX))
+         ;; When `TeX-parse-all-errors' is non-nil and the parsing function is
+         ;; `TeX-parse-TeX' we can move backward in the errors.
+         (TeX-parse-TeX (- arg) nil)
+       ;; XXX: moving backward in the errors hasn't yet been implemented for
+       ;; other parsing functions.
+       (error "Jumping to previous error not supported.")))))
 
 ;;; Command Query
 
+(defvar TeX-error-overview-frame nil
+  "The frame of the error overview.")
+
+(defconst TeX-error-overview-buffer-name "*TeX errors*"
+  "Name of the buffer in which to show error list.")
+
 (defun TeX-command (name file &optional override-confirm)
   "Run command NAME on the file returned by calling FILE.
 
@@ -316,6 +361,14 @@ asked if it is positive, and suppressed if it is not."
              (read-from-minibuffer (concat name " command: ") command
                                    nil nil)))
 
+    ;; Kill the frame and buffer associated to the error overview before 
running
+    ;; the command, but keep them if the command to be run is View.
+    (unless (string= name "View")
+      (if (frame-live-p TeX-error-overview-frame)
+                  (delete-frame TeX-error-overview-frame))
+     (if (get-buffer TeX-error-overview-buffer-name)
+        (kill-buffer TeX-error-overview-buffer-name)))
+
     ;; Now start the process
     (setq file (funcall file))
     (TeX-process-set-variable file 'TeX-command-next TeX-command-Show)
@@ -334,7 +387,7 @@ without further expansion."
                  (concat (and (stringp TeX-command-pos) TeX-command-pos)
                          (apply ',file args)
                          (and (stringp TeX-command-pos) TeX-command-pos)))))
-       case-fold-search string expansion arguments)
+        expansion-res case-fold-search string expansion arguments)
     (setq list (cons
                (list "%%" (lambda nil
                             (setq pos (1+ pos))
@@ -357,7 +410,13 @@ without further expansion."
                                 (TeX-function-p expansion))
                            (apply expansion arguments))
                           ((boundp expansion)
-                           (apply (eval expansion) arguments))
+                            (setq expansion-res
+                                  (apply (eval expansion) arguments))
+                            (when (eq expansion 'file)
+                              ;; Advance past the file name in order to
+                              ;; prevent expanding any substring of it.
+                              (setq pos (+ pos (length expansion-res))))
+                              expansion-res)
                           (t
                            (error "Nonexpansion %s" expansion)))))
       (if (stringp string)
@@ -381,7 +440,8 @@ ORIGINALS which are modified but not saved yet."
       (dolist (orig originals)
        (dolist (ext extensions)
          (let ((filepath (concat path orig "." ext)))
-           (if (file-exists-p filepath)
+           (if (or (file-exists-p filepath)
+                   (get-file-buffer filepath))
                 (setq existingoriginals (cons filepath existingoriginals)))))))
     (while buffers
       (let* ((buffer (car buffers))
@@ -394,7 +454,7 @@ ORIGINALS which are modified but not saved yet."
                        (y-or-n-p (concat "Save file "
                                          (buffer-file-name buffer)
                                          "? ")))
-                   (save-excursion (set-buffer buffer) (save-buffer)))))))
+                   (with-current-buffer buffer (save-buffer)))))))
     (dolist (eo existingoriginals)
       (if (file-newer-than-file-p eo derived)
           (setq found t)))
@@ -435,7 +495,7 @@ ORIGINALS which are modified but not saved yet."
                      (completing-read
                       (concat "Command: (default " default ") ")
                       (TeX-mode-specific-command-list major-mode) nil t
-                      nil 'TeX-command-history))))
+                      nil 'TeX-command-history default))))
     ;; If the answer is "latex" it will not be expanded to "LaTeX"
     (setq answer (car-safe (TeX-assoc answer TeX-command-list)))
     (if (and answer
@@ -504,8 +564,7 @@ QUEUE is non-nil when we are checking for the printer 
queue."
 (defun TeX-view-mouse (event)
   "Start `TeX-view' at mouse position."
   (interactive "e")
-  (save-excursion
-    (set-buffer (window-buffer (posn-window (event-start event))))
+  (with-current-buffer (window-buffer (posn-window (event-start event)))
     (goto-char (posn-point (event-start event)))
     (TeX-view)))
 
@@ -571,7 +630,7 @@ Return the new process."
     (set (make-local-variable 'TeX-command-buffer) command-buff)
     (if dir (cd dir))
     (insert "Running `" name "' on `" file "' with ``" command "''\n")
-    (setq mode-name name)
+    (TeX-output-mode)
     (if TeX-show-compilation
        (display-buffer buffer)
       (message "Type `%s' to display results of compilation."
@@ -617,8 +676,7 @@ Return the new process."
   (let ((buffer (TeX-process-buffer-name file))
        (process (TeX-run-command name command file)))
     ;; Hook to TeX debuger.
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (TeX-parse-reset)
       (setq TeX-parse-function 'TeX-parse-TeX)
       (setq TeX-sentinel-function 'TeX-TeX-sentinel)
@@ -680,7 +738,7 @@ run of `TeX-run-TeX', use
       (TeX-synchronous-sentinel name file process))))
 
 (defun TeX-run-Biber (name command file)
-  "Create a process for NAME using COMMAND to format FILE with Biber." 
+  "Create a process for NAME using COMMAND to format FILE with Biber."
   (let ((process (TeX-run-command name command file)))
     (setq TeX-sentinel-function 'TeX-Biber-sentinel)
     (if TeX-process-asynchronous
@@ -689,7 +747,8 @@ run of `TeX-run-TeX', use
 
 (defun TeX-run-compile (name command file)
   "Ignore first and third argument, start compile with second argument."
-  (compile command))
+  (let ((default-directory (TeX-master-directory)))
+    (setq TeX-command-buffer (compile command))))
 
 (defun TeX-run-shell (name command file)
   "Ignore first and third argument, start shell-command with second argument."
@@ -811,8 +870,7 @@ reasons.  Use `TeX-run-function' instead."
 (defun TeX-synchronous-sentinel (name file result)
   "Process TeX command output buffer after the process dies."
   (let ((buffer (TeX-process-buffer (file-name-nondirectory file))))
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
 
       ;; Append post-mortem information to the buffer
       (goto-char (point-max))
@@ -843,8 +901,7 @@ reasons.  Use `TeX-run-function' instead."
           (set-process-buffer process nil)
           (set-process-sentinel process nil))
          ((memq (process-status process) '(signal exit))
-          (save-excursion
-            (set-buffer buffer)
+          (with-current-buffer buffer
 
             ;; Append post-mortem information to the buffer
             (goto-char (point-max))
@@ -886,10 +943,21 @@ NAME is the name of the process.")
   (make-variable-buffer-local 'TeX-sentinel-default-function)
 
 (defun TeX-TeX-sentinel (process name)
-  "Cleanup TeX output buffer after running TeX."
+  "Cleanup TeX output buffer after running TeX.
+
+Parse the output buffer to collect errors and warnings if the
+variable `TeX-parse-all-errors' is non-nil.
+
+Open the error overview if
+`TeX-error-overview-open-after-TeX-run' is non-nil and there are
+errors or warnings to show."
   (if (TeX-TeX-sentinel-check process name)
       ()
     (message (concat name ": formatted " (TeX-current-pages)))
+    (if TeX-parse-all-errors
+       (TeX-parse-all-errors))
+    (if (and TeX-error-overview-open-after-TeX-run TeX-error-list)
+       (TeX-error-overview))
     (setq TeX-command-next TeX-command-Show)))
 
 (defun TeX-current-pages ()
@@ -926,10 +994,10 @@ Return nil ifs no errors were found."
        (setq TeX-command-next TeX-command-default)
        ;; error reported to TeX-error-report-switches
        (setq TeX-error-report-switches
-         (plist-put TeX-error-report-switches
-                    (intern (plist-get TeX-error-report-switches
-                                       'TeX-current-master))
-                    t))
+             (plist-put TeX-error-report-switches
+                        (intern (plist-get TeX-error-report-switches
+                                           'TeX-current-master))
+                        t))
        t)
     (setq TeX-command-next TeX-command-Show)
     nil))
@@ -950,7 +1018,18 @@ Warnings can be indicated by LaTeX or packages."
 
 ;; should go into latex.el? --pg
 (defun TeX-LaTeX-sentinel (process name)
-  "Cleanup TeX output buffer after running LaTeX."
+  "Cleanup TeX output buffer after running LaTeX.
+
+Parse the output buffer to collect errors and warnings if the
+variable `TeX-parse-all-errors' is non-nil.
+
+Open the error overview if
+`TeX-error-overview-open-after-TeX-run' is non-nil and there are
+errors or warnings to show."
+  (if TeX-parse-all-errors
+      (TeX-parse-all-errors))
+  (if (and TeX-error-overview-open-after-TeX-run TeX-error-list)
+      (TeX-error-overview))
   (cond ((TeX-TeX-sentinel-check process name))
        ((and (save-excursion
                (re-search-forward
@@ -981,7 +1060,7 @@ Warnings can be indicated by LaTeX or packages."
                  (TeX-current-pages))
         (setq TeX-command-next (with-current-buffer TeX-command-buffer
                                  TeX-command-BibTeX)))
-  ((re-search-forward "Package biblatex Warning: Please rerun LaTeX" nil t)
+       ((re-search-forward "Package biblatex Warning: Please rerun LaTeX" nil 
t)
         (message "%s%s" "You should run LaTeX again, " (TeX-current-pages))
         (setq TeX-command-next TeX-command-default))
        ((re-search-forward "^(biblatex)\\W+Page breaks have changed" nil t)
@@ -993,6 +1072,12 @@ Package natbib Warning: Citation(s)\\)" nil t)
         (message "%s%s" "You should run LaTeX again to get references right, "
                  (TeX-current-pages))
         (setq TeX-command-next TeX-command-default))
+       ((re-search-forward
+         "^\\(?:(rerunfilecheck)\\|Package hyperref Warning:\\)\\W+\
+Rerun to get outlines right" nil t)
+        (message "%s%s" "You should run LaTeX again to get outlines right, "
+                 (TeX-current-pages))
+        (setq TeX-command-next TeX-command-default))
        ((re-search-forward "^LaTeX Warning: Reference" nil t)
         (message "%s%s%s" name ": there were unresolved references, "
                  (TeX-current-pages))
@@ -1091,8 +1176,7 @@ defined."
   (let ((buffer (TeX-process-buffer name)))
     (if (and buffer
             (local-variable-p symbol buffer))
-       (save-excursion
-         (set-buffer buffer)
+       (with-current-buffer buffer
          (symbol-value symbol))
       default)))
 
@@ -1101,8 +1185,7 @@ defined."
 Return nil iff no process buffer exist."
   (let ((buffer (TeX-process-buffer name)))
     (if buffer
-       (save-excursion
-         (set-buffer buffer)
+       (with-current-buffer buffer
          (set symbol value)
          t)
       nil)))
@@ -1250,8 +1333,8 @@ command."
 (defun TeX-active-buffer ()
   "Return the buffer of the active process for this buffer."
   (and TeX-command-buffer
-       (TeX-process-buffer (with-current-buffer TeX-command-buffer
-                            (TeX-active-master)))))
+       (with-current-buffer TeX-command-buffer
+        (TeX-process-buffer (TeX-active-master)))))
 
 (defun TeX-active-master (&optional extension nondirectory)
   "The master file currently being compiled.
@@ -1374,8 +1457,7 @@ original file."
     (setq original (TeX-quote-filename (file-relative-name
                                        original (TeX-master-directory)))
          master-name (TeX-quote-filename master-name))
-    (save-excursion
-      (set-buffer file-buffer)
+    (with-current-buffer file-buffer
       (setq buffer-undo-list t)
       (setq original-content (buffer-string))
       (erase-buffer)
@@ -1427,7 +1509,7 @@ the directory."
  (make-variable-buffer-local 'TeX-error-point)
 
 (defvar TeX-error-file nil
-  "Stack of files in which errors have occured.")
+  "Stack of files in which errors have occurred.")
 
  (make-variable-buffer-local 'TeX-error-file)
 
@@ -1436,34 +1518,68 @@ the directory."
 
  (make-variable-buffer-local 'TeX-error-offset)
 
-(defun TeX-parse-reset ()
-  "Reset all variables used for parsing TeX output."
-  (setq TeX-error-point (point-min))
-  (setq TeX-error-offset nil)
-  (setq TeX-error-file nil))
+(defun TeX-parse-reset (&optional reparse)
+  "Reset all variables used for parsing TeX output.
+If optional argument REPARSE is non-nil, reparse the output log."
+  (setq TeX-error-point (point-min)
+       TeX-error-offset nil
+       TeX-error-file nil
+       TeX-error-list nil
+       TeX-error-last-visited -1)
+  (if reparse
+      (TeX-parse-all-errors)))
 
 ;;; - Parsers Hooks
 
-(defun TeX-parse-command (reparse)
+;; All this parsers hooks should have the same arguments even though they will
+;; be ignored, because `TeX-next-error' can call any of these functions.
+(defun TeX-parse-command (arg reparse)
   "We can't parse anything but TeX."
-  (error "I cannot parse %s output, sorry"
+  (error "I cannot parse %s output, sorry."
         (if (TeX-active-process)
             (process-name (TeX-active-process))
           "this")))
 
-(defun TeX-parse-TeX (reparse)
+(defun TeX-parse-TeX (arg reparse)
   "Find the next error produced by running TeX.
-With \\[universal-argument] prefix, start from the beginning of the errors.
+
+ARG specifies how many error messages to move, when possible;
+negative means move back to previous error messages.
+
+If REPARSE is non-nil, reparse the output log.
 
 If the file occurs in an included file, the file is loaded (if not
 already in an Emacs buffer) and the cursor is placed at the error."
   (let ((old-buffer (current-buffer))
-       (default-major-mode major-mode))
+       (default-major-mode major-mode)
+       max-index item)
+
+    ;; Switch to the output buffer.
     (with-current-buffer (TeX-active-buffer)
       (if reparse
-         (TeX-parse-reset))
-      (goto-char TeX-error-point)
-      (TeX-parse-error old-buffer))))
+         (TeX-parse-reset reparse))
+      (if TeX-parse-all-errors
+         (progn
+           (setq max-index (length TeX-error-list)
+                 TeX-error-last-visited (+ (or arg 1) TeX-error-last-visited)
+                 item (if (natnump TeX-error-last-visited)
+                          (nth TeX-error-last-visited TeX-error-list)
+                        ;; XEmacs doesn't support `nth' with a negative index.
+                        nil))
+           (if (< TeX-error-last-visited -1)
+               (setq TeX-error-last-visited -1))
+           (cond ((or (null item)
+                      (< TeX-error-last-visited 0))
+                  (if (> TeX-error-last-visited max-index)
+                      (setq TeX-error-last-visited max-index))
+                  (message "No more errors.")
+                  (beep)
+                  (TeX-pop-to-buffer old-buffer))
+                 (t
+                  (apply 'TeX-find-display-help item))))
+
+       (goto-char TeX-error-point)
+       (TeX-parse-error old-buffer)))))
 
 ;;; - Parsing (La)TeX
 
@@ -1473,8 +1589,39 @@ already in an Emacs buffer) and the cursor is placed at 
the error."
 You might want to examine and modify the free variables `file',
 `offset', `line', `string', `error', and `context' from this hook.")
 
-(defun TeX-parse-error (old)
-  "Goto next error.  Pop to OLD buffer if no more errors are found."
+(defvar TeX-error-list nil
+  "List of warnings and errors.
+
+This variable is intended to be set only in output buffer so it
+will be shared among all files of the same document.")
+(make-variable-buffer-local 'TeX-error-list)
+
+(defcustom TeX-parse-all-errors t
+  "Whether to automatically collect all warning and errors after running TeX.
+
+If t, it makes it possible to use `TeX-previous-error' with TeX
+commands."
+  :group 'TeX-command
+  :type 'boolean)
+
+(defun TeX-parse-all-errors ()
+  "Parse TeX output buffer to collect all warnings and errors."
+  ;; Reset error list.
+  (setq TeX-error-list nil)
+  (save-excursion
+    (goto-char (point-min))
+    (while (TeX-parse-error nil t)))
+  ;; Reset last visited error.
+  (setq TeX-error-last-visited -1))
+
+(defun TeX-parse-error (old &optional store)
+  "Goto next error.  Pop to OLD buffer if no more errors are found.
+
+If the optional argument STORE is non-nil, the function will
+store the found warning or error in `TeX-error-list' instead of
+displaying the issue.
+
+Return non-nil if an error or warning is found."
   (let ((regexp
         (concat
          ;; TeX error
@@ -1486,8 +1633,10 @@ You might want to examine and modify the free variables 
`file',
 \\(?:[\\/]+\\(?:\\.+[^()\r\n{} \\/]*\\|[^()\r\n{} .\\/]+\
 \\(?: [^()\r\n{} .\\/]+\\)*\\(?:\\.[-0-9a-zA-Z_.]*\\)?\\)?\\)*\\)\
 )*\\(?: \\|\r?$\\)\\|"
-         ;; End of file
-         "\\()\\))*\\|"
+         ;; End of file.  The [^:] skips package messages like:
+         ;; Package hyperref Message: Driver (autodetected): hpdftex.
+         ;; [Loading MPS to PDF converter (version 2006.09.02).]
+         "\\()\\)[^:.]\\|"
          ;; Hook to change line numbers
          " !\\(?:offset(\\([---0-9]+\\))\\|"
          ;; Hook to change file name
@@ -1496,15 +1645,17 @@ You might want to examine and modify the free variables 
`file',
          "^\\(\\(?:Overfull\\|Underfull\\|Tight\\|Loose\\)\
  \\\\.*?[0-9]+--[0-9]+\\)\\|"
          ;; LaTeX warning
-         "^\\(LaTeX [A-Za-z]*\\|Package [A-Za-z]+ \\)Warning:.*")))
+         "^\\(LaTeX [A-Za-z]*\\|Package [A-Za-z]+ \\)Warning:.*"))
+       (error-found nil))
     (while
        (cond
         ((null
           (re-search-forward regexp nil t))
          ;; No more errors.
-         (message "No more errors.")
-         (beep)
-         (TeX-pop-to-buffer old)
+         (unless store
+           (message "No more errors.")
+           (beep)
+           (TeX-pop-to-buffer old))
          nil)
         ;; TeX error
         ((match-beginning 1)
@@ -1514,15 +1665,17 @@ You might want to examine and modify the free variables 
`file',
              (push nil TeX-error-offset))
            (unless (car TeX-error-offset)
              (rplaca TeX-error-file (TeX-match-buffer 2))))
+         (setq error-found t)
          (if (looking-at "Preview ")
              t
-           (TeX-error)
+           (TeX-error store)
            nil))
         ;; LaTeX bad box
         ((match-beginning 7)
          (if TeX-debug-bad-boxes
              (progn
-               (TeX-warning (TeX-match-buffer 7))
+               (setq error-found t)
+               (TeX-warning (TeX-match-buffer 7) store)
                nil)
            (re-search-forward "\r?\n\
 \\(?:.\\{79\\}\r?\n\
@@ -1532,7 +1685,8 @@ You might want to examine and modify the free variables 
`file',
         ((match-beginning 8)
          (if TeX-debug-warnings
              (progn
-               (TeX-warning (TeX-match-buffer 8))
+               (setq error-found t)
+               (TeX-warning (TeX-match-buffer 8) store)
                nil)
            t))
 
@@ -1549,7 +1703,7 @@ You might want to examine and modify the free variables 
`file',
            (push nil TeX-error-offset)
            (goto-char end))
          t)
-        
+
         ;; End of file -- Pop from stack
         ((match-beginning 4)
          (when (> (length TeX-error-file) 0)
@@ -1557,23 +1711,86 @@ You might want to examine and modify the free variables 
`file',
            (pop TeX-error-offset))
          (goto-char (match-end 4))
          t)
-        
+
         ;; Hook to change line numbers
         ((match-beginning 5)
          (setq TeX-error-offset
                (list (string-to-number (TeX-match-buffer 5))))
          t)
-        
+
         ;; Hook to change file name
         ((match-beginning 6)
          (setq TeX-error-file
                (list (TeX-match-buffer 6)))
-         t)))))
-
-(defun TeX-error ()
-  "Display an error."
-
-  (let* (;; We need the error message to show the user.
+         t)))
+    error-found))
+
+(defun TeX-find-display-help (type file line error offset context string
+                                  line-end bad-box error-point)
+  "Find the error and display the help."
+  (unless file
+    (cond
+     ;; XXX: error messages have to be different?
+     ((equal type 'error)
+      (error "Error occurred after last TeX file closed"))
+     (t
+      (error "Could not determine file for warning"))))
+
+  ;; Go back to TeX-buffer
+  (let ((runbuf (TeX-active-buffer))
+       (master (with-current-buffer TeX-command-buffer
+                 (expand-file-name (TeX-master-file))))
+       (command-buffer TeX-command-buffer)
+       error-file-buffer start)
+    (run-hooks 'TeX-translate-location-hook)
+    (setq error-file-buffer
+         (find-file
+          (expand-file-name file (file-name-directory master))))
+    ;; Set the value of `TeX-command-buffer' in the next file with an
+    ;; error to be displayed to the value it has in the current buffer.
+    (with-current-buffer error-file-buffer
+      (set (make-local-variable 'TeX-command-buffer) command-buffer))
+
+    ;; Find the location of the error or warning.
+    (when line
+      (goto-char (point-min))
+      (forward-line (+ offset line -1))
+      (cond
+       ;; Error.
+       ((equal type 'error)
+       (if (not (string= string " "))
+           (search-forward string nil t)))
+       ;; Warning or bad box.
+       (t
+       (beginning-of-line 0)
+       (setq start (point))
+       (goto-char (point-min))
+       (forward-line (+ offset line-end -1))
+       (end-of-line)
+       (when string
+         (search-backward string start t)
+         (search-forward string nil t)))))
+
+    ;; Display the help.
+    (cond ((eq TeX-display-help 'expert)
+          (TeX-pop-to-buffer runbuf nil t)
+          (goto-char error-point)
+          (TeX-pop-to-buffer error-file-buffer nil t))
+         (TeX-display-help
+          (TeX-help-error
+           error
+           (if (equal type 'warning) (concat "\n" context) context)
+           runbuf type))
+         (t
+          (message (concat "! " error))))))
+
+(defun TeX-error (&optional store)
+  "Display an error.
+
+If optional argument STORE is non-nil, store the error
+information in `TeX-error-list' instead of displaying the error."
+
+  (let* ( ;; We need the error message to show the user.
         (error (progn
                  (re-search-forward "\\(.*\\)")
                  (TeX-match-buffer 1)))
@@ -1617,43 +1834,24 @@ You might want to examine and modify the free variables 
`file',
 
     ;; Remember where we was.
     (setq TeX-error-point (point))
-
-    ;; Find the error.
-    (if (null file)
-       (error "Error occured after last TeX file closed"))
-    (let ((runbuf (current-buffer))
-         (master (with-current-buffer
-                     TeX-command-buffer
-                   (expand-file-name (TeX-master-file))))
-         (command-buffer TeX-command-buffer)
-         error-file-buffer)
-      (run-hooks 'TeX-translate-location-hook)
-      (setq error-file-buffer (find-file file))
-      ;; Set the value of `TeX-command-buffer' in the next file with an
-      ;; error to be displayed to the value it has in the current buffer.
-      (with-current-buffer error-file-buffer
-       (set (make-local-variable 'TeX-command-buffer) command-buffer))
-      (goto-line (+ offset line))
-      (if (not (string= string " "))
-         (search-forward string nil t))
-      
-      ;; Explain the error.
-      (cond ((eq TeX-display-help 'expert)
-            (TeX-pop-to-buffer runbuf nil t)
-            (goto-char TeX-error-point)
-            (TeX-pop-to-buffer error-file-buffer nil t))
-           (TeX-display-help
-            (TeX-help-error error context runbuf))
-           (t
-            (message (concat "! " error)))))))
-
-(defun TeX-warning (string)
-  "Display a warning for STRING."
-
-  (let* ((error (concat "** " string))
-
-        ;; bad-box is nil if this is a "LaTeX Warning"
-        (bad-box (string-match "\\\\[vh]box.*[0-9]*--[0-9]*" string))
+    (if store
+       ;; Store the error information.
+       (add-to-list 'TeX-error-list
+                    (list 'error file line error offset context string nil nil
+                          TeX-error-point) t)
+      ;; Find the error point and display the help.
+      (TeX-find-display-help
+       'error file line error offset context string nil nil TeX-error-point))))
+
+(defun TeX-warning (warning &optional store)
+  "Display a warning for WARNING.
+
+If optional argument STORE is non-nil, store the warning
+information in `TeX-error-list' instead of displaying the
+warning."
+
+  (let* ( ;; bad-box is nil if this is a "LaTeX Warning"
+        (bad-box (string-match "\\\\[vh]box.*[0-9]*--[0-9]*" warning))
         ;; line-string: match 1 is beginning line, match 2 is end line
         (line-string (if bad-box " \\([0-9]*\\)--\\([0-9]*\\)"
                        "on input line \\([0-9]*\\)\\."))
@@ -1661,8 +1859,8 @@ You might want to examine and modify the free variables 
`file',
         (word-string (if bad-box "[][\\W() ---]\\(\\w+\\)[][\\W() ---]*$"
                        "`\\(\\w+\\)'"))
 
-        ;; Get error-line (warning)
-        (line (when (re-search-backward line-string nil t)
+        ;; Get error-line (warning).
+        (line (when (save-excursion (re-search-backward line-string nil t))
                 (string-to-number (TeX-match-buffer 1))))
         (line-end (if bad-box (string-to-number (TeX-match-buffer 2))
                     line))
@@ -1684,7 +1882,8 @@ You might want to examine and modify the free variables 
`file',
         (error-point (point))
 
         ;; Now find the error word.
-        (string (when (re-search-backward word-string context-start t)
+        (string (when (save-excursion
+                        (re-search-backward word-string context-start t))
                   (TeX-match-buffer 1)))
 
         ;; We might use these in another file.
@@ -1695,47 +1894,75 @@ You might want to examine and modify the free variables 
`file',
     (goto-char error-point)
     (setq TeX-error-point (point))
 
-    (unless file
-      (error "Could not determine file for warning"))
-
-    ;; Go back to TeX-buffer
-    (let ((runbuf (current-buffer))
-         (master (with-current-buffer
-                     TeX-command-buffer
-                   (expand-file-name (TeX-master-file))))
-         (command-buffer TeX-command-buffer)
-         error-file-buffer)
-      (run-hooks 'TeX-translate-location-hook)
-      (setq error-file-buffer (find-file file))
-      ;; Set the value of `TeX-command-buffer' in the next file with an
-      ;; error to be displayed to the value it has in the current buffer.
-      (with-current-buffer error-file-buffer
-       (set (make-local-variable 'TeX-command-buffer) command-buffer))
-      ;; Find line and string
-      (when line
-       (goto-line (+ offset line))
-       (beginning-of-line 0)
-       (let ((start (point)))
-         (goto-line (+ offset line-end))
-         (end-of-line)
-         (when string
-           (search-backward string start t)
-           (search-forward string nil t))))
-      ;; Display help
-      (cond ((eq TeX-display-help 'expert)
-            (TeX-pop-to-buffer runbuf nil t)
-            (goto-char TeX-error-point)
-            (TeX-pop-to-buffer error-file-buffer nil t))
-           (TeX-display-help
-            (TeX-help-error error (if bad-box context (concat "\n" context))
-                            runbuf))
-           (t
-            (message (concat "! " error)))))))
+    (if store
+       ;; Store the warning information.
+       (add-to-list 'TeX-error-list
+                    (list (if bad-box 'bad-box 'warning) file line warning
+                          offset context string line-end bad-box
+                          TeX-error-point) t)
+      ;; Find the warning point and display the help.
+      (TeX-find-display-help (if bad-box 'bad-box 'warning) file line warning
+                            offset context string line-end bad-box
+                            TeX-error-point))))
 
 ;;; - Help
 
-(defun TeX-help-error (error output runbuffer)
-  "Print ERROR in context OUTPUT from RUNBUFFER in another window."
+(defgroup TeX-error-description-faces nil
+  "Faces used in error descriptions."
+  :prefix "TeX-error-description-"
+  :group 'TeX-output)
+
+(defface TeX-error-description-error
+  (if (< emacs-major-version 22)
+      nil
+    ;; This is the same as `error' face in latest GNU Emacs versions.
+    '((((class color) (min-colors 88) (background light))
+       :foreground "Red1" :weight bold)
+      (((class color) (min-colors 88) (background dark))
+       :foreground "Pink" :weight bold)
+      (((class color) (min-colors 16) (background light))
+       :foreground "Red1" :weight bold)
+      (((class color) (min-colors 16) (background dark))
+       :foreground "Pink" :weight bold)
+      (((class color) (min-colors 8))
+       :foreground "red" :weight bold)
+      (t (:inverse-video t :weight bold))))
+  "Face for \"Error\" string in error descriptions.")
+
+(defface TeX-error-description-warning
+  (if (< emacs-major-version 22)
+      nil
+    ;; This is the same as `warning' face in latest GNU Emacs versions.
+    '((((class color) (min-colors 16)) :foreground "DarkOrange" :weight bold)
+      (((class color)) :foreground "yellow" :weight bold)))
+  "Face for \"Warning\" string in error descriptions.")
+
+(defface TeX-error-description-tex-said
+  (if (< emacs-major-version 22)
+      nil
+    ;; This is the same as `font-lock-function-name-face' face in latest GNU
+    ;; Emacs versions.
+    '((((class color) (min-colors 88) (background light))
+       :foreground "Blue1")
+      (((class color) (min-colors 88) (background dark))
+       :foreground "LightSkyBlue")
+      (((class color) (min-colors 16) (background light))
+       :foreground "Blue")
+      (((class color) (min-colors 16) (background dark))
+       :foreground "LightSkyBlue")
+      (((class color) (min-colors 8))
+       :foreground "blue" :weight bold)
+      (t (:inverse-video t :weight bold))))
+  "Face for \"TeX said\" string in error descriptions.")
+
+(defface TeX-error-description-help
+  '((t (:inherit TeX-error-description-tex-said)))
+  "Face for \"Help\" string in error descriptions.")
+
+(defun TeX-help-error (error output runbuffer type)
+  "Print ERROR in context OUTPUT from RUNBUFFER in another window.
+TYPE is a symbol specifing if ERROR is a real error, a warning or
+a bad box."
 
   (let ((old-buffer (current-buffer))
        (log-file (with-current-buffer runbuffer
@@ -1750,36 +1977,48 @@ You might want to examine and modify the free variables 
`file',
       (setq TeX-error-pointer (+ TeX-error-pointer 1)))
 
     (TeX-pop-to-buffer (get-buffer-create "*TeX Help*") nil t)
-    (erase-buffer)
-    (insert "ERROR: " error
-           "\n\n--- TeX said ---"
-           output
-           "\n--- HELP ---\n"
-           (let ((help (cdr (nth TeX-error-pointer
-                                 TeX-error-description-list))))
-             (save-excursion
-               (if (and (string= help "No help available")
-                        (let* ((log-buffer (find-buffer-visiting log-file)))
-                          (if log-buffer
-                              (progn
-                                (set-buffer log-buffer)
-                                (revert-buffer t t))
-                            (setq log-buffer
-                                  (find-file-noselect log-file))
-                            (set-buffer log-buffer))
-                          (auto-save-mode nil)
-                          (setq buffer-read-only t)
-                          (goto-line (point-min))
-                          (search-forward error nil t 1))
-                        (re-search-forward "^l\\." nil t)
-                        (re-search-forward "^ [^\n]+$" nil t))
-                   (let ((start (1+ (point))))
-                     (forward-char 1)
-                     (re-search-forward "^$")
-                     (concat "From the .log file...\n\n"
-                             (buffer-substring start (point))))
-                 help))))
+    (let ((inhibit-read-only t))
+      (erase-buffer)
+      (insert
+       (cond
+       ((equal type 'error)
+        (propertize "ERROR" 'font-lock-face 'TeX-error-description-error))
+       ((equal type 'warning)
+        (propertize "WARNING" 'font-lock-face 'TeX-error-description-warning))
+       ((equal type 'bad-box)
+        (propertize "BAD BOX" 'font-lock-face 'TeX-error-description-warning)))
+       ": " error
+       (propertize "\n\n--- TeX said ---" 'font-lock-face
+                  'TeX-error-description-tex-said)
+       output
+       (propertize "\n--- HELP ---\n" 'font-lock-face
+                  'TeX-error-description-help)
+       (let ((help (cdr (nth TeX-error-pointer
+                            TeX-error-description-list))))
+        (save-excursion
+          (if (and (string= help "No help available")
+                   (let* ((log-buffer (find-buffer-visiting log-file)))
+                     (if log-buffer
+                         (progn
+                           (set-buffer log-buffer)
+                           (revert-buffer t t))
+                       (setq log-buffer
+                             (find-file-noselect log-file))
+                       (set-buffer log-buffer))
+                     (auto-save-mode nil)
+                     (setq buffer-read-only t)
+                     (goto-char (point-min))
+                     (search-forward error nil t 1))
+                   (re-search-forward "^l\\." nil t)
+                   (re-search-forward "^ [^\n]+$" nil t))
+              (let ((start (1+ (point))))
+                (forward-char 1)
+                (re-search-forward "^$")
+                (concat "From the .log file...\n\n"
+                        (buffer-substring start (point))))
+            help)))))
     (goto-char (point-min))
+    (TeX-special-mode)
     (TeX-pop-to-buffer old-buffer nil t)))
 
 ;;; Error Messages
@@ -2202,6 +2441,336 @@ error."
                       (regexp :tag "Match")
                       (string :format "Description:\n%v"))))
 
+;;; Error Overview
+
+(defvar TeX-error-overview-active-buffer nil
+  "The active buffer for the current error overview.")
+
+(defvar TeX-error-overview-orig-frame nil
+  "Frame from which the error overview has been launched.")
+
+(defvar TeX-error-overview-orig-window nil
+  "Window from which the error overview has been launched.")
+
+(defcustom TeX-error-overview-setup nil
+  "The frame setup of the error overview.
+
+The possible value is: `separate-frame' (error oveview in a
+separate frame); with a nil value the current frame is used.
+
+If the display does not support multi frame, the current frame
+will be used regardless of the value of this variable."
+  :group 'TeX-output
+  :type '(choice
+          (const :tag "Error overview in separate frame" separate-frame)
+          (const :tag "Use current frame" nil)))
+
+(defun TeX-error-overview-setup ()
+  "Return the frame setup of the error overview for the current display."
+  (and (display-multi-frame-p) TeX-error-overview-setup))
+
+(defun TeX-error-overview-goto-source (&optional button)
+  "Go to the error point in the source.
+If optional argument BUTTON is non-nil, go to source associated
+to the selected error."
+  (interactive)
+  (let ((index (if button (button-get button 'id) (tabulated-list-get-id)))
+       item window)
+    (if index
+       (progn
+         ;; Select the source frame/window, if still live.
+         (if (TeX-error-overview-setup)
+             (if (frame-live-p TeX-error-overview-orig-frame)
+                 (select-frame TeX-error-overview-orig-frame)
+               (error "You have deleted a vital frame---\
+please restart TeX error overview"))
+           (if (window-live-p TeX-error-overview-orig-window)
+               (select-window TeX-error-overview-orig-window)
+             (error "You have deleted a vital window---\
+please restart TeX error overview")))
+         ;; Get the error details.
+         (with-current-buffer TeX-error-overview-active-buffer
+           (setq item (nth index TeX-error-list)
+                 TeX-error-last-visited index))
+         ;; Find the error and display the help.
+         (with-current-buffer TeX-command-buffer
+           ;; For consistency with `TeX-parse-TeX', use the major mode of
+           ;; `TeX-command-buffer' when visiting the error point.
+           (let ((default-major-mode major-mode))
+             ;; Find the error and display the help.
+             (apply 'TeX-find-display-help item)))
+         ;; Return to the error overview.
+         (if (TeX-error-overview-setup)
+             (select-frame TeX-error-overview-frame)
+           (if (setq window
+                     (get-buffer-window TeX-error-overview-buffer-name))
+               ;; If error overview window is visible just select it.
+               (select-window window)
+             ;; Otherwise, split the help window and display the error overview
+             ;; near to it.  This should be the only reason for the error
+             ;; overview window not being still visible after the beginning of
+             ;; the function.
+             (select-window
+              (get-buffer-window (cond
+                                  ((eq TeX-display-help 'expert)
+                                   TeX-error-overview-active-buffer)
+                                  (TeX-display-help  "*TeX Help*"))))
+             (if (window-splittable-p (selected-window) t)
+                 (split-window-horizontally)
+               (split-window-vertically))
+             (switch-to-buffer TeX-error-overview-buffer-name))))
+      (message "No more errors.")
+      (beep))))
+
+(defun TeX-error-overview-make-entries (&optional master-dir)
+  "Generate the list of errors to be printed using `tabulated-list-entries'.
+Write file names relative to MASTER-DIR when they are not absolute."
+  (with-current-buffer TeX-error-overview-active-buffer
+    (let ((id 0)
+         type file line msg entries)
+      (mapc
+       (lambda (entry)
+        (setq type (nth 0 entry)
+              file (nth 1 entry)
+              line (nth 2 entry)
+              msg  (nth 3 entry))
+        (add-to-list
+         'entries
+         (list
+          ;; ID.
+          id
+          (vector
+           ;; File.
+           (if (stringp file)
+               (if (file-name-absolute-p file)
+                   file
+                 (file-relative-name file master-dir))
+             "")
+           ;; Line.
+           (if (numberp line)
+               (number-to-string line)
+             "")
+           ;; Type.
+           (cond
+            ((equal type 'error)
+             (propertize "Error" 'font-lock-face 'TeX-error-description-error))
+            ((equal type 'warning)
+             (propertize "Warning" 'font-lock-face
+                         'TeX-error-description-warning))
+            ((equal type 'bad-box)
+             (propertize "Bad box" 'font-lock-face
+                         'TeX-error-description-warning))
+            (t
+             ""))
+           ;; Message.
+           (list (if (stringp msg) msg "")
+                 'face 'link
+                 'follow-link t
+                 'id id
+                 'action 'TeX-error-overview-goto-source)
+           )) t)
+        (setq id (1+ id))) TeX-error-list)
+      entries)))
+
+(defun TeX-error-overview-next-error (&optional arg)
+  "Move to the next line and find the associated error.
+
+A prefix ARG specifies how many error messages to move; negative
+means move back to previous error messages."
+  (interactive "p")
+  (if (= (forward-line arg) 0)
+      (TeX-error-overview-goto-source)
+    ;; If there are lines left to move we are at the beginning or at the end of
+    ;; the buffer and there are no more errors.
+    (message "No more errors.")
+    (beep)))
+
+(defun TeX-error-overview-previous-error (&optional arg)
+  "Move to the previous line and find the associated error.
+
+Prefix arg N says how many error messages to move backward (or
+forward, if negative)."
+  (interactive "p")
+  (TeX-error-overview-next-error (- arg)))
+
+(defun TeX-error-overview-quit ()
+  "Delete the window or the frame of the error overview."
+  (interactive)
+  (if (TeX-error-overview-setup)
+      (delete-frame TeX-error-overview-frame)
+    (delete-window))
+  (setq TeX-error-overview-orig-frame nil))
+
+(defvar TeX-error-overview-mode-map
+  (let ((map (make-sparse-keymap))
+       (menu-map (make-sparse-keymap)))
+    (define-key map "n"    'TeX-error-overview-next-error)
+    (define-key map "p"    'TeX-error-overview-previous-error)
+    (define-key map "q"    'TeX-error-overview-quit)
+    (define-key map "\C-m" 'TeX-error-overview-goto-source)
+    map)
+  "Local keymap for `TeX-error-overview-mode' buffers.")
+
+(defvar TeX-error-overview-list-entries nil
+  "List of errors to be used in the error overview.")
+
+(define-derived-mode TeX-error-overview-mode tabulated-list-mode
+  "TeX errors"
+  "Major mode for listing TeX errors."
+  (setq tabulated-list-format [("File" 25 nil)
+                               ("Line" 4 nil :right-align t)
+                               ("Type" 7 nil)
+                               ("Message" 0 nil)]
+        tabulated-list-padding 1
+        tabulated-list-entries TeX-error-overview-list-entries)
+  (tabulated-list-init-header)
+  (tabulated-list-print))
+
+(defcustom TeX-error-overview-frame-parameters
+  '((name . "TeX errors")
+    (title . "TeX errors")
+    (height . 10)
+    (width . 80)
+    (top . (- 0))
+    (left . (- 0))
+    (unsplittable . t)
+    (minibuffer . nil)
+    (vertical-scroll-bars . t)
+    (tool-bar-lines . 0))
+  "Parameters of the error overview frame."
+  :group 'TeX-output
+  :type 'alist
+  :options '((name string) (title string) (height integer) (width integer)
+            (top integer) (left integer) (unsplittable boolean)
+            (minibuffer boolean) (vertical-scroll-bars boolean)
+            (tool-bar-lines integer)))
+
+(defcustom TeX-error-overview-open-after-TeX-run nil
+  "Whether to open automatically the error overview after running TeX."
+  :group 'TeX-output
+  :type 'boolean)
+
+(defun TeX-error-overview ()
+  "Show an overview of the errors occurred in the last TeX run."
+  (interactive)
+  ;; Check requirements before start.
+  (if (fboundp 'tabulated-list-mode)
+      (if (setq TeX-error-overview-active-buffer (TeX-active-buffer))
+         (if (with-current-buffer TeX-error-overview-active-buffer
+               TeX-error-list)
+             (progn
+               (setq TeX-error-overview-list-entries
+                     (TeX-error-overview-make-entries (TeX-master-directory))
+                     TeX-error-overview-orig-window (selected-window)
+                     TeX-error-overview-orig-frame
+                     (window-frame TeX-error-overview-orig-window))
+               ;; Create the error overview buffer.  This is
+               ;; automatically killed before running TeX commands, so if
+               ;; exists it is up-to-date and doesn't need to be
+               ;; re-created.
+               (unless (get-buffer TeX-error-overview-buffer-name)
+                 (with-current-buffer
+                     (get-buffer-create TeX-error-overview-buffer-name)
+                   (TeX-error-overview-mode)))
+               ;; Move point to the line associated to the last visited
+               ;; error.
+               (with-current-buffer TeX-error-overview-buffer-name
+                 (goto-char (point-min))
+                 (forward-line (with-current-buffer
+                                   TeX-error-overview-active-buffer
+                                 TeX-error-last-visited))
+                 ;; Create a new frame for the error overview or display the
+                 ;; buffer in the same frame, depending on the setup.
+                 (if (TeX-error-overview-setup)
+                     (if (frame-live-p TeX-error-overview-frame)
+                         ;; Do not create a duplicate frame if there is
+                         ;; already one, just select it.
+                         (select-frame-set-input-focus
+                          TeX-error-overview-frame)
+                       ;; Create a new frame and store its name.
+                       (select-frame
+                        (setq TeX-error-overview-frame
+                              (make-frame
+                               TeX-error-overview-frame-parameters)))
+                       (set-window-buffer (selected-window)
+                                          TeX-error-overview-buffer-name)
+                       (set-window-dedicated-p (selected-window) t))
+                   (TeX-pop-to-buffer TeX-error-overview-buffer-name))))
+           (error "No errror or warning to show"))
+       (error "No process for this document"))
+    (error "Error overview is available only in Emacs 24 or later")))
+
+;;; Output mode
+
+(if (fboundp 'special-mode)
+    (progn
+      (defalias 'TeX-special-mode 'special-mode)
+      (defvaralias 'TeX-special-mode-map 'special-mode-map))
+  (defun TeX-special-mode ()
+    "Placeholder mode for Emacsen which don't have `special-mode'.")
+  (defvar TeX-special-mode-map
+    (let ((map (make-sparse-keymap)))
+      (suppress-keymap map)
+      (define-key map "q" (if (fboundp 'quit-window)
+                              'quit-window
+                            'bury-buffer))
+      (define-key map " " (if (fboundp 'scroll-up-command)
+                              'scroll-up-command
+                            'scroll-up))
+      (define-key map [backspace] (if (fboundp 'scroll-down-command)
+                                      'scroll-down-command
+                                    'scroll-down))
+      (define-key map "\C-?" (if (fboundp 'scroll-down-command)
+                                 'scroll-down-command
+                               'scroll-down))
+      (define-key map "?" 'describe-mode)
+      (define-key map "h" 'describe-mode)
+      (define-key map ">" 'end-of-buffer)
+      (define-key map "<" 'beginning-of-buffer)
+      (define-key map "g" 'revert-buffer)
+      map)
+    "Keymap for `TeX-special-mode-map'."))
+
+(defvar TeX-output-mode-map
+  (let ((map (make-sparse-keymap)))
+    (set-keymap-parent map TeX-special-mode-map)
+    (define-key map "n" 'TeX-next-error)
+    (define-key map "p" 'TeX-previous-error)
+    (define-key map "b" 'TeX-toggle-debug-bad-boxes)
+    (define-key map "w" 'TeX-toggle-debug-warnings)
+    (define-key map "i" (lambda ()
+                          (interactive)
+                          (with-current-buffer TeX-command-buffer
+                            (TeX-interactive-mode (if TeX-interactive-mode -1 
1)))))
+    (define-key map "s" (lambda ()
+                          (interactive)
+                          (with-current-buffer TeX-command-buffer
+                            (TeX-source-correlate-mode (if 
TeX-source-correlate-mode -1 1)))))
+    map)
+  "Keymap for `TeX-output-mode'.")
+
+(define-derived-mode TeX-output-mode TeX-special-mode "TeX Output"
+    "Major mode for viewing TeX output.
+\\{TeX-output-mode-map} "
+    :syntax-table nil
+    (set (make-local-variable 'revert-buffer-function)
+        #'TeX-output-revert-buffer)
+    ;; special-mode makes it read-only which prevents input from TeX.
+    (setq buffer-read-only nil))
+
+(defun TeX-output-revert-buffer (ignore-auto noconfirm)
+  "Rerun the TeX command which of which this buffer was the output."
+  (goto-char (point-min))
+  (if (looking-at "Running `\\(.*\\)' on `\\(.*\\)' with ``\\(.*\\)''$")
+      (let ((name (match-string 1))
+            (file (match-string 2))
+            (command (match-string 3)))
+        (with-current-buffer TeX-command-buffer
+          (TeX-command name (if (string-match "_region_" file)
+                                'TeX-region-file
+                              'TeX-master-file))))
+    (error "Unable to find what command to run.")))
+
 (provide 'tex-buf)
 
 ;;; tex-buf.el ends here
diff --git a/tex-info.el b/tex-info.el
index f973937..83e0081 100644
--- a/tex-info.el
+++ b/tex-info.el
@@ -35,15 +35,14 @@
   (defalias 'texinfo-mode 'TeX-texinfo-mode))
 
 ;;; Environments:
-
 (defvar Texinfo-environment-list
   '(("cartouche") ("command") ("copying") ("defcv") ("deffn") ("defivar")
     ("defmac") ("defmethod") ("defop") ("defopt") ("defspec")
     ("deftp") ("deftypefn") ("deftypefun") ("deftypevar") ("deftypevr")
     ("defun") ("defvar") ("defvr") ("description") ("detailmenu")
     ("direntry") ("display") ("documentdescription") ("enumerate")
-    ("example") ("flushleft") ("flushright") ("format") ("ftable")
-    ("group") ("ifclear") ("ifdocbook") ("ifhtml") ("ifinfo")
+    ("example") ("float") ("flushleft") ("flushright") ("format") ("ftable")
+    ("group") ("html") ("ifclear") ("ifdocbook") ("ifhtml") ("ifinfo")
     ("ifnotdocbook") ("ifnothtml") ("ifnotinfo") ("ifnotplaintext")
     ("ifnottex") ("ifnotxml") ("ifplaintext") ("ifset") ("iftex")
     ("ifxml") ("ignore") ("itemize") ("lisp") ("macro") ("menu")
@@ -184,7 +183,7 @@ environments."
        (unless (= (1+ c) count)
          (beginning-of-line 0)))
       (setq beg (point)))
-    (set-mark end)
+    (push-mark end)
     (goto-char beg)
     (TeX-activate-region)))
 
@@ -265,7 +264,7 @@ the section."
            (when  (looking-at "address@hidden>")
              (set boundary (point))))))
 
-      (set-mark end)
+      (push-mark end)
       (goto-char beg)
       (TeX-activate-region) )))
 
@@ -285,7 +284,7 @@ beginning of keyword address@hidden' or address@hidden'."
                    (progn (beginning-of-line) (point))))))
 
     (when (and beg end)
-      (set-mark end)
+      (push-mark end)
       (goto-char beg)
       (TeX-activate-region) )))
 
@@ -392,7 +391,7 @@ for @node."
   "Hook function to plug Texinfo into RefTeX."
   ;; force recompilation of variables
   (when (string= TeX-base-mode-name "Texinfo")
-    ;; dirty temporary hook to remove when reftex has a Texinfo builtin 
+    ;; dirty temporary hook to remove when reftex has a Texinfo builtin
     ;; TODO --- taken on <2014-01-06 mon> --- remove the dirty trick once 
reftex
     ;; has been corrected for long enough a time
     (unless (assq 'Texinfo reftex-label-alist-builtin)
@@ -544,38 +543,28 @@ value of `Texinfo-mode-hook'."
   (setq major-mode 'texinfo-mode)
   (use-local-map Texinfo-mode-map)
   (set-syntax-table texinfo-mode-syntax-table)
-  (make-local-variable 'page-delimiter)
-  (setq page-delimiter
-       (concat
-        "address@hidden [ \t]*[Tt]op\\|address@hidden("
-        texinfo-chapter-level-regexp
-        "\\)"))
-  (make-local-variable 'require-final-newline)
-  (setq require-final-newline t)
-  (make-local-variable 'indent-tabs-mode)
-  (setq indent-tabs-mode nil)
-  (make-local-variable 'paragraph-separate)
-  (setq paragraph-separate
-       (concat "\b\\|address@hidden \n]\\|" paragraph-separate))
-  (make-local-variable 'paragraph-start)
-  (setq paragraph-start
-       (concat "\b\\|address@hidden \n]\\|" paragraph-start))
-  (make-local-variable 'fill-column)
-  (setq fill-column 72)
-  (make-local-variable 'comment-start)
-  (setq comment-start "@c ")
-  (make-local-variable 'comment-start-skip)
-  (setq comment-start-skip "@c +\\|@comment +")
+
+  (set (make-local-variable 'page-delimiter)
+       (concat
+       "address@hidden [ \t]*[Tt]op\\|address@hidden("
+       texinfo-chapter-level-regexp
+       "\\)"))
+  (set (make-local-variable 'require-final-newline) t)
+  (set (make-local-variable 'indent-tabs-mode) nil)
+  (set (make-local-variable 'paragraph-separate)
+       (concat "\b\\|address@hidden \n]\\|" paragraph-separate))
+  (set (make-local-variable 'paragraph-start)
+       (concat "\b\\|address@hidden \n]\\|" paragraph-start))
+  (set (make-local-variable 'fill-column) 72)
+  (set (make-local-variable 'comment-start) "@c ")
+  (set (make-local-variable 'comment-start-skip) "@c +\\|@comment +")
   (set (make-local-variable 'comment-use-syntax) nil)
-  (make-local-variable 'words-include-escapes)
-  (setq words-include-escapes t)
-  (if (not (boundp 'texinfo-imenu-generic-expression))
+  (set (make-local-variable 'words-include-escapes) t)
+  (if (boundp 'texinfo-imenu-generic-expression)
       ;; This was introduced in 19.30.
-      ()
-    (make-local-variable 'imenu-generic-expression)
-    (setq imenu-generic-expression texinfo-imenu-generic-expression))
-  (make-local-variable 'font-lock-defaults)
-  (setq font-lock-defaults
+      (set (make-local-variable 'imenu-generic-expression) 
texinfo-imenu-generic-expression))
+
+  (set (make-local-variable 'font-lock-defaults)
        ;; COMPATIBILITY for Emacs 20
        (if (boundp 'texinfo-font-lock-syntactic-keywords)
            '(texinfo-font-lock-keywords
@@ -586,42 +575,34 @@ value of `Texinfo-mode-hook'."
   (if (not (boundp 'texinfo-section-list))
       ;; This was included in 19.31.
       ()
-    (make-local-variable 'outline-regexp)
-    (setq outline-regexp
-         (concat "@\\("
-                 (mapconcat 'car texinfo-section-list "\\>\\|")
-                 "\\>\\)"))
-    (make-local-variable 'outline-level)
-    (setq outline-level 'texinfo-outline-level))
+    (set (make-local-variable 'outline-regexp)
+        (concat "@\\("
+                (mapconcat 'car texinfo-section-list "\\>\\|")
+                "\\>\\)"))
+    (set (make-local-variable 'outline-level) 'texinfo-outline-level))
 
   ;; Mostly AUCTeX stuff
   (easy-menu-add Texinfo-mode-menu Texinfo-mode-map)
   (easy-menu-add Texinfo-command-menu Texinfo-mode-map)
-  (make-local-variable 'TeX-command-current)
-  (setq TeX-command-current 'TeX-command-master)
+  (set (make-local-variable 'TeX-command-current) 'TeX-command-master)
 
   (setq TeX-default-extension "texi")
-  (make-local-variable 'TeX-esc)
-  (setq TeX-esc "@")
+  (set (make-local-variable 'TeX-esc) "@")
 
-  (make-local-variable 'TeX-auto-regexp-list)
-  (setq TeX-auto-regexp-list 'TeX-auto-empty-regexp-list)
-  (make-local-variable 'TeX-auto-update)
-  (setq TeX-auto-update t)
+  (set (make-local-variable 'TeX-auto-regexp-list) 'TeX-auto-empty-regexp-list)
+  (set (make-local-variable 'TeX-auto-update) t)
 
   (setq TeX-command-default "TeX")
   (setq TeX-header-end "%*end")
   (setq TeX-trailer-start (regexp-quote (concat TeX-esc "bye")))
 
-  (make-local-variable 'TeX-complete-list)
-  (setq TeX-complete-list
+  (set (make-local-variable 'TeX-complete-list)
        (list (list "@\\([a-zA-Z]*\\)" 1 'TeX-symbol-list-filtered nil)
              (list "" TeX-complete-word)))
 
-  (make-local-variable 'TeX-font-list)
-  (setq TeX-font-list Texinfo-font-list)
-  (make-local-variable 'TeX-font-replace-function)
-  (setq TeX-font-replace-function 'TeX-font-replace-macro)
+  (set (make-local-variable 'TeX-font-list) Texinfo-font-list)
+  (set (make-local-variable 'TeX-font-replace-function) 
'TeX-font-replace-macro)
+  (set (make-local-variable 'TeX-style-hook-dialect) :texinfo)
 
   (add-hook 'find-file-hooks (lambda ()
                               (unless (file-exists-p (buffer-file-name))
@@ -633,6 +614,7 @@ value of `Texinfo-mode-hook'."
          #'texinfo-current-defun-name))
 
   (TeX-add-symbols
+   '("acronym" "Acronym")
    '("appendix" (TeX-arg-literal " ") (TeX-arg-free "Title"))
    '("appendixsec" (TeX-arg-literal " ") (TeX-arg-free "Title"))
    '("appendixsection" (TeX-arg-literal " ") (TeX-arg-free "Title"))
@@ -644,6 +626,10 @@ value of `Texinfo-mode-hook'."
    '("bullet")
    '("bye")
    '("c" (TeX-arg-literal " ") (TeX-arg-free "Comment"))
+   '("caption" "Caption"
+     ;; TODO: caption is meaningful only inside float env. Maybe some checking
+     ;; and warning would be good.
+     )
    '("center" (TeX-arg-literal " ") (TeX-arg-free "Line of text"))
    '("chapheading" (TeX-arg-literal " ") (TeX-arg-free "Title"))
    '("chapter" (TeX-arg-literal " ") (TeX-arg-free "Title"))
@@ -740,6 +726,7 @@ value of `Texinfo-mode-hook'."
    '("thischaptername")
    '("thisfile")
    '("thispage")
+   '("tie")
    '("tindex" (TeX-arg-literal " ") (TeX-arg-free "Entry"))
    '("title" (TeX-arg-literal " ") (TeX-arg-free "Title"))
    '("titlefont" "Text")
diff --git a/tex-jp.el b/tex-jp.el
index 9486c7a..3d4dc03 100644
--- a/tex-jp.el
+++ b/tex-jp.el
@@ -1,9 +1,9 @@
 ;;; tex-jp.el --- Support for Japanese TeX.  -*- coding: iso-2022-jp-unix; -*-
 
-;; Copyright (C) 1999, 2001-2007, 2012  Free Software Foundation, Inc.
+;; Copyright (C) 2002-2007, 2012  Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001 Hidenobu Nabetani <address@hidden>
 
-;; Author:     KOBAYASHI Shinji <address@hidden>,
-;;             Hidenobu Nabetani <address@hidden>
+;; Author:     KOBAYASHI Shinji <address@hidden>
 ;; Maintainer: Masayuki Ataka <address@hidden>
 ;; Keywords: tex
 
diff --git a/tex-site.el b/tex-site.el
index a342055..098af7d 100644
--- a/tex-site.el
+++ b/tex-site.el
@@ -1,6 +1,6 @@
 ;;; tex-site.el - Site specific variables.  Don't edit.
 
-;; Copyright (C) 2005, 2013, 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 ;;
 ;; completely rewritten.
 
@@ -53,7 +53,7 @@
   :load "tex" :load "latex" :load "tex-style")
 
 (defvar TeX-lisp-directory
-  (file-name-directory load-file-name)
+  (expand-file-name "auctex" (file-name-directory load-file-name))
   "The directory where most of the AUCTeX lisp files are located.
 For the location of lisp files associated with
 styles, see the variables TeX-style-* (hand-generated lisp) and
@@ -62,11 +62,11 @@ TeX-auto-* (automatically generated lisp).")
 (add-to-list 'load-path TeX-lisp-directory)
 
 (defvar TeX-data-directory
-  (file-name-directory load-file-name)
+  (directory-file-name (file-name-directory load-file-name))
   "The directory where the AUCTeX non-Lisp data is located.")
 
 (defcustom TeX-auto-global
-    (if (file-writable-p "/usr/local/var/auctex") "/usr/local/var/auctex" 
"~/.emacs.d/auctex")
+    "/usr/local/var/auctex"
   "*Directory containing automatically generated information.
 Must end with a directory separator.
 
@@ -139,34 +139,364 @@ set it with `TeX-modes-set'."
              (mapcar (lambda(x) (list 'const (car x))) TeX-mode-alist))
   :set 'TeX-modes-set
   :group 'AUCTeX
-  :initialize (lambda (var value)
-               (custom-initialize-reset var value)
-                (unless (fboundp 'advice-add)
-                  (let ((list TeX-mode-alist))
-                    (while list
-                      (eval-after-load (cdar list)
-                        `(TeX-modes-set ',var ,var t))
-                      (setq list (cdr list)))))))
-
-(defconst AUCTeX-version "11.87.2012-12-04"
+  :initialize(lambda (var value)
+              (custom-initialize-reset var value)
+              (unless (fboundp 'advice-add)
+                (let ((list TeX-mode-alist))
+                  (while list
+                    (eval-after-load (cdar list)
+                      `(TeX-modes-set ',var ,var t))
+                    (setq list (cdr list)))))) )
+
+(defconst AUCTeX-version "2014-10-31"
     "AUCTeX version.
 If not a regular release, the date of the last change.")
 
-(defconst AUCTeX-date "2012-12-04"
+(defconst AUCTeX-date "2014-10-31"
   "AUCTeX release date using the ISO 8601 format, yyyy-mm-dd.")
 
 ;; Store bibitems when saving a BibTeX buffer
 (add-hook 'bibtex-mode-hook 'BibTeX-auto-store)
 
-;;; Code specific to ELPA packaging:
+;;; auto-loads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+
+;;;### (autoloads nil "bib-cite" "bib-cite.el" (21525 24146 684698
+;;;;;;  552000))
+;;; Generated autoloads from bib-cite.el
+
+(autoload 'bib-cite-minor-mode "bib-cite" "\
+Toggle bib-cite mode.
+When bib-cite mode is enabled, citations, labels and refs are highlighted
+when the mouse is over them.  Clicking on these highlights with [mouse-2]
+runs bib-find, and [mouse-3] runs bib-display.
+
+\(fn ARG)" t nil)
+
+(autoload 'turn-on-bib-cite "bib-cite" "\
+Unconditionally turn on Bib Cite mode.
+
+\(fn)" nil nil)
+
+;;;***
+
+;;;### (autoloads nil "context" "context.el" (21549 17664 949205
+;;;;;;  503000))
+;;; Generated autoloads from context.el
+
+(defalias 'ConTeXt-mode 'context-mode)
+
+(autoload 'context-mode "context" "\
+Major mode in AUCTeX for editing ConTeXt files.
+
+Special commands:
+\\{ConTeXt-mode-map}
+
+Entering `context-mode' calls the value of `text-mode-hook',
+then the value of `TeX-mode-hook', and then the value
+of ConTeXt-mode-hook.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "context-en" "context-en.el" (21281 55524 102746
+;;;;;;  681000))
+;;; Generated autoloads from context-en.el
+
+(autoload 'context-en-mode "context-en" "\
+Major mode for editing files for ConTeXt using its english interface.
+
+Special commands:
+\\{ConTeXt-mode-map}
+
+Entering `context-mode' calls the value of `text-mode-hook',
+then the value of TeX-mode-hook, and then the value
+of context-mode-hook.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "context-nl" "context-nl.el" (21281 55523 812746
+;;;;;;  676000))
+;;; Generated autoloads from context-nl.el
+
+(autoload 'context-nl-mode "context-nl" "\
+Major mode for editing files for ConTeXt using its dutch interface.
+
+Special commands:
+\\{ConTeXt-mode-map}
+
+Entering `context-mode' calls the value of `text-mode-hook',
+then the value of TeX-mode-hook, and then the value
+of context-mode-hook.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "font-latex" "font-latex.el" (21564 61575 358701
+;;;;;;  899000))
+;;; Generated autoloads from font-latex.el
+
+(autoload 'font-latex-setup "font-latex" "\
+Setup this buffer for LaTeX font-lock.  Usually called from a hook.
+
+\(fn)" nil nil)
+
+;;;***
+
+;;;### (autoloads nil "latex" "latex.el" (21588 31530 445108 133000))
+;;; Generated autoloads from latex.el
+
+(autoload 'BibTeX-auto-store "latex" "\
+This function should be called from `bibtex-mode-hook'.
+It will setup BibTeX to store keys in an auto file.
+
+\(fn)" nil nil)
+
+(add-to-list 'auto-mode-alist '("\\.drv\\'" . latex-mode))
+
+(autoload 'TeX-latex-mode "latex" "\
+Major mode in AUCTeX for editing LaTeX files.
+See info under AUCTeX for full documentation.
+
+Special commands:
+\\{LaTeX-mode-map}
+
+Entering LaTeX mode calls the value of `text-mode-hook',
+then the value of `TeX-mode-hook', and then the value
+of `LaTeX-mode-hook'.
+
+\(fn)" t nil)
+
+(add-to-list 'auto-mode-alist '("\\.dtx\\'" . doctex-mode))
+
+(autoload 'docTeX-mode "latex" "\
+Major mode in AUCTeX for editing .dtx files derived from `LaTeX-mode'.
+Runs `LaTeX-mode', sets a few variables and
+runs the hooks in `docTeX-mode-hook'.
+
+\(fn)" t nil)
+
+(defalias 'TeX-doctex-mode 'docTeX-mode)
+
+;;;***
+
+;;;### (autoloads nil "multi-prompt" "multi-prompt.el" (21281 55523
+;;;;;;  936080 11000))
+;;; Generated autoloads from multi-prompt.el
+
+(autoload 'multi-prompt "multi-prompt" "\
+Completing prompt for a list of strings.  
+The first argument SEPARATOR should be the string (of length 1) to
+separate the elements in the list.  The second argument UNIQUE should
+be non-nil, if each element must be unique.  The remaining elements
+are the arguments to `completing-read'.  See that.
+
+\(fn SEPARATOR UNIQUE PROMPT TABLE &optional MP-PREDICATE REQUIRE-MATCH 
INITIAL HISTORY)" nil nil)
+
+(autoload 'multi-prompt-key-value "multi-prompt" "\
+Read multiple strings, with completion and key=value support.
+PROMPT is a string to prompt with, usually ending with a colon
+and a space.  TABLE is an alist.  The car of each element should
+be a string representing a key and the optional cdr should be a
+list with strings to be used as values for the key.
+
+See the documentation for `completing-read' for details on the
+other arguments: PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, HIST,
+DEF, and INHERIT-INPUT-METHOD.
+
+The return value is the string as entered in the minibuffer.
+
+\(fn PROMPT TABLE &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF 
INHERIT-INPUT-METHOD)" nil nil)
+
+;;;***
+
+;;;### (autoloads nil "plain-tex" "plain-tex.el" (21281 55506 676079
+;;;;;;  753000))
+;;; Generated autoloads from plain-tex.el
+
+(autoload 'TeX-plain-tex-mode "plain-tex" "\
+Major mode in AUCTeX for editing plain TeX files.
+See info under AUCTeX for documentation.
+
+Special commands:
+\\{plain-TeX-mode-map}
+
+Entering `plain-tex-mode' calls the value of `text-mode-hook',
+then the value of `TeX-mode-hook', and then the value
+of plain-TeX-mode-hook.
+
+\(fn)" t nil)
+
+(autoload 'ams-tex-mode "plain-tex" "\
+Major mode in AUCTeX for editing AmS-TeX files.
+See info under AUCTeX for documentation.
+
+Special commands:
+\\{AmSTeX-mode-map}
+
+Entering AmS-tex-mode calls the value of `text-mode-hook',
+then the value of `TeX-mode-hook', and then the value
+of `AmS-TeX-mode-hook'.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "tex" "tex.el" (21576 38702 520959 996000))
+;;; Generated autoloads from tex.el
+
+(defalias 'TeX-assoc-string (symbol-function (if (featurep 'xemacs) 'assoc 
'assoc-string)))
+
+(autoload 'TeX-tex-mode "tex" "\
+Major mode in AUCTeX for editing TeX or LaTeX files.
+Tries to guess whether this file is for plain TeX or LaTeX.
+
+The algorithm is as follows:
+
+   1) if the file is empty or `TeX-force-default-mode' is not set to nil,
+      `TeX-default-mode' is chosen
+   2) If \\documentstyle or \\begin{, \\section{, \\part{ or \\chapter{ is
+      found, `latex-mode' is selected.
+   3) Otherwise, use `plain-tex-mode'
+
+\(fn)" t nil)
+
+(autoload 'TeX-auto-generate "tex" "\
+Generate style file for TEX and store it in AUTO.
+If TEX is a directory, generate style files for all files in the directory.
+
+\(fn TEX AUTO)" t nil)
+
+(autoload 'TeX-auto-generate-global "tex" "\
+Create global auto directory for global TeX macro definitions.
+
+\(fn)" t nil)
+
+(autoload 'TeX-submit-bug-report "tex" "\
+Submit a bug report on AUCTeX via mail.
+
+Don't hesitate to report any problems or inaccurate documentation.
+
+If you don't have setup sending mail from (X)Emacs, please copy the
+output buffer into your mail program, as it gives us important
+information about your AUCTeX version and AUCTeX configuration.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "tex-bar" "tex-bar.el" (21313 382 990060 418000))
+;;; Generated autoloads from tex-bar.el
+
+(autoload 'TeX-install-toolbar "tex-bar" "\
+Install toolbar buttons for TeX mode.
+
+\(fn)" t nil)
+
+(autoload 'LaTeX-install-toolbar "tex-bar" "\
+Install toolbar buttons for LaTeX mode.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "tex-fold" "tex-fold.el" (21281 55504 149413
+;;;;;;  52000))
+;;; Generated autoloads from tex-fold.el
+ (autoload 'TeX-fold-mode "tex-fold" "Minor mode for hiding and revealing 
macros and environments." t)
+
+(defalias 'tex-fold-mode 'TeX-fold-mode)
+
+;;;***
+
+;;;### (autoloads nil "tex-font" "tex-font.el" (21281 55506 609413
+;;;;;;  88000))
+;;; Generated autoloads from tex-font.el
+
+(autoload 'tex-font-setup "tex-font" "\
+Setup font lock support for TeX.
+
+\(fn)" nil nil)
+
+;;;***
+
+;;;### (autoloads nil "tex-info" "tex-info.el" (21549 17664 952538
+;;;;;;  872000))
+;;; Generated autoloads from tex-info.el
+
+(defalias 'Texinfo-mode 'texinfo-mode)
+
+(autoload 'TeX-texinfo-mode "tex-info" "\
+Major mode in AUCTeX for editing Texinfo files.
+
+Special commands:
+\\{Texinfo-mode-map}
+
+Entering Texinfo mode calls the value of `text-mode-hook'  and then the
+value of `Texinfo-mode-hook'.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "tex-jp" "tex-jp.el" (21281 55506 569413 87000))
+;;; Generated autoloads from tex-jp.el
+
+(autoload 'japanese-plain-tex-mode "tex-jp" "\
+Major mode in AUCTeX for editing Japanese plain TeX files.
+Set `japanese-TeX-mode' to t, and enter `TeX-plain-tex-mode'.
+
+\(fn)" t nil)
+
+(autoload 'japanese-latex-mode "tex-jp" "\
+Major mode in AUCTeX for editing Japanese LaTeX files.
+Set `japanese-TeX-mode' to t, and enter `TeX-latex-mode'.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil "texmathp" "texmathp.el" (21549 17664 952538
+;;;;;;  872000))
+;;; Generated autoloads from texmathp.el
+
+(autoload 'texmathp "texmathp" "\
+Determine if point is inside (La)TeX math mode.
+Returns t or nil.  Additional info is placed into `texmathp-why'.
+The functions assumes that you have (almost) syntactically correct (La)TeX in
+the buffer.
+See the variable `texmathp-tex-commands' about which commands are checked.
+
+\(fn)" t nil)
 
-;; From preview-latex.el:
+(autoload 'texmathp-match-switch "texmathp" "\
+Search backward for any of the math switches.
+Limit searched to BOUND.
 
-(defvar preview-TeX-style-dir
-  (expand-file-name "latex" (file-name-directory load-file-name)))
+\(fn BOUND)" nil nil)
 
-;;; Ensure that loading the autoloads file also loads this file.
-;;;###autoload (require 'tex-site)
+;;;***
+
+;;;### (autoloads nil "toolbar-x" "toolbar-x.el" (21281 55504 786079
+;;;;;;  728000))
+;;; Generated autoloads from toolbar-x.el
+ (autoload 'toolbarx-install-toolbar "toolbar-x")
 
+;;;***
+
+(provide 'auto-loads)
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; auto-loads.el ends here
 (provide 'tex-site)
 ;;; tex-site.el ends here
diff --git a/tex-site.el.in b/tex-site.el.in
index 9340912..8937315 100644
--- a/tex-site.el.in
+++ b/tex-site.el.in
@@ -1,6 +1,6 @@
 ;;; tex-site.el - Site specific variables.  Don't edit.
 
-;; Copyright (C) 2005, 2013 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 ;;
 ;; completely rewritten.
 
@@ -116,13 +116,18 @@ definition."
   (let ((list TeX-mode-alist) elt)
     (while list
       (setq elt (car (pop list)))
-      (when (or update (null (get elt 'tex-saved)))
-       (when (fboundp elt)
-         (put elt 'tex-saved (symbol-function elt))))
-      (defalias elt
-       (if (memq elt value)
-           (intern (concat "TeX-" (symbol-name elt)))
-         (get elt 'tex-saved))))))
+      (let ((dst (intern (concat "TeX-" (symbol-name elt)))))
+        (if (fboundp 'advice-add)
+            (if (memq elt value)
+                (advice-add elt :override dst)
+              (advice-remove elt dst))
+          (when (or update (null (get elt 'tex-saved)))
+            (when (fboundp elt)
+              (put elt 'tex-saved (symbol-function elt))))
+          (defalias elt
+            (if (memq elt value)
+                dst
+              (get elt 'tex-saved))))))))
 
 (defcustom TeX-modes
   (mapcar 'car TeX-mode-alist)
@@ -134,13 +139,14 @@ set it with `TeX-modes-set'."
              (mapcar (lambda(x) (list 'const (car x))) TeX-mode-alist))
   :set 'TeX-modes-set
   :group 'AUCTeX
-  :initialize (lambda (var value)
-               (custom-initialize-reset var value)
-               (let ((list TeX-mode-alist))
-                 (while list
-                   (eval-after-load (cdar list)
-                     `(TeX-modes-set ',var ,var t))
-                   (setq list (cdr list))))))
+  :initialize(lambda (var value)
+              (custom-initialize-reset var value)
+              (unless (fboundp 'advice-add)
+                (let ((list TeX-mode-alist))
+                  (while list
+                    (eval-after-load (cdar list)
+                      `(TeX-modes-set ',var ,var t))
+                    (setq list (cdr list)))))) )
 
 (defconst AUCTeX-version "@AUCTEXVERSION@"
     "AUCTeX version.
@@ -152,15 +158,3 @@ If not a regular release, the date of the last change.")
 ;; Store bibitems when saving a BibTeX buffer
 (add-hook 'bibtex-mode-hook 'BibTeX-auto-store)
 
-;;; Code specific to ELPA packaging:
-
-;; From preview-latex.el:
-
-(defvar preview-TeX-style-dir
-  (expand-file-name "latex" (file-name-directory load-file-name)))
-
-;;; Ensure that loading the autoloads file also loads this file.
-;;;###autoload (require 'tex-site)
-
-(provide 'tex-site)
-;;; tex-site.el ends here
diff --git a/tex-style.el b/tex-style.el
index 1c91168..b03a004 100644
--- a/tex-style.el
+++ b/tex-style.el
@@ -1,6 +1,7 @@
 ;;; tex-style.el --- Customizable variables for AUCTeX style files
 
-;; Copyright (C) 2005  Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2009, 2012-2014
+;;   Free Software Foundation, Inc.
 
 ;; Author: Reiner Steib <address@hidden>
 ;; Keywords: tex, wp, convenience
@@ -215,10 +216,13 @@ It can be a list of themes or a function.  If it is the 
symbol
 
 ;; style/biblatex.el
 
-(defcustom LaTeX-biblatex-use-Biber t
-  "Whether to use Biber with biblatex."
-  :type 'boolean
-  :group 'LaTeX-style)
+(defvar LaTeX-biblatex-use-Biber t
+  "Whether to use Biber with biblatex.
+
+This variable is intended to be used as a file local variable to
+override the autodetection of the biblatex backend.")
+(make-variable-buffer-local 'LaTeX-biblatex-use-Biber)
+(put 'LaTeX-biblatex-use-Biber 'safe-local-variable 'TeX-booleanp)
 
 ;; style/comment.el
 
@@ -261,6 +265,31 @@ produced by emp.sty and then re-LaTeX the document."
   :type 'boolean
   :group 'LaTeX-style)
 
+;; style/fontspec.el
+
+(defcustom LaTeX-fontspec-arg-font-search t
+  "If `LaTeX-fontspec-arg-font' should search for fonts.
+If the value is t, fonts are retrieved automatically and provided
+for completion.  If the value is nil,
+`LaTeX-fontspec-font-list-default' is used for completion.  If
+the value is `ask', you are asked for the method to use every
+time `LaTeX-fontspec-arg-font' is called.
+
+`LaTeX-fontspec-arg-font' calls `luaotf-load --list=basename' to
+automatically get the list of fonts.  This requires
+`luaotfload-tool' version 2.3 or higher in order to work."
+  :group 'LaTeX-style
+  :type '(choice
+         (const :tag "Search automatically" t)
+         (const :tag "Use default font list" nil)
+         (const :tag "Ask what to do" ask)))
+
+(defcustom LaTeX-fontspec-font-list-default nil
+  "List of default fonts to be used as completion for
+`LaTeX-fontspec-arg-font'."
+  :group 'LaTeX-style
+  :type '(repeat (string :tag "Font")))
+
 ;; style/graphicx.el
 
 (defcustom LaTeX-includegraphics-extensions
@@ -362,13 +391,6 @@ Inserting the subdirectory in the filename (as
                                         (TeX-master-directory))))
                 (function :tag "other")))
 
-;; style/shortvrb.el
-
-(defcustom LaTeX-shortvrb-chars '(?|)
-  "List of characters toggling verbatim mode."
-  :group 'LaTeX-style
-  :type '(repeat character))
-
 (provide 'tex-style)
 
 ;;; tex-style.el ends here
diff --git a/tex.el b/tex.el
index 3fde81e..b634a74 100644
--- a/tex.el
+++ b/tex.el
@@ -1,7 +1,6 @@
 ;;; tex.el --- Support for TeX documents.
 
-;; Copyright (C) 1985-1987, 1991, 1993, 1994, 1996, 1997, 1999-2012
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1991, 1993-2014 Free Software Foundation, Inc.
 
 ;; Maintainer: address@hidden
 ;; Keywords: tex
@@ -37,11 +36,6 @@
 (eval-when-compile
   (require 'cl))
 
-(defun TeX--call-3/2 (f arg1 arg2 arg3)
-  (condition-case nil
-      (funcall f arg1 arg2 arg3)
-    (wrong-number-of-arguments (funcall f arg1 arg2))))
-
 (defgroup TeX-file nil
   "Files used by AUCTeX."
   :group 'AUCTeX)
@@ -99,8 +93,7 @@ If nil, none is specified."
   :type '(choice (const :tag "Unspecified" nil)
                 string))
 ;; At least in TeXLive 2009 ConTeXt does not support an omega option anymore.
-(TeX--call-3/2 #'make-obsolete-variable 'ConTeXt-Omega-engine
-               'TeX-engine-alist "before 11.86")
+(make-obsolete-variable 'ConTeXt-Omega-engine 'TeX-engine-alist "11.86")
 
 (defcustom TeX-mode-hook nil
   "A hook run in TeX mode buffers."
@@ -119,24 +112,24 @@ If nil, none is specified."
 ;; TeX-expand-list for a description of the % escapes
 
 (defcustom TeX-command-list
-  `(("TeX" "%(PDF)%(tex) %`%S%(PDFout)%(mode)%' %t"
+  `(("TeX" "%(PDF)%(tex) %(extraopts) %`%S%(PDFout)%(mode)%' %t"
      TeX-run-TeX nil
      (plain-tex-mode ams-tex-mode texinfo-mode) :help "Run plain TeX")
     ("LaTeX" "%`%l%(mode)%' %t"
      TeX-run-TeX nil
      (latex-mode doctex-mode) :help "Run LaTeX")
        ;; Not part of standard TeX.
-    ("Makeinfo" "makeinfo %t" TeX-run-compile nil
+    ("Makeinfo" "makeinfo %(extraopts) %t" TeX-run-compile nil
      (texinfo-mode) :help "Run Makeinfo with Info output")
-    ("Makeinfo HTML" "makeinfo --html %t" TeX-run-compile nil
+    ("Makeinfo HTML" "makeinfo %(extraopts) --html %t" TeX-run-compile nil
      (texinfo-mode) :help "Run Makeinfo with HTML output")
-    ("AmSTeX" "%(PDF)amstex %`%S%(PDFout)%(mode)%' %t"
+    ("AmSTeX" "%(PDF)amstex %(extraopts) %`%S%(PDFout)%(mode)%' %t"
      TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX")
     ;; support for ConTeXt  --pg
     ;; first version of ConTeXt to support nonstopmode: 2003.2.10
-    ("ConTeXt" "texexec --once --texutil %(execopts)%t"
+    ("ConTeXt" "texexec --once --texutil %(extraopts) %(execopts)%t"
      TeX-run-TeX nil (context-mode) :help "Run ConTeXt once")
-    ("ConTeXt Full" "texexec %(execopts)%t"
+    ("ConTeXt Full" "texexec %(extraopts) %(execopts)%t"
      TeX-run-TeX nil
      (context-mode) :help "Run ConTeXt until completion")
     ("BibTeX" "bibtex %s" TeX-run-BibTeX nil t :help "Run BibTeX")
@@ -151,8 +144,12 @@ If nil, none is specified."
     ("File" "%(o?)dvips %d -o %f " TeX-run-command t t
      :help "Generate PostScript file")
     ("Index" "makeindex %s" TeX-run-command nil t :help "Create index file")
+    ("Xindy" "texindy %s" TeX-run-command nil t
+     :help "Run xindy to create index file")
     ("Check" "lacheck %s" TeX-run-compile nil (latex-mode)
      :help "Check LaTeX file for correctness")
+    ("ChkTeX" "chktex -v6 %s" TeX-run-compile nil (latex-mode)
+     :help "Check LaTeX file for common mistakes")
     ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil t
      :help "Spell-check the document")
     ("Clean" "TeX-clean" TeX-run-function nil t
@@ -304,7 +301,7 @@ The executable `latex' is LaTeX version 2e."
 
 (defcustom LaTeX-command-style
   ;; They have all been combined in LaTeX 2e.
-  '(("" "%(PDF)%(latex) %S%(PDFout)"))
+  '(("" "%(PDF)%(latex) %(extraopts) %S%(PDFout)"))
 "List of style options and LaTeX commands.
 
 If the first element (a regular expression) matches the name of one of
@@ -411,20 +408,25 @@ string."
   :group 'TeX-command
   :type '(repeat (group regexp (string :tag "Command"))))
 
+(defcustom TeX-command-extra-options ""
+  "String with the extra options to be given to the TeX processor."
+  :type 'string)
+(make-variable-buffer-local 'TeX-command-extra-options)
+
 ;; This is the list of expansion for the commands in
 ;; TeX-command-list.  Not likely to be changed, but you may e.g. want
 ;; to handle .ps files.
 
 (defcustom TeX-expand-list
-  '(("%p" TeX-printer-query)   ;%p must be the first entry
+  '(("%p" TeX-printer-query)           ;%p must be the first entry
     ("%q" (lambda ()
            (TeX-printer-query t)))
     ("%V" (lambda ()
            (TeX-source-correlate-start-server-maybe)
            (TeX-view-command-raw)))
     ("%vv" (lambda ()
-           (TeX-source-correlate-start-server-maybe)
-           (TeX-output-style-check TeX-output-view-style)))
+            (TeX-source-correlate-start-server-maybe)
+            (TeX-output-style-check TeX-output-view-style)))
     ("%v" (lambda ()
            (TeX-source-correlate-start-server-maybe)
            (TeX-style-check TeX-view-style)))
@@ -458,12 +460,21 @@ string."
     ("%(tex)" (lambda () (eval (nth 2 (assq TeX-engine (TeX-engine-alist))))))
     ("%(latex)" (lambda () (eval (nth 3 (assq TeX-engine 
(TeX-engine-alist))))))
     ("%(execopts)" ConTeXt-expand-options)
+    ("%(extraopts)" (lambda () TeX-command-extra-options))
     ("%S" TeX-source-correlate-expand-options)
     ("%dS" TeX-source-specials-view-expand-options)
     ("%cS" TeX-source-specials-view-expand-client)
     ("%(outpage)" (lambda ()
-                   (or (when TeX-source-correlate-output-page-function
-                         (funcall TeX-source-correlate-output-page-function))
+                   ;; When `TeX-source-correlate-output-page-function' is nil
+                   ;; and we are using synctex, fallback on
+                   ;; `TeX-synctex-output-page'.
+                   (and TeX-source-correlate-mode
+                        (null TeX-source-correlate-output-page-function)
+                        (eq (TeX-source-correlate-method-active) 'synctex)
+                        (setq TeX-source-correlate-output-page-function
+                              'TeX-synctex-output-page))
+                   (or (if TeX-source-correlate-output-page-function
+                           (funcall TeX-source-correlate-output-page-function))
                        "1")))
     ;; `file' means to call `TeX-master-file' or `TeX-region-file'
     ("%s" file nil t)
@@ -496,10 +507,10 @@ string."
            (prog1
                (if (stringp TeX-command-text)
                    (progn
-                     (setq pos (+ (length TeX-command-text) 9)
+                     (setq pos (+ pos (length TeX-command-text) 9)
                            TeX-command-pos
                            (and (string-match " "
-                                             (funcall file t t))
+                                              (funcall file t t))
                                 "\""))
                      (concat TeX-command-text " \"\\input\""))
                  (setq TeX-command-pos nil)
@@ -513,6 +524,8 @@ string."
     ;; command needs to be relative to the master file, just in
     ;; case the file is in a different subdirectory
     ("%b" TeX-current-file-name-master-relative)
+    ;; Okular forward PDF search requires absolute path.
+    ("%a" (lambda nil (prin1-to-string (expand-file-name (buffer-file-name)))))
     ;; the following is for preview-latex.
     ("%m" preview-create-subdirectory))
   "List of expansion strings for TeX command names.
@@ -546,6 +559,7 @@ the name of the file being processed, with an optional 
extension."
 (autoload 'TeX-kill-job "tex-buf" nil t)
 (autoload 'TeX-recenter-output-buffer "tex-buf" nil t)
 (autoload 'TeX-next-error "tex-buf" nil t)
+(autoload 'TeX-error-overview "tex-buf" nil t)
 (autoload 'TeX-region-file "tex-buf" nil nil)
 (autoload 'TeX-current-offset "tex-buf" nil nil)
 (autoload 'TeX-process-set-variable "tex-buf" nil nil)
@@ -581,6 +595,9 @@ but does nothing in Emacs."
 Also does other stuff."
     (TeX-maybe-remove-help menu)))
 
+;;;###autoload
+(defalias 'TeX-assoc-string
+  (symbol-function  (if (featurep 'xemacs) 'assoc 'assoc-string)))
 
 ;;; Documentation for Info-goto-emacs-command-node and similar
 
@@ -673,16 +690,37 @@ overlays."
             (+ (/ (- outer-priority inner-priority) 2) inner-priority))
            (t TeX-overlay-priority-step)))) )
 
+;; require crm here, because we often do
+;;
+;; (let ((crm-separator ","))
+;;   (TeX-completing-read-multiple ...))
+;;
+;; which results in a void-variable error if crm hasn't been loaded before.
+;; XEmacs 21.4 `require' doesn't have the third NOERROR argument, thus we 
handle
+;; the file-error signal with a `condition-case' also in GNU Emacs.
+(condition-case nil
+    (require 'crm)
+  (file-error
+   (error "AUCTeX requires crm.el which is included in Emacs and
+edit-utils >= 2.32 for XEmacs.")))
 
 (if (fboundp 'completing-read-multiple)
-    (defalias 'TeX-completing-read-multiple 'completing-read-multiple)
+    (defun TeX-completing-read-multiple
+       (prompt table &optional predicate require-match initial-input
+               hist def inherit-input-method)
+      "Like `completing-read-multiple' which see.
+Ensures that empty input results in nil across different emacs versions."
+      (let ((result (completing-read-multiple prompt table predicate
+                                             require-match initial-input
+                                             hist def inherit-input-method)))
+       (if (equal result '("")) nil result)))
   (defun TeX-completing-read-multiple
     (prompt table &optional predicate require-match initial-input
            hist def inherit-input-method)
     "Poor mans implementation of Emacs' `completing-read-multiple' for XEmacs.
 The XEmacs package edit-utils-2.32 includes `crm.el'."
-    (multi-prompt "," nil prompt table predicate require-match initial-input
-                 hist)))
+    (multi-prompt (if (boundp 'crm-separator) crm-separator ",") nil prompt
+                 table predicate require-match initial-input hist)))
 
 (if (fboundp 'line-number-at-pos)
     (defalias 'TeX-line-number-at-pos 'line-number-at-pos)
@@ -704,7 +742,7 @@ If POS is nil, use current buffer location."
 
   (defun TeX-read-string (prompt &optional initial-input history default-value)
     (read-string prompt initial-input history default-value t))
-  
+
   (defun TeX-mark-active ()
     ;; In FSF 19 mark-active indicates if mark is active.
     mark-active)
@@ -713,7 +751,8 @@ If POS is nil, use current buffer location."
     (and transient-mark-mode mark-active))
 
   (defun TeX-activate-region ()
-    nil)
+    (setq deactivate-mark nil)
+    (activate-mark))
 
   (defun TeX-overlay-prioritize (start end)
     "Calculate a priority for an overlay extending from START to END.
@@ -1012,6 +1051,10 @@ The following built-in predicates are available:
   :group 'TeX-view
   :type '(alist :key-type symbol :value-type (group sexp)))
 
+;; Require dbus at compile time to prevent errors due to `dbus-ignore-errors'
+;; not being defined.
+(eval-when-compile (and (featurep 'dbusbind)
+                       (require 'dbus nil :no-error)))
 (defun TeX-evince-dbus-p (&rest options)
   "Return non-nil, if evince is installed and accessible via DBUS.
 Additional OPTIONS may be given to extend the check.  If none are
@@ -1019,11 +1062,10 @@ given, only the minimal requirements needed by backward 
search
 are checked.  If OPTIONS include `:forward', which is currently
 the only option, then additional requirements needed by forward
 search are checked, too."
-  (and (not (featurep 'xemacs)) ; XEmacs 21.4 has no `require' with
-                               ; arity 3, and no dbus support anyway.
+  (and (featurep 'dbusbind)
        (require 'dbus nil :no-error)
-       (functionp 'dbus-register-signal)
-       (getenv "DBUS_SESSION_BUS_ADDRESS")
+       (dbus-ignore-errors (dbus-get-unique-name :session))
+       (dbus-ping :session "org.gnome.evince.Daemon")
        (executable-find "evince")
        (or (not (memq :forward options))
           (let ((spec (dbus-introspect-get-method
@@ -1048,8 +1090,11 @@ search are checked, too."
 of point in emacs by using Evince's DBUS API.  Used by default
 for the Evince viewer entry in `TeX-view-program-list-builtin' if
 the requirements are met."
-  (let* ((uri (concat "file://" (expand-file-name
-                                (concat file "." (TeX-output-extension)))))
+  (require 'url-util)
+  (let* ((uri (concat "file://" (let ((url-unreserved-chars (cons ?/ 
url-unreserved-chars)))
+                                 (url-hexify-string
+                                  (expand-file-name
+                                   (concat file "." 
(TeX-output-extension)))))))
         (owner (dbus-call-method
                 :session "org.gnome.evince.Daemon"
                 "/org/gnome/evince/Daemon"
@@ -1065,17 +1110,7 @@ the requirements are met."
         "SyncView"
         (buffer-file-name)
         (list :struct :int32 (line-number-at-pos) :int32 (1+ (current-column)))
-        :uint32 (let ((time (float-time)))
-                  ;; FIXME: Evince wants a timestamp as UInt32, but POSIX time
-                  ;; is too large for emacs integers on 32 bit systems.  Emacs
-                  ;; 24.2 will allow providing DBUS ints as floats, and this
-                  ;; dbus version will be identifiable by its new variables
-                  ;; `dbus-compiled-version' and `dbus-runtime-version'.  But
-                  ;; it seems providing just 1 as timestamp has no negative
-                  ;; consequences, anyway.
-                  (if (> most-positive-fixnum time)
-                      (round time)
-                    1)))
+        :uint32 0)
       (error "Couldn't find the Evince instance for %s" uri))))
 
 (defvar TeX-view-program-list-builtin
@@ -1084,13 +1119,11 @@ the requirements are met."
     '(("Yap" ("yap -1" (mode-io-correlate " -s %n%b") " %o"))
       ("dvips and start" "dvips %d -o && start \"\" %f")
       ("start" "start \"\" %o")))
-;; XXX: We need the advice of a Mac OS X user to configure this
-;; correctly and test it.
-;;    ((eq system-type 'darwin)
-;;     '(("Preview.app" "open -a Preview.app %o")
-;;       ("Skim" "open -a Skim.app %o")
-;;       ("displayline" "displayline %n %o %b")
-;;       ("open" "open %o")))
+   ((eq system-type 'darwin)
+    '(("Preview.app" "open -a Preview.app %o")
+      ("Skim" "open -a Skim.app %o")
+      ("displayline" "displayline %n %o %b")
+      ("open" "open %o")))
    (t
     `(("xdvi" ("%(o?)xdvi"
               (mode-io-correlate " -sourceposition \"%n %b\" -editor \"%cS\"")
@@ -1115,7 +1148,7 @@ the requirements are met."
                                                  (shell-command-to-string 
"evince --help"))
                                    " -i %(outpage)"
                                  " -p %(outpage)")) " %o")))
-      ("Okular" ("okular --unique %o" (mode-io-correlate "#src:%n%b")))
+      ("Okular" ("okular --unique %o" (mode-io-correlate "#src:%n%a")))
       ("xdg-open" "xdg-open %o"))))
   "Alist of built-in viewer specifications.
 This variable should not be changed by the user who can use
@@ -1197,12 +1230,10 @@ restarting Emacs."
       (output-dvi "Yap")
       (output-pdf "start")
       (output-html "start")))
-;; XXX: We need the advice of a Mac OS X user to configure this
-;; correctly and test it.
-;;    ((eq system-type 'darwin)
-;;     '((output-dvi "open")
-;;       (output-pdf "open")
-;;       (output-html "open")))
+   ((eq system-type 'darwin)
+    '((output-dvi "open")
+      (output-pdf "open")
+      (output-html "open")))
    (t
     '(((output-dvi style-pstricks) "dvips and gv")
       (output-dvi "xdvi")
@@ -1292,6 +1323,10 @@ predicates are true, nil otherwise."
           (prin1-to-string spec))
          ((stringp spec)
           spec)
+         ((null spec)
+          (error
+           (format "Unknown %S viewer. \
+Check the `TeX-view-program-selection' variable." viewer)))
          (t
           ;; Build the unexpanded command line.  Pieces with predicates are
           ;; only added if the predicate is evaluated positively.
@@ -1378,27 +1413,44 @@ For available TYPEs, see variable `TeX-engine'."
   :group 'TeX-command
   (TeX-engine-set (if TeX-Omega-mode 'omega 'default)))
 (defalias 'tex-omega-mode 'TeX-Omega-mode)
-(TeX--call-3/2 #'make-obsolete 'TeX-Omega-mode 'TeX-engine-set "before 11.86")
-(TeX--call-3/2 #'make-obsolete-variable 'TeX-Omega-mode
-               'TeX-engine "before 11.86")
+(make-obsolete 'TeX-Omega-mode 'TeX-engine-set "11.86")
+(make-obsolete-variable 'TeX-Omega-mode 'TeX-engine "11.86")
 
 ;;; Forward and inverse search
 
-(defcustom TeX-source-correlate-method 'auto
+(defcustom TeX-source-correlate-method
+  '((dvi . source-specials) (pdf . synctex))
   "Method to use for enabling forward and inverse search.
 This can be `source-specials' if source specials should be used,
-`synctex' if SyncTeX should be used, or`auto' if AUCTeX should
+`synctex' if SyncTeX should be used, or `auto' if AUCTeX should
 decide.
 
-Setting this variable does not take effect if TeX Source
-Correlate mode has already been active.  Restart Emacs in this
-case."
-  :type '(choice (const auto) (const synctex) (const source-specials))
+The previous values determine the variable for both DVI and PDF
+mode.  This variable can also be an alist of the kind
+
+  ((dvi . <source-specials or synctex>)
+   (pdf . <source-specials or synctex>))
+
+in which the CDR of each entry is a symbol specifying the method
+to be used in the corresponding mode.
+
+Programs should not use this variable directly but the function
+`TeX-source-correlate-method-active' which returns the method
+actually used for forward and inverse search."
+  :type '(choice (const auto)
+                (const synctex)
+                (const source-specials)
+                (list :tag "Different method for DVI and PDF"
+                      (cons (const dvi)
+                            (choice :tag "Method for DVI mode"
+                                    (const synctex)
+                                    (const source-specials)))
+                      (cons (const pdf)
+                            (choice :tag "Method for PDF mode"
+                                    (const synctex)
+                                    (const source-specials)))))
   :group 'TeX-view)
 
-(defvar TeX-source-correlate-method-active nil
-  "Method actually used for forward and inverse search.")
-
 (defvar TeX-source-correlate-output-page-function nil
   "Symbol of function returning an output page relating to buffer position.
 The function should take no arguments and return the page numer
@@ -1471,12 +1523,24 @@ This is the case if 
`TeX-source-correlate-start-server-flag' is non-nil."
        'synctex
       'source-specials)))
 
+(defun TeX-source-correlate-method-active ()
+  "Return the method actually used for forward and inverse search."
+  (cond
+   ((eq TeX-source-correlate-method 'auto)
+    (TeX-source-correlate-determine-method))
+   ((listp TeX-source-correlate-method)
+    (if TeX-PDF-mode
+       (cdr (assoc 'pdf TeX-source-correlate-method))
+      (cdr (assoc 'dvi TeX-source-correlate-method))))
+   (t
+    TeX-source-correlate-method)))
+
 (defun TeX-source-correlate-expand-options ()
   "Return TeX engine command line option for forward search facilities.
 The return value depends on the value of `TeX-source-correlate-mode'.
 If this is nil, an empty string will be returned."
   (if TeX-source-correlate-mode
-      (if (eq TeX-source-correlate-method-active 'source-specials)
+      (if (eq (TeX-source-correlate-method-active) 'source-specials)
          (concat TeX-source-specials-tex-flags
                  (if TeX-source-specials-places
                      ;; -src-specials=WHERE: insert source specials
@@ -1509,23 +1573,25 @@ or newer."
   (let ((buf (let ((f (condition-case nil
                          (progn
                            (require 'url-parse)
-                           (aref (url-generic-parse-url file) 6))
+                           (require 'url-util)
+                           (url-unhex-string (aref (url-generic-parse-url 
file) 6)))
                        ;; For Emacs 21 compatibility, which doesn't have the
                        ;; url package.
                        (file-error (replace-regexp-in-string "^file://" "" 
file)))))
               (if (file-name-absolute-p f)
                   (find-file f)
                 (get-buffer (file-name-nondirectory file)))))
-        (line (car linecol))
-        (col (cadr linecol)))
+       (line (car linecol))
+       (col (cadr linecol)))
     (if (null buf)
-        (message "No buffer for %s." file)
+       (message "No buffer for %s." file)
       (switch-to-buffer buf)
       (push-mark (point) 'nomsg)
       (goto-char (point-min))
       (forward-line (1- line))
       (unless (= col -1)
-        (move-to-column col)))))
+       (move-to-column col))
+      (raise-frame))))
 
 (define-minor-mode TeX-source-correlate-mode
   "Minor mode for forward and inverse search.
@@ -1553,19 +1619,10 @@ SyncTeX are recognized."
     (dbus-register-signal
      :session nil "/org/gnome/evince/Window/0"
      "org.gnome.evince.Window" "SyncSource"
-     'TeX-source-correlate-sync-source))
-  (unless TeX-source-correlate-method-active
-    (setq TeX-source-correlate-method-active
-         (if (eq TeX-source-correlate-method 'auto)
-             (TeX-source-correlate-determine-method)
-           TeX-source-correlate-method)))
-  (when (eq TeX-source-correlate-method-active 'synctex)
-    (setq TeX-source-correlate-output-page-function
-         (when TeX-source-correlate-mode
-           'TeX-synctex-output-page))))
+     'TeX-source-correlate-sync-source)))
+
 (defalias 'TeX-source-specials-mode 'TeX-source-correlate-mode)
-(TeX--call-3/2 #'make-obsolete 'TeX-source-specials-mode
-               'TeX-source-correlate-mode "before 11.86")
+(make-obsolete 'TeX-source-specials-mode 'TeX-source-correlate-mode "11.86")
 (defalias 'tex-source-correlate-mode 'TeX-source-correlate-mode)
 (put 'TeX-source-correlate-mode 'safe-local-variable 'TeX-booleanp)
 ;; We do not want the custom variable to require tex.el.  This is only
@@ -1651,7 +1708,7 @@ The return value depends on the values of
 `source-specials' respectively, an empty string will be
 returned."
   (if (and TeX-source-correlate-mode
-          (eq TeX-source-correlate-method-active 'source-specials))
+          (eq (TeX-source-correlate-method-active) 'source-specials))
       (concat TeX-source-specials-view-position-flags
              (when (TeX-source-correlate-server-enabled-p)
                (concat " " TeX-source-specials-view-editor-flags)))
@@ -1705,7 +1762,7 @@ enabled and the `synctex' binary is available."
   (set-default var value)
   (TeX-set-mode-name var nil t))
 
-(defcustom TeX-PDF-mode nil nil
+(defcustom TeX-PDF-mode t nil
   :group 'TeX-command
   :set 'TeX-mode-set
   :type 'boolean)
@@ -1760,7 +1817,7 @@ already established, don't do anything."
     (unless (local-variable-p 'TeX-PDF-mode (current-buffer))
       (TeX-PDF-mode (if arg 1 0))
       (setq TeX-PDF-mode-parsed t))))
-  
+
 (defun TeX-PDF-mode-on ()
   "Use only from parsing routines."
   (TeX-PDF-mode-parsed t))
@@ -1839,7 +1896,7 @@ Must be the car of an entry in `TeX-command-list'."
     "\\.glo" "\\.gls" "\\.idx" "\\.ilg" "\\.ind"
     "\\.lof" "\\.log" "\\.lot" "\\.nav" "\\.out"
     "\\.snm" "\\.toc" "\\.url" "\\.synctex\\.gz"
-    "\\.bcf" "\\.run\\.xml")
+    "\\.bcf" "\\.run\\.xml" "\\.fls" "-blx\\.bib")
   "List of regexps matching suffixes of files to be cleaned.
 Used as a default in TeX, LaTeX and docTeX mode.")
 
@@ -1884,7 +1941,7 @@ output files."
        (when (or (not TeX-clean-confirm)
                  (condition-case nil
                      (dired-mark-pop-up " *Deletions*" 'delete
-                                        (if (> (length files) 1) 
+                                        (if (> (length files) 1)
                                             files
                                           (cons t files))
                                         'y-or-n-p "Delete files? ")
@@ -2104,7 +2161,7 @@ the beginning of the file, but that feature will be 
phased out."
                           (file-name-nondirectory (buffer-file-name)))
             (not buffer-read-only))
     (goto-char (point-max))
-    (if (re-search-backward (concat "^\\([^\n]+\\)Local " "Variables:")
+    (if (re-search-backward "^\\([^\n]+\\)Local Variables:"
                            (- (point-max) 3000) t)
        (let ((prefix (TeX-match-buffer 1)))
          (re-search-forward (regexp-quote (concat prefix
@@ -2121,10 +2178,10 @@ the beginning of the file, but that feature will be 
phased out."
        (when (eq major-mode 'doctex-mode)
          (insert comment-prefix TeX-esc "endinput\n"))
        (insert
-        comment-prefix "Local " "Variables: \n"
+        comment-prefix "Local Variables:\n"
         comment-prefix "mode: " mode "\n"
         comment-prefix "TeX-master: " (prin1-to-string TeX-master) "\n"
-        comment-prefix "End: \n")))))
+        comment-prefix "End:\n")))))
 
 (defun TeX-local-master-p ()
   "Return non-nil if there is a `TeX-master' entry in local variables spec.
@@ -2320,15 +2377,51 @@ Used when checking if any files have changed."
 (defvar TeX-style-hook-list nil
   "List of TeX style hooks currently loaded.
 
-Each entry is a list where the first element is the name of the style,
-and the remaining elements are hooks to be run when that style is
-active.")
+Each entry is a list:
+
+ (STYLE HOOK1 HOOK2 ...)
+
+where the first element STYLE is the name of the style, and the
+remaining elements HOOKN, if any, are hooks to be run when that
+style is active.
+
+A hook HOOKN may be a hook function HOOK-FUN to be run in
+all TeX dialects (LaTeX, Texinfo, etc.), or a vector like:
+
+     [TeX-style-hook HOOK-FUN DIALECT-SET]
+
+where HOOK-FUN is the hook function to be run, and DIALECT-SET is
+a non-empty set of dialects in which the hook function may be
+run.
+
+This set is instantiated by function `TeX-add-style-hook' through
+functions manipulating style hook dialect expression named with a
+`TeX-shdex-' prefix.
+
+For supported dialects, see variables `TeX-style-hook-dialect'.")
+
+(defvar TeX-style-hook-dialect :latex
+  "Dialect for running hooks locally to the considered file.
+Supported values are described below:
+
+* `:bibtex'  for files in BibTeX mode.
+* `:latex'   for files in LaTeX mode, or any mode derived
+            thereof.
+* `:texinfo' for Texinfo files.
+
+Purpose is notably to prevent non-Texinfo hooks to be run in
+Texinfo files, due to ambiguous style name, as this may cause bad
+side effect e.g. on variable `TeX-font-list'.")
 
 (defcustom TeX-byte-compile nil
   "*Not nil means try to byte compile auto files before loading."
   :group 'TeX-parse
   :type 'boolean)
 
+(defun TeX-bibtex-set-BibTeX-dialect ()
+  "Set `TeX-style-hook-dialect' to `:bibtex' locally to BibTeX buffers."
+  (set (make-local-variable 'TeX-style-hook-dialect) :bibtex))
+
 (defun TeX-load-style (style)
   "Search for and load each definition for STYLE in `TeX-style-path'."
   (cond ((assoc style TeX-style-hook-list)) ; We already found it
@@ -2375,9 +2468,79 @@ active.")
          ((file-readable-p el)
           (load-file el)))))
 
-(defun TeX-add-style-hook (style hook)
-  "Give STYLE yet another HOOK to run."
-  (let ((entry (assoc style TeX-style-hook-list)))
+(defconst TeX-style-hook-dialect-weight-alist
+  '((:latex . 1) (:texinfo . 2) (:bibtex . 4))
+  "Association list to map dialects to binary weight, in order to
+  implement dialect sets as bitmaps."  )
+
+(defun TeX-shdex-eval (dialect-expr)
+  "Evaluate a style hook dialect expression DIALECT-EXPR."
+  (cond
+   ((symbolp dialect-expr)
+    (let ((cell (assq dialect-expr TeX-style-hook-dialect-weight-alist)))
+      (if cell (cdr cell)
+       (error "Invalid dialect expression : %S." dialect-expr))))
+   ((and (consp dialect-expr)
+        (memq (car dialect-expr) '(or not and nor)))
+    (apply (intern
+           (concat "TeX-shdex-" (symbol-name  (car dialect-expr))))
+          (cdr dialect-expr)))
+   (t
+    (error "Invalid dialect expression : %S." dialect-expr))))
+
+(defsubst TeX-shdex-or (&rest args)
+  "OR operator for style hook dialect expressions."
+  (apply 'logior (mapcar 'TeX-shdex-eval args)))
+
+(defsubst TeX-shdex-and (&rest args)
+  "AND operator for style hook dialect expressions."
+  (apply 'logand (mapcar 'TeX-shdex-eval args)))
+
+(defsubst TeX-shdex-nor (&rest args)
+  "NOR operator for style hook dialect expressions."
+  (lognot (apply 'TeX-shdex-or args)))
+
+(defsubst TeX-shdex-not (arg)
+  "NOT operator for style hook dialect expressions."
+   (lognot (TeX-shdex-eval arg)))
+
+(defsubst TeX-shdex-in-p (dialect dialect-set)
+  "Test whether dialect DIALECT is in dialect set DIALECT-SET."
+  (let ((cell (assq dialect TeX-style-hook-dialect-weight-alist)))
+    (if cell
+       (/= 0 (logand (cdr cell) dialect-set))
+      (error "Invalid dialect %S" dialect))))
+
+(defsubst TeX-shdex-listify (dialect-set)
+  "Converts a dialect set DIALECT-SET to a list of all dialect
+comprised in this set, where dialects are symbols"
+  (let (ret)
+    (dolist (c dialect-set)
+      (when (/= 0 (logand (cdr c) dialect-set))
+       (push (car c) ret)))
+    ret))
+
+(defun TeX-add-style-hook (style hook &optional dialect-expr)
+  "Give STYLE yet another HOOK to run.
+
+DIALECT-EXPR serves the purpose of marking the hook to be run only in
+that dicontext.
+
+DIALECT-EXPR may be a single symbol defining the dialect, see
+variable `TeX-style-hook-dialect' for supported dialects.
+
+DIALECT-EXPR can also be an expression like one of the following:
+
+* (or  DIALECT1 DIALECT2 ...)
+* (nor DIALECT1 DIALECT2 ...)
+* (and DIALECT1 DIALECT2 ...)
+* (not DIALECT )
+
+When omitted DIALECT-EXPR is equivalent to `(nor )', ie all
+dialected are allowed."
+  (let ((entry (TeX-assoc-string style TeX-style-hook-list)))
+    (and dialect-expr (setq hook (vector 'TeX-style-hook hook
+                                        (TeX-shdex-eval dialect-expr))))
     (cond ((null entry)
           ;; New style, add entry.
           (setq TeX-style-hook-list (cons (list style hook)
@@ -2389,16 +2552,30 @@ active.")
           ;; Old style, new hook.
           (setcdr entry (cons hook (cdr entry)))))))
 
-(defun TeX-unload-style (style)
-  "Forget that we once loaded STYLE."
-  (cond ((null (assoc style TeX-style-hook-list)))
-       ((equal (car (car TeX-style-hook-list)) style)
-        (setq TeX-style-hook-list (cdr TeX-style-hook-list)))
-       (t
-        (let ((entry TeX-style-hook-list))
-          (while (not (equal (car (car (cdr entry))) style))
-            (setq entry (cdr entry)))
-          (setcdr entry (cdr (cdr entry)))))))
+(defun TeX-keep-hooks-in-dialect (hooks dialect-list)
+  "Scan HOOKS for all hooks the associated dialect of which is
+found in DIALECT-LIST and return the list thereof."
+  (let (ret dialect-list-1)
+    (dolist (hook hooks)
+      (setq dialect-list-1 (and (vectorp hook) (eq (aref hook 0) 
'TeX-style-hook)
+                               (TeX-shdex-listify (aref hook 2))))
+      (while dialect-list-1
+       (when (memq (pop dialect-list-1) dialect-list)
+         (push hook ret)
+         (setq dialect-list-1 nil)))
+    ret)))
+
+(defun TeX-unload-style (style &optional dialect-list)
+  "Forget that we once loaded STYLE. If DIALECT-LIST is provided
+the STYLE is only removed for those dialects in DIALECT-LIST.
+
+See variable `TeX-style-hook-dialect' for supported dialects."
+  (let ((style-data (TeX-assoc-string style TeX-style-hook-list)))
+    (if style-data
+       (let ((hooks (and dialect-list (TeX-keep-hooks-in-dialect (cdr 
style-data) dialect-list))))
+         (if hooks
+             (setcdr style-data hooks)
+           (setq TeX-style-hook-list (delq style-data 
TeX-style-hook-list)))))))
 
 (defcustom TeX-virgin-style (if (and TeX-auto-global
                                     (file-directory-p TeX-auto-global))
@@ -2430,8 +2607,23 @@ active.")
                                            (TeX-master-directory))
                        style (substring style
                                         (match-beginning 2) (match-end 2))))
-               (mapcar 'funcall
-                       (cdr-safe (assoc style TeX-style-hook-list))))))
+               (condition-case err
+                   (mapcar (lambda (hook)
+                             (cond
+                              ((functionp hook)
+                               (funcall hook))
+                              ((and (vectorp hook)
+                                    (eq (aref hook 0) 'TeX-style-hook))
+                               (and (TeX-shdex-in-p TeX-style-hook-dialect 
(aref hook 2))
+                                    (funcall (aref hook 1))))
+                              (t (error "Invalid style hook %S" hook))))
+                           (cdr-safe (TeX-assoc-string style 
TeX-style-hook-list)))
+                 ;; This happens in case some style added a new parser, and
+                 ;; now the style isn't used anymore (user deleted
+                 ;; \usepackage{style}).  Then we're left over with, e.g.,
+                 ;; (LaTeX-add-siunitx-units "\\parsec"), but the function is
+                 ;; defined in a style siunitx.el that's not loaded anymore.
+                 (void-function nil)))))
          styles))
 
 (defcustom TeX-parse-self nil
@@ -2510,6 +2702,59 @@ FORCE is not nil."
   "*Function to call for completing non-macros in `tex-mode'."
   :group 'TeX-macro)
 
+(defcustom TeX-complete-expert-commands nil
+  "Complete macros and environments marked as expert commands.
+
+Possible values are nil, t, or a list of style names.
+
+  - nil           Don't complete expert commands (default).
+  - t             Always complete expert commands.
+  - (STYLES ...)  Only complete expert commands of STYLES."
+  :group 'TeX-macro
+  :type '(choice (const  :tag "Don't complete expert commands" nil)
+                (const  :tag "Always complete expert commands" t)
+                (repeat :tag "Complete expert commands of certain styles" 
string)))
+
+(defmacro TeX-complete-make-expert-command-functions (thing list-var prefix)
+  (let* ((plural (concat thing "s"))
+        (upcase (upcase thing))
+        (upcase-plural (upcase plural)))
+    `(progn
+       (defvar ,(intern (format "%s-expert-%s-table" prefix thing))
+        (make-hash-table :test 'equal)
+        ,(format "A hash-table mapping %s names to the style name providing it.
+
+A %s occuring in this table is considered an expert %s and
+treated specially in the completion." thing thing thing))
+
+       (defun ,(intern (format "%s-declare-expert-%s" prefix plural)) (style 
&rest ,(intern plural))
+        ,(format "Declare %s as expert %s of STYLE.
+
+Expert %s are completed depending on `TeX-complete-expert-commands'."
+                 upcase-plural plural plural)
+        (dolist (x ,(intern plural))
+          (if (null style)
+              (remhash x TeX-expert-macro-table)
+            (puthash x style TeX-expert-macro-table))))
+
+       (defun ,(intern (format "%s-filtered" list-var)) ()
+        ,(format "Return (%s) filtered depending on 
`TeX-complete-expert-commands'."
+                 list-var)
+        (delq nil
+              (mapcar
+               (lambda (entry)
+                 (if (eq t TeX-complete-expert-commands)
+                     entry
+                   (let* ((cmd (car entry))
+                          (style (gethash cmd TeX-expert-macro-table)))
+                     (when (or (null style)
+                               (member style TeX-complete-expert-commands))
+                       entry))))
+               (,list-var)))))))
+
+(TeX-complete-make-expert-command-functions "macro" TeX-symbol-list "TeX")
+(TeX-complete-make-expert-command-functions "environment" 
LaTeX-environment-list "LaTeX")
+
 (defvar TeX-complete-list nil
   "List of ways to complete the preceding text.
 
@@ -2582,25 +2827,46 @@ Or alternatively:
 (make-variable-buffer-local 'TeX-default-macro)
 
 (defcustom TeX-insert-braces t
-  "*If non-nil, append a empty pair of braces after inserting a macro."
+  "*If non-nil, append a empty pair of braces after inserting a macro.
+
+See also `TeX-insert-braces-alist'."
   :group 'TeX-macro
   :type 'boolean)
 
+(defcustom TeX-insert-braces-alist nil
+  "Alist of macros to which braces should or should not be appended.
+
+Each element is a cons cell, whose CAR is the macro name, and the
+CDR is non-nil or nil, depending on whether a pair of braces
+should be, respectively, appended or not to the macro.
+
+If a macro has an element in this variable, `TeX-parse-macro'
+will use its value to decided what to do, whatever the value of
+the variable `TeX-insert-braces'."
+  :group 'TeX-macro
+  :type '(repeat (cons (string :tag "Macro name")
+                      (boolean :tag "Append braces?"))))
+(make-variable-buffer-local 'TeX-insert-braces-alist)
+
 (defcustom TeX-insert-macro-default-style 'show-optional-args
   "Specifies whether `TeX-insert-macro' will ask for all optional arguments.
 
-If set to the symbol `show-optional-args', `TeX-insert-macro' asks for
-optional arguments of TeX marcos.  If set to `mandatory-args-only',
+If set to the symbol `show-optional-args', `TeX-insert-macro'
+asks for optional arguments of TeX marcos, unless the previous
+optional argument has been rejected.  If set to
+`show-all-optional-args', `TeX-insert-macro' asks for all
+optional arguments.  If set to `mandatory-args-only',
 `TeX-insert-macro' asks only for mandatory argument.
 
 When `TeX-insert-macro' is called with \\[universal-argument], it's the other
 way round.
 
 Note that for some macros, there are special mechanisms, see e.g.
-`LaTeX-includegraphics-options-alist'."
+`LaTeX-includegraphics-options-alist' and `TeX-arg-cite-note-p'."
   :group 'TeX-macro
   :type '(choice (const mandatory-args-only)
-                (const show-optional-args)))
+                (const show-optional-args)
+                (const show-all-optional-args)))
 
 (defvar TeX-arg-opening-brace nil
   "String used as an opening brace for argument insertion.
@@ -2630,12 +2896,10 @@ is called with \\[universal-argument]."
                                              TeX-default-macro
                                              "): "
                                              TeX-esc)
-                                     (TeX-symbol-list) nil nil nil
-                                     'TeX-macro-history)))
-  (cond ((string-equal symbol "")
-        (setq symbol TeX-default-macro))
-       ((interactive-p)
-        (setq TeX-default-macro symbol)))
+                                     (TeX-symbol-list-filtered) nil nil nil
+                                     'TeX-macro-history TeX-default-macro)))
+  (when (interactive-p)
+    (setq TeX-default-macro symbol))
   (TeX-parse-macro symbol (cdr-safe (assoc symbol (TeX-symbol-list))))
   (run-hooks 'TeX-after-insert-macro-hook))
 
@@ -2708,21 +2972,31 @@ type of ARGS:
     (cond ((marker-position exit-mark)
           (goto-char (marker-position exit-mark))
           (set-marker exit-mark nil))
-         ((and TeX-insert-braces
-               ;; Do not add braces if the argument is 0 or -1.
-               (not (and (= (safe-length args) 1)
-                         (numberp (car args))
-                         (<= (car args) 0)))
-               (equal position (point))
-               (string-match "[a-zA-Z]+" symbol)
-               (not (texmathp)))
-          (insert TeX-grop)
-          (if (TeX-active-mark)
-              (progn
+         ((let ((element (assoc symbol TeX-insert-braces-alist)))
+            ;; If in `TeX-insert-braces-alist' there is an element associated
+            ;; to the current macro, use its value to decide whether inserting
+            ;; a pair of braces, otherwise use the standard criterion.
+            (if element
+                (cdr element)
+              (and TeX-insert-braces
+                   ;; Do not add braces if the argument is 0 or -1.
+                   (not (and (= (safe-length args) 1)
+                             (numberp (car args))
+                             (<= (car args) 0)))
+                   (equal position (point))
+                   (string-match "[a-zA-Z]+" symbol))))
+          (if (texmathp)
+              (when (TeX-active-mark)
+                (insert TeX-grop)
                 (exchange-point-and-mark)
                 (insert TeX-grcl))
-            (insert TeX-grcl)
-            (backward-char))))))
+            (insert TeX-grop)
+            (if (TeX-active-mark)
+                (progn
+                  (exchange-point-and-mark)
+                  (insert TeX-grcl))
+              (insert TeX-grcl)
+              (backward-char)))))))
 
 (defun TeX-arg-string (optional &optional prompt initial-input)
   "Prompt for a string.
@@ -2741,20 +3015,19 @@ INITIAL-INPUT is a string to insert before reading 
input."
   "Parse TeX macro arguments ARGS.
 
 See `TeX-parse-macro' for details."
-  (let ((last-optional-rejected nil)
-       skip-opt)
-    ;; Maybe get rid of all optional arguments.  See `TeX-insert-macro' for
-    ;; more comments.  See `TeX-insert-macro-default-style'.
-    (when (or (and (eq TeX-insert-macro-default-style 'show-optional-args)
-                  (equal current-prefix-arg '(4)))
-             (and (eq TeX-insert-macro-default-style 'mandatory-args-only)
-                  (null (equal current-prefix-arg '(4)))))
-      (while (vectorp (car args))
-       (setq args (cdr args))))
-
+  (let ((last-optional-rejected nil))
     (while args
       (if (vectorp (car args))
-         (unless last-optional-rejected
+         ;; Maybe get rid of all optional arguments.  See `TeX-insert-macro'
+         ;; for more comments.  See `TeX-insert-macro-default-style'.
+         (unless (if (eq TeX-insert-macro-default-style 
'show-all-optional-args)
+                     (equal current-prefix-arg '(4))
+                   (or
+                    (and (eq TeX-insert-macro-default-style 
'show-optional-args)
+                         (equal current-prefix-arg '(4)))
+                    (and (eq TeX-insert-macro-default-style 
'mandatory-args-only)
+                         (null (equal current-prefix-arg '(4))))
+                    last-optional-rejected))
            (let ((TeX-arg-opening-brace LaTeX-optop)
                  (TeX-arg-closing-brace LaTeX-optcl))
              (TeX-parse-argument t (if (equal (length (car args)) 1)
@@ -2886,8 +3159,8 @@ Return the number as car and unit as cdr."
 
 (defun TeX-arg-literal (optional &rest args)
   "Insert its arguments ARGS into the buffer.
-Used for specifying extra syntax for a macro."
-  ;; FIXME: What is the purpose of OPTIONAL here?  -- rs
+Used for specifying extra syntax for a macro.  The compatibility
+argument OPTION is ignored."
   (apply 'insert args))
 
 
@@ -2992,18 +3265,14 @@ The algorithm is as follows:
   (setq indent-tabs-mode nil)
 
   ;; Ispell support
-  (make-local-variable 'ispell-parser)
-  (setq ispell-parser 'tex)
-  (make-local-variable 'ispell-tex-p)
-  (setq ispell-tex-p t)
-  
+  (set (make-local-variable 'ispell-parser) 'tex)
+  (set (make-local-variable 'ispell-tex-p) t)
+
   ;; Redefine some standard variables
   (make-local-variable 'paragraph-start)
   (make-local-variable 'paragraph-separate)
-  (make-local-variable 'comment-start)
-  (setq comment-start "%")
-  (make-local-variable 'comment-start-skip)
-  (setq comment-start-skip
+  (set (make-local-variable 'comment-start) "%")
+  (set (make-local-variable 'comment-start-skip)
        (concat
         "\\(\\(^\\|[^\\\n]\\)\\("
         (regexp-quote TeX-esc)
@@ -3013,20 +3282,16 @@ The algorithm is as follows:
   (set (make-local-variable 'comment-use-syntax) t)
   ;; `comment-padding' is defined here as an integer for compatibility
   ;; reasons because older Emacsen could not cope with a string.
-  (make-local-variable 'comment-padding)
-  (setq comment-padding 1)
+  (set (make-local-variable 'comment-padding) 1)
   ;; Removed as commenting in (La)TeX is done with one `%' not two
   ;; (make-local-variable 'comment-add)
   ;; (setq comment-add 1) ;default to `%%' in comment-region
-  (make-local-variable 'comment-indent-function)
-  (setq comment-indent-function 'TeX-comment-indent)
-  (make-local-variable 'comment-multi-line)
-  (setq comment-multi-line nil)
+  (set (make-local-variable 'comment-indent-function) 'TeX-comment-indent)
+  (set (make-local-variable 'comment-multi-line) nil)
   (make-local-variable 'compile-command)
   (unless (boundp 'compile-command)
     (setq compile-command "make"))
-  (make-local-variable 'words-include-escapes)
-  (setq words-include-escapes nil)
+  (set (make-local-variable 'words-include-escapes) nil)
 
   ;; Make TAB stand out
   ;;  (make-local-variable 'buffer-display-table)
@@ -3036,10 +3301,10 @@ The algorithm is as follows:
   ;;  (aset buffer-display-table ?\t (apply 'vector (append "<TAB>" nil)))
 
   ;; Symbol completion.
-  (make-local-variable 'TeX-complete-list)
-  (setq TeX-complete-list
+  (set (make-local-variable 'TeX-complete-list)
        (list (list "\\\\\\([a-zA-Z]*\\)"
-                   1 'TeX-symbol-list (if TeX-insert-braces "{}"))
+                   1 'TeX-symbol-list-filtered
+                   (if TeX-insert-braces "{}"))
              (list "" TeX-complete-word)))
 
   (funcall TeX-install-font-lock)
@@ -3049,8 +3314,9 @@ The algorithm is as follows:
   (if (boundp 'local-write-file-hooks)
       (add-hook 'local-write-file-hooks 'TeX-safe-auto-write)
     (add-hook 'write-file-hooks 'TeX-safe-auto-write))
-  (make-local-variable 'TeX-auto-update)
-  (setq TeX-auto-update t)
+  (set (make-local-variable 'TeX-auto-update) t)
+
+  (define-key TeX-mode-map "\C-xng" 'TeX-narrow-to-group)
 
   ;; Minor modes
   (when TeX-source-correlate-mode
@@ -3114,38 +3380,6 @@ The algorithm is as follows:
 (defconst TeX-auto-parser-local 3)
 (defconst TeX-auto-parser-change 4)
 
-(defun TeX-auto-add-type (name prefix &optional plural)
-  "Add information about NAME to the parser using PREFIX.
-
-Optional third argument PLURAL is the plural form of TYPE.
-By default just add an `s'.
-
-This function create a set of variables and functions to maintain a
-separate type of information in the parser."
-  (let* ((names (or plural (concat name "s")))
-        (tmp (intern (concat prefix "-auto-" name)))
-        (add (intern (concat prefix "-add-" names)))
-        (local (intern (concat prefix "-" name "-list")))
-        (change (intern (concat prefix "-" name "-changed"))))
-    (setq TeX-auto-parser
-         (cons (list name tmp add local change) TeX-auto-parser))
-    (set local nil)
-    (make-variable-buffer-local local)
-    (set change nil)
-    (make-variable-buffer-local change)
-    (fset add `(lambda (&rest entries)
-                ,(concat "Add information about " (upcase name)
-                         " to the current buffer.
-Generated by `TeX-auto-add-type'.")
-                (TeX-auto-add-information ,name entries)))
-    (fset local `(lambda nil
-                  ,(concat "List of " names
-                           " active in the current buffer.
-Generated by `TeX-auto-add-type'.")
-                  (TeX-auto-list-information ,name)))
-    (add-hook 'TeX-remove-style-hook
-             `(lambda nil (setq ,(symbol-name local) nil)))))
-
 (defun TeX-auto-add-information (name entries)
   "For NAME in `TeX-auto-parser' add ENTRIES."
   (let* ((entry (assoc name TeX-auto-parser))
@@ -3189,6 +3423,45 @@ Generated by `TeX-auto-add-type'.")
       (message "Removing duplicates... done"))
     (symbol-value local)))
 
+(defmacro TeX-auto-add-type (name prefix &optional plural)
+  "Add information about NAME to the parser using PREFIX.
+
+Optional third argument PLURAL is the plural form of TYPE.
+By default just add an `s'.
+
+This function create a set of variables and functions to maintain a
+separate type of information in the parser."
+  (let* ((names (or plural (concat name "s")))
+        (tmp (intern (concat prefix "-auto-" name)))
+        (add (intern (concat prefix "-add-" names)))
+        (local (intern (concat prefix "-" name "-list")))
+        (change (intern (concat prefix "-" name "-changed")))
+        (vardoc (concat "Information about " names
+                         " in the current buffer.
+Generated by `TeX-auto-add-type'.")))
+    `(progn
+       (defvar ,tmp nil ,vardoc)
+       (defvar ,local nil ,vardoc)
+       (make-variable-buffer-local ',local)
+       (defvar ,change nil ,vardoc)
+       (make-variable-buffer-local ',change)
+       (defun ,add (&rest ,(intern names))
+        ,(concat "Add information about " (upcase names)
+                 " to the current buffer.
+Generated by `TeX-auto-add-type'.")
+        (TeX-auto-add-information ,name ,(intern names)))
+       (defun ,local ()
+        ,(concat "List of " names
+                 " active in the current buffer.
+Generated by `TeX-auto-add-type'.")
+        (TeX-auto-list-information ,name))
+       ;; Append new type to `TeX-auto-parser' in order to make `style' type
+       ;; always the first.
+       (add-to-list 'TeX-auto-parser ',(list name tmp add local change) t)
+       (add-hook 'TeX-remove-style-hook
+                (lambda ()
+                  (setq ,local nil))))))
+
 (TeX-auto-add-type "symbol" "TeX")
 
 (defvar TeX-auto-apply-hook nil
@@ -3316,9 +3589,8 @@ If TEX is a directory, generate style files for all files 
in the directory."
                                   (append TeX-file-extensions
                                           BibTeX-file-extensions
                                           TeX-Biber-file-extensions)))
-        (save-excursion
-          (set-buffer (let (enable-local-eval)
-                        (find-file-noselect tex)))
+        (with-current-buffer (let (enable-local-eval)
+                               (find-file-noselect tex))
           (message "Parsing %s..." tex)
           (TeX-auto-store (concat (file-name-as-directory auto)
                                   (TeX-strip-extension tex
@@ -3346,13 +3618,22 @@ If TEX is a directory, generate style files for all 
files in the directory."
   (TeX-auto-parse)
 
   (if (member nil (mapcar 'TeX-auto-entry-clear-p TeX-auto-parser))
-      (let ((style (TeX-strip-extension nil TeX-all-extensions t)))
+      (let ((style (TeX-strip-extension nil TeX-all-extensions t))
+           (class-opts (if (boundp 'LaTeX-provided-class-options)
+                           LaTeX-provided-class-options))
+           (pkg-opts (if (boundp 'LaTeX-provided-package-options)
+                         LaTeX-provided-package-options)))
        (TeX-unload-style style)
-       (save-excursion
-         (set-buffer (generate-new-buffer file))
+       (with-current-buffer (generate-new-buffer file)
          (erase-buffer)
-         (insert "(TeX-add-style-hook \"" style "\"\n"
-                 " (lambda ()")
+         (insert "(TeX-add-style-hook\n \""
+                 style "\"\n (lambda ()")
+         (when class-opts
+           (insert "\n   (TeX-add-to-alist 'LaTeX-provided-class-options\n"
+                   "                     '" (prin1-to-string class-opts) ")"))
+         (when pkg-opts
+           (insert "\n   (TeX-add-to-alist 'LaTeX-provided-package-options\n"
+                   "                     '" (prin1-to-string pkg-opts) ")"))
          (mapc (lambda (el) (TeX-auto-insert el style))
                TeX-auto-parser)
          (insert "))\n\n")
@@ -3375,13 +3656,13 @@ If SKIP is not-nil, don't insert code for SKIP."
   (let ((name (symbol-name (nth TeX-auto-parser-add entry)))
        (list (symbol-value (nth TeX-auto-parser-temporary entry))))
     (unless (null list)
-      (insert "\n    (" name)
+      (insert "\n   (" name)
       (dolist (el list)
        (cond ((and (stringp el) (not (string= el skip)))
-              (insert "\n     ")
+              (insert "\n    ")
               (insert (prin1-to-string el)))
              ((not (stringp el))
-              (insert "\n     ")
+              (insert "\n    ")
               (insert "'" (prin1-to-string el)))))
       (insert ")"))))
 
@@ -3616,7 +3897,7 @@ Check for potential LaTeX environments."
   "File extensions recognized by AUCTeX."
   :group 'TeX-file)
 
-(defcustom TeX-file-extensions '("tex" "sty" "cls" "ltx" "texi" "texinfo" 
"dtx")
+(defcustom TeX-file-extensions '("tex" "sty" "cls" "ltx" "texi" "txi" 
"texinfo" "dtx")
   "*File extensions used by manually generated TeX files."
   :group 'TeX-file-extension
   :type '(repeat (string :format "%v")))
@@ -3661,6 +3942,11 @@ Access to the value should be through the function 
`TeX-output-extension'.")
   :group 'TeX-file-extension
   :type '(repeat (string :format "%v")))
 
+(defcustom BibLaTeX-style-extensions '("bbx")
+  "Valid file extensions for BibLaTeX styles."
+  :group 'TeX-file-extension
+  :type '(repeat (string :format "%v")))
+
 (defcustom BibTeX-style-extensions '("bst")
   "Valid file extensions for BibTeX styles."
   :group 'TeX-file-extension
@@ -3852,7 +4138,7 @@ example.")
 (defun TeX-search-files-by-type (filetype &optional scope nodir strip)
   "Return a list of files in TeX's search path with type FILETYPE.
 FILETYPE is a symbol used to choose the search paths and
-extensions.  See `TeX-search-file-type-alist' for supported
+extensions.  See `TeX-search-files-type-alist' for supported
 symbols.
 
 The optional argument SCOPE sets the scope for the search.
@@ -3895,6 +4181,24 @@ If optional argument STRIP is non-nil, remove file 
extension."
                                               dir) t)))))
            (append local-files (TeX-search-files dirs exts nodir strip)))))))
 
+;;; Narrowing
+
+(defun TeX-narrow-to-group ()
+  "Make text outside current group invisible."
+  (interactive)
+  (save-excursion
+    (widen)
+    (let ((opoint (point))
+         beg end)
+      (if (null (search-backward "{" nil t))
+         (message "Nothing to be narrowed here.")
+       (setq beg (point))
+       (forward-sexp)
+       (setq end (point))
+       (if (< end opoint)
+           (message "Nothing to be narrowed here.")
+         (narrow-to-region beg end))))))
+(put 'TeX-narrow-to-group 'disabled t)
 
 ;;; Utilities
 ;;
@@ -3993,6 +4297,29 @@ mark which is sort of equivalent."
 (defalias 'TeX-run-mode-hooks
   (if (fboundp 'run-mode-hooks) 'run-mode-hooks 'run-hooks))
 
+(defun TeX-add-to-alist (alist-var new-alist)
+  "Add NEW-ALIST to the ALIST-VAR.
+If an element with the same key as the key of an element of
+NEW-ALIST is already present in ALIST-VAR, add the new values to
+it; if a matching element is not already present, append the new
+element to ALIST-VAR."
+  ;; Loop over all elements of NEW-ALIST.
+  (while new-alist
+    (let* ((new-element (car new-alist))
+          ;; Get the element of ALIST-VAR with the same key of the current
+          ;; element of NEW-ALIST, if any.
+          (old-element (assoc (car new-element) (symbol-value alist-var))))
+      (if old-element
+         (progn
+           (set alist-var (delete old-element (symbol-value alist-var)))
+           ;; Append to `old-element' the values of the current element of
+           ;; NEW-ALIST.
+           (mapc (lambda (elt) (add-to-list 'old-element elt t))
+                 (cdr new-element))
+           (set alist-var (add-to-list alist-var old-element t)))
+       (add-to-list alist-var new-element t)))
+    ;; Next element of NEW-ALIST.
+    (setq new-alist (cdr new-alist))))
 
 ;;; Syntax Table
 
@@ -4148,7 +4475,7 @@ Brace insertion is only done if point is in a math 
construct and
     (define-key map "\C-c?"    'TeX-doc)
     (define-key map "\C-c\C-i" 'TeX-goto-info-page)
     (define-key map "\r"       'TeX-newline)
-    
+
     ;; From tex.el
     (define-key map "\""       'TeX-insert-quote)
     (define-key map "$"        'TeX-insert-dollar)
@@ -4162,14 +4489,14 @@ Brace insertion is only done if point is in a math 
construct and
     (define-key map "^"        'TeX-insert-sub-or-superscript)
     (define-key map "_"        'TeX-insert-sub-or-superscript)
     (define-key map "\e\t"     'TeX-complete-symbol) ;*** Emacs 19 way
-    
+
     (define-key map "\C-c'"    'TeX-comment-or-uncomment-paragraph) ;*** Old 
way
     (define-key map "\C-c:"    'TeX-comment-or-uncomment-region) ;*** Old way
     (define-key map "\C-c\""   'TeX-uncomment) ;*** Old way
-    
+
     (define-key map "\C-c;"    'TeX-comment-or-uncomment-region)
     (define-key map "\C-c%"    'TeX-comment-or-uncomment-paragraph)
-    
+
     (define-key map "\C-c\C-t\C-p"   'TeX-PDF-mode)
     (define-key map "\C-c\C-t\C-i"   'TeX-interactive-mode)
     (define-key map "\C-c\C-t\C-s"   'TeX-source-correlate-mode)
@@ -4251,6 +4578,12 @@ Brace insertion is only done if point is in a math 
construct and
        :help "Kill the current TeX process"]
       ["Next Error" TeX-next-error
        :help "Jump to the next error of the last TeX run"]
+      ["Previous Error" TeX-previous-error
+       :help "Jump to the previous error of the last TeX run"
+       :visible TeX-parse-all-errors]
+      ["Error Overview" TeX-error-overview
+       :help "Open an overview of errors occured in the last TeX run"
+       :visible (and TeX-parse-all-errors (fboundp 'tabulated-list-mode))]
       ["Quick View" TeX-view
        :help "Start a viewer without prompting"]
       "-"
@@ -4278,7 +4611,7 @@ Brace insertion is only done if point is in a math 
construct and
        ["Debug Warnings" TeX-toggle-debug-warnings
        :style toggle :selected TeX-debug-warnings
        :help "Make \"Next Error\" show warnings"])))
-   (let ((file 'TeX-command-on-current));; is this actually needed?
+   (let ((file 'TeX-command-on-current)) ;; is this actually needed?
      (TeX-maybe-remove-help
       (delq nil
            (mapcar 'TeX-command-menu-entry
@@ -5052,7 +5385,7 @@ See also `TeX-font-replace-macro' and 
`TeX-font-replace-function'."
                (delete-char 3)
                nil)
            t))
-       (delete-backward-char 1))
+       (delete-char -1))
     (insert end)))
 
 (defun TeX-font-replace-macro (start end)
@@ -5084,7 +5417,7 @@ See also `TeX-font-replace' and 
`TeX-font-replace-function'."
        (forward-sexp 2))
       (save-excursion
        (replace-match start t t))
-      (delete-backward-char 1)
+      (delete-char -1)
       (insert end))))
 
 ;;; Dollars
@@ -5110,19 +5443,42 @@ See also `TeX-font-replace' and 
`TeX-font-replace-function'."
   :group 'TeX-macro
   :type 'boolean)
 
-(defcustom TeX-math-close-double-dollar nil
-  "If non-nil close double dollar math by typing a single `$'."
+(defcustom TeX-electric-math nil
+  "If non-nil, when outside math mode `TeX-insert-dollar' will
+insert symbols for opening and closing inline equation and put
+the point between them.  If there is an active region,
+`TeX-insert-dollar' will put around it symbols for opening and
+closing inline equation and keep the region active, with point
+after closing symbol.  If you press `$' again, you can toggle
+between inline equation, display equation, and no equation.
+
+If non-nil and point is inside math mode right between a couple
+of single dollars, pressing `$' will insert another pair of
+dollar signs and leave the point between them.
+
+If nil, `TeX-insert-dollar' will simply insert \"$\" at point,
+this is the default.
+
+If non-nil, this variable is a cons cell whose CAR is the string
+to insert before point, the CDR is the string to insert after
+point.  You can choose between \"$...$\" and \"\\(...\\)\"."
   :group 'TeX-macro
-  :type 'boolean)
+  :type '(choice (const :tag "No electricity" nil)
+                (const :tag "$...$" ("$" . "$"))
+                (const :tag "\\(...\\)" ("\\(" . "\\)"))
+                (cons :tag "Other"
+                      (string :tag "Insert before point")
+                      (string :tag "Insert after point"))))
 
 (defun TeX-insert-dollar (&optional arg)
   "Insert dollar sign.
 
 If current math mode was not entered with a dollar, refuse to
 insert one.  Show matching dollar sign if this dollar sign ends
-the TeX math mode and `blink-matching-paren' is non-nil.  Ensure
-double dollar signs match up correctly by inserting extra dollar
-signs when needed.
+the TeX math mode and `blink-matching-paren' is non-nil.
+
+When outside math mode, the behavior is controlled by the variable
+`TeX-electric-math'.
 
 With raw \\[universal-argument] prefix, insert exactly one dollar
 sign.  With optional ARG, insert that many dollar signs."
@@ -5134,40 +5490,91 @@ sign.  With optional ARG, insert that many dollar 
signs."
    (arg
     ;; Numerical arg inserts that many
     (insert (make-string (prefix-numeric-value arg) ?\$)))
-   ((TeX-escaped-p)
-    ;; This is escaped with `\', so just insert one.
+   ((or (TeX-escaped-p) (TeX-verbatim-p))
+    ;; Point is escaped with `\' or is in a verbatim-like construct, so just
+    ;; insert one $.
     (insert "$"))
    ((texmathp)
     ;; We are inside math mode
-    (if (and (stringp (car texmathp-why))
-            (string-equal (substring (car texmathp-why) 0 1) "\$"))
-       ;; Math mode was turned on with $ or $$ - so finish it accordingly.
-       (progn
-         (if TeX-math-close-double-dollar
-             (insert (car texmathp-why))
-           (insert "$"))
-         (when (and blink-matching-paren
-                    (or (string= (car texmathp-why) "$")
-                        (zerop (mod (save-excursion
-                                      (skip-chars-backward "$")) 2))))
-           (save-excursion
-             (goto-char (cdr texmathp-why))
-             (if (pos-visible-in-window-p)
-                 (sit-for 1)
-               (message "Matches %s"
-                        (buffer-substring
-                         (point) (progn (end-of-line) (point))))))))
+    (cond
+     ((and TeX-electric-math
+          (eq (preceding-char) ?\$)
+          (eq (following-char) ?\$))
+      ;; Point is between "$$" and `TeX-electric-math' is non-nil - insert
+      ;; another pair of dollar signs and leave point between them.
+      (insert "$$")
+      (backward-char))
+     ((and (stringp (car texmathp-why))
+          (string-equal (substring (car texmathp-why) 0 1) "\$"))
+      ;; Math mode was turned on with $ or $$ - insert a single $.
+      (insert "$")
+      ;; Compatibility, `TeX-math-close-double-dollar' has been removed
+      ;; after AUCTeX 11.87.
+      (if (boundp 'TeX-math-close-double-dollar)
+         (message
+          (concat "`TeX-math-close-double-dollar' has been removed,"
+                  "\nplease use `TeX-electric-math' instead.")))
+      (when (and blink-matching-paren
+                (or (string= (car texmathp-why) "$")
+                    (zerop (mod (save-excursion
+                                  (skip-chars-backward "$")) 2))))
+       (save-excursion
+         (goto-char (cdr texmathp-why))
+         (if (pos-visible-in-window-p)
+             (sit-for blink-matching-delay)
+           (message "Matches %s"
+                    (buffer-substring
+                     (point) (progn (end-of-line) (point))))))))
+     (t
       ;; Math mode was not entered with dollar - we cannot finish it with one.
       (message "Math mode started with `%s' cannot be closed with dollar"
               (car texmathp-why))
-      (insert "$")))
+      (insert "$"))))
    (t
     ;; Just somewhere in the text.
-    (insert "$")))
+    (cond
+     ((and TeX-electric-math (TeX-active-mark))
+      (if (> (point) (mark))
+         (exchange-point-and-mark))
+      (cond
+       ;; $...$ to $$...$$
+       ((and (eq last-command 'TeX-insert-dollar)
+            (re-search-forward "\\=\\$\\([^$][^z-a]*[^$]\\)\\$" (mark) t))
+       (replace-match "$$\\1$$")
+       (set-mark (match-beginning 0)))
+       ;; \(...\) to \[...\]
+       ((and (eq last-command 'TeX-insert-dollar)
+            (re-search-forward "\\=\\\\(\\([^z-a]*\\)\\\\)" (mark) t))
+       (replace-match "\\\\[\\1\\\\]")
+       (set-mark (match-beginning 0)))
+       ;; Strip \[...\] or $$...$$
+       ((and (eq last-command 'TeX-insert-dollar)
+            (or (re-search-forward "\\=\\\\\\[\\([^z-a]*\\)\\\\\\]" (mark) t)
+                (re-search-forward "\\=\\$\\$\\([^z-a]*\\)\\$\\$" (mark) t)))
+       (replace-match "\\1")
+       (set-mark (match-beginning 0)))
+       (t
+       ;; We use `save-excursion' because point must be situated before opening
+       ;; symbol.
+       (save-excursion (insert (car TeX-electric-math)))
+       (exchange-point-and-mark)
+       (insert (cdr TeX-electric-math))))
+      ;; Keep the region active.
+      (TeX-activate-region))
+     (TeX-electric-math
+      (insert (car TeX-electric-math))
+      (save-excursion (insert (cdr TeX-electric-math)))
+      (if blink-matching-paren
+         (progn
+           (backward-char)
+           (sit-for blink-matching-delay)
+           (forward-char))))
+     ;; In any other case just insert a single $.
+     ((insert "$")))))
   (TeX-math-input-method-off))
 
 (defvar TeX-math-input-method-off-regexp
-  "^\\(chinese\\|japanese\\|korean\\|bulgarian\\|russian\\)"
+  (concat "^" (regexp-opt '("chinese" "japanese" "korean" "bulgarian" 
"russian") t))
   "Regexp matching input methods to be deactivated when entering math mode.")
 
 (defun TeX-math-input-method-off ()
@@ -5180,18 +5587,19 @@ sign.  With optional ARG, insert that many dollar 
signs."
 
 ;;; Simple Commands
 
-(defun TeX-normal-mode (arg)
+(defun TeX-normal-mode (&optional arg)
   "Remove all information about this buffer, and apply the style hooks again.
 Save buffer first including style information.
 With optional argument ARG, also reload the style hooks."
-  ;; FIXME: Shouldn't it be (&optional arg)?  -- rs
   (interactive "*P")
   (if arg
       (setq TeX-style-hook-list nil
            BibTeX-global-style-files nil
            BibTeX-global-files nil
+           BibLaTeX-global-style-files nil
            TeX-Biber-global-files nil
-           TeX-global-input-files nil))
+           TeX-global-input-files nil
+           LaTeX-global-class-files nil))
   (let ((TeX-auto-save t))
     (if (buffer-modified-p)
        (save-buffer)
@@ -5226,7 +5634,7 @@ quotes are inserted only after \"."
   "Alist for overriding the default language-specific quote insertion.
 First element in each item is the name of the language as set by
 the language style file as a string.  Second element is the
-opening quotation mark.  Third elemxent is the closing quotation
+opening quotation mark.  Third element is the closing quotation
 mark.  Opening and closing quotation marks can be specified
 directly as strings or as functions returning a string.  Fourth
 element is a boolean specifying insertion behavior, overriding
@@ -5301,7 +5709,7 @@ With prefix argument FORCE, always inserts \" characters."
                            (concat (regexp-quote open-quote) "\\|"
                                    (regexp-quote close-quote))
                            (max (length open-quote) (length close-quote))))
-                        (delete-backward-char (length (match-string 0)))
+                        (delete-char (- (length (match-string 0))))
                         "\"\"")
                        ((< (save-excursion (skip-chars-backward "\"")) -1)
                         ?\")
@@ -5310,15 +5718,15 @@ With prefix argument FORCE, always inserts \" 
characters."
                        ((save-excursion
                           (forward-char -1)
                           (bobp))
-                        (delete-backward-char 1)
+                        (delete-char -1)
                         open-quote)
                        ((save-excursion
                           (forward-char -2) ;;; at -1 there is double quote
                           (looking-at "[ \t\n]\\|\\s("))
-                        (delete-backward-char 1)
+                        (delete-char -1)
                         open-quote)
                        (t
-                        (delete-backward-char 1)
+                        (delete-char -1)
                         close-quote)))
        (insert (cond ((bobp)
                       open-quote)
@@ -5329,12 +5737,12 @@ With prefix argument FORCE, always inserts \" 
characters."
                      ((save-excursion
                         (forward-char (- (length open-quote)))
                         (looking-at (regexp-quote open-quote)))
-                      (delete-backward-char (length open-quote))
+                      (delete-char (- (length open-quote)))
                       ?\")
                      ((save-excursion
                         (forward-char (- (length close-quote)))
                         (looking-at (regexp-quote close-quote)))
-                      (delete-backward-char (length close-quote))
+                      (delete-char (- (length close-quote)))
                       ?\")
                      ((save-excursion
                         (forward-char -1)
@@ -5442,35 +5850,21 @@ Your bug report will be posted to the AUCTeX bug 
reporting list.
              (call-process "texdoc" nil 0 nil "--view" doc)))
     (latex-info (latex-mode)
                (lambda ()
-                 (when (condition-case nil
-                           (save-window-excursion
-                             (let ((buf (generate-new-buffer-name "*info*")))
-                               (info "latex" buf)
-                               (kill-buffer buf))
-                             t)
-                         (error nil))
-                   (mapcar (lambda (x)
-                             (let ((x (car x)))
-                               (if (string-match "\\`\\\\" x)
-                                   (substring x 1) x)))
-                           (info-lookup->completions 'symbol 'latex-mode))))
+                 (mapcar (lambda (x)
+                           (let ((x (car x)))
+                             (if (string-match "\\`\\\\" x)
+                                 (substring x 1) x)))
+                         (info-lookup->completions 'symbol 'latex-mode)))
                (lambda (doc)
                  (info-lookup-symbol (concat "\\" doc) 'latex-mode)))
     (texinfo-info (texinfo-mode)
                  (lambda ()
-                   (when (condition-case nil
-                             (save-window-excursion
-                               (let ((buf (generate-new-buffer-name "*info*")))
-                                 (info "texinfo" buf)
-                                 (kill-buffer buf))
-                               t)
-                           (error nil))
-                     (mapcar (lambda (x)
-                               (let ((x (car x)))
-                                 (if (string-match "\\`@" x)
-                                     (substring x 1) x)))
-                             (info-lookup->completions 'symbol
-                                                       'texinfo-mode))))
+                   (mapcar (lambda (x)
+                             (let ((x (car x)))
+                               (if (string-match "\\`@" x)
+                                   (substring x 1) x)))
+                           (info-lookup->completions 'symbol
+                                                     'texinfo-mode)))
                  (lambda (doc)
                    (info-lookup-symbol (concat "@" doc) 'texinfo-mode))))
   "Alist of backends used for looking up documentation.
@@ -5578,7 +5972,7 @@ NAME may be a package, a command, or a document."
        (regexp (concat "\\`\\("
                        (mapconcat (lambda (dir)
                                     (regexp-quote
-                                     (expand-file-name 
+                                     (expand-file-name
                                       (file-name-as-directory dir))))
                                   (append (when (file-name-directory name)
                                             (list (file-name-directory name)))
@@ -5637,10 +6031,37 @@ NAME may be a package, a command, or a document."
 
 ;; delsel.el, `delete-selection-mode'
 (put 'TeX-newline 'delete-selection t)
-(put 'TeX-insert-dollar 'delete-selection t)
 (put 'TeX-insert-quote 'delete-selection t)
 (put 'TeX-insert-backslash 'delete-selection t)
 
+(defun TeX-how-many (regexp &optional rstart rend)
+  "Compatibily function for `how-many'.
+Supports restriction to a region where the XEmacs version doesn't
+and always returns the number of matches, also in XEmacs and GNU
+Emacs 21."
+  ;; Emacs >= 22 does what we want.
+  (if (>= emacs-major-version 22)
+      (how-many regexp rstart rend)
+    ;; XEmacs and GNU Emacs 21 don't return the number of matches but only 
print
+    ;; it.
+    (let ((string
+          (if (featurep 'xemacs)
+              ;; XEmacs doesn't even support restriction to a region.
+              (save-excursion
+                (save-restriction
+                  (when (and (integer-or-marker-p rstart)
+                             (integer-or-marker-p rend))
+                    (narrow-to-region rstart rend)
+                    (goto-char (point-min)))
+                  (how-many regexp)))
+            (how-many regexp rstart rend))))
+      ;; Hide the message printed by `how-many'.
+      (message "")
+      ;; Select the number of occurrences and convert it to a number.
+      (if (string-match "\\([0-9]+\\).*" string)
+         (string-to-number (replace-match "\\1" nil nil string))
+       0))))
+
 (provide 'tex)
 
 ;; Local Variables:
diff --git a/texmathp.el b/texmathp.el
index 350406b..f13e237 100644
--- a/texmathp.el
+++ b/texmathp.el
@@ -117,7 +117,7 @@
     ("\\vcenter"     arg-off)
 
     ;; Standard LaTeX
-    ("equation"      env-on)      ("equation*"     env-on)
+    ("equation"      env-on)
     ("eqnarray"      env-on)      ("eqnarray*"     env-on)
     ("math"          env-on)
     ("displaymath"   env-on)
@@ -132,6 +132,7 @@
     ("\\ensuremath"  arg-on)
 
     ;; AMS-LaTeX
+    ("equation*"     env-on)
     ("align"         env-on)      ("align*"        env-on)
     ("gather"        env-on)      ("gather*"       env-on)
     ("multline"      env-on)      ("multline*"     env-on)
@@ -230,7 +231,7 @@ will be considered arguments of the macro independent of 
its definition."
   "After a call to `texmathp' this variable shows why math-mode is on or off.
 The value is a cons cell (MATCH . POSITION).
 MATCH is a string like a car of an entry in `texmathp-tex-commands', e.q.
-\"equation\" or \"\\ensuremath\" or \"\\[\" or \"$\".
+\"equation\" or \"\\ensuremath\" or \"\\=\\[\" or \"$\".
 POSITION is the buffer position of the match.  If there was no match,
 it points to the limit used for searches, usually two paragraphs up.")
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]