To nXhtml main page

# News and Notes about nXhtml

The State of the Art

  I believe now that MuMaMo (the multi major mode support) is fairly stable. It is now possible to have chunks in chunks and it is reasonably fast.

  The major mode than once gave the name to this package for web devoloping, nxhtml-mode, has long been stable. There are a lot of other minor things in this package. Of course everything is not perfect. Bug report and taking part in the development is very welcome. Go to the project page on Launchpad if you want to join!

  If you want to know how it works, install and test. It will not harm, everything is autoloaded so it will not slow down your Emacs - eh, a tiny little bit perhaps if you really use it, but then you will also get the benefits of it.

  If you want to know current bug status go to Launchpad!

Thanks for testing!

  I want to thanks the testers and bug reporters (who have been many now), especially to my first testers Hadron Quark and Eric Lilja, for helping me by testing and pointing out bugs and weaknesses, most of them related to editing of PHP.

  Without testers all kind of problems I just can't imagine myself would still be there in nXhtml. For example Hadron told me once that he got the error (wrong-type-argument stringp nil). Eh, I replied, are you sure. Yes he was. I tried the same file as him. No error.

  The error happened during fontification so the error message above was all we had. A real black box for me. Or perhaps black magic? After much confusion and some hard work we finally found out what it was and I implemented a better way to catch such errors. If Hadron would have given up the problem would still have been there. Some problems are just impossible to solve without good cooperation. So, again, thanks Hadron.

  BTW, I will perhaps add some even better way to Emacs to catch these errors so other can benefit from our insights too, but that requires some time and effort which I can't afford right now.

  If is now a bit more easy to take care of errors since there is a good bug database for nXhtml at Launchpad.

Long Red Underlines

  Because of a bug in Emacs 22.1 you can sometimes (at the end of a line) get long red lines instead of just a single underlined character. Many users (me included) find this quite a bit disturbing. I have therefore added a command to quickly hide/show the underlines. This is on C-c C-w (nxhtml-toggle-visible-warnings, key binding changed to C-c _ in later versions of nXhtml).

  This is particular useful for example in the case where you edit a PHP file and are bound to get a lot of XHTML validation errors.

Attribute values computed by PHP

  If you want to have attribute values computed by PHP here is a way how to structure that to avoid breaking completion and validation in the XHTML part unnessecary:

  <img src="images/linux.png" title="<?php foo("bar");?>"/>

  Unfortunately that still breaks XHTML validation since < is not allowed in strings. In the long run I believe the XML validator has to be broken up so that it avoids parsing the string here (in PHP files).

  For now I have implemented a workaround. If you are using constructs like those above then turn on mumamo-alt-php-tags-mode. This will temporarily replace the above with

  <img src="images/linux.png" title="(?php foo("bar");?)"/>

  However on the screen you will still see the original string and when writing to file the correct characters will be used.

A note for PHP and its cousins

  The rules for a process instruction in XML, like <?php ... ?> says that the text can contain any text except ?>. So if you want to output that string from PHP then break it up so it does not look as ?> in the source file.

  It might be good to break up the beginning part of the process instructions too. And please note that to use XHTML validation or completion you should avoid using < in strings, since it is not allowed there.

Why the chunks are not compatible with mmm

  Some people have asked why the way to specify chunks in mumamo-mode is not compatible with the old mmm-mode. The answer is that I was not sure that the way used in mmm-mode for specifying the chunks was flexible enough.

  Some people have also wondered why MuMaMo does not find chunks just as simple as multi-mode does. The answer is it did from the beginning. However that way (looking around current point) is not stable enough. Multi major modes are a bit different in this respect than normal major modes. More things can go wrong when you are guessing.

# nXhtml Changes

v0.89 v0.90 v0.91 v0.92 v0.93 v0.94 v0.95 v0.96 v0.97 v0.98 v0.99 v1.00 v1.01 v1.02 v1.03 v1.04 v1.10 v1.11 v1.12 v1.13 v1.14 v1.15 v1.16 v1.17 v1.18 v1.19 v1.20 v1.21 v1.22 v1.23 v1.24 v1.25 v1.26 v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 v1.33 v1.34 v1.35 v1.36 v1.37 v1.38 v1.39 v1.40 v1.41 v1.42 v1.43 v1.44 v1.45 v1.46 v1.47 v1.48 v1.49 v1.50 v1.51 v1.52 v1.53 v1.54 v1.56 v1.56 v1.57 v1.58 v1.59 v1.60 v1.61 v1.62 v1.63 v1.64 v1.65 v1.66 v1.67 v1.68 v1.69 v1.70 v1.71 v1.72 v1.73 v1.74 v1.75 v1.76 v1.77 v1.78 v1.79 v1.80 v1.81 v1.82 v1.83 v1.84 v1.85 v1.86 v1.87 v1.88 v1.89 v1.90 v1.91 v1.92 v1.93 v1.94 v1.95 v1.96 v1.97 v1.98 v1.99 v2.00 v2.01 v2.02 v2.03 v2.04 v2.05 v2.06 v2.07 v2.08

0.89
  - Corrected autostart for nXhtml when not used together with EmacsW32.
0.90
  - Improved display of XML path.
  - Discontinued xmple-mode.
  - New major modes nxhtml-part-mode/nxml-part-mode replaces minor mode xmlpe-mode. (While moving the code to nxhtml-part.el I also fixed a bug in Xmple minor mode that made Emacs take 99% of the CPU.)
0.91
  - Fixed some calls to perl which prevented uploading of a site of you did not have perl in the same location as me.
  - Glued together things so that editing PHP files works as I intended. (This means that Emacs switches between php-mode and nxhtml-part-mode automatically when moving point. And that you can use completion.)
  - Starting working on the documentation for nXhtml. New layout to the documentation files. Examples with images.
0.92
  - Fixes to make the switching between php and xhtml style editing work better.
0.93
  - Better error handling when switching to editing embedded JavaScript and CSS.
  - Removed PHP spec from embedded switching since they interfered with the automatic switching between php and xhtml.
  - Gives an error message if web host is not defined in site when trying to use View Uploaded File and cousins.
  - Gives a ready message when finished uploading a single file.
  - When using Mode Switching at <? ... ?> mode switching could occur in wrong buffer. Fixed together with some other buffer problems.
0.94
  - Add http://www.w3.org/ to the help sites for CSS.
  - Included a CSS mode.
  - Added a menu entry for bug reporting.
  - Renamed menu bar entry from XHTML to nXhtml for clarity. (But nXml menu bar entry is still called XML.)
  - Added work around for globalized minor modes in the cases of MLinks, XML Path and mode switching at <? ... ?>.
0.95
  - Added workaround for the problem with the first keyboard key after automatically switching of mode at <? ... ?>.
0.96
  - Added support for multiple major modes with mumamo.el.
  - More conventient handling of links. They can now be opened in the same window, 'other window' or in a new frame.
0.97
  - Schema was not setup after starting new page so completion did not work. Fixed.
  - Added http://xhtml.com/ to help sites for XHTML.
  - Added the concept of fictive XML validation headers. These are just text parsed by the nXml validation parser to get a start state before starting parsing a buffer. This allows the use of the nXml completion in buffers where there are no XML header. Such a header is often lacking for example in PHP code since the XHTML header is often generated dynamically.
  - Because of the change above nxhtml-part-mode is no longer needed and is therefore declared obsolete.
  - Corrected a bug in mlinks.el that prevented opening an HTML link in a other window or a new frame.
  - Added support for JSP, eRuby and some support for perl in mumamo.el.
0.98
  - Mumamo was not found when nXhtml was installed with just the zip file. Corrected. (nXhtml is also installed when you install EmacsW32.)
  - Enhancement to mumamo error handling when a bad mode specifier for an embedded mode is found.
  - Introduced a bug for empty XHTML documents in 0.97. Corrected.
  - Corrected a bug for chunks 1 character long.
  - There is what I consider is a bug in Emacs 22.1 in the handling of global minor mode that are not distributed with Emacs. If they are turned on by customization, but loaded after Emacs have loaded the customizations (usually in .emacs) then they are not turned on correctly. Added work-around for this.
  - Fictive XHTML Validation Header:
    - Fictive XHTML Validation Header state was not saved when moving between chunks. Fixed.
    - Tried to make the concept of Fictive XHTML Validation Header more clear. Added this visually to the buffer.
    - Fictive XHTML Validation Headers can now be turned on automatically based on file name.
  - nXhtml menu:
    - Reorganized the nXhtml menu.
    - Added customization groups for help libraries to nXhtml.
    - Added an entry for customization of nXhtml to the menus.
    - Added Tidy to the menus again.
  - Corrected bug in XML Path (nxml-where) for single tags. Other small fixes to nxhtml-where.
  - Documentation enhancements. Added The Quick Guide.
0.99
  - Fixed a serious bug in the cooperation between nxhtml-mode and mumamo-mode.
  - Turn on mumamo-mode by file name (mumamo-global-mode).
  - Fictive XHTML Validation Header:
    - The Fictive XHTML Validation Header state were not saved when changing major mode in MuMaMo. Corrected.
    - Added more alternatives to the Fictive XHTML Validation Header list. This should make it easier to use completion with for example PHP.
    - Added default value for the Fictive XHTML Validation Header.
    - Tried to make the use of Fictive XHTML Validation Header more automatic and therefore useful. Also tried to make it play better with setting schema file. (There is no need normally to set schema file by hand.)
    - To turn this on by default customize nxhtml-global-validation-header-mode.
  - Possible to hide validation warnings without turning on validation (which would make completion in the XHTML part impossible).
  - Some fixes to php-mode:
    - Using the character # for comments now works for most cases.
    - Now uses the fontification faces in a more standard way which calms down the look.
    - Initialization bug fixes.
    - Renamed php-mode-user-hook to php-mode-hook to follow standard.
  - Indentation fixes:
    - Various corrections to indentation in mumamo.
    - Added the possibility to use TAB to indent regions (indent-region-mode).
    - Warn about bad indentation in mixed PHP/HTML code when using php-mode only.
  - Fontification now fontifies all text first in main major mode and thereafter applies submodes. (This avoids some problems with around a submode chunk.)
  - Reorganized the nXhtml menu:
    - There is now a minor mode for the nXhtml menu. This makes it possible to easier use common features when in buffers not in nxhtml-mode.
    - The nXhtml menu does not disappear when moving into a chunk where the major mode is not nxhtml-mode. The changes also makes it easy to access uploading functions functions etc from other modes than nxhtml-mode since the nXhtml may also be shown in them.
    - The nXhtml menu can be turned on globally by default. Customize nxhtml-menu-mode for that.
1.00
  - Reached version number 1.00 - which you maybe believe means the bugs should be gone? Sorry, it is just that I ran out of version numbers. However it looks like much fewer bugs at least.
  - Fixed problems mostly related to global turn on of different features in nXhtml.
  - Small fixes to indentation.
    - nxhtml-mode could get confused by php tags.
    - nxhtml-mode did not indent <!DOCTYPE in a sensible way.
    - Electric keys now works in embedded php when using mumamo-mode.
  - Tidy was very misbehaving since the output buffer was not erased between different files. But I have got no bug reports on this.
  - Fixed a bug in validation that should up when using muamo-mode.
  - Fixed bug in <script ...> and <style ...> chunk dividing.
  - Added support for OpenLaszlo.
  - Corrections to mlinks-mode (visible mostly as links in XHTML buffers):
    - Links disappeared when a new file was opened. Corrected.
    - Links were not correctly updated at changes in the buffer when mumamo-mode was used. Fixed.
  - The welcome message for nXhtml could be shown too early sometimes when loading, before nXhtml actually knew if it should be shown or not. Tried to fix it.
1.01
  - Reported wrong version number for nXhtml in the menus. Fixed.
  - If you use the zip file to install nXhtml please notice that it has now a top level nxml. Sorry for not having zipped it like that before!
  - The url links in Welcome to nXhtml was a bit incorrect and did not work on all OS:es. Fixed.
  - Added customization of popup completion to the 'nxhtml customization group so they are easier to find.
  - MuMaMo
    - Struggled a bit with the load sequences of the elisp libraries used by nXhtml when using MuMaMo.
    - Tried to get the global turn on of mumam-mode to work in all cases.
    - The screen was blinking when changing overlays after changes in the buffer. Tried to fix this.
    - Minor fixes do syntax highlighting, like taking care of single ':s.
    - Fixes to the support for JSP and eRuby.
    - Made the support for perl here documents a bit better. Large perl documents are however still quite slow when using mumamo-mode. I do not know the reason yet.
    - Refontification could miss some parts when buffer changes caused chunk division changes. Complex, tried to fix it, but I am a bit unsure that it always works.
    - Cleaned up mumamo.el a bit.
    - Rewrote mumamo-test.el and functions called from it in mumamo.el a bit to make tracebacks from errors more useful. Changed keybindings in mumamo-test.el from global to a minor mode mumamo-test-mode. Renamed mumamo-notest.el to mumamo-test.el. Added it to the zipped distribution of nXhtml.
  - Fixed a bug related to links and buffer changes.
1.02
  - Fixed a refontification bug that occured after changes.
1.03
  - Added the possibility to call GIMP.
  - Reworked the messages for fontification errors to try to catch an error that shows up sometimes. Tried to avoid disturbing normal use in spite of that error.
  - Reverted to using a short delay before switching major mode when moving between buffers.
1.04
  - Enhanced the documentation for nXhtml. Starting from C-h f nxhtml-mode it should now be easier to get an overview.
  - Bug fixes etc:
    - Completion on an empty page gave a faulty frameset page. Fixed.
    - Insert end tag did not work with a fictive validation header. Fixed.
    - Insert end tag when all preceding tags where closed gave a strange error message. Fixed.
    - Changed some key bindings to comply with (info "(elisp) Key Binding Conventions")
    - Completion in empty buffers with a completion header did not work. Fixed.
    - Multiple major modes:
      - Fixed a bug that prevented mumamo-global-mode from beeing turned on in a file opened in fundamental-mode.
      - Better error tracing for some functions, including the call of major mode functions.
      - Position was garbled when a ;-char was inserted in php-mode chunk. Fixed.
      - A bad check for if mlinks-mode where available was fixed.
      - Some bugs concerning turning off mumamo-mode was fixed.
      - Fixed a bug in perl here doc chunks. Suddenly the problem with slowness when using mumamo-mode in perl buffers seems gone. (Note quite sure, but I can't see any problems now.)
      - Fixed a bug in mumamo-mode when current buffer was switched before the major mode had been set from the current chunk.
      - Fixed a long standing bug in php fontification of strings and comments.
      - Fixed a bug where sgml-xml-mode was not defined.
      - Fixed a bug related to get-text-property which gives an error when buffer is narrowed.
      - Tried to refontify things outside of a narrowed part. Fixed.
      - Too little where refontified after changes. I hope I have fixed this.
    - Fictive XHTML Validation Header:
      - View File did not work correctly when a fictive XHTML validation header was used. Corrected.
      - Fictive XHTML validation headers are no longer turned on by default in any buffers.
    - Indentation:
      - Tried to fix a problem when using newline-and-indent. When this was in a mode derived from C the indentation sometimes became 0.
      - Speeded up the indentation of regions a bit when using mumamo-mode.
      - Indentation: TAB now only indents a region if it is visibly marked (see transient-mark-mode and cua-mode).
      - Simplified the indentation code.
    - Fixed a problem where string fontification got out of phase so that wrong parts of buffer could be fontified as a string.
    - Added a workaround for Attribute values computed by PHP
    - Added .nosearch to subdirectories with no elisp files.
    - Fixed incorrect checks for mlinks-mode in menu building.
    - File extensions where used in a case sensitive way in some places. Fixed.
    - appmenu: Worked only in html files. Fixed.
    - html-site: Fixed the error Error (html-site-current): Can't find site: your-site-name.
    - Fixed a problem with longlines-mode in the support for Firefox add-on It's All Text. (Note however that there are some bugs in longlines-mode itself.) Rewrote the support to be more general. It is now in the file as-external.el, see this file.
    - Fixed an encoding problem in tidy-buffer. Output from tidy was not read using the same coding system as tidy was using.
    - Fixed some problems with face definitions, possibly bugs (not sure).
    - Made the fontification faster when using mumamo-mode. (It is still slower than single mode fontification of course.)
    - nxml-where.el: Made it aware of mumamo.el.
  - Menu changes:
    - Completion menu: Renamed to Completion and Validation menu and reorganized a little bit to make it more clear.
    - Renamed view to browse since this is the normal emacs name for showing files in a web browser. Also made corresponding changes to function names. Put back the possibility to view only the region in a web browser.
  - Uploading:
    - Added remote dired to the menus.
    - Fixed problems with file names starting with ~.
    - Fixed more problems with file names with spaces.
  - nxml-where:
    - nxml-where now uses a timeout for more smooth performance.
    - nxml-where can now recognizes both id and name attribute.
    - Hyphens are now accepted in tag names.
  - Ruby
    - Multiple major mode turned on by default for .rhtml files when this mode is global.
    - Multiple major mode is no longer turned on when rub-mode is turned on.
  - Added support for switching major mode dependent on if Emacs was called as an external editor. This makes it possible for example to switch to relevant major and minor modes when Firefox add-on It's All Text.
  - Added the possibility to easily view the output of scripts on the server (if they require no parameters). You can now do that from the nXhtml menu. Previously only html files on the server could be viewed that way. Image files can also be viewed this way.
  - Filling:
    - Added functions for unfilling.
    - Added keybindings and menu entries for longlines-mode, fill-paragraph and unfill-paragraph.
  - Quoting: Added HTML quoting of & and < in text areas. Bound to C-c C-q.
  - Images:
    - Added image-mode to those that are encompassed by nxhtml-global-minor-mode so that images can be uploaded more easily.
    - Added edit with GIMP and upload to the popup menu for links. This avoids the need to load the linked files in Emacs first.
  - Added nxml-untag-element.
  - Added a modified version of wikipedia-mode.el. Seems likely to be useful if you are doing web editing.
  - Added html-imenu.el
  - MuMaMo:
    - Removed the lighter "MuMaMo" for mumamo-mode. Instead the active major mode now has "/m" appended to mode-name (that is what you see in the mode line).
    - The normal way to turn on mumamo-mode has changed. There are now functions that you can use in auto-mode-alist to directly set up the buffer for mumamo-mode. The available functions are in the variable mumamo-defined-turn-on-functions.

      You are not supposed to call mumamo-mode yourself any more and mumamo-global-mode is gone. So is also mumamo-chunk-family-by-mode and mumamo-filenames-list. The functionality those gave are all replaced by the new functions for turning on mumamo mode.

    - Added support for buffer local values in hooks. This is necessary for example to support minor modes that are meant to be buffer local but not major mode specific. Instructions for authors of this kind of minor modes are in the file mumamo.el.
    - Added support for Django.
    - Added support for Embperl.
    - Added support for PHP Smarty. The {literal} ... {/literal} construct is not supported. This mean that you can not use <style ..> or <script ..>.
    - Added support for imenu for the main major mode. Turned on this by default in nxhtml-mode.
    - Made the temporary replacement of the attr="<?php ... ?>" a bit better. They are now more visible and also still mumamo chunks during the temporary replacement.
    - Added support for flymake-mode. Maybe add support for checking chunks?
    - Printing: Added htmlfontify.el and hfyview.el. These makes if possible to print a buffer fontified with mumamo-mode on in colors (through your web browser). There is an example of the capabilities of htmlfontify here (made with a little function in hfyview.el).
  - PHP:
    - Did a first merge with Aaron Hawleys fixes for php-mode.el.
  - CSS: Upgraded to Stefan's latest css-mode.el.
  - Fictive XHTML Validation Headers: Changed the way they are turned on. They may now be turned on when mumamo-mode is turned on.
  - Some users want to use their own patched version of nXml. Next version of Emacs will come with nXml. Therefore, the loading routine for nXhtml now checks if nXml is is already loaded. Thanks to Eric Lilja for testing this. Eric also made me aware of that if nXhtml was placed in the site-lisp directory tree then things did not work as I expected. I think I have corrected that by placing a .nosearch file at the top of the nxml tree in nXhtml.
  - Restructured the directories. Moved some files out of the nxhtml subdir. Some of them went into the util subdir (those are written by me) and some to the new subdir related (those that are inherited from others, maybe changed by me - most often to work with mumamo-mode).
  - Changed all licenses to be GNU GPL.
  - Additions to tidy support: It is now possible to use the tidy support to tidy the XHTML part of php etc. (Thanks to Hadron for this suggestion.)
  - Added winsize.el which allows interactive resizing of windows. Also added winsav.el which adds the capability to rotate window configurations and also to save window configuration to file.
  - Made nXhtml work with CVS Emacs 23.0.50.1.
  - Added freemind.el to the parcel. After all FreeMind supports web publishing too so why not have the Emacs support here ...
1.10
  Just jumped the version number for the new release of nXhtml. There are really significant changes in this release, not only minor bug fixes.
1.11
  Minor bug fixes to completion. Added fictive validation header to completion alternatives when buffer is empty and mumamo is used.
1.12
  - Fixed a bug in image link insertion in nxhtml-mode, thanks Niels Giesen!
  - Restructured, reordered and documented mumamo.el. It is now two separate files, mumamo.el and mumamo-fun.el.
  - Added move by chunk to the nXhtml menu.
1.13
  - Better handling of the case when no validation header is needed and the user tries to turn it on.
  - Added .phtml as php file.
1.14
  - Completion of links in XHTML was broken. Fixed, thanks to Niels Giesen.
1.15
  - Added `mumamo-map' keymap.
  - Added a keymap to all multi major modes.
  - Some more refinement to fictive validation headers.
1.16
  - Mumamo:
    - Changes to indentation:
      - Removed indent-region-mode since that functionality is now in indent-for-tab-command in Emacs 22.
      - Removed some code that checked if indentation was 0.
      - Added indent-for-tab-command to mumamo-map.
    - Reordering and renaming:
      - Reordered and move some functions in mumamo.el et al. Added new file nxhtml-mumamo.el.
      - Renamed define-mumamo-turn-on to define-mumamo-multi-major-mode.
      - Removed the ending -turn-on from the functions defined by the macro above.
      - Introduced multi major mode as a name for the functions defined by the macro above. Those works in many respects like major mode functions, but they support multiple major modes in a buffer.
    - Added support for noweb as multiple major mode.
1.17
  - Mumamo:
    - Added support for flyspell.
  - Bug fixes to the version of find-recursive.el that ships with nXhtml. Thanks to Cezar Halmagean.
  - Added tabkey2.el which tries to make it easy to use the Tab key for completion. (You must load it and turn on tabkey2-mode to use it.)
  - Folding:
    - Added nxhtml-heading-element-name-regexp as default for nxml style folding.
    - Some changes to fold-dwim.el.
  - AppMenu:
    - Simplified: Removed the possibility to automatically show minor and major mode menus. There is now only one list, appmenu-alist.
    - Added menu item At Current Point for bindings found in character and overlay keymaps at point. Those you always forget.
  - Physical line:
    - Added physical-line.el to nXhtml.
    - Added new functions to move to beginning and end of line to ourcomments-util.el that supports physical-line.el.
1.18
  - Better Tab completion in tabkey2.el.
1.19
  - Even better Tab completion in tabkey2.el.
1.20
  - Once again even better Tab completion in tabkey2.el.
  - Fixed bug in hiding of validation errors (they could disappear totally).
  - Cleaned up menus in nXhtml.
1.21
  - Added a bit support for dired (upload, browse, browse remote).
  - Fixed some strange menu problems (i hope).
1.22
  - Bug fix.
1.23
  - Bug fix.
1.24
  - Tried again to make hexcolor-mode more readable.
  - Mumamo:
    - Added support for hi-lock-mode. At present it might however be very puzzling. The hilight added by hi-lock-mode may be hidden by the overlays used by mumamo. Tip: you can always use the face hi-black-hb.
1.25
  - Mumamo:
    - Handle hi-lock-mode in a more general way using font-lock-mode-hook.
1.26
  - nxhtml-mode:
    - Removed the indent line patch for nxml-mode.
    - Better test for empty page during completion.
  - tabkey2-mode:
    - A lot of improvements.
1.27
  - Mumamo:
    - Worked with bugs in mumamo.el that was due to bad handling of syntax-ppss et el. Looks like most of them are fixed.
    - Fixed documentation and reordered code in mumamo.el and mumamo-fun.el.
    - Changed javascript.el indentation to make it work with mumamo.el.
    - Introduced the function mumamo-make-variable-buffer-permanent as an aid for minor mode authors.
    - Fixed quite a few indentation bugs. There was one bug that could make Emacs loop after indentation.
  - nxml-where, mlinks
    - Fixed bugs with left over idle timers when buffer had been killed (nxml-where.el, mlinks.el).
  - html-site
    - Fixed a bug in html-site when comparing file names. File names where not made unique before comparision.
  - Tabkey2
    - Fixed tabkey2 bugs.
  - freemind.el
    - Fixed a problem in freemind-to-org-mode that caused the error "wrong-type-argument string: nil" in string-match("\\(?:^--org-mode: WHOLE FILE$\\)" nil).
  - Made nXhtml menu available in sub-chunks.
  - Included a slightly changed version of Steve Yegge's js2.el + js2-fl-mode.el from 2008-04-24 with support for jit-lock-mode. This support has some flaws and maybe js2 is not ready for use, I am not sure. However if you want to use this instead of Karl Landströms javascript-mode then please customize mumamo-major-modes.
1.28
  - New version with mostly minor bug fixes from 1.27. Unfortunately I put out 1.27 a bit too early. Please upgrade.
1.29
  - MuMaMo:
    - Fixed a bug causing emacs to loop when <?> was encountered in an html style buffer.
    - Fixed some problems with <? and ?> in strings in html style buffers.
    - Tried to avoid chunk dividers in strings and comments. (There are still some bugs there.)
    - Fixed an error that prevented byte compiling nxhtml-mumamo.el. (Thanks Christoph Conrad.)
1.30
  - Mumamo:
    - Added support to handle specific rng schemacs. With the help of this Genshi and MJT templating languages are now handled.
    - Let the rng schema file name survive mumamo major mode changes.
    - Added support for to let nxml-mode skip chunks it can not parse. (This requires a patch to rng-valid.el too which is not included, but which I hope can go into Emacs soon.)
    - Chunk dividers can now be a part on their own. (Ie there will be no parsing or syntax highlighting of them by the chunk major mode. This is optional and specified for each chunk types.)
    - Added support for Genshi and MJT. These multi major modes support completion and error checking in the XML/XHTML part according to their DTD (which has some additions to the XHTML DTD).
1.31
  - Mumamo:
    - Fixed a bug that caused multi major modes to loop sometimes.
1.32
  - Mumamo:
    - Fixed a bug in syntax-ppss advice.
1.33
  - Mumamo:
    - Fixed another bug in syntax-ppss advice.
    - Added support for fill-forward-paragraph-function.
    - Made longlines-mode survive major mode changes in mumamo buffers.
    - Fixed a bug that made Emacs loop when it found <??> in for example nxhtml-mumamo.
    - Made it usable with Emacs 22 again.
    - Moved some changes from rng-valid.el to mumamo.el. This makes it possible to let nxml-mode (and derivates) jump over parts when parsing the buffer even if not using the patched version of Emacs+EmacsW32.
  - nxhtml:
    - Added command to add CSS rollover images.
  - mlinks:
    - Tried to fix the error invalid-read-syntax "] in a list" when loading mlinks.el reported by some Asian users.
1.34
  - Changed top directory name from nxml to nxhtml

    This will of course case some problems if you do not notice it when you upgrade nXhtml. If you are using EmacsW32 and upgrade nXhtml you should change the file emacsw32.el.

    The reason for this change is that nXml will soon normally not be part of nXhtml so keeping the old top directory name would be confusing.

  - Added a test suite. See the file nxml/tests/test-Q.el.
  - Mumamo:
    - Fixed indentation when the whole line is a sub chunk.
    - Tried a bit more to stop nxml from parsing non-xml mode chunks. Because of this php support was changed a bit (for the better I hope).
  - GIMP:
    - Registry value location for GIMP had changed.
  - nXhtml:
    - Added support for MozLab. If you install MozLab in Firefox then you can directly use it from javascript mode without any additional setup.
    - Added php-imenu.el.
    - Fixed a bug where I inadvertently added ../../lisp to load-path.
1.35
  - Fixed a small bug in sex-mode.el.
1.36
  - Added the function emacs-Q-nxhtml for easier testing. It does the equivalent of emacs -Q --load PATH-TO/nxhtml/autostart.el.
  - MuMaMo:
    - Forgot to return php-mode in php short tags. Fixed.
    - Borders where not correctly calculated with php short tags. Fixed.
    - Subchunks not parseable by nxml-mode where marked as parseable. Fixed.
    - Debug messages from mumamo where not silenced.
    - Forgot font-lock-syntactic-keywords. This showed up in bad fontification for strings sometimes. Fixed.
    - To fontify keywords font-lock-syntactically-fontified must be set in each chunk. Fixed.
    - Find a way to at least temporarily work around the problem with the last "e; char in syntax="e;..."e; that could be seen in large XHTML files, for example this file. The drawback with the work around is that it bypasses the cache for syntax-ppss, but this happens only in multi major mode buffers and I notice no performance problems here.
    - Fixed a number of problems with the defadvice for the syntax functions. (I am afraid there are more left.)
    - Took a new grab on the indentation problems.
1.37
  - The command emacs-Q-nxhtml and cousins did not work on all platform. Tried to fix it.
  - Got a report that editing Django was to slow. Tried to fix this.
  - Added a test to the unit test suite that test scrolling and jumping.
1.38
  - Added a workaround that removes validation error marking in non-xhtml chunks.
1.39
  - Multi major modes where not allowed in defcustoms nxhtml-magic-mode-alist and nxhtml-auto-mode-alist. Fixed.
  - Added tests for the use of the lists above.
  - Fixed some bugs that could make a buffer became modified due to mumamo fontification actions.
  - The rnc files for mjt and genshi had include path that did not work if you where using the nxml-mode that comes with nXhtml. Fixed. (Thanks for pointing this out, Bryan.)
  - Now trying to keep the launchpad bazaar repository in sync.
1.40
  - tabkey2-mode
    - Some small changes: support for eshell and better information about completion commands alternative key bindings.
  - php-mode
    - It turned out that my patched php-mode asked in every buffer to turn on mumamo. Changed it to once for every Emacs invocation instead.
    - In addition to this it did not turn on mumamo multi major support if the user wanted it ;-)
1.41
  - There was an error that prevented loading of nXhtml with Emacs 22. (This was before opening any file.)
  - Fixed a problem in startup order for ido-mode and nXhtml. (This could lead to that ido-mode was reset from 'both to 'buffer.)
1.42
  - Fixed a bug concerning style="e;..."e; and similar constructs.
1.43
  - Added file ffip.el for finding files in projects.
  - Added command html-site-find-file.
  - Added aliases for all multi major modes. The alias looks like mumamo-alias-MULTI_MAJOR_MODE. Their purpose is to make it easier to find a multi major mode.
  - Fixed bug https://bugs.launchpad.net/nxhtml/+bug/258169.
1.44
  - Fixed an error in chunk dividing.
  - Fixed bug https://bugs.launchpad.net/nxhtml/+bug/258097.
1.45
  - Fixed bug reporting instructions to point to Launchpad.
1.46
  - Cleaned up and fixed bugs in the help routines.
1.47
  - Made tabkey2-mode aware of this-command.
1.48
  - MuMaMo:
    - Added jde-mode as first choice if major mode file spec is java-mode.
    - Fixed a bug concerning buffer local variables saving.
    - Fixed a bug that occured when autoloading major mode failed.
1.49
  - Added a CEDET loader which can fetch CVS version of CEDET.
1.50
  - Added a Rinari loader which can fetch SVN version of Rinari and ruby-mode.
1.51
  - Fixed a regression bug in MuMaMo. If a major mode was not defined Emacs could hang badly.
  - Added an ECB loader which can fetch CVS version of ECB.
  - Enhancements to the routines for fetching and setting up CEDET, ECT and Rinari.
1.52
  - Added a tool to give major modes priority when choosing a major mode for a buffer.
1.53
  - Quick fix for left-over which made it impossible to edit php files in version 1.52. If you are using version 1.52 you may for the moment just add (require 'fmode) to your .emacs after loading nXhtml.
1.54
  - MuMaMo:
    - Added better error handling for problems such as those that occured in version 1.52 with php-mode.
    - There was a bug when changing from a mumamo multi major mode.
    - Tried to fix question 43320.
  - php-mode:
    - Made the indentation check up to date with current MuMaMo.
1.55
  - Tried to fix https://answers.launchpad.net/nxhtml/+question/43320 again.
  - Better test of when to end tabkey2-mode completion function state.
1.56
  - Allowed both single and double quotes in mlinks for html files.
  - Added initial support for Mako template language. (There is no support for the tags yet, like in Genshi. Additions are welcome!)
1.57
  - Fixed another part of question 43320 (see above) regarding php indentation.
1.58
  - MuMaMo:
    - The change of major mode when moving between chunks could occur in the wrong buffer because I had misunderstood how with-selected-window works. Fixed.
    - Added ${...} python chunks to Mako (ie mako-html-mumamo).
    - Added mako-nxhtml-mumamo.
  - Appmenu:
    - Fixed problem with point keymap.
  - Php:
    - Fixed https://answers.launchpad.net/nxhtml/+question/44504.
    - Fixed a typo regarding indentation check.
  - Tabkey2:
    - Better support for YASnippet.
1.59
  - Fixed a bug that was revealed by the better support for YASnippet.
1.60
  - Bug fixes:
    - Fix some bugs in Tidy XHTML support.
    - Also Some small improvements to Tidy GUI.
    - Added a test case for bug https://bugs.launchpad.net/nxhtml/+bug/271497 (which I can't reproduce).
    - Bug fixes to ffip.el
    - Added fix for Emacs bug 1013.
    - Fixed some minor bugs in as-external.el.
    - New handling of minor modes (buffer local variables). I hope this should fix the problem reported in nXhtml bug 272526: Imenu on menubar doesn't work after switching modes.
    - Fixed a bug that could make buffer marked as modified during fontification.
    - Changed php-mode binding for TAB to follow Emacs normal standard.
    - Fixed a bug that sometimes caused rng-validate-mode to be turned on in wrong buffer when setting xhtml fictive validation header.
  - Finished a replacement for the usual help command on [f1 ?c]. This will in addition to the command show the keymap. To use it add (global-set-key [f1 ?c] 'find-keymap-binding-key) to your .emacs.
  - Let tabkey2-mode first look for [tab] and then [?\t].
  - Added an nXhtml tutorial page with video tutorials.
  - After question nXhtml question 45721 there was a short discussion on Emacs Devel where I was convinced to change the name convention for multi major modes. They are now supposed to end in -mumamo-mode (instead of the old -mumamo).
  - Added ourcomments-ediff-files to start ediff from a shell with Emacs Client.
  - Took a look at autoloading. nXhtml now uses autoloading in many more cases and loads much faster.
  - Added new general functions for search and replace: grep-query-replace, ldir-query-replace and rdir-query-replace. Also added similar functions to search and replace in a site (they are in the nXhtml menu).
  - Added better-fringes-mode for my personal preferences for fringe symbols ...
  - Enhancement for (X)HTML editing:
    - Added a minimal one-line display version of fictive validation headers and made it the default.
    - Some enhancements to nxml-where-mode.
    - Display of images inline. Can be used in different major modes/files.
    - Added the minor mode wrap-to-fill-column-mode and replaced longlines-mode in the Tools menu with this.
    - Added the minor mode html-write-mode that can hide some simple tags and just show the inner html with a user defined face. This is meant to make it easier to write html files.
1.61
  - Bug fixes in html-write-mode and as-external.el.
  - Removed left over autoloads (maybe there was a problem with ruby-mode, not sure).
  - Fixed bug 290364, see below about MuMaMo important changes.
  - Fixed bug 272526.
  - Fixed bug 292393.
  - Fixed bug 300946.
  - Fixed bug 304569.
  - Added some support for editing gmail messages in as-external.el (to be used with It's All Text for Firefox).
  - Some changes to face handling in Emacs had made htmlfontify.el fail. Some changes in CSS handling in Firefox and IE made hfyview.el fail even more. Tried to fix this.
  - Updated vline.el
  - Aaron Hawley merged in some changes he made to php-mode.el. Thanks Aaron! Now nXhtml uses a slightly modified version of php-mode 1.5.0 is used
  - MuMaMo important changes

    Unfortunately the chunk dividing routines in mumamo.el can loop, see bug 290364 above. The reason is that I tried to find chunks at current point in a buffer without looking through the buffer from the beginning. Fontification works this way in Emacs. It is a heuristic that sometimes fails however, but the consequences are merely just local errors in fontification.

    Chunk dividing must be more stable since it has a global impact on the files fontification. It therefore have to be done from the beginning of the buffer - just like a parser reading the file will do.

    I have done first part of this rewrite and I hope chunk dividing can not loop any more. Chunk dividing is now always done from the beginning. However the routines actually finding the chunks still looks both upwards and downwards. I will try to remove this unnecessary complexity later.

1.62
  - MuMaMo:
    - Fixed bugs in chunk creation that caused args out of range at buffer end.
  - Autoloading caused wrong libraries to load (for example javascript from mozdev). Fixed.
1.63
  - Removed find-recursive.el since there is no use for it any more and it interferes with emacs-rails. (It was initally a bug fixs for emacs-rails.)
  - Fixed bugs in html-write-mode.
  - Used the new routines for finding chunks also during xml validation and syntax-ppss.
1.64
  - MuMaMo: nxml was not turned off properly when switching from a multi major mode that used nxml-mode or nxhtml-mode. Fixed. This was especially troublesome for Emacs 22 users where multi major modes based on nxhtml-mode does not always work.
  - Majmodpri.el: Added a defcustom to give multi major modes based on nxhtm-mode or nxml-mode lower priority. This is on by default in Emacs 22.
1.65
  - Fixed a bug in nxml-where.el.
  - Fixed a minor bug in majmodpri.el. It did not work if magic-mode-alist contained anonymous functions. (Thanks from Niels Giesen.)
  - Fixed a bug in pause.el and added some mindfulness to it.
  - Adjusted ourcomments-move-beginning-of-line (and dito for end) to the new line-move-visual in Emacs 23. Moved physical-line.el to old subdir since it is now obsolete.
  - Made it possible to byte compile nXhtml.

    To do that use M-x nxhtmlmaint-start-byte-compilation.

    A lot of code changes to make byte compilation possible without a lot of warnings. Most changes where just moving code around, but some where bug fixes.

1.66
  - Further work on byte compiling.
  - Tried to fix some problem with defadvice in ourcomments-util.el.
  - Tried to finish the command M-x search-form.
  - When no chunk is found (border case) then set the major mode to the main major mode for the current multi major mode.
1.67
  - Removed css.el since it is in Emacs 22.2 and later.
1.68
  - Fixed bugs related to byte compilation. This should now work for both Emacs 22 and 23. Also added a menu entry for byte compilation.
  - Removed nXml from the distribution to make it smaller. nXml comes with Emacs 23 (not yet released of course). For Emacs 22 users see EmacsWiki about where to get nXml.

    Adding nXml to Emacs 22 startup should be done by using the file nxhtml/autostart22.el.

    NOTE 1: if you want to use nxhtml-mode in multi major modes in Emacs 22 (not recommended) you must also customize majmodpri-no-nxml.

    NOTE 2: The major mode nxhtml-mode as a major-mode works however very well also in Emacs 22.

1.69
  - Chunks were unnecessary deleted and recreated after a change even if all changes where within one chunk. This could make editing very slow. Fixed.
  - Search for rng-auto.el in path. (Emacs 22 only.)
1.70
  - Validation could not be turned on in multi major modes. Fixed.
1.71
  - Fixed the problem that showed up in the file nxhtml/tests/in/kubica-freezing-i.html which could make Emacs freeze.
1.72
  - Somehow I dropped this: Search for rng-auto.el in path. (Emacs 22 only.) Don't ask me how. Fixed again.
1.73
  - Worked a bit more on byte compilation and elisp libraries loading. If you byte compile nXhtml it will now load very few modules by default. It loads more modules if you don't.
  - Added chart.el, a small elisp library to create charts. This works by calling google charts library. Chart.el is a bit beta, eh alpha, but still useful I believe.
1.74
  - Found and fixed a bug in fictive XML validation headers. This bug depended on the load order of libraries.
  - Fixed a small bug in nxml-where-mode.
1.75
  - Included css-color.el, css-palette.el and gpl.el from Niels Giesen. (This replaces hexcolor.el which is no longer in nXhtml.)
1.76 -- Released 2009-02-26
  - Fixed a long standing bug in XML validation. (I had forgot to set the defadvice return value in defadvice rng-set-initial-state in rngalt.el - I wonder why I did not get any bug reports about this...)
  - css-color.el: bug fix for mIxEd case color names.
  - freemind.el: bug fixes.
1.77 -- Never released!
  - Fixed numerous bugs, please see nXhtml bug tracker and dito question and answers.
  - Added some missing autoloads.
  - Tried to fix some smaller troubles with Viper when changing chunk.
  - Menus for Tidy were broken. Fixed.
  - Added a test that the nxml-mode libraries included in Emacs are used and not the old ones. (If I understand it correctly this might have been a problem for Debian/Ubuntu Emacs 23 snap-shots users where the old nxml-mode has been a left over from earlier snap-shots where it was needed.)
  - MuMaMo:
    - Chunks are now always created from top to bottom. This should make chunk creation more stable. It also opens up for chunks in chunks in the future. (The code still needs work...)
  - majmodpri.el:
    - To restore multi major modes in files loaded by desktop-save-mode the new function majmodpri-apply can be added to desktop-after-read-hook.
    - New default for majmodpri-sort-after-load: Sort after loading certain features/libraries that are known to change auto-mode-alist and apply to current buffer. This new default should hopefully make major mode selection less confusing.
  - winsav.el:
    - Added save and restore between Emacs sessions for frame configuration. I am not sure how this works with special frames yet, but I have tested this with oneonone.el and it seems to work. Dedicated windows should also work.
    - Added saving and restoring of named frame configurations.
  - javascript.el:
    - Updated to Karl's newest version (and added my additions).
  - Added library usb-setup.el that might help a bit with using Emacs from an USB stick.
  - Updated smarty-mode.el to the latest version.
  - Added an n-back game for your brain (and mine). Just do M-x n-back-game to start it.
1.78 -- Released 2009-05-28
  - nXhtml version 1.78 is the release of the previous beta (which had number 1.77 and existed in many versions).
1.79
  - Added a function to simplify adding for example font lock keywords for major modes used in multi major mode: mumamo-refresh-multi-font-lock.
1.80 -- Released 2009-06-02
  - Fixed a (rather serious) bug and cleaned up.
  - Added mumamo regions. Mumamo regions are temporary mumamo chunks that you set up by selecting a region and telling you want that in a new major mode. To use this feature look in the nXhtml menu under Chunks - Region Chunks.
1.81 -- Released 2009-06-19
  - Added the minor mode mumamo-alt-php-tags-mode that lets you work more easily with <?php tags in strings while you are still able to use XHTML completion. (I added something looking rather similare earlier, but removed it again because of difficulties with undo. They are now fixed in Emacs and this should be safe.)
  - Added support for hi-lock, but please be aware that chunk overlays hides background marking that hi-lock does... - so you must use marking that changes foreground part of face.
1.82 -- Released 2009-06-23
  - Find and fixed some bugs when I tried to fix bug 388729. Not sure I fixed that bug though.
1.83 -- Released 2009-06-24
  - Fontification disappeared for example in *grep* buffer. Fixed.
1.84 -- Released 2009-06-30
  - MuMaMo:
    - Worked around bug in Emacs 22.3 where c-after-change was left in after-change-functions. (This makes no difference in Emacs 23.)
    - Fixed a bug that occured after deletion of whole chunks.
1.85 -- Released 2009-07-04
  - MuMaMo:
    - Corrected various mostly minor bugs, like indent-line-function which where globally set to mumamo-indent-line. Corrected.
    - Forgot to finish the implementation of support for font-lock-add-keywords. Done.
    - Added some faces hi-mumamo-* to use with hi-lock, but unfortunately they are not very visible. Suggestions are welcome.
  - CEDET and ECB:
    - Made the routines for fetching and installing CEDET and ECB from the development sources work again.
    - Added support for ECB in winsav-save-mode. Though I suspect it need some rework...
  - Added pointback.el, found on EmacsWiki. This is just so missing in Emacs...
1.86 -- Released 2009-07-05
  - Made the fetching and installing of CEDET and ECB a bit better.
1.87 -- Released 2009-07-08
  - Some enhancements to winsav.el and menuacc.el.
  - MuMaMo:
    - Added heredoc for some modes. They are currently kind of hidden since they are only available in multiple major modes that offer just heredocs. The implemented heredoc multi major modes are sh-mumamo-heredoc-mode, php-mumamo-heredoc-mode, perl-mumamo-heredoc-mode, cperl-mumamo-heredoc-mode, python-mumamo-heredoc-mode and ruby-mumamo-heredoc-mode.
1.88 -- Never released, only betas
  - MuMaMo:
    - Background colors could not be removed by setting mumamo-background-coloring. Fixed, but please notice that this variable now is a number.
    - Support for chunks in chunks.
    - Removed string-match-p which does not exist in Emacs 22.
    - mumamo-alt-php-tags-mode hardly survived major mode changes. Rescued.
    - Added possibility to display chunk info in window margins as an alternative/addon to colored chunks.
    - Fixed a bug in n-back.el that prevented the game to be used on Emacs 22.
  - Bug fixes and changes to udev for CEDET and ECB. (Udev is a little utility to fetch and install dev sources.)
    - Changed default directory for installing CEDET and ECB to be under ~/.emacs.d/udev/.
    - Several bug fixes for udev. It should now work again (it did not if you compiled nXhtml).
  - Added support for Company Mode style completion. Temporary included a copy of Company Mode with bug fixes and changes needed for nXhtml and Viper. It also include a lot of other small features (which I hope can be included in Company Mode). On of these is integration with Predictive Mode. (You have to get Predictive Mode yourself. If you want to install it on MS Windows I recommend using the latest version of Cygwin. A smaller change to the Makefile is required, there is one absolute path you probably want to remove.)

    Note: I thought that I should make Company Mode the default completion style. However there are still some problem so I kept the old default completion style.

  - TabKey2:
    - Added support for Company Mode.
    - Made completion only occur at word ends.
  - Added support for anything style completion in XHTML completion.
  - Added support in inlimg-mode to show images in org-mode. (Also made inlimg-mode use font lock which makes it more reliable.)
  - Included espresso-mode (with some possible bug fixes). Not yet the default for Javascript.

  - Added simple functions for mirroring html files in Firefox as typing. This works - at least for small files. There is also support for automatic update of Firefox when saving CSS files.

    This is a simple framework for communicating with MozRepl which enqueues requests, waiting for response prompt before sending next requests. Maybe this can be used to make some more efficient routines than those I have written here. Any takers?

    For larger files (like this one) this version is rather slow since it always changes the whole DOM.

  - Rewrote nxml-where-mode to be more efficient and fixed some minor bugs. It can now also be used with MozRepl to track position in file.
  - Made winsav-save-mode remember maximized state and forget about empty non-file buffers.
  - Added workaround for Emacs bug 4015 on w32.
  - Added ourcomments-M-x-menu-mode which adds menu commands to M-x history.
1.89 -- Released 2009-08-04
  - The release version of all the fixes in beta 1.88.
1.90 -- Released 2009-08-04
  - Made wrap-to-fill-column-mode cooperate a bit with mumamo-margin-info-mode.
  - Made an inventory of utilities in nXhtml and made some of them more visible in the menus.
1.91 -- Released 2009-08-04
  - Mumamo bug fix for bug reported on Emacs wiki today. Inline scripts end tag could not be in column one if previous line had a // style js comment.
1.92 -- Released 2009-08-04
  - An Emacs bug that sometimes prevent changing local keymap in a timer hit us. Made a workaround.
1.93 -- Released 2009-08-04
  - Minor bug in menus gave major problem. Fixed - I hope.
1.94 -- Never released, only betas
  - MuMaMo
    - Hopefully MuMaMo is now fully transfered to the new way of finding the major mode chunks. Chunks in chunks should now work (except for lurking bugs of course...). Tried to fix indentation.
  - wrap-to-fill-column-mode calculated window width wrongly so that the displayed wrapping was not consistent with what fill-paragraph would give. Corrected together with some other bugs in it.
  - Fixed an indentation bug in php-mode I introduced when I fixed another indentation bug for heredoc endings.
  - A bug in ourcomments-M-x-menu-mode made Emacs client fail. Fixed.
  - The version of company-mode include in nXhtml has some changes. It turns out that these probably gives some problems with company-mode support for etags. The version of company-mode in nXhtml is therefore not autoloaded any more.
  - Improved external editing of web mail.
  - Removed js2-mode (and my attempts to make it work with mumamo) since it is now part of Emacs devel sources. Since js2-mode does not use font-lock its integration with mumamo have to wait until it does that.
  - Reworked folding a bit so it is more useful. There is a new minor mode, foldit-mode, that shows better markers for folding. There is a new entry in the nXhtml / Tools menu for folding. fold-dwim-toggle now alwo toggles images and html-write-mode things. In html it first checks for headers then does tag block style visibility toggling.
  - Updated vline.el.
  - Removed fmode.el since it is not needed any more when majmodpri.el does the job.
  - Removed routines to fetch/load CEDET since CEDET is now part of devel sources of Emacs.
1.95
  - First release after all 1.94 betas.
1.96
  - Problem creating autoload file in latest dev version of Emacs. Fixed.
  - Fixed typo in wrap-to-fill.el.
  - Autoloaded buffer-narrowed-p.
1.97
  - Problem with customize-option because widgets where not loaded. Rearranged code to bit to fix this.
  - Added support for Groovy from Tiago Cury.
1.98
  - Added support for PHP nowdocs.
  - Freemind.el: Added support for org-odd-levels-only.
1.99
  - Converted line endings from CRLF to LF.
2.00

  2.00 does not stand for something very exciting, it is just a consecutive number. But - I do believe this is a rather mature version of nXhtml.

  - MuMaMo
    - Fixed some indentation bugs.
    - Added multi major mode local sub chunk dividing inheriting.
    - Made MuMaMo avoid closing org-mode nodes when moving between sub chunks in org files.
    - Introduced per main major local variables. First use is for buffer-invisibility-spec. This can only be set in the main major mode now. (Or rather, it will be reset to what was last set in main major mode when you move between chunks.) This is the most reasonable way I believe, since it may otherwise change when moving between chunks and the new chunk's major mode is called.
    - Added support for Mason.
  - Renamed gimp.el to gimpedit.el and made it open GIMP on other platforms than w32 too. (Symbols in the files are renamed too.) Skipped compatibility with old GIMP versions.
  - Renamed freemind.el to org-freemind.el so that it can be included among the org files. Also added support for #+BEGIN_HTML when exporting to freemind.
2.01
  - MuMaMo:
    - Major mode was not always switched when moving fast between chunks. Fixed.
    - Made desktop recognize multi major modes.
  - org-freemind.el was broken. Sorry.
  - Fixed a bug in wrap-to-fill-column-mode.
  - Enhanced support for smarty template language.
  - Mlinks mode used one timer per buffer. Converted to one global timer => much faster. (This actually slowed down Emacs screen update before.)
2.02
  - MuMaMo:
    - Support for #+BEGIN_SRC ... #+END_SRC etc in org-mode.
    - Bug fix for the case <script ...>//<!-- -->
    - Fixed support for ASP again.
    - Added support for XSL with embedded CSS and Javascript, see xsl-nxml-mumamo-mode.
    - Added support for SSJS (Server Side Javascript)
    - Changed to using nxhtml-mode for indentation when chunk major is htm-mode. Added mumamo-indent-major-to-use to control this.
    - Turned off nxml-mode validation during indentation of regions.
    - Updated htmlfontify.el.
    - Included zencoding-mode.el.
    - Finally got around to implement a C-a that just selects a widget field in a Custom buffer, not the whole buffer. See rebind-keys-mode.
  - Added wrap-to-fill-column-global-mode.
  - Removed org-freemind.el (formerly freemind.el) since it is now part of Emacs CVS repository and you can get it there.
  - Added flymake support for CSS and javascript with detailed instructions of how to install needed support.
2.03
  - MuMaMo:
    - Made the new JavaScript mode that is included in Emacs work within chunks.
  - Removed the JavaScript modes that were distributed with nXhtml. If you are not using CVS Emacs please get js.el from there.
  - Made majmodpri-no-nxml work a bit better.
  - Put rebind-keys-mode on the menu so it can be found.
2.04
  - Added web install and update of nXhtml. You can find this in the nXhtml menu. If you do not have this in your nXhtml yet, or have not installed nXhtml please see the instructions on EmacsWiki.
  - MuMaMo:
    - Fixed some problems with temporary chunks.
    - Added support for html chunks in markdown files with new multi major mode markdown-html-mumamo-mode.
2.05
  - Fixed a problem in flymake-css.el with loading newst-backend.el (which provides the wrong feature).
2.06 - never released
  - MuMaMo:
    - Skipped fontification during indentation. (This was troublesome since major mode may have to be changed during indentation.)
    - Included iss-mode and iss-mumamo-mode for editing of Inno Setup scripts.
    - Comments in eRuby <%# .. %> did not work. Fixed.
  - Included better support for Java in flymake. It will can now recognize makefiles, ant and single java files and try to DTRT.
2.07 - never released

  This version was never released, but was available as beta for testing (and use). During this beta I tried to finish the rewriting of the rewriting of the chunk dividing routines. (Those needed simplification. Initially I believed that chunks with different major could be created starting from anywhere in the file. This was complex and indeed a bad idea since the chunk dividing markers depends on the content of the file from the top.)

  A lot of bugs where fixed during this and new things were added. Some things were removed. But there is no good logg of this anywhere because I did not have time to update that. Sorry. But if you are interested you can have a look at the bug database at Launchpad.

2.08 - released 2010-04-25

  This is the first released version since version 2.05 (which was released in Dec 2009).

  One noticeable thing is that the menus were restructered to make it easier to find things. You can find some of the new things there. Most of the rest are internal changes and bug fixes.